(t *testing.T)
| 1061 | } |
| 1062 | |
| 1063 | func 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 | |
| 1105 | func TestCheckpointQueryBuilder(t *testing.T) { |
| 1106 | databaseName := "mydb" |
nothing calls this directly
no test coverage detected
searching dependent graphs…