@@ -163,6 +163,7 @@ func TestBuildRangeInsertQuery(t *testing.T) {
163163 databaseName := "mydb"
164164 originalTableName := "tbl"
165165 ghostTableName := "ghost"
166+ whereClause := "1=1"
166167 sharedColumns := []string {"id" , "name" , "position" }
167168 {
168169 uniqueKey := "PRIMARY"
@@ -172,7 +173,7 @@ func TestBuildRangeInsertQuery(t *testing.T) {
172173 rangeStartArgs := []interface {}{3 }
173174 rangeEndArgs := []interface {}{103 }
174175
175- query , explodedArgs , err := BuildRangeInsertQuery (databaseName , originalTableName , ghostTableName , sharedColumns , sharedColumns , uniqueKey , uniqueKeyColumns , rangeStartValues , rangeEndValues , rangeStartArgs , rangeEndArgs , true , false )
176+ query , explodedArgs , err := BuildRangeInsertQuery (databaseName , originalTableName , ghostTableName , sharedColumns , sharedColumns , uniqueKey , uniqueKeyColumns , rangeStartValues , rangeEndValues , rangeStartArgs , rangeEndArgs , true , false , whereClause )
176177 test .S (t ).ExpectNil (err )
177178 expected := `
178179 insert /* gh-ost mydb.tbl */ ignore
@@ -186,7 +187,7 @@ func TestBuildRangeInsertQuery(t *testing.T) {
186187 force index (PRIMARY)
187188 where
188189 (((id > @v1s) or ((id = @v1s)))
189- and ((id < @v1e) or ((id = @v1e))))
190+ and ((id < @v1e) or ((id = @v1e))) and 1=1 )
190191 )`
191192 test .S (t ).ExpectEquals (normalizeQuery (query ), normalizeQuery (expected ))
192193 test .S (t ).ExpectTrue (reflect .DeepEqual (explodedArgs , []interface {}{3 , 3 , 103 , 103 }))
@@ -199,7 +200,7 @@ func TestBuildRangeInsertQuery(t *testing.T) {
199200 rangeStartArgs := []interface {}{3 , 17 }
200201 rangeEndArgs := []interface {}{103 , 117 }
201202
202- query , explodedArgs , err := BuildRangeInsertQuery (databaseName , originalTableName , ghostTableName , sharedColumns , sharedColumns , uniqueKey , uniqueKeyColumns , rangeStartValues , rangeEndValues , rangeStartArgs , rangeEndArgs , true , false )
203+ query , explodedArgs , err := BuildRangeInsertQuery (databaseName , originalTableName , ghostTableName , sharedColumns , sharedColumns , uniqueKey , uniqueKeyColumns , rangeStartValues , rangeEndValues , rangeStartArgs , rangeEndArgs , true , false , whereClause )
203204 test .S (t ).ExpectNil (err )
204205 expected := `
205206 insert /* gh-ost mydb.tbl */ ignore
@@ -219,7 +220,7 @@ func TestBuildRangeInsertQuery(t *testing.T) {
219220 and ((name < @v1e)
220221 or (((name = @v1e))
221222 AND (position < @v2e))
222- or ((name = @v1e) and (position = @v2e))))
223+ or ((name = @v1e) and (position = @v2e))) and 1=1 )
223224 )`
224225 test .S (t ).ExpectEquals (normalizeQuery (query ), normalizeQuery (expected ))
225226 test .S (t ).ExpectTrue (reflect .DeepEqual (explodedArgs , []interface {}{3 , 3 , 17 , 3 , 17 , 103 , 103 , 117 , 103 , 117 }))
@@ -230,6 +231,7 @@ func TestBuildRangeInsertQueryRenameMap(t *testing.T) {
230231 databaseName := "mydb"
231232 originalTableName := "tbl"
232233 ghostTableName := "ghost"
234+ whereClause := "1=1"
233235 sharedColumns := []string {"id" , "name" , "position" }
234236 mappedSharedColumns := []string {"id" , "name" , "location" }
235237 {
@@ -240,7 +242,7 @@ func TestBuildRangeInsertQueryRenameMap(t *testing.T) {
240242 rangeStartArgs := []interface {}{3 }
241243 rangeEndArgs := []interface {}{103 }
242244
243- query , explodedArgs , err := BuildRangeInsertQuery (databaseName , originalTableName , ghostTableName , sharedColumns , mappedSharedColumns , uniqueKey , uniqueKeyColumns , rangeStartValues , rangeEndValues , rangeStartArgs , rangeEndArgs , true , false )
245+ query , explodedArgs , err := BuildRangeInsertQuery (databaseName , originalTableName , ghostTableName , sharedColumns , mappedSharedColumns , uniqueKey , uniqueKeyColumns , rangeStartValues , rangeEndValues , rangeStartArgs , rangeEndArgs , true , false , whereClause )
244246 test .S (t ).ExpectNil (err )
245247 expected := `
246248 insert /* gh-ost mydb.tbl */ ignore
@@ -255,7 +257,7 @@ func TestBuildRangeInsertQueryRenameMap(t *testing.T) {
255257 where
256258 (((id > @v1s) or ((id = @v1s)))
257259 and
258- ((id < @v1e) or ((id = @v1e))))
260+ ((id < @v1e) or ((id = @v1e))) and 1=1 )
259261 )`
260262 test .S (t ).ExpectEquals (normalizeQuery (query ), normalizeQuery (expected ))
261263 test .S (t ).ExpectTrue (reflect .DeepEqual (explodedArgs , []interface {}{3 , 3 , 103 , 103 }))
@@ -268,7 +270,7 @@ func TestBuildRangeInsertQueryRenameMap(t *testing.T) {
268270 rangeStartArgs := []interface {}{3 , 17 }
269271 rangeEndArgs := []interface {}{103 , 117 }
270272
271- query , explodedArgs , err := BuildRangeInsertQuery (databaseName , originalTableName , ghostTableName , sharedColumns , mappedSharedColumns , uniqueKey , uniqueKeyColumns , rangeStartValues , rangeEndValues , rangeStartArgs , rangeEndArgs , true , false )
273+ query , explodedArgs , err := BuildRangeInsertQuery (databaseName , originalTableName , ghostTableName , sharedColumns , mappedSharedColumns , uniqueKey , uniqueKeyColumns , rangeStartValues , rangeEndValues , rangeStartArgs , rangeEndArgs , true , false , whereClause )
272274 test .S (t ).ExpectNil (err )
273275 expected := `
274276 insert /* gh-ost mydb.tbl */ ignore
@@ -284,7 +286,7 @@ func TestBuildRangeInsertQueryRenameMap(t *testing.T) {
284286 (((name > @v1s) or (((name = @v1s))
285287 AND (position > @v2s)) or ((name = @v1s) and (position = @v2s)))
286288 and ((name < @v1e) or (((name = @v1e)) AND (position < @v2e))
287- or ((name = @v1e) and (position = @v2e))))
289+ or ((name = @v1e) and (position = @v2e))) and 1=1 )
288290 )`
289291 test .S (t ).ExpectEquals (normalizeQuery (query ), normalizeQuery (expected ))
290292 test .S (t ).ExpectTrue (reflect .DeepEqual (explodedArgs , []interface {}{3 , 3 , 17 , 3 , 17 , 103 , 103 , 117 , 103 , 117 }))
@@ -295,14 +297,15 @@ func TestBuildRangeInsertPreparedQuery(t *testing.T) {
295297 databaseName := "mydb"
296298 originalTableName := "tbl"
297299 ghostTableName := "ghost"
300+ whereClause := "1=1"
298301 sharedColumns := []string {"id" , "name" , "position" }
299302 {
300303 uniqueKey := "name_position_uidx"
301304 uniqueKeyColumns := NewColumnList ([]string {"name" , "position" })
302305 rangeStartArgs := []interface {}{3 , 17 }
303306 rangeEndArgs := []interface {}{103 , 117 }
304307
305- query , explodedArgs , err := BuildRangeInsertPreparedQuery (databaseName , originalTableName , ghostTableName , sharedColumns , sharedColumns , uniqueKey , uniqueKeyColumns , rangeStartArgs , rangeEndArgs , true , true )
308+ query , explodedArgs , err := BuildRangeInsertPreparedQuery (databaseName , originalTableName , ghostTableName , sharedColumns , sharedColumns , uniqueKey , uniqueKeyColumns , rangeStartArgs , rangeEndArgs , true , true , whereClause )
306309 test .S (t ).ExpectNil (err )
307310 expected := `
308311 insert /* gh-ost mydb.tbl */ ignore
@@ -314,7 +317,7 @@ func TestBuildRangeInsertPreparedQuery(t *testing.T) {
314317 from
315318 mydb.tbl
316319 force index (name_position_uidx)
317- where (((name > ?) or (((name = ?)) AND (position > ?)) or ((name = ?) and (position = ?))) and ((name < ?) or (((name = ?)) AND (position < ?)) or ((name = ?) and (position = ?))))
320+ where (((name > ?) or (((name = ?)) AND (position > ?)) or ((name = ?) and (position = ?))) and ((name < ?) or (((name = ?)) AND (position < ?)) or ((name = ?) and (position = ?))) and 1=1 )
318321 lock in share mode
319322 )`
320323 test .S (t ).ExpectEquals (normalizeQuery (query ), normalizeQuery (expected ))
0 commit comments