From 91ed00e04cfe517cf60422d48c37b4ac77a99ac1 Mon Sep 17 00:00:00 2001 From: Taka Sato Date: Tue, 12 Mar 2024 03:19:50 +0000 Subject: [PATCH] Add support for RENAME TABLE and table synonyms --- statement.go | 3 +++ statement_test.go | 5 +++++ 2 files changed, 8 insertions(+) diff --git a/statement.go b/statement.go index e3924e2..fd7539d 100644 --- a/statement.go +++ b/statement.go @@ -92,6 +92,7 @@ var ( grantRe = regexp.MustCompile(`(?is)^GRANT\s.+$`) revokeRe = regexp.MustCompile(`(?is)^REVOKE\s.+$`) alterRe = regexp.MustCompile(`(?is)^ALTER\s.+$`) + renameRe = regexp.MustCompile(`(?is)^RENAME\s.+$`) truncateTableRe = regexp.MustCompile(`(?is)^TRUNCATE\s+TABLE\s+(.+)$`) analyzeRe = regexp.MustCompile(`(?is)^ANALYZE$`) @@ -150,6 +151,8 @@ func BuildStatementWithComments(stripped, raw string) (Statement, error) { return &DdlStatement{Ddl: stripped}, nil case alterRe.MatchString(stripped): return &DdlStatement{Ddl: stripped}, nil + case renameRe.MatchString(stripped): + return &DdlStatement{Ddl: stripped}, nil case grantRe.MatchString(stripped): return &DdlStatement{Ddl: stripped}, nil case revokeRe.MatchString(stripped): diff --git a/statement_test.go b/statement_test.go index 7a1f374..8f3b2cf 100644 --- a/statement_test.go +++ b/statement_test.go @@ -91,6 +91,11 @@ func TestBuildStatement(t *testing.T) { input: "CREATE TABLE t1 (id INT64 NOT NULL) PRIMARY KEY (id)", want: &DdlStatement{Ddl: "CREATE TABLE t1 (id INT64 NOT NULL) PRIMARY KEY (id)"}, }, + { + desc: "RENAME TABLE statement", + input: "RENAME TABLE t1 TO t2, t3 TO t4", + want: &DdlStatement{Ddl: "RENAME TABLE t1 TO t2, t3 TO t4"}, + }, { desc: "ALTER TABLE statement", input: "ALTER TABLE t1 ADD COLUMN name STRING(16) NOT NULL",