From 7bbc2459bace1ba9f692f9fc0cb4f7633d1dddb5 Mon Sep 17 00:00:00 2001 From: tiancai <532722030@qq.com> Date: Sun, 19 Jul 2020 23:24:35 +0800 Subject: [PATCH 1/2] =?UTF-8?q?postgre=20=E6=8A=A5=E9=94=99=20pq:=20syntax?= =?UTF-8?q?=20error=20at=20or=20near=20$?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- database/gdb/gdb_driver_pgsql.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/database/gdb/gdb_driver_pgsql.go b/database/gdb/gdb_driver_pgsql.go index 134203248..ee638dedb 100644 --- a/database/gdb/gdb_driver_pgsql.go +++ b/database/gdb/gdb_driver_pgsql.go @@ -65,7 +65,7 @@ func (d *DriverPgsql) HandleSqlBeforeCommit(link Link, sql string, args []interf // Convert place holder char '?' to string "$vx". sql, _ = gregex.ReplaceStringFunc("\\?", sql, func(s string) string { index++ - return fmt.Sprintf("$v%d", index) + return fmt.Sprintf("$%d", index) }) sql, _ = gregex.ReplaceString(` LIMIT (\d+),\s*(\d+)`, ` LIMIT $2 OFFSET $1`, sql) return sql, args From d44ddae3dc60abf93a6e4ba8ba56a05e2fcf2484 Mon Sep 17 00:00:00 2001 From: tiancai <532722030@qq.com> Date: Mon, 20 Jul 2020 19:13:15 +0800 Subject: [PATCH 2/2] debug postgre --- database/gdb/gdb_driver_pgsql.go | 2 +- database/gdb/gdb_func.go | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/database/gdb/gdb_driver_pgsql.go b/database/gdb/gdb_driver_pgsql.go index ee638dedb..9bff38467 100644 --- a/database/gdb/gdb_driver_pgsql.go +++ b/database/gdb/gdb_driver_pgsql.go @@ -62,7 +62,7 @@ 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 "$vx". + // Convert place holder char '?' to string "$x". sql, _ = gregex.ReplaceStringFunc("\\?", sql, func(s string) string { index++ return fmt.Sprintf("$%d", index) diff --git a/database/gdb/gdb_func.go b/database/gdb/gdb_func.go index 1b1000c95..e30508a2c 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+|\$v\d+|@v\d+)`, sql, func(s string) string { + `(\?|:v\d+|\$\d+|@v\d+)`, sql, func(s string) string { index++ if len(args) > index { if args[index] == nil {