mirror of https://github.com/aldy505/bob.git
fix: atp placeholder conversion
This commit is contained in:
parent
6186e8aa9a
commit
b6fad37b7a
|
@ -28,7 +28,7 @@ func ReplacePlaceholder(sql string, format string) string {
|
||||||
format = Question
|
format = Question
|
||||||
}
|
}
|
||||||
|
|
||||||
if format == Dollar || format == Colon {
|
if format == Dollar || format == Colon || format == AtP {
|
||||||
separate := strings.SplitAfter(sql, "?")
|
separate := strings.SplitAfter(sql, "?")
|
||||||
for i := 0; i < len(separate); i++ {
|
for i := 0; i < len(separate); i++ {
|
||||||
separate[i] = strings.Replace(separate[i], "?", format+strconv.Itoa(i+1), 1)
|
separate[i] = strings.Replace(separate[i], "?", format+strconv.Itoa(i+1), 1)
|
||||||
|
|
|
@ -30,7 +30,7 @@ func TestReplacePlaceholder(t *testing.T) {
|
||||||
t.Run("should be able to replace placeholder to @p", func(t *testing.T) {
|
t.Run("should be able to replace placeholder to @p", func(t *testing.T) {
|
||||||
sql := "INSERT INTO table_name (`col1`, `col2`, `col3`) VALUES (?, ?, ?), (?, ?, ?), (?, ?, ?);"
|
sql := "INSERT INTO table_name (`col1`, `col2`, `col3`) VALUES (?, ?, ?), (?, ?, ?), (?, ?, ?);"
|
||||||
result := bob.ReplacePlaceholder(sql, bob.AtP)
|
result := bob.ReplacePlaceholder(sql, bob.AtP)
|
||||||
should := "INSERT INTO table_name (`col1`, `col2`, `col3`) VALUES (@p, @p, @p), (@p, @p, @p), (@p, @p, @p);"
|
should := "INSERT INTO table_name (`col1`, `col2`, `col3`) VALUES (@p1, @p2, @p3), (@p4, @p5, @p6), (@p7, @p8, @p9);"
|
||||||
|
|
||||||
if result != should {
|
if result != should {
|
||||||
t.Fatal("result string doesn't match:", result)
|
t.Fatal("result string doesn't match:", result)
|
||||||
|
|
Loading…
Reference in New Issue