MCPcopy Index your code
hub / github.com/github/gh-ost / TestBuildDMLUpdateQuerySignedUnsigned

Function TestBuildDMLUpdateQuerySignedUnsigned

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

Source from the content-addressed store, hash-verified

1061}
1062
1063func TestBuildDMLUpdateQuerySignedUnsigned(t *testing.T) {
1064 databaseName := "mydb"
1065 tableName := "tbl"
1066 tableColumns := NewColumnList([]string{"id", "name", "rank", "position", "age"})
1067 valueArgs := []interface{}{3, "testname", "newval", int8(-17), int8(-2)}
1068 whereArgs := []interface{}{3, "testname", "findme", int8(-3), 56}
1069 sharedColumns := NewColumnList([]string{"id", "name", "position", "age"})
1070 uniqueKeyColumns := NewColumnList([]string{"position"})
1071 builder, err := NewDMLUpdateQueryBuilder(databaseName, tableName, tableColumns, sharedColumns, sharedColumns, uniqueKeyColumns)
1072 require.NoError(t, err)
1073 {
1074 // test signed
1075 query, updateArgs, err := builder.BuildQuery(valueArgs, whereArgs)
1076 require.NoError(t, err)
1077 expected := `
1078 update /* gh-ost mydb.tbl */
1079 mydb.tbl
1080 set id=?, name=?, position=?, age=?
1081 where
1082 ((position = ?))
1083 `
1084 require.Equal(t, normalizeQuery(expected), normalizeQuery(query))
1085 require.Equal(t, []interface{}{3, "testname", int8(-17), int8(-2), int8(-3)}, updateArgs)
1086 }
1087 {
1088 // test unsigned
1089 sharedColumns.SetUnsigned("age")
1090 uniqueKeyColumns.SetUnsigned("position")
1091 query, updateArgs, err := builder.BuildQuery(valueArgs, whereArgs)
1092 require.NoError(t, err)
1093 expected := `
1094 update /* gh-ost mydb.tbl */
1095 mydb.tbl
1096 set id=?, name=?, position=?, age=?
1097 where
1098 ((position = ?))
1099 `
1100 require.Equal(t, normalizeQuery(expected), normalizeQuery(query))
1101 require.Equal(t, []interface{}{3, "testname", int8(-17), uint8(254), uint8(253)}, updateArgs)
1102 }
1103}
1104
1105func TestCheckpointQueryBuilder(t *testing.T) {
1106 databaseName := "mydb"

Callers

nothing calls this directly

Calls 5

BuildQueryMethod · 0.95
SetUnsignedMethod · 0.95
NewColumnListFunction · 0.85
NewDMLUpdateQueryBuilderFunction · 0.85
normalizeQueryFunction · 0.85

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…