From 20332996326445cceb9ed87c11f95f0ab8ab2a41 Mon Sep 17 00:00:00 2001 From: john Date: Wed, 15 Jul 2020 20:15:09 +0800 Subject: [PATCH] improve placeholder for pgsql --- database/gdb/gdb_driver_pgsql.go | 4 ++-- database/gdb/gdb_func.go | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/database/gdb/gdb_driver_pgsql.go b/database/gdb/gdb_driver_pgsql.go index 9bff38467..134203248 100644 --- a/database/gdb/gdb_driver_pgsql.go +++ b/database/gdb/gdb_driver_pgsql.go @@ -62,10 +62,10 @@ func (d *DriverPgsql) GetChars() (charLeft string, charRight string) { // HandleSqlBeforeCommit deals with the sql string before commits it to underlying sql driver. func (d *DriverPgsql) HandleSqlBeforeCommit(link Link, sql string, args []interface{}) (string, []interface{}) { var index int - // Convert place holder char '?' to string "$x". + // Convert place holder char '?' to string "$vx". sql, _ = gregex.ReplaceStringFunc("\\?", sql, func(s string) string { index++ - return fmt.Sprintf("$%d", index) + return fmt.Sprintf("$v%d", index) }) sql, _ = gregex.ReplaceString(` LIMIT (\d+),\s*(\d+)`, ` LIMIT $2 OFFSET $1`, sql) return sql, args diff --git a/database/gdb/gdb_func.go b/database/gdb/gdb_func.go index e30508a2c..1b1000c95 100644 --- a/database/gdb/gdb_func.go +++ b/database/gdb/gdb_func.go @@ -553,7 +553,7 @@ func formatError(err error, sql string, args ...interface{}) error { func FormatSqlWithArgs(sql string, args []interface{}) string { index := -1 newQuery, _ := gregex.ReplaceStringFunc( - `(\?|:v\d+|\$\d+|@v\d+)`, sql, func(s string) string { + `(\?|:v\d+|\$v\d+|@v\d+)`, sql, func(s string) string { index++ if len(args) > index { if args[index] == nil {