MCPcopy
hub / github.com/github/gh-ost / TestBuildDMLDeleteQuery

Function TestBuildDMLDeleteQuery

go/sql/builder_test.go:740–805  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

738}
739
740func TestBuildDMLDeleteQuery(t *testing.T) {
741 databaseName := "mydb"
742 tableName := "tbl"
743 tableColumns := NewColumnList([]string{"id", "name", "rank", "position", "age"})
744 args := []interface{}{3, "testname", "first", 17, 23}
745 {
746 uniqueKeyColumns := NewColumnList([]string{"position"})
747 builder, err := NewDMLDeleteQueryBuilder(databaseName, tableName, tableColumns, uniqueKeyColumns)
748 require.NoError(t, err)
749
750 query, uniqueKeyArgs, err := builder.BuildQuery(args)
751 require.NoError(t, err)
752 expected := `
753 delete /* gh-ost mydb.tbl */
754 from
755 mydb.tbl
756 where
757 ((position = ?))
758 `
759 require.Equal(t, normalizeQuery(expected), normalizeQuery(query))
760 require.Equal(t, []interface{}{17}, uniqueKeyArgs)
761 }
762 {
763 uniqueKeyColumns := NewColumnList([]string{"name", "position"})
764 builder, err := NewDMLDeleteQueryBuilder(databaseName, tableName, tableColumns, uniqueKeyColumns)
765 require.NoError(t, err)
766
767 query, uniqueKeyArgs, err := builder.BuildQuery(args)
768 require.NoError(t, err)
769 expected := `
770 delete /* gh-ost mydb.tbl */
771 from
772 mydb.tbl
773 where
774 ((name = ?) and (position = ?))
775 `
776 require.Equal(t, normalizeQuery(expected), normalizeQuery(query))
777 require.Equal(t, []interface{}{"testname", 17}, uniqueKeyArgs)
778 }
779 {
780 uniqueKeyColumns := NewColumnList([]string{"position", "name"})
781 builder, err := NewDMLDeleteQueryBuilder(databaseName, tableName, tableColumns, uniqueKeyColumns)
782 require.NoError(t, err)
783
784 query, uniqueKeyArgs, err := builder.BuildQuery(args)
785 require.NoError(t, err)
786 expected := `
787 delete /* gh-ost mydb.tbl */
788 from
789 mydb.tbl
790 where
791 ((position = ?) and (name = ?))
792 `
793 require.Equal(t, normalizeQuery(expected), normalizeQuery(query))
794 require.Equal(t, []interface{}{17, "testname"}, uniqueKeyArgs)
795 }
796 {
797 uniqueKeyColumns := NewColumnList([]string{"position", "name"})

Callers

nothing calls this directly

Calls 5

BuildQueryMethod · 0.95
NewColumnListFunction · 0.85
NewDMLDeleteQueryBuilderFunction · 0.85
normalizeQueryFunction · 0.85
ErrorMethod · 0.65

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…