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;
}