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 <[email protected]>
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();
+ }
}