This is an automated email from the ASF dual-hosted git repository. zhangliang 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 23fa32d2ba8 Refactor SQLStatementContext (#35697) 23fa32d2ba8 is described below commit 23fa32d2ba87cdf97dc50be54f330d34a379b8ed Author: Liang Zhang <zhangli...@apache.org> AuthorDate: Fri Jun 13 17:30:51 2025 +0800 Refactor SQLStatementContext (#35697) --- .../statement/type/ddl/AlterIndexStatementContext.java | 14 ++++++-------- .../statement/type/ddl/AlterTableStatementContext.java | 10 +++++----- .../statement/type/ddl/AlterViewStatementContext.java | 10 +++++----- .../statement/type/ddl/CloseStatementContext.java | 10 +++++----- .../statement/type/ddl/CreateIndexStatementContext.java | 10 +++++----- .../statement/type/ddl/CreateTableStatementContext.java | 17 +++++++---------- .../statement/type/ddl/CreateViewStatementContext.java | 10 +++++----- .../statement/type/ddl/CursorStatementContext.java | 10 +++++----- .../statement/type/ddl/DropIndexStatementContext.java | 10 +++++----- .../statement/type/ddl/FetchStatementContext.java | 10 +++++----- .../statement/type/ddl/MoveStatementContext.java | 10 +++++----- 11 files changed, 58 insertions(+), 63 deletions(-) diff --git a/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/type/ddl/AlterIndexStatementContext.java b/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/type/ddl/AlterIndexStatementContext.java index 4829e2ea7aa..5e308f064b9 100644 --- a/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/type/ddl/AlterIndexStatementContext.java +++ b/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/type/ddl/AlterIndexStatementContext.java @@ -25,7 +25,6 @@ import org.apache.shardingsphere.infra.binder.context.type.TableAvailable; import org.apache.shardingsphere.infra.database.core.type.DatabaseType; import org.apache.shardingsphere.sql.parser.statement.core.segment.ddl.index.IndexSegment; import org.apache.shardingsphere.sql.parser.statement.core.segment.dml.column.ColumnSegment; -import org.apache.shardingsphere.sql.parser.statement.core.segment.generic.table.SimpleTableSegment; import org.apache.shardingsphere.sql.parser.statement.core.statement.ddl.AlterIndexStatement; import java.util.Collection; @@ -42,13 +41,7 @@ public final class AlterIndexStatementContext extends CommonSQLStatementContext public AlterIndexStatementContext(final DatabaseType databaseType, final AlterIndexStatement sqlStatement) { super(databaseType, sqlStatement); - SimpleTableSegment simpleTableSegment = sqlStatement.getSimpleTable().orElse(null); - tablesContext = new TablesContext(simpleTableSegment); - } - - @Override - public AlterIndexStatement getSqlStatement() { - return (AlterIndexStatement) super.getSqlStatement(); + tablesContext = new TablesContext(sqlStatement.getSimpleTable().orElse(null)); } @Override @@ -65,4 +58,9 @@ public final class AlterIndexStatementContext extends CommonSQLStatementContext public Collection<ColumnSegment> getIndexColumns() { return Collections.emptyList(); } + + @Override + public AlterIndexStatement getSqlStatement() { + return (AlterIndexStatement) super.getSqlStatement(); + } } diff --git a/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/type/ddl/AlterTableStatementContext.java b/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/type/ddl/AlterTableStatementContext.java index 0af2a76b4ea..8c2617b5777 100644 --- a/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/type/ddl/AlterTableStatementContext.java +++ b/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/type/ddl/AlterTableStatementContext.java @@ -74,11 +74,6 @@ public final class AlterTableStatementContext extends CommonSQLStatementContext return result; } - @Override - public AlterTableStatement getSqlStatement() { - return (AlterTableStatement) super.getSqlStatement(); - } - @Override public Collection<IndexSegment> getIndexes() { Collection<IndexSegment> result = new LinkedList<>(); @@ -112,4 +107,9 @@ public final class AlterTableStatementContext extends CommonSQLStatementContext } return result; } + + @Override + public AlterTableStatement getSqlStatement() { + return (AlterTableStatement) super.getSqlStatement(); + } } diff --git a/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/type/ddl/AlterViewStatementContext.java b/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/type/ddl/AlterViewStatementContext.java index 302eafa9168..31ddbd9487d 100644 --- a/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/type/ddl/AlterViewStatementContext.java +++ b/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/type/ddl/AlterViewStatementContext.java @@ -84,11 +84,6 @@ public final class AlterViewStatementContext extends CommonSQLStatementContext i return Optional.ofNullable(selectStatementContext); } - @Override - public AlterViewStatement getSqlStatement() { - return (AlterViewStatement) super.getSqlStatement(); - } - @Override public Collection<WhereSegment> getWhereSegments() { return getSelectStatementContext().isPresent() ? getSelectStatementContext().get().getWhereSegments() : Collections.emptyList(); @@ -103,4 +98,9 @@ public final class AlterViewStatementContext extends CommonSQLStatementContext i public Collection<BinaryOperationExpression> getJoinConditions() { return getSelectStatementContext().isPresent() ? getSelectStatementContext().get().getJoinConditions() : Collections.emptyList(); } + + @Override + public AlterViewStatement getSqlStatement() { + return (AlterViewStatement) super.getSqlStatement(); + } } diff --git a/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/type/ddl/CloseStatementContext.java b/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/type/ddl/CloseStatementContext.java index 96f2ac2f5e9..7cb5053af5e 100644 --- a/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/type/ddl/CloseStatementContext.java +++ b/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/type/ddl/CloseStatementContext.java @@ -50,11 +50,6 @@ public final class CloseStatementContext extends CommonSQLStatementContext imple tablesContext = new TablesContext(Collections.emptyList()); } - @Override - public CloseStatement getSqlStatement() { - return (CloseStatement) super.getSqlStatement(); - } - @Override public Optional<CursorNameSegment> getCursorName() { return getSqlStatement().getCursorName(); @@ -80,4 +75,9 @@ public final class CloseStatementContext extends CommonSQLStatementContext imple public Collection<BinaryOperationExpression> getJoinConditions() { return null == cursorStatementContext ? Collections.emptyList() : cursorStatementContext.getJoinConditions(); } + + @Override + public CloseStatement getSqlStatement() { + return (CloseStatement) super.getSqlStatement(); + } } diff --git a/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/type/ddl/CreateIndexStatementContext.java b/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/type/ddl/CreateIndexStatementContext.java index e329125c8fe..a7d129fdf9d 100644 --- a/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/type/ddl/CreateIndexStatementContext.java +++ b/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/type/ddl/CreateIndexStatementContext.java @@ -49,11 +49,6 @@ public final class CreateIndexStatementContext extends CommonSQLStatementContext generatedIndex = null == sqlStatement.getIndex(); } - @Override - public CreateIndexStatement getSqlStatement() { - return (CreateIndexStatement) super.getSqlStatement(); - } - @Override public Collection<IndexSegment> getIndexes() { if (null == getSqlStatement().getIndex()) { @@ -67,4 +62,9 @@ public final class CreateIndexStatementContext extends CommonSQLStatementContext public Collection<ColumnSegment> getIndexColumns() { return getSqlStatement().getColumns(); } + + @Override + public CreateIndexStatement getSqlStatement() { + return (CreateIndexStatement) super.getSqlStatement(); + } } diff --git a/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/type/ddl/CreateTableStatementContext.java b/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/type/ddl/CreateTableStatementContext.java index 3e09c21fef4..6cdb6f57970 100644 --- a/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/type/ddl/CreateTableStatementContext.java +++ b/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/type/ddl/CreateTableStatementContext.java @@ -34,6 +34,7 @@ import org.apache.shardingsphere.sql.parser.statement.core.statement.ddl.CreateT import java.util.Collection; import java.util.LinkedList; +import java.util.stream.Collectors; /** * Create table statement context. @@ -62,11 +63,6 @@ public final class CreateTableStatementContext extends CommonSQLStatementContext return result; } - @Override - public CreateTableStatement getSqlStatement() { - return (CreateTableStatement) super.getSqlStatement(); - } - @Override public Collection<IndexSegment> getIndexes() { Collection<IndexSegment> result = new LinkedList<>(); @@ -87,10 +83,11 @@ public final class CreateTableStatementContext extends CommonSQLStatementContext @Override public Collection<ColumnSegment> getIndexColumns() { - Collection<ColumnSegment> result = new LinkedList<>(); - for (ConstraintDefinitionSegment each : getSqlStatement().getConstraintDefinitions()) { - result.addAll(each.getIndexColumns()); - } - return result; + return getSqlStatement().getConstraintDefinitions().stream().flatMap(each -> each.getIndexColumns().stream()).collect(Collectors.toList()); + } + + @Override + public CreateTableStatement getSqlStatement() { + return (CreateTableStatement) super.getSqlStatement(); } } diff --git a/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/type/ddl/CreateViewStatementContext.java b/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/type/ddl/CreateViewStatementContext.java index 9f1ff2c1cfc..e8ad0aaeb43 100644 --- a/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/type/ddl/CreateViewStatementContext.java +++ b/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/type/ddl/CreateViewStatementContext.java @@ -56,11 +56,6 @@ public final class CreateViewStatementContext extends CommonSQLStatementContext selectStatementContext.setSubqueryType(SubqueryType.VIEW_DEFINITION); } - @Override - public CreateViewStatement getSqlStatement() { - return (CreateViewStatement) super.getSqlStatement(); - } - @Override public Collection<WhereSegment> getWhereSegments() { return selectStatementContext.getWhereSegments(); @@ -75,4 +70,9 @@ public final class CreateViewStatementContext extends CommonSQLStatementContext public Collection<BinaryOperationExpression> getJoinConditions() { return selectStatementContext.getJoinConditions(); } + + @Override + public CreateViewStatement getSqlStatement() { + return (CreateViewStatement) super.getSqlStatement(); + } } diff --git a/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/type/ddl/CursorStatementContext.java b/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/type/ddl/CursorStatementContext.java index 61856f79d74..c8cd94d4254 100644 --- a/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/type/ddl/CursorStatementContext.java +++ b/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/type/ddl/CursorStatementContext.java @@ -72,11 +72,6 @@ public final class CursorStatementContext extends CommonSQLStatementContext impl return tableExtractor.getRewriteTables(); } - @Override - public CursorStatement getSqlStatement() { - return (CursorStatement) super.getSqlStatement(); - } - @Override public Optional<CursorNameSegment> getCursorName() { return Optional.of(getSqlStatement().getCursorName()); @@ -96,4 +91,9 @@ public final class CursorStatementContext extends CommonSQLStatementContext impl public Collection<BinaryOperationExpression> getJoinConditions() { return joinConditions; } + + @Override + public CursorStatement getSqlStatement() { + return (CursorStatement) super.getSqlStatement(); + } } diff --git a/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/type/ddl/DropIndexStatementContext.java b/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/type/ddl/DropIndexStatementContext.java index 50999b12ea2..9c545580007 100644 --- a/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/type/ddl/DropIndexStatementContext.java +++ b/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/type/ddl/DropIndexStatementContext.java @@ -45,11 +45,6 @@ public final class DropIndexStatementContext extends CommonSQLStatementContext i tablesContext = new TablesContext(simpleTableSegment); } - @Override - public DropIndexStatement getSqlStatement() { - return (DropIndexStatement) super.getSqlStatement(); - } - @Override public Collection<IndexSegment> getIndexes() { return getSqlStatement().getIndexes(); @@ -59,4 +54,9 @@ public final class DropIndexStatementContext extends CommonSQLStatementContext i public Collection<ColumnSegment> getIndexColumns() { return Collections.emptyList(); } + + @Override + public DropIndexStatement getSqlStatement() { + return (DropIndexStatement) super.getSqlStatement(); + } } diff --git a/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/type/ddl/FetchStatementContext.java b/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/type/ddl/FetchStatementContext.java index 52d8c3f1106..e3eda4ebdf1 100644 --- a/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/type/ddl/FetchStatementContext.java +++ b/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/type/ddl/FetchStatementContext.java @@ -50,11 +50,6 @@ public final class FetchStatementContext extends CommonSQLStatementContext imple tablesContext = new TablesContext(Collections.emptyList()); } - @Override - public FetchStatement getSqlStatement() { - return (FetchStatement) super.getSqlStatement(); - } - @Override public Optional<CursorNameSegment> getCursorName() { return Optional.of(getSqlStatement().getCursorName()); @@ -80,4 +75,9 @@ public final class FetchStatementContext extends CommonSQLStatementContext imple public Collection<BinaryOperationExpression> getJoinConditions() { return null == cursorStatementContext ? Collections.emptyList() : cursorStatementContext.getJoinConditions(); } + + @Override + public FetchStatement getSqlStatement() { + return (FetchStatement) super.getSqlStatement(); + } } diff --git a/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/type/ddl/MoveStatementContext.java b/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/type/ddl/MoveStatementContext.java index f3f01abbdb8..e987b12fea6 100644 --- a/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/type/ddl/MoveStatementContext.java +++ b/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/type/ddl/MoveStatementContext.java @@ -50,11 +50,6 @@ public final class MoveStatementContext extends CommonSQLStatementContext implem tablesContext = new TablesContext(Collections.emptyList()); } - @Override - public MoveStatement getSqlStatement() { - return (MoveStatement) super.getSqlStatement(); - } - @Override public Optional<CursorNameSegment> getCursorName() { return Optional.of(getSqlStatement().getCursorName()); @@ -80,4 +75,9 @@ public final class MoveStatementContext extends CommonSQLStatementContext implem public Collection<BinaryOperationExpression> getJoinConditions() { return null == cursorStatementContext ? Collections.emptyList() : cursorStatementContext.getJoinConditions(); } + + @Override + public MoveStatement getSqlStatement() { + return (MoveStatement) super.getSqlStatement(); + } }