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 61c1b07a837 CommentStatement Support get comment text (#27314)
61c1b07a837 is described below

commit 61c1b07a837593098a27e5c69becb655f0601da3
Author: sunkang <[email protected]>
AuthorDate: Sun Feb 25 16:29:58 2024 +0800

    CommentStatement Support get comment text (#27314)
    
    * CommentStatement Support get comment text
    
    * fix ci error OracleDDLStatementVisitor
    
    * Update CommentStatement.java
    
    ---------
    
    Co-authored-by: Zhengqiang Duan <[email protected]>
---
 .../opengauss/visitor/statement/type/OpenGaussDDLStatementVisitor.java | 2 ++
 .../oracle/visitor/statement/type/OracleDDLStatementVisitor.java       | 1 +
 .../visitor/statement/type/PostgreSQLDDLStatementVisitor.java          | 2 ++
 .../sql/parser/sql/common/statement/ddl/CommentStatement.java          | 3 +++
 4 files changed, 8 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 7148414366b..e15cbdead90 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
@@ -995,6 +995,7 @@ public final class OpenGaussDDLStatementVisitor extends 
OpenGaussStatementVisito
         Iterator<NameSegment> nameSegmentIterator = 
((CollectionValue<NameSegment>) 
visit(ctx.commentClauses().anyName())).getValue().iterator();
         Optional<NameSegment> columnName = nameSegmentIterator.hasNext() ? 
Optional.of(nameSegmentIterator.next()) : Optional.empty();
         columnName.ifPresent(optional -> result.setColumn(new 
ColumnSegment(optional.getStartIndex(), optional.getStopIndex(), 
optional.getIdentifier())));
+        result.setComment(new 
IdentifierValue(ctx.commentClauses().commentText().getText()));
         setTableSegment(result, nameSegmentIterator);
         return result;
     }
@@ -1003,6 +1004,7 @@ public final class OpenGaussDDLStatementVisitor extends 
OpenGaussStatementVisito
     private OpenGaussCommentStatement commentOnTable(final CommentContext ctx) 
{
         OpenGaussCommentStatement result = new OpenGaussCommentStatement();
         Iterator<NameSegment> nameSegmentIterator = 
((CollectionValue<NameSegment>) 
visit(ctx.commentClauses().anyName())).getValue().iterator();
+        result.setComment(new 
IdentifierValue(ctx.commentClauses().commentText().getText()));
         setTableSegment(result, nameSegmentIterator);
         return result;
     }
diff --git 
a/parser/sql/dialect/oracle/src/main/java/org/apache/shardingsphere/sql/parser/oracle/visitor/statement/type/OracleDDLStatementVisitor.java
 
b/parser/sql/dialect/oracle/src/main/java/org/apache/shardingsphere/sql/parser/oracle/visitor/statement/type/OracleDDLStatementVisitor.java
index fcc33088378..a6d92b4d3ea 100644
--- 
a/parser/sql/dialect/oracle/src/main/java/org/apache/shardingsphere/sql/parser/oracle/visitor/statement/type/OracleDDLStatementVisitor.java
+++ 
b/parser/sql/dialect/oracle/src/main/java/org/apache/shardingsphere/sql/parser/oracle/visitor/statement/type/OracleDDLStatementVisitor.java
@@ -999,6 +999,7 @@ public final class OracleDDLStatementVisitor extends 
OracleStatementVisitor impl
         if (null != ctx.indexTypeName()) {
             result.setIndexType((IndexTypeSegment) visit(ctx.indexTypeName()));
         }
+        result.setComment(new IdentifierValue(ctx.STRING_().getText()));
         return result;
     }
     
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 d053bc39a7a..2d0cb8e226b 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
@@ -1143,6 +1143,7 @@ public final class PostgreSQLDDLStatementVisitor extends 
PostgreSQLStatementVisi
         Iterator<NameSegment> nameSegmentIterator = 
((CollectionValue<NameSegment>) 
visit(ctx.commentClauses().anyName())).getValue().iterator();
         Optional<NameSegment> columnName = nameSegmentIterator.hasNext() ? 
Optional.of(nameSegmentIterator.next()) : Optional.empty();
         columnName.ifPresent(optional -> result.setColumn(new 
ColumnSegment(optional.getStartIndex(), optional.getStopIndex(), 
optional.getIdentifier())));
+        result.setComment(new 
IdentifierValue(ctx.commentClauses().commentText().getText()));
         setTableSegment(result, nameSegmentIterator);
         return result;
     }
@@ -1151,6 +1152,7 @@ public final class PostgreSQLDDLStatementVisitor extends 
PostgreSQLStatementVisi
     private PostgreSQLCommentStatement commentOnTable(final CommentContext 
ctx) {
         PostgreSQLCommentStatement result = new PostgreSQLCommentStatement();
         Iterator<NameSegment> nameSegmentIterator = 
((CollectionValue<NameSegment>) 
visit(ctx.commentClauses().anyName())).getValue().iterator();
+        result.setComment(new 
IdentifierValue(ctx.commentClauses().commentText().getText()));
         setTableSegment(result, nameSegmentIterator);
         return result;
     }
diff --git 
a/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/statement/ddl/CommentStatement.java
 
b/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/statement/ddl/CommentStatement.java
index db0556ce182..33ea2e261f5 100644
--- 
a/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/statement/ddl/CommentStatement.java
+++ 
b/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/statement/ddl/CommentStatement.java
@@ -22,6 +22,7 @@ import lombok.Setter;
 import 
org.apache.shardingsphere.sql.parser.sql.common.segment.dml.column.ColumnSegment;
 import 
org.apache.shardingsphere.sql.parser.sql.common.segment.generic.table.SimpleTableSegment;
 import 
org.apache.shardingsphere.sql.parser.sql.common.statement.AbstractSQLStatement;
+import 
org.apache.shardingsphere.sql.parser.sql.common.value.identifier.IdentifierValue;
 
 /**
  * Comment statement.
@@ -33,4 +34,6 @@ public abstract class CommentStatement extends 
AbstractSQLStatement implements D
     private SimpleTableSegment table;
     
     private ColumnSegment column;
+    
+    private IdentifierValue comment;
 }

Reply via email to