From 4fb2d5e2c62029bddc4d63d6dffdf3cd789434e2 Mon Sep 17 00:00:00 2001 From: yuyinw Date: Sat, 14 Jun 2025 15:54:56 +0800 Subject: [PATCH 01/13] Fixed an issue where removing double quotes in the oracle driver's DoFilter function caused lowercase table names to become unsupported. --- contrib/drivers/oracle/oracle_do_filter.go | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/contrib/drivers/oracle/oracle_do_filter.go b/contrib/drivers/oracle/oracle_do_filter.go index 0f952857cf0..12e6b1af3f2 100644 --- a/contrib/drivers/oracle/oracle_do_filter.go +++ b/contrib/drivers/oracle/oracle_do_filter.go @@ -45,10 +45,7 @@ func (d *Driver) DoFilter(ctx context.Context, link gdb.Link, sql string, args [ if err != nil { return } - newSql, err = gregex.ReplaceString("\"", "", newSql) - if err != nil { - return - } + newSql, err = d.parseSql(newSql) if err != nil { return From 08251bf9900114cb86473948cc48b3619655e014 Mon Sep 17 00:00:00 2001 From: yuyinw Date: Sat, 14 Jun 2025 16:25:19 +0800 Subject: [PATCH 02/13] Remove spaces. --- contrib/drivers/oracle/oracle_do_filter.go | 1 - 1 file changed, 1 deletion(-) diff --git a/contrib/drivers/oracle/oracle_do_filter.go b/contrib/drivers/oracle/oracle_do_filter.go index 12e6b1af3f2..a579a041435 100644 --- a/contrib/drivers/oracle/oracle_do_filter.go +++ b/contrib/drivers/oracle/oracle_do_filter.go @@ -45,7 +45,6 @@ func (d *Driver) DoFilter(ctx context.Context, link gdb.Link, sql string, args [ if err != nil { return } - newSql, err = d.parseSql(newSql) if err != nil { return From d7ebdde84826ccaee39d63c63e87d8e364af33dd Mon Sep 17 00:00:00 2001 From: yuyinw Date: Sun, 15 Jun 2025 13:02:27 +0800 Subject: [PATCH 03/13] =?UTF-8?q?=E4=BF=AE=E6=94=B9oracle=E9=A9=B1?= =?UTF-8?q?=E5=8A=A8=E6=B5=8B=E8=AF=95=E4=BB=A3=E7=A0=81=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- contrib/drivers/oracle/oracle_z_unit_init_test.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contrib/drivers/oracle/oracle_z_unit_init_test.go b/contrib/drivers/oracle/oracle_z_unit_init_test.go index 3e549d4b265..430b474527a 100644 --- a/contrib/drivers/oracle/oracle_z_unit_init_test.go +++ b/contrib/drivers/oracle/oracle_z_unit_init_test.go @@ -114,7 +114,7 @@ func createTable(table ...string) (name string) { dropTable(name) if _, err := db.Exec(ctx, fmt.Sprintf(` - CREATE TABLE %s ( + CREATE TABLE "%s" ( ID NUMBER(10) NOT NULL, PASSPORT VARCHAR(45) NOT NULL, PASSWORD CHAR(32) NOT NULL, From 353eed20c1ce0b590212635d7017942a640479db Mon Sep 17 00:00:00 2001 From: yuyinw Date: Sun, 15 Jun 2025 13:29:38 +0800 Subject: [PATCH 04/13] =?UTF-8?q?=E4=BF=AE=E6=94=B9oracle=E9=A9=B1?= =?UTF-8?q?=E5=8A=A8=E6=B5=8B=E8=AF=95=E4=BB=A3=E7=A0=81=E4=B8=AD=E5=88=A0?= =?UTF-8?q?=E9=99=A4=E8=A1=A8=E6=8E=A5=E5=8F=A3=E6=9C=AA=E5=8C=BA=E5=88=86?= =?UTF-8?q?=E5=A4=A7=E5=B0=8F=E5=86=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- contrib/drivers/oracle/oracle_z_unit_init_test.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contrib/drivers/oracle/oracle_z_unit_init_test.go b/contrib/drivers/oracle/oracle_z_unit_init_test.go index 430b474527a..e4a89962eb7 100644 --- a/contrib/drivers/oracle/oracle_z_unit_init_test.go +++ b/contrib/drivers/oracle/oracle_z_unit_init_test.go @@ -160,7 +160,7 @@ func dropTable(table string) { if count == 0 { return } - if _, err = db.Exec(ctx, fmt.Sprintf("DROP TABLE %s", table)); err != nil { + if _, err = db.Exec(ctx, fmt.Sprintf(`DROP TABLE "%s"`, table)); err != nil { gtest.Fatal(err) } } From 044ab25a189ef324307572915ace2a6af7c6fc27 Mon Sep 17 00:00:00 2001 From: yuyinw Date: Sun, 15 Jun 2025 15:04:05 +0800 Subject: [PATCH 05/13] =?UTF-8?q?=E4=BF=AE=E6=94=B9oracle=E9=A9=B1?= =?UTF-8?q?=E5=8A=A8=E6=B5=8B=E8=AF=95=E4=BB=A3=E7=A0=81=E5=88=A0=E9=99=A4?= =?UTF-8?q?=E8=A1=A8=E6=8E=A5=E5=8F=A3=E6=94=AF=E6=8C=81=E5=A4=A7=E5=B0=8F?= =?UTF-8?q?=E5=86=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- contrib/drivers/oracle/oracle_z_unit_init_test.go | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/contrib/drivers/oracle/oracle_z_unit_init_test.go b/contrib/drivers/oracle/oracle_z_unit_init_test.go index e4a89962eb7..bc01e7ae211 100644 --- a/contrib/drivers/oracle/oracle_z_unit_init_test.go +++ b/contrib/drivers/oracle/oracle_z_unit_init_test.go @@ -9,7 +9,6 @@ package oracle_test import ( "context" "fmt" - "strings" _ "github.com/sijms/go-ora/v2" @@ -152,7 +151,7 @@ func createInitTable(table ...string) (name string) { } func dropTable(table string) { - count, err := db.GetCount(ctx, "SELECT COUNT(*) FROM USER_TABLES WHERE TABLE_NAME = ?", strings.ToUpper(table)) + count, err := db.GetCount(ctx, "SELECT COUNT(*) FROM USER_TABLES WHERE TABLE_NAME = ?", fmt.Sprintf(`"%s"`, table)) if err != nil { gtest.Fatal(err) } From 9084c702a6de38382e6d8e2008d1bc50215dabf1 Mon Sep 17 00:00:00 2001 From: yuyinw Date: Sat, 14 Jun 2025 15:54:56 +0800 Subject: [PATCH 06/13] Fixed an issue where removing double quotes in the oracle driver's DoFilter function caused lowercase table names to become unsupported. --- contrib/drivers/oracle/oracle_do_filter.go | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/contrib/drivers/oracle/oracle_do_filter.go b/contrib/drivers/oracle/oracle_do_filter.go index 0f952857cf0..12e6b1af3f2 100644 --- a/contrib/drivers/oracle/oracle_do_filter.go +++ b/contrib/drivers/oracle/oracle_do_filter.go @@ -45,10 +45,7 @@ func (d *Driver) DoFilter(ctx context.Context, link gdb.Link, sql string, args [ if err != nil { return } - newSql, err = gregex.ReplaceString("\"", "", newSql) - if err != nil { - return - } + newSql, err = d.parseSql(newSql) if err != nil { return From 699ed2498f7eeca3d1fb864f9c10201d1005a19b Mon Sep 17 00:00:00 2001 From: yuyinw Date: Sat, 14 Jun 2025 16:25:19 +0800 Subject: [PATCH 07/13] Remove spaces. --- contrib/drivers/oracle/oracle_do_filter.go | 1 - 1 file changed, 1 deletion(-) diff --git a/contrib/drivers/oracle/oracle_do_filter.go b/contrib/drivers/oracle/oracle_do_filter.go index 12e6b1af3f2..a579a041435 100644 --- a/contrib/drivers/oracle/oracle_do_filter.go +++ b/contrib/drivers/oracle/oracle_do_filter.go @@ -45,7 +45,6 @@ func (d *Driver) DoFilter(ctx context.Context, link gdb.Link, sql string, args [ if err != nil { return } - newSql, err = d.parseSql(newSql) if err != nil { return From 5ff8d1e60346badccda596614531fad5fda1e372 Mon Sep 17 00:00:00 2001 From: yuyinw Date: Sun, 15 Jun 2025 13:02:27 +0800 Subject: [PATCH 08/13] =?UTF-8?q?=E4=BF=AE=E6=94=B9oracle=E9=A9=B1?= =?UTF-8?q?=E5=8A=A8=E6=B5=8B=E8=AF=95=E4=BB=A3=E7=A0=81=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- contrib/drivers/oracle/oracle_z_unit_init_test.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contrib/drivers/oracle/oracle_z_unit_init_test.go b/contrib/drivers/oracle/oracle_z_unit_init_test.go index 3e549d4b265..430b474527a 100644 --- a/contrib/drivers/oracle/oracle_z_unit_init_test.go +++ b/contrib/drivers/oracle/oracle_z_unit_init_test.go @@ -114,7 +114,7 @@ func createTable(table ...string) (name string) { dropTable(name) if _, err := db.Exec(ctx, fmt.Sprintf(` - CREATE TABLE %s ( + CREATE TABLE "%s" ( ID NUMBER(10) NOT NULL, PASSPORT VARCHAR(45) NOT NULL, PASSWORD CHAR(32) NOT NULL, From e6f27c0de6ca9039745cecab1d743344e20ea52d Mon Sep 17 00:00:00 2001 From: yuyinw Date: Sun, 15 Jun 2025 13:29:38 +0800 Subject: [PATCH 09/13] =?UTF-8?q?=E4=BF=AE=E6=94=B9oracle=E9=A9=B1?= =?UTF-8?q?=E5=8A=A8=E6=B5=8B=E8=AF=95=E4=BB=A3=E7=A0=81=E4=B8=AD=E5=88=A0?= =?UTF-8?q?=E9=99=A4=E8=A1=A8=E6=8E=A5=E5=8F=A3=E6=9C=AA=E5=8C=BA=E5=88=86?= =?UTF-8?q?=E5=A4=A7=E5=B0=8F=E5=86=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- contrib/drivers/oracle/oracle_z_unit_init_test.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contrib/drivers/oracle/oracle_z_unit_init_test.go b/contrib/drivers/oracle/oracle_z_unit_init_test.go index 430b474527a..e4a89962eb7 100644 --- a/contrib/drivers/oracle/oracle_z_unit_init_test.go +++ b/contrib/drivers/oracle/oracle_z_unit_init_test.go @@ -160,7 +160,7 @@ func dropTable(table string) { if count == 0 { return } - if _, err = db.Exec(ctx, fmt.Sprintf("DROP TABLE %s", table)); err != nil { + if _, err = db.Exec(ctx, fmt.Sprintf(`DROP TABLE "%s"`, table)); err != nil { gtest.Fatal(err) } } From 65834e4210ab5e2845d5486ac9675013a465ec24 Mon Sep 17 00:00:00 2001 From: yuyinw Date: Sun, 15 Jun 2025 15:04:05 +0800 Subject: [PATCH 10/13] =?UTF-8?q?=E4=BF=AE=E6=94=B9oracle=E9=A9=B1?= =?UTF-8?q?=E5=8A=A8=E6=B5=8B=E8=AF=95=E4=BB=A3=E7=A0=81=E5=88=A0=E9=99=A4?= =?UTF-8?q?=E8=A1=A8=E6=8E=A5=E5=8F=A3=E6=94=AF=E6=8C=81=E5=A4=A7=E5=B0=8F?= =?UTF-8?q?=E5=86=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- contrib/drivers/oracle/oracle_z_unit_init_test.go | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/contrib/drivers/oracle/oracle_z_unit_init_test.go b/contrib/drivers/oracle/oracle_z_unit_init_test.go index e4a89962eb7..bc01e7ae211 100644 --- a/contrib/drivers/oracle/oracle_z_unit_init_test.go +++ b/contrib/drivers/oracle/oracle_z_unit_init_test.go @@ -9,7 +9,6 @@ package oracle_test import ( "context" "fmt" - "strings" _ "github.com/sijms/go-ora/v2" @@ -152,7 +151,7 @@ func createInitTable(table ...string) (name string) { } func dropTable(table string) { - count, err := db.GetCount(ctx, "SELECT COUNT(*) FROM USER_TABLES WHERE TABLE_NAME = ?", strings.ToUpper(table)) + count, err := db.GetCount(ctx, "SELECT COUNT(*) FROM USER_TABLES WHERE TABLE_NAME = ?", fmt.Sprintf(`"%s"`, table)) if err != nil { gtest.Fatal(err) } From 229e633eccafa7d9306534643b57d062b4e311a1 Mon Sep 17 00:00:00 2001 From: yuyinw Date: Thu, 19 Jun 2025 22:41:55 +0800 Subject: [PATCH 11/13] add debug log --- contrib/drivers/oracle/oracle_z_unit_init_test.go | 1 + 1 file changed, 1 insertion(+) diff --git a/contrib/drivers/oracle/oracle_z_unit_init_test.go b/contrib/drivers/oracle/oracle_z_unit_init_test.go index bc01e7ae211..c33c2522c44 100644 --- a/contrib/drivers/oracle/oracle_z_unit_init_test.go +++ b/contrib/drivers/oracle/oracle_z_unit_init_test.go @@ -157,6 +157,7 @@ func dropTable(table string) { } if count == 0 { + fmt.Println("[DEBUG] %s", fmt.Sprint("count = %d", count)) return } if _, err = db.Exec(ctx, fmt.Sprintf(`DROP TABLE "%s"`, table)); err != nil { From 37c1378b7231eaa5d19c82ece3769f48a88f12cb Mon Sep 17 00:00:00 2001 From: yuyinw Date: Thu, 19 Jun 2025 23:01:35 +0800 Subject: [PATCH 12/13] mod oracle dropTable --- contrib/drivers/oracle/oracle_z_unit_init_test.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/contrib/drivers/oracle/oracle_z_unit_init_test.go b/contrib/drivers/oracle/oracle_z_unit_init_test.go index c33c2522c44..671092000cb 100644 --- a/contrib/drivers/oracle/oracle_z_unit_init_test.go +++ b/contrib/drivers/oracle/oracle_z_unit_init_test.go @@ -151,15 +151,15 @@ func createInitTable(table ...string) (name string) { } func dropTable(table string) { - count, err := db.GetCount(ctx, "SELECT COUNT(*) FROM USER_TABLES WHERE TABLE_NAME = ?", fmt.Sprintf(`"%s"`, table)) + count, err := db.GetCount(ctx, "SELECT COUNT(*) FROM USER_TABLES WHERE TABLE_NAME = \"%s\"", table) if err != nil { gtest.Fatal(err) } if count == 0 { - fmt.Println("[DEBUG] %s", fmt.Sprint("count = %d", count)) return } + if _, err = db.Exec(ctx, fmt.Sprintf(`DROP TABLE "%s"`, table)); err != nil { gtest.Fatal(err) } From aefc0c0a0608ab202ba2d42ef943ac60ea7399e0 Mon Sep 17 00:00:00 2001 From: yuyinw Date: Thu, 19 Jun 2025 23:30:50 +0800 Subject: [PATCH 13/13] mod oracle dropTable --- contrib/drivers/oracle/oracle_z_unit_init_test.go | 13 +------------ 1 file changed, 1 insertion(+), 12 deletions(-) diff --git a/contrib/drivers/oracle/oracle_z_unit_init_test.go b/contrib/drivers/oracle/oracle_z_unit_init_test.go index 671092000cb..403786047b6 100644 --- a/contrib/drivers/oracle/oracle_z_unit_init_test.go +++ b/contrib/drivers/oracle/oracle_z_unit_init_test.go @@ -151,16 +151,5 @@ func createInitTable(table ...string) (name string) { } func dropTable(table string) { - count, err := db.GetCount(ctx, "SELECT COUNT(*) FROM USER_TABLES WHERE TABLE_NAME = \"%s\"", table) - if err != nil { - gtest.Fatal(err) - } - - if count == 0 { - return - } - - if _, err = db.Exec(ctx, fmt.Sprintf(`DROP TABLE "%s"`, table)); err != nil { - gtest.Fatal(err) - } + db.Exec(ctx, fmt.Sprintf(`DROP TABLE "%s"`, table)) }