This is an automated email from the ASF dual-hosted git repository.

duanzhengqiang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git


The following commit(s) were added to refs/heads/master by this push:
     new 3d0358736a4 Change rename table syntax (#25535) (#25917)
3d0358736a4 is described below

commit 3d0358736a40f79e0c5efdcff7861151c4523f24
Author: niu niu <[email protected]>
AuthorDate: Mon May 29 08:30:07 2023 +0800

    Change rename table syntax (#25535) (#25917)
---
 .../sql/dialect/mysql/src/main/antlr4/imports/mysql/DDLStatement.g4 | 2 +-
 test/it/parser/src/main/resources/case/ddl/rename-table.xml         | 6 ++++++
 .../it/parser/src/main/resources/sql/supported/ddl/rename-table.xml | 1 +
 3 files changed, 8 insertions(+), 1 deletion(-)

diff --git 
a/parser/sql/dialect/mysql/src/main/antlr4/imports/mysql/DDLStatement.g4 
b/parser/sql/dialect/mysql/src/main/antlr4/imports/mysql/DDLStatement.g4
index f35513a4326..a7f4c9e58aa 100644
--- a/parser/sql/dialect/mysql/src/main/antlr4/imports/mysql/DDLStatement.g4
+++ b/parser/sql/dialect/mysql/src/main/antlr4/imports/mysql/DDLStatement.g4
@@ -421,7 +421,7 @@ dropTrigger
     ;
 
 renameTable
-    : RENAME TABLE tableName TO tableName (COMMA_ tableName TO tableName)*
+    : RENAME (TABLE | TABLES) tableName TO tableName (COMMA_ tableName TO 
tableName)*
     ;
 
 createDefinitionClause
diff --git a/test/it/parser/src/main/resources/case/ddl/rename-table.xml 
b/test/it/parser/src/main/resources/case/ddl/rename-table.xml
index 9abd29fce13..b77f857b605 100644
--- a/test/it/parser/src/main/resources/case/ddl/rename-table.xml
+++ b/test/it/parser/src/main/resources/case/ddl/rename-table.xml
@@ -23,6 +23,12 @@
             <rename-table name="t_order1" start-index="24" stop-index="31" />
         </rename>
     </rename-table>
+    <rename-table sql-case-id="rename_tables_rule">
+        <rename start-index="14" stop-index="32">
+            <table name="t_order" start-index="14" stop-index="20" />
+            <rename-table name="t_order1" start-index="25" stop-index="32" />
+        </rename>
+    </rename-table>
     <rename-table sql-case-id="rename_multiple_tables">
         <rename start-index="13" stop-index="31">
             <table name="t_order" start-index="13" stop-index="19" />
diff --git 
a/test/it/parser/src/main/resources/sql/supported/ddl/rename-table.xml 
b/test/it/parser/src/main/resources/sql/supported/ddl/rename-table.xml
index 8e077f012cb..8744e4fd543 100644
--- a/test/it/parser/src/main/resources/sql/supported/ddl/rename-table.xml
+++ b/test/it/parser/src/main/resources/sql/supported/ddl/rename-table.xml
@@ -18,6 +18,7 @@
 
 <sql-cases>
     <sql-case id="rename_single_table" value="RENAME TABLE t_order TO 
t_order1" db-types="MySQL" />
+    <sql-case id="rename_tables_rule" value="RENAME TABLES t_order TO 
t_order1" db-types="MySQL" />
     <sql-case id="rename_multiple_tables" value="RENAME TABLE t_order TO 
t_order1, t_order_item TO t_order_item1" db-types="MySQL" />
     <sql-case id="rename_by_mysql_source" value="RENAME TABLE 
mysql.columns_priv TO mysql.columns_priv_bak" db-types="MySQL" />
 </sql-cases>

Reply via email to