You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by zh...@apache.org on 2022/04/25 12:09:15 UTC
[shardingsphere] branch master updated: Add PostgreSQL ALTER and DROP Schema parsing logic (#17095)
This is an automated email from the ASF dual-hosted git repository.
zhaojinchao 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 ba18b670453 Add PostgreSQL ALTER and DROP Schema parsing logic (#17095)
ba18b670453 is described below
commit ba18b670453875963a9c5dfcf15963617f4b1007
Author: Zhengqiang Duan <du...@apache.org>
AuthorDate: Mon Apr 25 20:09:08 2022 +0800
Add PostgreSQL ALTER and DROP Schema parsing logic (#17095)
---
.../impl/PostgreSQLDDLStatementSQLVisitor.java | 26 ++++++++++++++++++++--
1 file changed, 24 insertions(+), 2 deletions(-)
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-postgresql/src/main/java/org/apache/shardingsphere/sql/parser/postgresql/visitor/statement/impl/PostgreSQLDDLStatementSQLVisitor.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-postgresql/src/main/java/org/apache/shardingsphere/sql/parser/postgresql/visitor/statement/impl/PostgreSQLDDLStatementSQLVisitor.java
index eb9c4e8757e..ceeb2b1ed60 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-postgresql/src/main/java/org/apache/shardingsphere/sql/parser/postgresql/visitor/statement/impl/PostgreSQLDDLStatementSQLVisitor.java
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-postgresql/src/main/java/org/apache/shardingsphere/sql/parser/postgresql/visitor/statement/impl/PostgreSQLDDLStatementSQLVisitor.java
@@ -117,6 +117,7 @@ import org.apache.shardingsphere.sql.parser.autogen.PostgreSQLStatementParser.In
import org.apache.shardingsphere.sql.parser.autogen.PostgreSQLStatementParser.ModifyColumnSpecificationContext;
import org.apache.shardingsphere.sql.parser.autogen.PostgreSQLStatementParser.ModifyConstraintSpecificationContext;
import org.apache.shardingsphere.sql.parser.autogen.PostgreSQLStatementParser.NameContext;
+import org.apache.shardingsphere.sql.parser.autogen.PostgreSQLStatementParser.NameListContext;
import org.apache.shardingsphere.sql.parser.autogen.PostgreSQLStatementParser.PrepareContext;
import org.apache.shardingsphere.sql.parser.autogen.PostgreSQLStatementParser.RenameColumnSpecificationContext;
import org.apache.shardingsphere.sql.parser.autogen.PostgreSQLStatementParser.RenameTableSpecificationContext;
@@ -815,12 +816,33 @@ public final class PostgreSQLDDLStatementSQLVisitor extends PostgreSQLStatementS
@Override
public ASTNode visitAlterSchema(final AlterSchemaContext ctx) {
- return new PostgreSQLAlterSchemaStatement();
+ PostgreSQLAlterSchemaStatement result = new PostgreSQLAlterSchemaStatement();
+ result.setSchemaName(((IdentifierValue) visit(ctx.name().get(0))).getValue());
+ if (ctx.name().size() > 1) {
+ result.setRenameSchema(((IdentifierValue) visit(ctx.name().get(1))).getValue());
+ }
+ return result;
}
+ @SuppressWarnings("unchecked")
@Override
public ASTNode visitDropSchema(final DropSchemaContext ctx) {
- return new PostgreSQLDropSchemaStatement();
+ PostgreSQLDropSchemaStatement result = new PostgreSQLDropSchemaStatement();
+ result.getSchemaNames().addAll(((CollectionValue<String>) visit(ctx.nameList())).getValue());
+ return result;
+ }
+
+ @SuppressWarnings("unchecked")
+ @Override
+ public ASTNode visitNameList(final NameListContext ctx) {
+ CollectionValue<String> result = new CollectionValue<>();
+ if (null != ctx.nameList()) {
+ result.combine((CollectionValue<String>) visit(ctx.nameList()));
+ }
+ if (null != ctx.name()) {
+ result.getValue().add(((IdentifierValue) visit(ctx.name())).getValue());
+ }
+ return result;
}
@Override