@@ -3,7 +3,6 @@ package sqlx
33import (
44 "database/sql"
55 "fmt"
6- "regexp"
76 "testing"
87)
98
@@ -358,20 +357,32 @@ func TestFixBounds(t *testing.T) {
358357 },
359358 {
360359 name : `on duplicate key using VALUES` ,
361- query : `INSERT INTO foo (a,b) VALUES(:a, :b) ON DUPLICATE KEY UPDATE a=VALUES(a)` ,
362- expect : `INSERT INTO foo (a,b) VALUES(:a, :b),(:a, :b) ON DUPLICATE KEY UPDATE a=VALUES(a)` ,
360+ query : `INSERT INTO foo (a,b) VALUES (:a, :b) ON DUPLICATE KEY UPDATE a=VALUES(a)` ,
361+ expect : `INSERT INTO foo (a,b) VALUES (:a, :b),(:a, :b) ON DUPLICATE KEY UPDATE a=VALUES(a)` ,
363362 loop : 2 ,
364363 },
365364 {
366365 name : `single column` ,
367- query : `INSERT INTO foo (a) VALUES(:a)` ,
368- expect : `INSERT INTO foo (a) VALUES(:a),(:a)` ,
366+ query : `INSERT INTO foo (a) VALUES (:a)` ,
367+ expect : `INSERT INTO foo (a) VALUES (:a),(:a)` ,
369368 loop : 2 ,
370369 },
371370 {
372371 name : `call now` ,
373- query : `INSERT INTO foo (a, b) VALUES(:a, NOW())` ,
374- expect : `INSERT INTO foo (a, b) VALUES(:a, NOW()),(:a, NOW())` ,
372+ query : `INSERT INTO foo (a, b) VALUES (:a, NOW())` ,
373+ expect : `INSERT INTO foo (a, b) VALUES (:a, NOW()),(:a, NOW())` ,
374+ loop : 2 ,
375+ },
376+ {
377+ name : `two level depth function call` ,
378+ query : `INSERT INTO foo (a, b) VALUES (:a, YEAR(NOW()))` ,
379+ expect : `INSERT INTO foo (a, b) VALUES (:a, YEAR(NOW())),(:a, YEAR(NOW()))` ,
380+ loop : 2 ,
381+ },
382+ {
383+ name : `missing closing bracket` ,
384+ query : `INSERT INTO foo (a, b) VALUES (:a, YEAR(NOW())` ,
385+ expect : `INSERT INTO foo (a, b) VALUES (:a, YEAR(NOW())` ,
375386 loop : 2 ,
376387 },
377388 }
@@ -384,18 +395,4 @@ func TestFixBounds(t *testing.T) {
384395 }
385396 })
386397 }
387-
388- t .Run ("regex changed" , func (t * testing.T ) {
389- var valueBracketRegChanged = regexp .MustCompile (`(VALUES)\s+(\([^(]*.[^(]\))` )
390- saveRegexp := valueBracketReg
391- defer func () {
392- valueBracketReg = saveRegexp
393- }()
394- valueBracketReg = valueBracketRegChanged
395-
396- res := fixBound ("VALUES (:a, :b)" , 2 )
397- if res != "VALUES (:a, :b)" {
398- t .Errorf ("changed regex should return string" )
399- }
400- })
401398}
0 commit comments