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 ecdf27defe4 PostgreSQL And OpenGauss Support Get Rename Column (#27883)
ecdf27defe4 is described below

commit ecdf27defe427e565ca141e84f0620746e334fa2
Author: Edison Catto <[email protected]>
AuthorDate: Sun Sep 24 16:06:22 2023 +0800

    PostgreSQL And OpenGauss Support Get Rename Column (#27883)
    
    * PostgreSQL Support Rename Column
    
    * add test
    
    ---------
    
    Co-authored-by: sunkang <[email protected]>
---
 .../visitor/statement/type/OpenGaussDDLStatementVisitor.java         | 5 +++++
 .../visitor/statement/type/PostgreSQLDDLStatementVisitor.java        | 5 +++++
 test/it/parser/src/main/resources/case/ddl/alter-table.xml           | 4 ++++
 3 files changed, 14 insertions(+)

diff --git 
a/parser/sql/dialect/opengauss/src/main/java/org/apache/shardingsphere/sql/parser/opengauss/visitor/statement/type/OpenGaussDDLStatementVisitor.java
 
b/parser/sql/dialect/opengauss/src/main/java/org/apache/shardingsphere/sql/parser/opengauss/visitor/statement/type/OpenGaussDDLStatementVisitor.java
index ff57857de21..7148414366b 100644
--- 
a/parser/sql/dialect/opengauss/src/main/java/org/apache/shardingsphere/sql/parser/opengauss/visitor/statement/type/OpenGaussDDLStatementVisitor.java
+++ 
b/parser/sql/dialect/opengauss/src/main/java/org/apache/shardingsphere/sql/parser/opengauss/visitor/statement/type/OpenGaussDDLStatementVisitor.java
@@ -314,6 +314,8 @@ public final class OpenGaussDDLStatementVisitor extends 
OpenGaussStatementVisito
                     
result.getDropConstraintDefinitions().add((DropConstraintDefinitionSegment) 
each);
                 } else if (each instanceof RenameTableDefinitionSegment) {
                     result.setRenameTable(((RenameTableDefinitionSegment) 
each).getRenameTable());
+                } else if (each instanceof RenameColumnSegment) {
+                    
result.getRenameColumnDefinitions().add((RenameColumnSegment) each);
                 }
             }
         }
@@ -336,6 +338,9 @@ public final class OpenGaussDDLStatementVisitor extends 
OpenGaussStatementVisito
         if (null != ctx.alterTableActions()) {
             
result.getValue().addAll(ctx.alterTableActions().alterTableAction().stream().flatMap(each
 -> getAlterDefinitionSegments(each).stream()).collect(Collectors.toList()));
         }
+        if (null != ctx.renameColumnSpecification()) {
+            result.getValue().add((RenameColumnSegment) 
visit(ctx.renameColumnSpecification()));
+        }
         if (null != ctx.renameTableSpecification()) {
             result.getValue().add((RenameTableDefinitionSegment) 
visit(ctx.renameTableSpecification()));
         }
diff --git 
a/parser/sql/dialect/postgresql/src/main/java/org/apache/shardingsphere/sql/parser/postgresql/visitor/statement/type/PostgreSQLDDLStatementVisitor.java
 
b/parser/sql/dialect/postgresql/src/main/java/org/apache/shardingsphere/sql/parser/postgresql/visitor/statement/type/PostgreSQLDDLStatementVisitor.java
index f965f31cec6..d053bc39a7a 100644
--- 
a/parser/sql/dialect/postgresql/src/main/java/org/apache/shardingsphere/sql/parser/postgresql/visitor/statement/type/PostgreSQLDDLStatementVisitor.java
+++ 
b/parser/sql/dialect/postgresql/src/main/java/org/apache/shardingsphere/sql/parser/postgresql/visitor/statement/type/PostgreSQLDDLStatementVisitor.java
@@ -387,6 +387,8 @@ public final class PostgreSQLDDLStatementVisitor extends 
PostgreSQLStatementVisi
                     
result.getDropConstraintDefinitions().add((DropConstraintDefinitionSegment) 
each);
                 } else if (each instanceof RenameTableDefinitionSegment) {
                     result.setRenameTable(((RenameTableDefinitionSegment) 
each).getRenameTable());
+                } else if (each instanceof RenameColumnSegment) {
+                    
result.getRenameColumnDefinitions().add((RenameColumnSegment) each);
                 }
             }
         }
@@ -419,6 +421,9 @@ public final class PostgreSQLDDLStatementVisitor extends 
PostgreSQLStatementVisi
         if (null != ctx.alterTableActions()) {
             
result.getValue().addAll(ctx.alterTableActions().alterTableAction().stream().flatMap(each
 -> getAlterDefinitionSegments(each).stream()).collect(Collectors.toList()));
         }
+        if (null != ctx.renameColumnSpecification()) {
+            result.getValue().add((RenameColumnSegment) 
visit(ctx.renameColumnSpecification()));
+        }
         if (null != ctx.renameTableSpecification()) {
             result.getValue().add((RenameTableDefinitionSegment) 
visit(ctx.renameTableSpecification()));
         }
diff --git a/test/it/parser/src/main/resources/case/ddl/alter-table.xml 
b/test/it/parser/src/main/resources/case/ddl/alter-table.xml
index 56feac1d810..bdad8c54252 100644
--- a/test/it/parser/src/main/resources/case/ddl/alter-table.xml
+++ b/test/it/parser/src/main/resources/case/ddl/alter-table.xml
@@ -1128,6 +1128,10 @@
     
     <alter-table sql-case-id="alter_table_rename_column">
         <table name="t_order" start-index="12" stop-index="18" />
+        <rename-column start-index="20" stop-index="52">
+            <old-column-name name="user_id" start-index="34" stop-index="40" />
+            <column-name name="user_id1" start-index="45" stop-index="52" />
+        </rename-column>
     </alter-table>
     
     <alter-table sql-case-id="alter_table_with_exist_index">

Reply via email to