This is an automated email from the ASF dual-hosted git repository.
sunnianjun 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 b9c89de4733 Remove TableAvailable.getSimpleTables() (#31623)
b9c89de4733 is described below
commit b9c89de4733f5a584eb9bce4cae4fca55fa048bd
Author: Liang Zhang <[email protected]>
AuthorDate: Fri Jun 7 17:34:17 2024 +0800
Remove TableAvailable.getSimpleTables() (#31623)
* Remove TableAvailable.getSimpleTables()
* Remove TableAvailable.getSimpleTables()
---
.../broadcast/route/BroadcastSQLRouter.java | 5 ++--
.../route/engine/BroadcastRouteEngineFactory.java | 7 +++---
.../dal/show/EncryptShowColumnsMergedResult.java | 4 ++--
.../show/EncryptShowCreateTableMergedResult.java | 4 ++--
.../EncryptAssignmentParameterRewriter.java | 2 +-
.../generator/EncryptAssignmentTokenGenerator.java | 2 +-
.../generator/EncryptProjectionTokenGenerator.java | 2 +-
.../merge/dal/EncryptDALResultDecoratorTest.java | 13 ++++++-----
...ecoratedEncryptShowColumnsMergedResultTest.java | 5 ++--
...atedEncryptShowCreateTableMergedResultTest.java | 5 ++--
.../MergedEncryptShowColumnsMergedResultTest.java | 5 ++--
...rgedEncryptShowCreateTableMergedResultTest.java | 5 ++--
.../token/EncryptTokenGenerateBuilderTest.java | 2 +-
.../EncryptAssignmentTokenGeneratorTest.java | 4 ++--
.../dml/AbstractShadowDMLStatementRouteEngine.java | 2 +-
.../dql/groupby/GroupByMemoryMergedResult.java | 2 +-
.../sharding/merge/dql/orderby/OrderByValue.java | 2 +-
.../ShardingSQLRewriteContextDecorator.java | 2 +-
.../generator/impl/OrderByTokenGenerator.java | 2 +-
.../token/generator/impl/TableTokenGenerator.java | 2 +-
.../engine/type/ShardingRouteEngineFactory.java | 5 ++--
.../impl/ShardingAlterTableStatementValidator.java | 2 +-
.../ShardingRenameTableStatementValidator.java | 2 +-
.../token/generator/TableTokenGeneratorTest.java | 4 ++--
.../type/ShardingRouteEngineFactoryTest.java | 4 ++--
.../context/segment/table/TablesContext.java | 2 +-
.../dal/AnalyzeTableStatementContext.java | 8 -------
.../statement/dal/ExplainStatementContext.java | 5 ----
.../statement/dal/FlushStatementContext.java | 10 +-------
.../dal/OptimizeTableStatementContext.java | 10 +-------
.../statement/dal/ShowColumnsStatementContext.java | 7 ------
.../dal/ShowCreateTableStatementContext.java | 11 +--------
.../statement/dal/ShowIndexStatementContext.java | 9 +-------
.../statement/dcl/DenyUserStatementContext.java | 9 --------
.../statement/dcl/GrantStatementContext.java | 8 -------
.../statement/dcl/RevokeStatementContext.java | 8 -------
.../statement/ddl/AlterIndexStatementContext.java | 7 ------
.../statement/ddl/AlterTableStatementContext.java | 27 +++++++++++-----------
.../statement/ddl/AlterViewStatementContext.java | 5 ----
.../statement/ddl/CommentStatementContext.java | 7 ------
.../statement/ddl/CreateIndexStatementContext.java | 8 +------
.../statement/ddl/CreateTableStatementContext.java | 21 ++++++++---------
.../statement/ddl/CreateViewStatementContext.java | 8 -------
.../statement/ddl/CursorStatementContext.java | 5 ----
.../statement/ddl/DropIndexStatementContext.java | 7 ------
.../statement/ddl/DropTableStatementContext.java | 8 -------
.../statement/ddl/DropViewStatementContext.java | 8 -------
.../statement/ddl/PrepareStatementContext.java | 15 ++++--------
.../statement/ddl/RenameTableStatementContext.java | 18 +++++++--------
.../statement/ddl/TruncateStatementContext.java | 8 -------
.../statement/dml/CopyStatementContext.java | 8 -------
.../statement/dml/DeleteStatementContext.java | 5 ----
.../statement/dml/InsertStatementContext.java | 5 ----
.../statement/dml/LoadDataStatementContext.java | 8 -------
.../statement/dml/LoadXMLStatementContext.java | 8 -------
.../statement/dml/SelectStatementContext.java | 6 -----
.../statement/dml/UpdateStatementContext.java | 5 ----
.../infra/binder/context/type/TableAvailable.java | 10 --------
.../dal/AnalyzeTableStatementContextTest.java | 2 +-
.../statement/dal/ExplainStatementContextTest.java | 2 +-
.../dal/OptimizeTableStatementContextTest.java | 3 ++-
.../dal/ShowColumnsStatementContextTest.java | 3 ++-
.../dal/ShowCreateTableStatementContextTest.java | 3 ++-
.../dal/ShowIndexStatementContextTest.java | 3 ++-
.../dcl/DenyUserStatementContextTest.java | 3 ++-
.../statement/dcl/GrantStatementContextTest.java | 2 +-
.../statement/dcl/RevokeStatementContextTest.java | 2 +-
.../ddl/AlterIndexStatementContextTest.java | 2 +-
.../ddl/AlterTableStatementContextTest.java | 2 +-
.../ddl/AlterViewStatementContextTest.java | 2 +-
.../ddl/CreateIndexStatementContextTest.java | 2 +-
.../ddl/CreateTableStatementContextTest.java | 2 --
.../ddl/DropIndexStatementContextTest.java | 2 +-
.../ddl/DropTableStatementContextTest.java | 2 --
.../statement/ddl/PrepareStatementContextTest.java | 2 +-
.../ddl/TruncateStatementContextTest.java | 2 +-
.../statement/dml/DeleteStatementContextTest.java | 2 +-
.../statement/dml/InsertStatementContextTest.java | 4 ++--
.../statement/dml/SelectStatementContextTest.java | 2 +-
.../statement/dml/UpdateStatementContextTest.java | 3 ++-
.../generator/generic/RemoveTokenGenerator.java | 2 +-
.../metadata/generator/PipelineDDLGenerator.java | 2 +-
.../proxy/backend/connector/ProxySQLExecutor.java | 4 ++--
.../type/HBaseRegionReloadOperationConverter.java | 3 +--
84 files changed, 125 insertions(+), 326 deletions(-)
diff --git
a/features/broadcast/core/src/main/java/org/apache/shardingsphere/broadcast/route/BroadcastSQLRouter.java
b/features/broadcast/core/src/main/java/org/apache/shardingsphere/broadcast/route/BroadcastSQLRouter.java
index 1326f388f5d..1317360ebf3 100644
---
a/features/broadcast/core/src/main/java/org/apache/shardingsphere/broadcast/route/BroadcastSQLRouter.java
+++
b/features/broadcast/core/src/main/java/org/apache/shardingsphere/broadcast/route/BroadcastSQLRouter.java
@@ -121,7 +121,7 @@ public final class BroadcastSQLRouter implements
SQLRouter<BroadcastRule> {
}
private Collection<String> getTableNames(final TableAvailable
sqlStatementContext) {
- Collection<SimpleTableSegment> tableSegments =
sqlStatementContext.getSimpleTables();
+ Collection<SimpleTableSegment> tableSegments =
sqlStatementContext.getTablesContext().getSimpleTables();
Collection<String> result = new LinkedHashSet<>(tableSegments.size());
for (SimpleTableSegment each : tableSegments) {
result.add(each.getTableName().getIdentifier().getValue());
@@ -146,7 +146,8 @@ public final class BroadcastSQLRouter implements
SQLRouter<BroadcastRule> {
private boolean isDCLForSingleTable(final SQLStatementContext
sqlStatementContext) {
if (sqlStatementContext instanceof TableAvailable) {
TableAvailable tableSegmentsAvailable = (TableAvailable)
sqlStatementContext;
- return 1 == tableSegmentsAvailable.getSimpleTables().size() &&
!"*".equals(tableSegmentsAvailable.getSimpleTables().iterator().next().getTableName().getIdentifier().getValue());
+ return 1 ==
tableSegmentsAvailable.getTablesContext().getSimpleTables().size()
+ &&
!"*".equals(tableSegmentsAvailable.getTablesContext().getSimpleTables().iterator().next().getTableName().getIdentifier().getValue());
}
return false;
}
diff --git
a/features/broadcast/core/src/main/java/org/apache/shardingsphere/broadcast/route/engine/BroadcastRouteEngineFactory.java
b/features/broadcast/core/src/main/java/org/apache/shardingsphere/broadcast/route/engine/BroadcastRouteEngineFactory.java
index 242b78f0873..b69fca1a68d 100644
---
a/features/broadcast/core/src/main/java/org/apache/shardingsphere/broadcast/route/engine/BroadcastRouteEngineFactory.java
+++
b/features/broadcast/core/src/main/java/org/apache/shardingsphere/broadcast/route/engine/BroadcastRouteEngineFactory.java
@@ -92,7 +92,7 @@ public final class BroadcastRouteEngineFactory {
return new BroadcastDatabaseBroadcastRoutingEngine();
}
Collection<String> tableNames = sqlStatementContext instanceof
TableAvailable
- ? ((TableAvailable)
sqlStatementContext).getSimpleTables().stream().map(each ->
each.getTableName().getIdentifier().getValue()).collect(Collectors.toSet())
+ ? ((TableAvailable)
sqlStatementContext).getTablesContext().getSimpleTables().stream().map(each ->
each.getTableName().getIdentifier().getValue()).collect(Collectors.toSet())
: sqlStatementContext.getTablesContext().getTableNames();
if (broadcastRule.isAllBroadcastTables(tableNames)) {
return new BroadcastUnicastRoutingEngine(sqlStatementContext,
tableNames, connectionContext);
@@ -111,7 +111,7 @@ public final class BroadcastRouteEngineFactory {
private static Collection<String> getTableNames(final
ShardingSphereDatabase database, final SQLStatementContext sqlStatementContext)
{
Collection<String> tableNames = sqlStatementContext instanceof
TableAvailable
- ? ((TableAvailable)
sqlStatementContext).getSimpleTables().stream().map(each ->
each.getTableName().getIdentifier().getValue()).collect(Collectors.toSet())
+ ? ((TableAvailable)
sqlStatementContext).getTablesContext().getSimpleTables().stream().map(each ->
each.getTableName().getIdentifier().getValue()).collect(Collectors.toSet())
: sqlStatementContext.getTablesContext().getTableNames();
if (!tableNames.isEmpty()) {
return tableNames;
@@ -155,7 +155,8 @@ public final class BroadcastRouteEngineFactory {
private static boolean isDCLForSingleTable(final SQLStatementContext
sqlStatementContext) {
if (sqlStatementContext instanceof TableAvailable) {
TableAvailable tableSegmentsAvailable = (TableAvailable)
sqlStatementContext;
- return 1 == tableSegmentsAvailable.getSimpleTables().size() &&
!"*".equals(tableSegmentsAvailable.getSimpleTables().iterator().next().getTableName().getIdentifier().getValue());
+ return 1 ==
tableSegmentsAvailable.getTablesContext().getSimpleTables().size()
+ &&
!"*".equals(tableSegmentsAvailable.getTablesContext().getSimpleTables().iterator().next().getTableName().getIdentifier().getValue());
}
return false;
}
diff --git
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/merge/dal/show/EncryptShowColumnsMergedResult.java
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/merge/dal/show/EncryptShowColumnsMergedResult.java
index f56c4780753..0710f9fc0df 100644
---
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/merge/dal/show/EncryptShowColumnsMergedResult.java
+++
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/merge/dal/show/EncryptShowColumnsMergedResult.java
@@ -44,9 +44,9 @@ public abstract class EncryptShowColumnsMergedResult
implements MergedResult {
private final EncryptRule encryptRule;
protected EncryptShowColumnsMergedResult(final SQLStatementContext
sqlStatementContext, final EncryptRule encryptRule) {
- ShardingSpherePreconditions.checkState(sqlStatementContext instanceof
TableAvailable && 1 == ((TableAvailable)
sqlStatementContext).getSimpleTables().size(),
+ ShardingSpherePreconditions.checkState(sqlStatementContext instanceof
TableAvailable && 1 == ((TableAvailable)
sqlStatementContext).getTablesContext().getSimpleTables().size(),
() -> new UnsupportedEncryptSQLException("SHOW COLUMNS FOR
MULTI TABLE"));
- tableName = ((TableAvailable)
sqlStatementContext).getSimpleTables().iterator().next().getTableName().getIdentifier().getValue();
+ tableName = ((TableAvailable)
sqlStatementContext).getTablesContext().getSimpleTables().iterator().next().getTableName().getIdentifier().getValue();
this.encryptRule = encryptRule;
}
diff --git
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/merge/dal/show/EncryptShowCreateTableMergedResult.java
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/merge/dal/show/EncryptShowCreateTableMergedResult.java
index f6f215f3f38..3a1817a4ac2 100644
---
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/merge/dal/show/EncryptShowCreateTableMergedResult.java
+++
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/merge/dal/show/EncryptShowCreateTableMergedResult.java
@@ -56,9 +56,9 @@ public abstract class EncryptShowCreateTableMergedResult
implements MergedResult
private final SQLParserEngine sqlParserEngine;
protected EncryptShowCreateTableMergedResult(final RuleMetaData
globalRuleMetaData, final SQLStatementContext sqlStatementContext, final
EncryptRule encryptRule) {
- ShardingSpherePreconditions.checkState(sqlStatementContext instanceof
TableAvailable && 1 == ((TableAvailable)
sqlStatementContext).getSimpleTables().size(),
+ ShardingSpherePreconditions.checkState(sqlStatementContext instanceof
TableAvailable && 1 == ((TableAvailable)
sqlStatementContext).getTablesContext().getSimpleTables().size(),
() -> new UnsupportedEncryptSQLException("SHOW CREATE TABLE
FOR MULTI TABLE"));
- tableName = ((TableAvailable)
sqlStatementContext).getSimpleTables().iterator().next().getTableName().getIdentifier().getValue();
+ tableName = ((TableAvailable)
sqlStatementContext).getTablesContext().getSimpleTables().iterator().next().getTableName().getIdentifier().getValue();
this.encryptRule = encryptRule;
sqlParserEngine =
globalRuleMetaData.getSingleRule(SQLParserRule.class).getSQLParserEngine(sqlStatementContext.getDatabaseType());
}
diff --git
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/parameter/rewriter/EncryptAssignmentParameterRewriter.java
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/parameter/rewriter/EncryptAssignmentParameterRewriter.java
index d12fd5149ad..fdf3d48d863 100644
---
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/parameter/rewriter/EncryptAssignmentParameterRewriter.java
+++
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/parameter/rewriter/EncryptAssignmentParameterRewriter.java
@@ -69,7 +69,7 @@ public final class EncryptAssignmentParameterRewriter
implements ParameterRewrit
@Override
public void rewrite(final ParameterBuilder paramBuilder, final
SQLStatementContext sqlStatementContext, final List<Object> params) {
- String tableName = ((TableAvailable)
sqlStatementContext).getSimpleTables().iterator().next().getTableName().getIdentifier().getValue();
+ String tableName = ((TableAvailable)
sqlStatementContext).getTablesContext().getSimpleTables().iterator().next().getTableName().getIdentifier().getValue();
String schemaName =
sqlStatementContext.getTablesContext().getSchemaName().orElseGet(() -> new
DatabaseTypeRegistry(sqlStatementContext.getDatabaseType()).getDefaultSchemaName(databaseName));
for (ColumnAssignmentSegment each :
getSetAssignmentSegment(sqlStatementContext.getSqlStatement()).getAssignments())
{
String columnName =
each.getColumns().get(0).getIdentifier().getValue();
diff --git
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/EncryptAssignmentTokenGenerator.java
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/EncryptAssignmentTokenGenerator.java
index 973b4ee2dc8..0dfe57627b9 100644
---
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/EncryptAssignmentTokenGenerator.java
+++
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/EncryptAssignmentTokenGenerator.java
@@ -67,7 +67,7 @@ public final class EncryptAssignmentTokenGenerator implements
CollectionSQLToken
@Override
public Collection<SQLToken> generateSQLTokens(final SQLStatementContext
sqlStatementContext) {
Collection<SQLToken> result = new LinkedList<>();
- String tableName = ((TableAvailable)
sqlStatementContext).getSimpleTables().iterator().next().getTableName().getIdentifier().getValue();
+ String tableName = ((TableAvailable)
sqlStatementContext).getTablesContext().getSimpleTables().iterator().next().getTableName().getIdentifier().getValue();
EncryptTable encryptTable = encryptRule.getEncryptTable(tableName);
String schemaName =
sqlStatementContext.getTablesContext().getSchemaName().orElseGet(() -> new
DatabaseTypeRegistry(sqlStatementContext.getDatabaseType()).getDefaultSchemaName(databaseName));
for (ColumnAssignmentSegment each :
getSetAssignmentSegment(sqlStatementContext.getSqlStatement()).getAssignments())
{
diff --git
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/EncryptProjectionTokenGenerator.java
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/EncryptProjectionTokenGenerator.java
index f48ed7bb72e..09d310261f1 100644
---
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/EncryptProjectionTokenGenerator.java
+++
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/EncryptProjectionTokenGenerator.java
@@ -68,7 +68,7 @@ public final class EncryptProjectionTokenGenerator implements
CollectionSQLToken
@Override
public boolean isGenerateSQLToken(final SQLStatementContext
sqlStatementContext) {
- return sqlStatementContext instanceof SelectStatementContext &&
!((SelectStatementContext) sqlStatementContext).getSimpleTables().isEmpty()
+ return sqlStatementContext instanceof SelectStatementContext &&
!sqlStatementContext.getTablesContext().getSimpleTables().isEmpty()
|| sqlStatementContext instanceof InsertStatementContext &&
null != ((InsertStatementContext) sqlStatementContext).getInsertSelectContext();
}
diff --git
a/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/merge/dal/EncryptDALResultDecoratorTest.java
b/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/merge/dal/EncryptDALResultDecoratorTest.java
index 0bf70ae35f3..050beb15831 100644
---
a/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/merge/dal/EncryptDALResultDecoratorTest.java
+++
b/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/merge/dal/EncryptDALResultDecoratorTest.java
@@ -48,6 +48,7 @@ import java.util.Collections;
import static org.hamcrest.CoreMatchers.instanceOf;
import static org.hamcrest.MatcherAssert.assertThat;
+import static org.mockito.Mockito.RETURNS_DEEP_STUBS;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
@@ -97,26 +98,26 @@ class EncryptDALResultDecoratorTest {
}
private SQLStatementContext getDescribeStatementContext() {
- ExplainStatementContext result = mock(ExplainStatementContext.class);
+ ExplainStatementContext result = mock(ExplainStatementContext.class,
RETURNS_DEEP_STUBS);
SimpleTableSegment simpleTableSegment = getSimpleTableSegment();
-
when(result.getSimpleTables()).thenReturn(Collections.singleton(simpleTableSegment));
+
when(result.getTablesContext().getSimpleTables()).thenReturn(Collections.singleton(simpleTableSegment));
when(result.getSqlStatement()).thenReturn(mock(MySQLExplainStatement.class));
return result;
}
private SQLStatementContext getShowColumnsStatementContext() {
- ShowColumnsStatementContext result =
mock(ShowColumnsStatementContext.class);
+ ShowColumnsStatementContext result =
mock(ShowColumnsStatementContext.class, RETURNS_DEEP_STUBS);
SimpleTableSegment simpleTableSegment = getSimpleTableSegment();
-
when(result.getSimpleTables()).thenReturn(Collections.singleton(simpleTableSegment));
+
when(result.getTablesContext().getSimpleTables()).thenReturn(Collections.singleton(simpleTableSegment));
when(result.getSqlStatement()).thenReturn(mock(MySQLShowColumnsStatement.class));
return result;
}
private SQLStatementContext getShowCreateTableStatementContext() {
- ShowCreateTableStatementContext result =
mock(ShowCreateTableStatementContext.class);
+ ShowCreateTableStatementContext result =
mock(ShowCreateTableStatementContext.class, RETURNS_DEEP_STUBS);
when(result.getDatabaseType()).thenReturn(databaseType);
SimpleTableSegment simpleTableSegment = getSimpleTableSegment();
-
when(result.getSimpleTables()).thenReturn(Collections.singleton(simpleTableSegment));
+
when(result.getTablesContext().getSimpleTables()).thenReturn(Collections.singleton(simpleTableSegment));
when(result.getSqlStatement()).thenReturn(new
MySQLShowCreateTableStatement());
return result;
}
diff --git
a/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/merge/dal/show/DecoratedEncryptShowColumnsMergedResultTest.java
b/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/merge/dal/show/DecoratedEncryptShowColumnsMergedResultTest.java
index eabe33c9d6b..c3dd063dc9a 100644
---
a/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/merge/dal/show/DecoratedEncryptShowColumnsMergedResultTest.java
+++
b/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/merge/dal/show/DecoratedEncryptShowColumnsMergedResultTest.java
@@ -43,6 +43,7 @@ import static org.hamcrest.MatcherAssert.assertThat;
import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertThrows;
import static org.junit.jupiter.api.Assertions.assertTrue;
+import static org.mockito.Mockito.RETURNS_DEEP_STUBS;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
@@ -134,8 +135,8 @@ class DecoratedEncryptShowColumnsMergedResultTest {
}
private DecoratedEncryptShowColumnsMergedResult
createDecoratedEncryptShowColumnsMergedResult(final MergedResult mergedResult,
final EncryptRule encryptRule) {
- ShowColumnsStatementContext showColumnsStatementContext =
mock(ShowColumnsStatementContext.class);
-
when(showColumnsStatementContext.getSimpleTables()).thenReturn(Collections.singleton(new
SimpleTableSegment(new TableNameSegment(0, 0, new
IdentifierValue("t_encrypt")))));
+ ShowColumnsStatementContext showColumnsStatementContext =
mock(ShowColumnsStatementContext.class, RETURNS_DEEP_STUBS);
+
when(showColumnsStatementContext.getTablesContext().getSimpleTables()).thenReturn(Collections.singleton(new
SimpleTableSegment(new TableNameSegment(0, 0, new
IdentifierValue("t_encrypt")))));
return new DecoratedEncryptShowColumnsMergedResult(mergedResult,
showColumnsStatementContext, encryptRule);
}
}
diff --git
a/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/merge/dal/show/DecoratedEncryptShowCreateTableMergedResultTest.java
b/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/merge/dal/show/DecoratedEncryptShowCreateTableMergedResultTest.java
index 9f07a946d28..5d6335c9af3 100644
---
a/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/merge/dal/show/DecoratedEncryptShowCreateTableMergedResultTest.java
+++
b/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/merge/dal/show/DecoratedEncryptShowCreateTableMergedResultTest.java
@@ -48,6 +48,7 @@ import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertTrue;
+import static org.mockito.Mockito.RETURNS_DEEP_STUBS;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
@@ -141,11 +142,11 @@ class DecoratedEncryptShowCreateTableMergedResultTest {
}
private DecoratedEncryptShowCreateTableMergedResult
createDecoratedEncryptShowCreateTableMergedResult(final MergedResult
mergedResult, final EncryptRule encryptRule) {
- ShowCreateTableStatementContext sqlStatementContext =
mock(ShowCreateTableStatementContext.class);
+ ShowCreateTableStatementContext sqlStatementContext =
mock(ShowCreateTableStatementContext.class, RETURNS_DEEP_STUBS);
IdentifierValue identifierValue = new IdentifierValue("t_encrypt");
TableNameSegment tableNameSegment = new TableNameSegment(1, 4,
identifierValue);
SimpleTableSegment simpleTableSegment = new
SimpleTableSegment(tableNameSegment);
-
when(sqlStatementContext.getSimpleTables()).thenReturn(Collections.singleton(simpleTableSegment));
+
when(sqlStatementContext.getTablesContext().getSimpleTables()).thenReturn(Collections.singleton(simpleTableSegment));
when(sqlStatementContext.getDatabaseType()).thenReturn(TypedSPILoader.getService(DatabaseType.class,
"MySQL"));
RuleMetaData ruleMetaData = mock(RuleMetaData.class);
when(ruleMetaData.getSingleRule(SQLParserRule.class)).thenReturn(new
SQLParserRule(new SQLParserRuleConfiguration(new CacheOption(128, 1024L), new
CacheOption(2000, 65535L))));
diff --git
a/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/merge/dal/show/MergedEncryptShowColumnsMergedResultTest.java
b/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/merge/dal/show/MergedEncryptShowColumnsMergedResultTest.java
index 24c0efeaf36..ddcdc155030 100644
---
a/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/merge/dal/show/MergedEncryptShowColumnsMergedResultTest.java
+++
b/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/merge/dal/show/MergedEncryptShowColumnsMergedResultTest.java
@@ -43,6 +43,7 @@ import static org.hamcrest.MatcherAssert.assertThat;
import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertThrows;
import static org.junit.jupiter.api.Assertions.assertTrue;
+import static org.mockito.Mockito.RETURNS_DEEP_STUBS;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
@@ -134,8 +135,8 @@ class MergedEncryptShowColumnsMergedResultTest {
}
private MergedEncryptShowColumnsMergedResult
createMergedEncryptColumnsMergedResult(final QueryResult queryResult, final
EncryptRule encryptRule) {
- SelectStatementContext sqlStatementContext =
mock(SelectStatementContext.class);
-
when(sqlStatementContext.getSimpleTables()).thenReturn(Collections.singleton(new
SimpleTableSegment(new TableNameSegment(0, 0, new
IdentifierValue("t_encrypt")))));
+ SelectStatementContext sqlStatementContext =
mock(SelectStatementContext.class, RETURNS_DEEP_STUBS);
+
when(sqlStatementContext.getTablesContext().getSimpleTables()).thenReturn(Collections.singleton(new
SimpleTableSegment(new TableNameSegment(0, 0, new
IdentifierValue("t_encrypt")))));
return new MergedEncryptShowColumnsMergedResult(queryResult,
sqlStatementContext, encryptRule);
}
}
diff --git
a/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/merge/dal/show/MergedEncryptShowCreateTableMergedResultTest.java
b/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/merge/dal/show/MergedEncryptShowCreateTableMergedResultTest.java
index 025dc2f28d7..65cbb9d7144 100644
---
a/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/merge/dal/show/MergedEncryptShowCreateTableMergedResultTest.java
+++
b/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/merge/dal/show/MergedEncryptShowCreateTableMergedResultTest.java
@@ -47,6 +47,7 @@ import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertTrue;
+import static org.mockito.Mockito.RETURNS_DEEP_STUBS;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
@@ -122,11 +123,11 @@ class MergedEncryptShowCreateTableMergedResultTest {
}
private MergedEncryptShowCreateTableMergedResult
createMergedEncryptShowCreateTableMergedResult(final QueryResult queryResult,
final EncryptRule encryptRule) {
- ShowCreateTableStatementContext sqlStatementContext =
mock(ShowCreateTableStatementContext.class);
+ ShowCreateTableStatementContext sqlStatementContext =
mock(ShowCreateTableStatementContext.class, RETURNS_DEEP_STUBS);
IdentifierValue identifierValue = new IdentifierValue("t_encrypt");
TableNameSegment tableNameSegment = new TableNameSegment(1, 4,
identifierValue);
SimpleTableSegment simpleTableSegment = new
SimpleTableSegment(tableNameSegment);
-
when(sqlStatementContext.getSimpleTables()).thenReturn(Collections.singleton(simpleTableSegment));
+
when(sqlStatementContext.getTablesContext().getSimpleTables()).thenReturn(Collections.singleton(simpleTableSegment));
when(sqlStatementContext.getDatabaseType()).thenReturn(TypedSPILoader.getService(DatabaseType.class,
"MySQL"));
RuleMetaData ruleMetaData = mock(RuleMetaData.class);
when(ruleMetaData.getSingleRule(SQLParserRule.class)).thenReturn(new
SQLParserRule(new SQLParserRuleConfiguration(new CacheOption(128, 1024L), new
CacheOption(2000, 65535L))));
diff --git
a/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/rewrite/token/EncryptTokenGenerateBuilderTest.java
b/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/rewrite/token/EncryptTokenGenerateBuilderTest.java
index c5ef7bd9ba5..8cd5ce07215 100644
---
a/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/rewrite/token/EncryptTokenGenerateBuilderTest.java
+++
b/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/rewrite/token/EncryptTokenGenerateBuilderTest.java
@@ -54,7 +54,7 @@ class EncryptTokenGenerateBuilderTest {
@Test
void assertGetSQLTokenGenerators() {
SelectStatementContext selectStatementContext =
mock(SelectStatementContext.class, RETURNS_DEEP_STUBS);
-
when(selectStatementContext.getSimpleTables().isEmpty()).thenReturn(false);
+
when(selectStatementContext.getTablesContext().getSimpleTables().isEmpty()).thenReturn(false);
when(selectStatementContext.getTablesContext().getTableNames()).thenReturn(Collections.singleton("table"));
when(selectStatementContext.getOrderByContext().getItems()).thenReturn(Collections.singleton(mock(OrderByItem.class)));
when(selectStatementContext.getGroupByContext().getItems()).thenReturn(Collections.emptyList());
diff --git
a/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/EncryptAssignmentTokenGeneratorTest.java
b/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/EncryptAssignmentTokenGeneratorTest.java
index 1abf298afff..ad5ef5c98c7 100644
---
a/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/EncryptAssignmentTokenGeneratorTest.java
+++
b/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/EncryptAssignmentTokenGeneratorTest.java
@@ -70,10 +70,10 @@ class EncryptAssignmentTokenGeneratorTest {
@BeforeEach
void setup() {
tokenGenerator.setEncryptRule(mockEncryptRule());
-
when(updateStatement.getSimpleTables().iterator().next().getTableName().getIdentifier().getValue()).thenReturn("table");
+
when(updateStatement.getTablesContext().getSimpleTables().iterator().next().getTableName().getIdentifier().getValue()).thenReturn("table");
when(updateStatement.getSqlStatement().getSetAssignment().getAssignments()).thenReturn(Collections.singleton(assignmentSegment));
when(assignmentSegment.getColumns().get(0).getIdentifier().getValue()).thenReturn("columns");
-
when(insertStatement.getSimpleTables().iterator().next().getTableName().getIdentifier().getValue()).thenReturn("table");
+
when(insertStatement.getTablesContext().getSimpleTables().iterator().next().getTableName().getIdentifier().getValue()).thenReturn("table");
when(setAssignmentSegment.getAssignments()).thenReturn(Collections.singleton(assignmentSegment));
}
diff --git
a/features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/route/engine/dml/AbstractShadowDMLStatementRouteEngine.java
b/features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/route/engine/dml/AbstractShadowDMLStatementRouteEngine.java
index 88044078bf6..1c79cb2c134 100644
---
a/features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/route/engine/dml/AbstractShadowDMLStatementRouteEngine.java
+++
b/features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/route/engine/dml/AbstractShadowDMLStatementRouteEngine.java
@@ -60,7 +60,7 @@ public abstract class AbstractShadowDMLStatementRouteEngine
implements ShadowRou
@Override
public final void route(final RouteContext routeContext, final ShadowRule
rule) {
-
tableAliasNameMappings.putAll(getTableAliasNameMappings(((TableAvailable)
sqlStatementContext).getSimpleTables()));
+
tableAliasNameMappings.putAll(getTableAliasNameMappings(((TableAvailable)
sqlStatementContext).getTablesContext().getSimpleTables()));
decorateRouteContext(routeContext, rule,
findShadowDataSourceMappings(rule));
}
diff --git
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/merge/dql/groupby/GroupByMemoryMergedResult.java
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/merge/dql/groupby/GroupByMemoryMergedResult.java
index c8a67083163..29e98e42f7d 100644
---
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/merge/dql/groupby/GroupByMemoryMergedResult.java
+++
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/merge/dql/groupby/GroupByMemoryMergedResult.java
@@ -128,7 +128,7 @@ public final class GroupByMemoryMergedResult extends
MemoryMergedResult<Sharding
private boolean getValueCaseSensitiveFromTables(final QueryResult
queryResult,
final
SelectStatementContext selectStatementContext, final ShardingSphereSchema
schema, final int columnIndex) throws SQLException {
- for (SimpleTableSegment each :
selectStatementContext.getSimpleTables()) {
+ for (SimpleTableSegment each :
selectStatementContext.getTablesContext().getSimpleTables()) {
String tableName = each.getTableName().getIdentifier().getValue();
ShardingSpherePreconditions.checkState(schema.containsTable(tableName), () ->
new NoSuchTableException(tableName));
ShardingSphereTable table = schema.getTable(tableName);
diff --git
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/merge/dql/orderby/OrderByValue.java
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/merge/dql/orderby/OrderByValue.java
index 98be742dc75..7d3703edd00 100644
---
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/merge/dql/orderby/OrderByValue.java
+++
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/merge/dql/orderby/OrderByValue.java
@@ -69,7 +69,7 @@ public final class OrderByValue implements
Comparable<OrderByValue> {
}
private boolean getOrderValuesCaseSensitiveFromTables(final
ShardingSphereSchema schema, final OrderByItem eachOrderByItem) throws
SQLException {
- for (SimpleTableSegment each :
selectStatementContext.getSimpleTables()) {
+ for (SimpleTableSegment each :
selectStatementContext.getTablesContext().getSimpleTables()) {
String tableName = each.getTableName().getIdentifier().getValue();
ShardingSphereTable table = schema.getTable(tableName);
OrderByItemSegment orderByItemSegment =
eachOrderByItem.getSegment();
diff --git
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rewrite/context/ShardingSQLRewriteContextDecorator.java
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rewrite/context/ShardingSQLRewriteContextDecorator.java
index 4513e26c7ca..671128155ce 100644
---
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rewrite/context/ShardingSQLRewriteContextDecorator.java
+++
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rewrite/context/ShardingSQLRewriteContextDecorator.java
@@ -68,7 +68,7 @@ public final class ShardingSQLRewriteContextDecorator
implements SQLRewriteConte
private boolean containsShardingTable(final ShardingRule shardingRule,
final SQLStatementContext sqlStatementContext) {
Collection<SimpleTableSegment> tableSegments =
- sqlStatementContext instanceof TableAvailable ?
((TableAvailable) sqlStatementContext).getSimpleTables() :
sqlStatementContext.getTablesContext().getSimpleTables();
+ sqlStatementContext instanceof TableAvailable ?
((TableAvailable) sqlStatementContext).getTablesContext().getSimpleTables() :
sqlStatementContext.getTablesContext().getSimpleTables();
for (SimpleTableSegment each : tableSegments) {
if
(shardingRule.isShardingTable(each.getTableName().getIdentifier().getValue())) {
return true;
diff --git
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rewrite/token/generator/impl/OrderByTokenGenerator.java
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rewrite/token/generator/impl/OrderByTokenGenerator.java
index cdf2e9fa068..b68f3c0135a 100644
---
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rewrite/token/generator/impl/OrderByTokenGenerator.java
+++
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rewrite/token/generator/impl/OrderByTokenGenerator.java
@@ -70,7 +70,7 @@ public final class OrderByTokenGenerator implements
OptionalSQLTokenGenerator<Se
} else if (sqlStatement.getWhere().isPresent()) {
stopIndex = sqlStatement.getWhere().get().getStopIndex();
} else {
- stopIndex =
selectStatementContext.getSimpleTables().stream().mapToInt(SimpleTableSegment::getStopIndex).max().orElse(0);
+ stopIndex =
selectStatementContext.getTablesContext().getSimpleTables().stream().mapToInt(SimpleTableSegment::getStopIndex).max().orElse(0);
}
return stopIndex + 1;
}
diff --git
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rewrite/token/generator/impl/TableTokenGenerator.java
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rewrite/token/generator/impl/TableTokenGenerator.java
index ee4c67676cc..d86a196bf31 100644
---
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rewrite/token/generator/impl/TableTokenGenerator.java
+++
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rewrite/token/generator/impl/TableTokenGenerator.java
@@ -61,7 +61,7 @@ public final class TableTokenGenerator implements
CollectionSQLTokenGenerator<SQ
private Collection<SQLToken> generateSQLTokens(final TableAvailable
sqlStatementContext) {
Collection<SQLToken> result = new LinkedList<>();
- for (SimpleTableSegment each : sqlStatementContext.getSimpleTables()) {
+ for (SimpleTableSegment each :
sqlStatementContext.getTablesContext().getSimpleTables()) {
TableNameSegment tableName = each.getTableName();
if
(shardingRule.findShardingTable(tableName.getIdentifier().getValue()).isPresent())
{
result.add(new TableToken(tableName.getStartIndex(),
tableName.getStopIndex(), tableName.getIdentifier(), (SQLStatementContext)
sqlStatementContext, shardingRule));
diff --git
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/type/ShardingRouteEngineFactory.java
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/type/ShardingRouteEngineFactory.java
index 2bfb746bed3..4fc626da98c 100644
---
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/type/ShardingRouteEngineFactory.java
+++
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/type/ShardingRouteEngineFactory.java
@@ -125,7 +125,7 @@ public final class ShardingRouteEngineFactory {
return new
ShardingInstanceBroadcastRoutingEngine(database.getResourceMetaData());
}
Collection<String> tableNames = sqlStatementContext instanceof
TableAvailable
- ? ((TableAvailable)
sqlStatementContext).getSimpleTables().stream().map(each ->
each.getTableName().getIdentifier().getValue()).collect(Collectors.toSet())
+ ? ((TableAvailable)
sqlStatementContext).getTablesContext().getSimpleTables().stream().map(each ->
each.getTableName().getIdentifier().getValue()).collect(Collectors.toSet())
: sqlStatementContext.getTablesContext().getTableNames();
Collection<String> shardingRuleTableNames =
shardingRule.getShardingRuleTableNames(tableNames);
// TODO remove this logic when jdbc adapter can support executing
create logic view
@@ -200,7 +200,8 @@ public final class ShardingRouteEngineFactory {
private static boolean isDCLForSingleTable(final SQLStatementContext
sqlStatementContext) {
if (sqlStatementContext instanceof TableAvailable) {
TableAvailable tableSegmentsAvailable = (TableAvailable)
sqlStatementContext;
- return 1 == tableSegmentsAvailable.getSimpleTables().size() &&
!"*".equals(tableSegmentsAvailable.getSimpleTables().iterator().next().getTableName().getIdentifier().getValue());
+ return 1 ==
tableSegmentsAvailable.getTablesContext().getSimpleTables().size()
+ &&
!"*".equals(tableSegmentsAvailable.getTablesContext().getSimpleTables().iterator().next().getTableName().getIdentifier().getValue());
}
return false;
}
diff --git
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/impl/ShardingAlterTableStatementValidator.java
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/impl/ShardingAlterTableStatementValidator.java
index 29f828bb36f..a1b6c2e8807 100644
---
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/impl/ShardingAlterTableStatementValidator.java
+++
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/impl/ShardingAlterTableStatementValidator.java
@@ -44,7 +44,7 @@ public final class ShardingAlterTableStatementValidator
extends ShardingDDLState
public void preValidate(final ShardingRule shardingRule, final
SQLStatementContext sqlStatementContext,
final List<Object> params, final
ShardingSphereDatabase database, final ConfigurationProperties props) {
Collection<String> tableNames = sqlStatementContext instanceof
TableAvailable
- ? ((TableAvailable)
sqlStatementContext).getSimpleTables().stream().map(each ->
each.getTableName().getIdentifier().getValue()).collect(Collectors.toList())
+ ? ((TableAvailable)
sqlStatementContext).getTablesContext().getSimpleTables().stream().map(each ->
each.getTableName().getIdentifier().getValue()).collect(Collectors.toList())
: sqlStatementContext.getTablesContext().getTableNames();
Optional<SimpleTableSegment> renameTable = ((AlterTableStatement)
sqlStatementContext.getSqlStatement()).getRenameTable();
if (renameTable.isPresent() &&
shardingRule.containsShardingTable(tableNames)) {
diff --git
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/impl/ShardingRenameTableStatementValidator.java
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/impl/ShardingRenameTableStatementValidator.java
index d61ffe9501b..454a974aa8f 100644
---
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/impl/ShardingRenameTableStatementValidator.java
+++
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/impl/ShardingRenameTableStatementValidator.java
@@ -44,7 +44,7 @@ public final class ShardingRenameTableStatementValidator
extends ShardingDDLStat
public void preValidate(final ShardingRule shardingRule, final
SQLStatementContext sqlStatementContext, final List<Object> params, final
ShardingSphereDatabase database,
final ConfigurationProperties props) {
Collection<String> tableNames = sqlStatementContext instanceof
TableAvailable
- ? ((TableAvailable)
sqlStatementContext).getSimpleTables().stream().map(each ->
each.getTableName().getIdentifier().getValue()).collect(Collectors.toList())
+ ? ((TableAvailable)
sqlStatementContext).getTablesContext().getSimpleTables().stream().map(each ->
each.getTableName().getIdentifier().getValue()).collect(Collectors.toList())
: sqlStatementContext.getTablesContext().getTableNames();
RenameTableStatement renameTableStatement = (RenameTableStatement)
sqlStatementContext.getSqlStatement();
List<SimpleTableSegment> renameTables =
renameTableStatement.getRenameTables().stream().map(RenameTableDefinitionSegment::getRenameTable).collect(Collectors.toList());
diff --git
a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/rewrite/token/generator/TableTokenGeneratorTest.java
b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/rewrite/token/generator/TableTokenGeneratorTest.java
index 25b6c727042..67a113dc868 100644
---
a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/rewrite/token/generator/TableTokenGeneratorTest.java
+++
b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/rewrite/token/generator/TableTokenGeneratorTest.java
@@ -78,8 +78,8 @@ class TableTokenGeneratorTest {
when(shardingRule.findShardingTable(anyString())).thenReturn(Optional.of(mock(ShardingTable.class)));
TableTokenGenerator generator = new TableTokenGenerator();
generator.setShardingRule(shardingRule);
- CreateTableStatementContext sqlStatementContext =
mock(CreateTableStatementContext.class);
-
when(sqlStatementContext.getSimpleTables()).thenReturn(Collections.singletonList(new
SimpleTableSegment(new TableNameSegment(0, 0, new
IdentifierValue("t_order")))));
+ CreateTableStatementContext sqlStatementContext =
mock(CreateTableStatementContext.class, RETURNS_DEEP_STUBS);
+
when(sqlStatementContext.getTablesContext().getSimpleTables()).thenReturn(Collections.singletonList(new
SimpleTableSegment(new TableNameSegment(0, 0, new
IdentifierValue("t_order")))));
Collection<SQLToken> actual =
generator.generateSQLTokens(sqlStatementContext);
assertThat(actual.size(), is(1));
assertThat(actual.iterator().next(), instanceOf(TableToken.class));
diff --git
a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/route/engine/type/ShardingRouteEngineFactoryTest.java
b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/route/engine/type/ShardingRouteEngineFactoryTest.java
index 0dec7a1b45c..79481bdb31b 100644
---
a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/route/engine/type/ShardingRouteEngineFactoryTest.java
+++
b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/route/engine/type/ShardingRouteEngineFactoryTest.java
@@ -396,7 +396,7 @@ class ShardingRouteEngineFactoryTest {
when(cursorStatementContext.getSqlStatement()).thenReturn(cursorStatement);
Collection<SimpleTableSegment> tableSegments =
createSimpleTableSegments();
Collection<String> tableNames = tableSegments.stream().map(each ->
each.getTableName().getIdentifier().getValue()).collect(Collectors.toSet());
-
when(cursorStatementContext.getSimpleTables()).thenReturn(tableSegments);
+
when(cursorStatementContext.getTablesContext().getSimpleTables()).thenReturn(tableSegments);
when(cursorStatementContext.getTablesContext().getTableNames()).thenReturn(tableNames);
when(shardingRule.isAllShardingTables(tableNames)).thenReturn(true);
when(shardingRule.getShardingRuleTableNames(tableNames)).thenReturn(tableNames);
@@ -413,7 +413,7 @@ class ShardingRouteEngineFactoryTest {
OpenGaussCursorStatement cursorStatement =
mock(OpenGaussCursorStatement.class);
when(cursorStatementContext.getSqlStatement()).thenReturn(cursorStatement);
Collection<SimpleTableSegment> tableSegments =
createSimpleTableSegments();
-
when(cursorStatementContext.getSimpleTables()).thenReturn(tableSegments);
+
when(cursorStatementContext.getTablesContext().getSimpleTables()).thenReturn(tableSegments);
QueryContext queryContext = new QueryContext(cursorStatementContext,
"", Collections.emptyList(), new HintValueContext());
ShardingRouteEngine actual =
ShardingRouteEngineFactory.newInstance(shardingRule, database,
queryContext, shardingConditions, props, new ConnectionContext(),
mock(RuleMetaData.class));
diff --git
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/segment/table/TablesContext.java
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/segment/table/TablesContext.java
index 5fa7e27ba51..48e960f3bfb 100644
---
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/segment/table/TablesContext.java
+++
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/segment/table/TablesContext.java
@@ -71,7 +71,7 @@ public final class TablesContext {
private final Map<String, IdentifierValue> tableNameAliasMap = new
HashMap<>();
public TablesContext(final SimpleTableSegment tableSegment, final
DatabaseType databaseType) {
- this(Collections.singletonList(tableSegment), databaseType);
+ this(null == tableSegment ? Collections.emptyList() :
Collections.singletonList(tableSegment), databaseType);
}
public TablesContext(final Collection<SimpleTableSegment> tables, final
DatabaseType databaseType) {
diff --git
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/dal/AnalyzeTableStatementContext.java
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/dal/AnalyzeTableStatementContext.java
index f72ec975b1f..dd2925cc88d 100644
---
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/dal/AnalyzeTableStatementContext.java
+++
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/dal/AnalyzeTableStatementContext.java
@@ -21,11 +21,8 @@ import lombok.Getter;
import
org.apache.shardingsphere.infra.binder.context.segment.table.TablesContext;
import
org.apache.shardingsphere.infra.binder.context.statement.CommonSQLStatementContext;
import org.apache.shardingsphere.infra.binder.context.type.TableAvailable;
-import
org.apache.shardingsphere.sql.parser.sql.common.segment.generic.table.SimpleTableSegment;
import
org.apache.shardingsphere.sql.parser.sql.common.statement.dal.AnalyzeTableStatement;
-import java.util.Collection;
-
/**
* Analyze table statement context.
*/
@@ -43,9 +40,4 @@ public final class AnalyzeTableStatementContext extends
CommonSQLStatementContex
public AnalyzeTableStatement getSqlStatement() {
return (AnalyzeTableStatement) super.getSqlStatement();
}
-
- @Override
- public Collection<SimpleTableSegment> getSimpleTables() {
- return getSqlStatement().getTables();
- }
}
diff --git
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/dal/ExplainStatementContext.java
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/dal/ExplainStatementContext.java
index e3c6c298ba7..d9b8ebbe47e 100644
---
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/dal/ExplainStatementContext.java
+++
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/dal/ExplainStatementContext.java
@@ -58,9 +58,4 @@ public final class ExplainStatementContext extends
CommonSQLStatementContext imp
public ExplainStatement getSqlStatement() {
return (ExplainStatement) super.getSqlStatement();
}
-
- @Override
- public Collection<SimpleTableSegment> getSimpleTables() {
- return extractTablesFromExplain(getSqlStatement());
- }
}
diff --git
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/dal/FlushStatementContext.java
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/dal/FlushStatementContext.java
index 888d41d4361..855f206b9a0 100644
---
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/dal/FlushStatementContext.java
+++
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/dal/FlushStatementContext.java
@@ -18,15 +18,12 @@
package org.apache.shardingsphere.infra.binder.context.statement.dal;
import lombok.Getter;
-import
org.apache.shardingsphere.infra.binder.context.statement.CommonSQLStatementContext;
import
org.apache.shardingsphere.infra.binder.context.segment.table.TablesContext;
+import
org.apache.shardingsphere.infra.binder.context.statement.CommonSQLStatementContext;
import org.apache.shardingsphere.infra.binder.context.type.TableAvailable;
-import
org.apache.shardingsphere.sql.parser.sql.common.segment.generic.table.SimpleTableSegment;
import
org.apache.shardingsphere.sql.parser.sql.common.statement.dal.FlushStatement;
import
org.apache.shardingsphere.sql.parser.sql.dialect.handler.dal.FlushStatementHandler;
-import java.util.Collection;
-
/**
* Flush statement context.
*/
@@ -44,9 +41,4 @@ public final class FlushStatementContext extends
CommonSQLStatementContext imple
public FlushStatement getSqlStatement() {
return (FlushStatement) super.getSqlStatement();
}
-
- @Override
- public Collection<SimpleTableSegment> getSimpleTables() {
- return FlushStatementHandler.getSimpleTableSegment(getSqlStatement());
- }
}
diff --git
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/dal/OptimizeTableStatementContext.java
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/dal/OptimizeTableStatementContext.java
index 497218e8a13..3351c4b7157 100644
---
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/dal/OptimizeTableStatementContext.java
+++
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/dal/OptimizeTableStatementContext.java
@@ -18,14 +18,11 @@
package org.apache.shardingsphere.infra.binder.context.statement.dal;
import lombok.Getter;
-import
org.apache.shardingsphere.infra.binder.context.statement.CommonSQLStatementContext;
import
org.apache.shardingsphere.infra.binder.context.segment.table.TablesContext;
+import
org.apache.shardingsphere.infra.binder.context.statement.CommonSQLStatementContext;
import org.apache.shardingsphere.infra.binder.context.type.TableAvailable;
-import
org.apache.shardingsphere.sql.parser.sql.common.segment.generic.table.SimpleTableSegment;
import
org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.dal.MySQLOptimizeTableStatement;
-import java.util.Collection;
-
/**
* Optimize table statement context.
*/
@@ -43,9 +40,4 @@ public final class OptimizeTableStatementContext extends
CommonSQLStatementConte
public MySQLOptimizeTableStatement getSqlStatement() {
return (MySQLOptimizeTableStatement) super.getSqlStatement();
}
-
- @Override
- public Collection<SimpleTableSegment> getSimpleTables() {
- return getSqlStatement().getTables();
- }
}
diff --git
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/dal/ShowColumnsStatementContext.java
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/dal/ShowColumnsStatementContext.java
index 2357222a11c..10e2da503ec 100644
---
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/dal/ShowColumnsStatementContext.java
+++
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/dal/ShowColumnsStatementContext.java
@@ -23,11 +23,9 @@ import
org.apache.shardingsphere.infra.binder.context.statement.CommonSQLStateme
import org.apache.shardingsphere.infra.binder.context.type.RemoveAvailable;
import org.apache.shardingsphere.infra.binder.context.type.TableAvailable;
import org.apache.shardingsphere.sql.parser.sql.common.segment.SQLSegment;
-import
org.apache.shardingsphere.sql.parser.sql.common.segment.generic.table.SimpleTableSegment;
import
org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.dal.MySQLShowColumnsStatement;
import java.util.Collection;
-import java.util.Collections;
import java.util.LinkedList;
/**
@@ -48,11 +46,6 @@ public final class ShowColumnsStatementContext extends
CommonSQLStatementContext
return (MySQLShowColumnsStatement) super.getSqlStatement();
}
- @Override
- public Collection<SimpleTableSegment> getSimpleTables() {
- return null == getSqlStatement().getTable() ? Collections.emptyList()
: Collections.singletonList(getSqlStatement().getTable());
- }
-
@Override
public Collection<SQLSegment> getRemoveSegments() {
Collection<SQLSegment> result = new LinkedList<>();
diff --git
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/dal/ShowCreateTableStatementContext.java
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/dal/ShowCreateTableStatementContext.java
index b84edb2ae62..04c9aaeb1d8 100644
---
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/dal/ShowCreateTableStatementContext.java
+++
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/dal/ShowCreateTableStatementContext.java
@@ -18,15 +18,11 @@
package org.apache.shardingsphere.infra.binder.context.statement.dal;
import lombok.Getter;
-import
org.apache.shardingsphere.infra.binder.context.statement.CommonSQLStatementContext;
import
org.apache.shardingsphere.infra.binder.context.segment.table.TablesContext;
+import
org.apache.shardingsphere.infra.binder.context.statement.CommonSQLStatementContext;
import org.apache.shardingsphere.infra.binder.context.type.TableAvailable;
-import
org.apache.shardingsphere.sql.parser.sql.common.segment.generic.table.SimpleTableSegment;
import
org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.dal.MySQLShowCreateTableStatement;
-import java.util.Collection;
-import java.util.Collections;
-
/**
* Show create table statement context.
*/
@@ -44,9 +40,4 @@ public final class ShowCreateTableStatementContext extends
CommonSQLStatementCon
public MySQLShowCreateTableStatement getSqlStatement() {
return (MySQLShowCreateTableStatement) super.getSqlStatement();
}
-
- @Override
- public Collection<SimpleTableSegment> getSimpleTables() {
- return null == getSqlStatement().getTable() ? Collections.emptyList()
: Collections.singletonList(getSqlStatement().getTable());
- }
}
diff --git
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/dal/ShowIndexStatementContext.java
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/dal/ShowIndexStatementContext.java
index d102c75b9ac..e328360099a 100644
---
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/dal/ShowIndexStatementContext.java
+++
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/dal/ShowIndexStatementContext.java
@@ -18,16 +18,14 @@
package org.apache.shardingsphere.infra.binder.context.statement.dal;
import lombok.Getter;
-import
org.apache.shardingsphere.infra.binder.context.statement.CommonSQLStatementContext;
import
org.apache.shardingsphere.infra.binder.context.segment.table.TablesContext;
+import
org.apache.shardingsphere.infra.binder.context.statement.CommonSQLStatementContext;
import org.apache.shardingsphere.infra.binder.context.type.RemoveAvailable;
import org.apache.shardingsphere.infra.binder.context.type.TableAvailable;
import org.apache.shardingsphere.sql.parser.sql.common.segment.SQLSegment;
-import
org.apache.shardingsphere.sql.parser.sql.common.segment.generic.table.SimpleTableSegment;
import
org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.dal.MySQLShowIndexStatement;
import java.util.Collection;
-import java.util.Collections;
import java.util.LinkedList;
/**
@@ -48,11 +46,6 @@ public final class ShowIndexStatementContext extends
CommonSQLStatementContext i
return (MySQLShowIndexStatement) super.getSqlStatement();
}
- @Override
- public Collection<SimpleTableSegment> getSimpleTables() {
- return null == getSqlStatement().getTable() ? Collections.emptyList()
: Collections.singletonList(getSqlStatement().getTable());
- }
-
@Override
public Collection<SQLSegment> getRemoveSegments() {
Collection<SQLSegment> result = new LinkedList<>();
diff --git
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/dcl/DenyUserStatementContext.java
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/dcl/DenyUserStatementContext.java
index b92f09f4c9b..cc4d2824efe 100644
---
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/dcl/DenyUserStatementContext.java
+++
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/dcl/DenyUserStatementContext.java
@@ -21,12 +21,8 @@ import lombok.Getter;
import
org.apache.shardingsphere.infra.binder.context.segment.table.TablesContext;
import
org.apache.shardingsphere.infra.binder.context.statement.CommonSQLStatementContext;
import org.apache.shardingsphere.infra.binder.context.type.TableAvailable;
-import
org.apache.shardingsphere.sql.parser.sql.common.segment.generic.table.SimpleTableSegment;
import
org.apache.shardingsphere.sql.parser.sql.dialect.statement.sqlserver.dcl.SQLServerDenyUserStatement;
-import java.util.Collection;
-import java.util.Collections;
-
/**
* Deny user statement context.
*/
@@ -44,9 +40,4 @@ public final class DenyUserStatementContext extends
CommonSQLStatementContext im
public SQLServerDenyUserStatement getSqlStatement() {
return (SQLServerDenyUserStatement) super.getSqlStatement();
}
-
- @Override
- public Collection<SimpleTableSegment> getSimpleTables() {
- return null == getSqlStatement().getTable() ? Collections.emptyList()
: Collections.singletonList(getSqlStatement().getTable());
- }
}
diff --git
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/dcl/GrantStatementContext.java
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/dcl/GrantStatementContext.java
index 0b75826c0ed..b8a58928f20 100644
---
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/dcl/GrantStatementContext.java
+++
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/dcl/GrantStatementContext.java
@@ -21,11 +21,8 @@ import lombok.Getter;
import
org.apache.shardingsphere.infra.binder.context.segment.table.TablesContext;
import
org.apache.shardingsphere.infra.binder.context.statement.CommonSQLStatementContext;
import org.apache.shardingsphere.infra.binder.context.type.TableAvailable;
-import
org.apache.shardingsphere.sql.parser.sql.common.segment.generic.table.SimpleTableSegment;
import
org.apache.shardingsphere.sql.parser.sql.common.statement.dcl.GrantStatement;
-import java.util.Collection;
-
/**
* Grant statement context.
*/
@@ -43,9 +40,4 @@ public final class GrantStatementContext extends
CommonSQLStatementContext imple
public GrantStatement getSqlStatement() {
return (GrantStatement) super.getSqlStatement();
}
-
- @Override
- public Collection<SimpleTableSegment> getSimpleTables() {
- return getSqlStatement().getTables();
- }
}
diff --git
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/dcl/RevokeStatementContext.java
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/dcl/RevokeStatementContext.java
index 9dd16e97259..4f3d16cf867 100644
---
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/dcl/RevokeStatementContext.java
+++
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/dcl/RevokeStatementContext.java
@@ -21,11 +21,8 @@ import lombok.Getter;
import
org.apache.shardingsphere.infra.binder.context.segment.table.TablesContext;
import
org.apache.shardingsphere.infra.binder.context.statement.CommonSQLStatementContext;
import org.apache.shardingsphere.infra.binder.context.type.TableAvailable;
-import
org.apache.shardingsphere.sql.parser.sql.common.segment.generic.table.SimpleTableSegment;
import
org.apache.shardingsphere.sql.parser.sql.common.statement.dcl.RevokeStatement;
-import java.util.Collection;
-
/**
* Revoke statement context.
*/
@@ -43,9 +40,4 @@ public final class RevokeStatementContext extends
CommonSQLStatementContext impl
public RevokeStatement getSqlStatement() {
return (RevokeStatement) super.getSqlStatement();
}
-
- @Override
- public Collection<SimpleTableSegment> getSimpleTables() {
- return getSqlStatement().getTables();
- }
}
diff --git
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/ddl/AlterIndexStatementContext.java
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/ddl/AlterIndexStatementContext.java
index 693790c44cf..e8b5d9bf5e9 100644
---
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/ddl/AlterIndexStatementContext.java
+++
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/ddl/AlterIndexStatementContext.java
@@ -31,7 +31,6 @@ import
org.apache.shardingsphere.sql.parser.sql.dialect.handler.ddl.AlterIndexSt
import java.util.Collection;
import java.util.Collections;
import java.util.LinkedList;
-import java.util.Optional;
/**
* Alter index statement context.
@@ -52,12 +51,6 @@ public final class AlterIndexStatementContext extends
CommonSQLStatementContext
return (AlterIndexStatement) super.getSqlStatement();
}
- @Override
- public Collection<SimpleTableSegment> getSimpleTables() {
- Optional<SimpleTableSegment> simpleTableSegment =
AlterIndexStatementHandler.getSimpleTableSegment(getSqlStatement());
- return
simpleTableSegment.map(Collections::singletonList).orElseGet(Collections::emptyList);
- }
-
@Override
public Collection<IndexSegment> getIndexes() {
Collection<IndexSegment> result = new LinkedList<>();
diff --git
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/ddl/AlterTableStatementContext.java
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/ddl/AlterTableStatementContext.java
index 1e604afb922..10cc85310c2 100644
---
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/ddl/AlterTableStatementContext.java
+++
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/ddl/AlterTableStatementContext.java
@@ -50,35 +50,34 @@ public final class AlterTableStatementContext extends
CommonSQLStatementContext
public AlterTableStatementContext(final AlterTableStatement sqlStatement) {
super(sqlStatement);
- tablesContext = new TablesContext(sqlStatement.getTable(),
getDatabaseType());
+ tablesContext = new TablesContext(getTables(sqlStatement),
getDatabaseType());
}
- @Override
- public AlterTableStatement getSqlStatement() {
- return (AlterTableStatement) super.getSqlStatement();
- }
-
- @Override
- public Collection<SimpleTableSegment> getSimpleTables() {
+ private Collection<SimpleTableSegment> getTables(final AlterTableStatement
sqlStatement) {
Collection<SimpleTableSegment> result = new LinkedList<>();
- result.add(getSqlStatement().getTable());
- if (getSqlStatement().getRenameTable().isPresent()) {
- result.add(getSqlStatement().getRenameTable().get());
+ result.add(sqlStatement.getTable());
+ if (sqlStatement.getRenameTable().isPresent()) {
+ result.add(sqlStatement.getRenameTable().get());
}
- for (AddColumnDefinitionSegment each :
getSqlStatement().getAddColumnDefinitions()) {
+ for (AddColumnDefinitionSegment each :
sqlStatement.getAddColumnDefinitions()) {
for (ColumnDefinitionSegment columnDefinition :
each.getColumnDefinitions()) {
result.addAll(columnDefinition.getReferencedTables());
}
}
- for (ModifyColumnDefinitionSegment each :
getSqlStatement().getModifyColumnDefinitions()) {
+ for (ModifyColumnDefinitionSegment each :
sqlStatement.getModifyColumnDefinitions()) {
result.addAll(each.getColumnDefinition().getReferencedTables());
}
- for (AddConstraintDefinitionSegment each :
getSqlStatement().getAddConstraintDefinitions()) {
+ for (AddConstraintDefinitionSegment each :
sqlStatement.getAddConstraintDefinitions()) {
each.getConstraintDefinition().getReferencedTable().ifPresent(result::add);
}
return result;
}
+ @Override
+ public AlterTableStatement getSqlStatement() {
+ return (AlterTableStatement) super.getSqlStatement();
+ }
+
@Override
public Collection<IndexSegment> getIndexes() {
Collection<IndexSegment> result = new LinkedList<>();
diff --git
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/ddl/AlterViewStatementContext.java
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/ddl/AlterViewStatementContext.java
index 2042067e25e..5fa1bd9bc98 100644
---
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/ddl/AlterViewStatementContext.java
+++
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/ddl/AlterViewStatementContext.java
@@ -57,9 +57,4 @@ public final class AlterViewStatementContext extends
CommonSQLStatementContext i
public AlterViewStatement getSqlStatement() {
return (AlterViewStatement) super.getSqlStatement();
}
-
- @Override
- public Collection<SimpleTableSegment> getSimpleTables() {
- return tablesContext.getSimpleTables();
- }
}
diff --git
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/ddl/CommentStatementContext.java
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/ddl/CommentStatementContext.java
index 6511d3820b1..0997fec301f 100644
---
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/ddl/CommentStatementContext.java
+++
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/ddl/CommentStatementContext.java
@@ -21,10 +21,8 @@ import lombok.Getter;
import
org.apache.shardingsphere.infra.binder.context.segment.table.TablesContext;
import
org.apache.shardingsphere.infra.binder.context.statement.CommonSQLStatementContext;
import org.apache.shardingsphere.infra.binder.context.type.TableAvailable;
-import
org.apache.shardingsphere.sql.parser.sql.common.segment.generic.table.SimpleTableSegment;
import
org.apache.shardingsphere.sql.parser.sql.common.statement.ddl.CommentStatement;
-import java.util.Collection;
import java.util.Collections;
/**
@@ -44,9 +42,4 @@ public final class CommentStatementContext extends
CommonSQLStatementContext imp
public CommentStatement getSqlStatement() {
return (CommentStatement) super.getSqlStatement();
}
-
- @Override
- public Collection<SimpleTableSegment> getSimpleTables() {
- return tablesContext.getSimpleTables();
- }
}
diff --git
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/ddl/CreateIndexStatementContext.java
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/ddl/CreateIndexStatementContext.java
index b1c6a73e94c..9c5033318bf 100644
---
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/ddl/CreateIndexStatementContext.java
+++
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/ddl/CreateIndexStatementContext.java
@@ -26,7 +26,6 @@ import
org.apache.shardingsphere.infra.metadata.database.schema.util.IndexMetaDa
import
org.apache.shardingsphere.sql.parser.sql.common.segment.ddl.index.IndexNameSegment;
import
org.apache.shardingsphere.sql.parser.sql.common.segment.ddl.index.IndexSegment;
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.ddl.CreateIndexStatement;
import
org.apache.shardingsphere.sql.parser.sql.common.value.identifier.IdentifierValue;
import
org.apache.shardingsphere.sql.parser.sql.dialect.handler.ddl.CreateIndexStatementHandler;
@@ -55,18 +54,13 @@ public final class CreateIndexStatementContext extends
CommonSQLStatementContext
return (CreateIndexStatement) super.getSqlStatement();
}
- @Override
- public Collection<SimpleTableSegment> getSimpleTables() {
- return null == getSqlStatement().getTable() ? Collections.emptyList()
: Collections.singletonList(getSqlStatement().getTable());
- }
-
@Override
public Collection<IndexSegment> getIndexes() {
if (null == getSqlStatement().getIndex()) {
return
CreateIndexStatementHandler.getGeneratedIndexStartIndex(getSqlStatement()).map(each
-> Collections.singletonList(new IndexSegment(each, each,
new IndexNameSegment(each, each, new
IdentifierValue(IndexMetaDataUtils.getGeneratedLogicIndexName(getSqlStatement().getColumns())))))).orElseGet(Collections::emptyList);
}
- return Collections.singletonList(getSqlStatement().getIndex());
+ return Collections.singleton(getSqlStatement().getIndex());
}
@Override
diff --git
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/ddl/CreateTableStatementContext.java
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/ddl/CreateTableStatementContext.java
index fcef7f270ea..90ba94e607a 100644
---
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/ddl/CreateTableStatementContext.java
+++
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/ddl/CreateTableStatementContext.java
@@ -44,22 +44,16 @@ public final class CreateTableStatementContext extends
CommonSQLStatementContext
public CreateTableStatementContext(final CreateTableStatement
sqlStatement) {
super(sqlStatement);
- tablesContext = new TablesContext(sqlStatement.getTable(),
getDatabaseType());
+ tablesContext = new TablesContext(getTables(sqlStatement),
getDatabaseType());
}
- @Override
- public CreateTableStatement getSqlStatement() {
- return (CreateTableStatement) super.getSqlStatement();
- }
-
- @Override
- public Collection<SimpleTableSegment> getSimpleTables() {
+ private Collection<SimpleTableSegment> getTables(final
CreateTableStatement sqlStatement) {
Collection<SimpleTableSegment> result = new LinkedList<>();
- result.add(getSqlStatement().getTable());
- for (ColumnDefinitionSegment each :
getSqlStatement().getColumnDefinitions()) {
+ result.add(sqlStatement.getTable());
+ for (ColumnDefinitionSegment each :
sqlStatement.getColumnDefinitions()) {
result.addAll(each.getReferencedTables());
}
- for (ConstraintDefinitionSegment each :
getSqlStatement().getConstraintDefinitions()) {
+ for (ConstraintDefinitionSegment each :
sqlStatement.getConstraintDefinitions()) {
if (each.getReferencedTable().isPresent()) {
result.add(each.getReferencedTable().get());
}
@@ -67,6 +61,11 @@ 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<>();
diff --git
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/ddl/CreateViewStatementContext.java
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/ddl/CreateViewStatementContext.java
index e7eb724b47b..70d9e645c88 100644
---
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/ddl/CreateViewStatementContext.java
+++
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/ddl/CreateViewStatementContext.java
@@ -22,11 +22,8 @@ import
org.apache.shardingsphere.infra.binder.context.segment.table.TablesContex
import
org.apache.shardingsphere.infra.binder.context.statement.CommonSQLStatementContext;
import org.apache.shardingsphere.infra.binder.context.type.TableAvailable;
import
org.apache.shardingsphere.sql.parser.sql.common.extractor.TableExtractor;
-import
org.apache.shardingsphere.sql.parser.sql.common.segment.generic.table.SimpleTableSegment;
import
org.apache.shardingsphere.sql.parser.sql.common.statement.ddl.CreateViewStatement;
-import java.util.Collection;
-
/**
* Create view statement context.
*/
@@ -46,9 +43,4 @@ public final class CreateViewStatementContext extends
CommonSQLStatementContext
public CreateViewStatement getSqlStatement() {
return (CreateViewStatement) super.getSqlStatement();
}
-
- @Override
- public Collection<SimpleTableSegment> getSimpleTables() {
- return tablesContext.getSimpleTables();
- }
}
diff --git
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/ddl/CursorStatementContext.java
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/ddl/CursorStatementContext.java
index a72282796ab..719efa5856f 100644
---
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/ddl/CursorStatementContext.java
+++
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/ddl/CursorStatementContext.java
@@ -76,11 +76,6 @@ public final class CursorStatementContext extends
CommonSQLStatementContext impl
return (OpenGaussCursorStatement) super.getSqlStatement();
}
- @Override
- public Collection<SimpleTableSegment> getSimpleTables() {
- return tablesContext.getSimpleTables();
- }
-
@Override
public Optional<CursorNameSegment> getCursorName() {
return Optional.of(getSqlStatement().getCursorName());
diff --git
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/ddl/DropIndexStatementContext.java
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/ddl/DropIndexStatementContext.java
index 31d54357e9e..98aa1e1ec9b 100644
---
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/ddl/DropIndexStatementContext.java
+++
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/ddl/DropIndexStatementContext.java
@@ -30,7 +30,6 @@ import
org.apache.shardingsphere.sql.parser.sql.dialect.handler.ddl.DropIndexSta
import java.util.Collection;
import java.util.Collections;
-import java.util.Optional;
/**
* Drop index statement context.
@@ -51,12 +50,6 @@ public final class DropIndexStatementContext extends
CommonSQLStatementContext i
return (DropIndexStatement) super.getSqlStatement();
}
- @Override
- public Collection<SimpleTableSegment> getSimpleTables() {
- Optional<SimpleTableSegment> simpleTableSegment =
DropIndexStatementHandler.getSimpleTableSegment(getSqlStatement());
- return
simpleTableSegment.map(Collections::singletonList).orElseGet(Collections::emptyList);
- }
-
@Override
public Collection<IndexSegment> getIndexes() {
return getSqlStatement().getIndexes();
diff --git
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/ddl/DropTableStatementContext.java
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/ddl/DropTableStatementContext.java
index 2974a0cb5fb..9f5bf9c7065 100644
---
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/ddl/DropTableStatementContext.java
+++
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/ddl/DropTableStatementContext.java
@@ -21,11 +21,8 @@ import lombok.Getter;
import
org.apache.shardingsphere.infra.binder.context.segment.table.TablesContext;
import
org.apache.shardingsphere.infra.binder.context.statement.CommonSQLStatementContext;
import org.apache.shardingsphere.infra.binder.context.type.TableAvailable;
-import
org.apache.shardingsphere.sql.parser.sql.common.segment.generic.table.SimpleTableSegment;
import
org.apache.shardingsphere.sql.parser.sql.common.statement.ddl.DropTableStatement;
-import java.util.Collection;
-
/**
* Drop table statement context.
*/
@@ -43,9 +40,4 @@ public final class DropTableStatementContext extends
CommonSQLStatementContext i
public DropTableStatement getSqlStatement() {
return (DropTableStatement) super.getSqlStatement();
}
-
- @Override
- public Collection<SimpleTableSegment> getSimpleTables() {
- return getSqlStatement().getTables();
- }
}
diff --git
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/ddl/DropViewStatementContext.java
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/ddl/DropViewStatementContext.java
index e145d14f55e..a3071c1d27c 100644
---
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/ddl/DropViewStatementContext.java
+++
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/ddl/DropViewStatementContext.java
@@ -21,11 +21,8 @@ import lombok.Getter;
import
org.apache.shardingsphere.infra.binder.context.segment.table.TablesContext;
import
org.apache.shardingsphere.infra.binder.context.statement.CommonSQLStatementContext;
import org.apache.shardingsphere.infra.binder.context.type.TableAvailable;
-import
org.apache.shardingsphere.sql.parser.sql.common.segment.generic.table.SimpleTableSegment;
import
org.apache.shardingsphere.sql.parser.sql.common.statement.ddl.DropViewStatement;
-import java.util.Collection;
-
/**
* Drop view statement context.
*/
@@ -43,9 +40,4 @@ public final class DropViewStatementContext extends
CommonSQLStatementContext im
public DropViewStatement getSqlStatement() {
return (DropViewStatement) super.getSqlStatement();
}
-
- @Override
- public Collection<SimpleTableSegment> getSimpleTables() {
- return tablesContext.getSimpleTables();
- }
}
diff --git
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/ddl/PrepareStatementContext.java
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/ddl/PrepareStatementContext.java
index 44fd1610bb2..93673b2a15b 100644
---
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/ddl/PrepareStatementContext.java
+++
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/ddl/PrepareStatementContext.java
@@ -41,16 +41,6 @@ public final class PrepareStatementContext extends
CommonSQLStatementContext imp
tablesContext = new
TablesContext(extractTablesFromPreparedStatement(sqlStatement),
getDatabaseType());
}
- @Override
- public PrepareStatement getSqlStatement() {
- return (PrepareStatement) super.getSqlStatement();
- }
-
- @Override
- public Collection<SimpleTableSegment> getSimpleTables() {
- return extractTablesFromPreparedStatement(getSqlStatement());
- }
-
private Collection<SimpleTableSegment>
extractTablesFromPreparedStatement(final PrepareStatement sqlStatement) {
TableExtractor tableExtractor = new TableExtractor();
sqlStatement.getSelect().ifPresent(tableExtractor::extractTablesFromSelect);
@@ -59,4 +49,9 @@ public final class PrepareStatementContext extends
CommonSQLStatementContext imp
sqlStatement.getDelete().ifPresent(tableExtractor::extractTablesFromDelete);
return new LinkedList<>(tableExtractor.getRewriteTables());
}
+
+ @Override
+ public PrepareStatement getSqlStatement() {
+ return (PrepareStatement) super.getSqlStatement();
+ }
}
diff --git
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/ddl/RenameTableStatementContext.java
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/ddl/RenameTableStatementContext.java
index 6682d29d1d2..0bc249cbf90 100644
---
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/ddl/RenameTableStatementContext.java
+++
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/ddl/RenameTableStatementContext.java
@@ -27,7 +27,6 @@ import
org.apache.shardingsphere.sql.parser.sql.common.statement.ddl.RenameTable
import java.util.Collection;
import java.util.LinkedList;
-import java.util.stream.Collectors;
/**
* Rename table statement context.
@@ -39,21 +38,20 @@ public final class RenameTableStatementContext extends
CommonSQLStatementContext
public RenameTableStatementContext(final RenameTableStatement
sqlStatement) {
super(sqlStatement);
- tablesContext = new
TablesContext(sqlStatement.getRenameTables().stream().map(RenameTableDefinitionSegment::getRenameTable).collect(Collectors.toList()),
getDatabaseType());
+ tablesContext = new TablesContext(getTables(sqlStatement),
getDatabaseType());
}
- @Override
- public RenameTableStatement getSqlStatement() {
- return (RenameTableStatement) super.getSqlStatement();
- }
-
- @Override
- public Collection<SimpleTableSegment> getSimpleTables() {
+ private Collection<SimpleTableSegment> getTables(final
RenameTableStatement sqlStatement) {
Collection<SimpleTableSegment> result = new LinkedList<>();
- for (RenameTableDefinitionSegment each :
getSqlStatement().getRenameTables()) {
+ for (RenameTableDefinitionSegment each :
sqlStatement.getRenameTables()) {
result.add(each.getTable());
result.add(each.getRenameTable());
}
return result;
}
+
+ @Override
+ public RenameTableStatement getSqlStatement() {
+ return (RenameTableStatement) super.getSqlStatement();
+ }
}
diff --git
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/ddl/TruncateStatementContext.java
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/ddl/TruncateStatementContext.java
index 10e532d24c9..646acc88e80 100644
---
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/ddl/TruncateStatementContext.java
+++
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/ddl/TruncateStatementContext.java
@@ -21,11 +21,8 @@ import lombok.Getter;
import
org.apache.shardingsphere.infra.binder.context.segment.table.TablesContext;
import
org.apache.shardingsphere.infra.binder.context.statement.CommonSQLStatementContext;
import org.apache.shardingsphere.infra.binder.context.type.TableAvailable;
-import
org.apache.shardingsphere.sql.parser.sql.common.segment.generic.table.SimpleTableSegment;
import
org.apache.shardingsphere.sql.parser.sql.common.statement.ddl.TruncateStatement;
-import java.util.Collection;
-
/**
* Truncate statement context.
*/
@@ -43,9 +40,4 @@ public final class TruncateStatementContext extends
CommonSQLStatementContext im
public TruncateStatement getSqlStatement() {
return (TruncateStatement) super.getSqlStatement();
}
-
- @Override
- public Collection<SimpleTableSegment> getSimpleTables() {
- return getSqlStatement().getTables();
- }
}
diff --git
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/dml/CopyStatementContext.java
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/dml/CopyStatementContext.java
index 09246d1ea90..ecc76a3d1c0 100644
---
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/dml/CopyStatementContext.java
+++
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/dml/CopyStatementContext.java
@@ -21,11 +21,8 @@ import lombok.Getter;
import
org.apache.shardingsphere.infra.binder.context.segment.table.TablesContext;
import
org.apache.shardingsphere.infra.binder.context.statement.CommonSQLStatementContext;
import org.apache.shardingsphere.infra.binder.context.type.TableAvailable;
-import
org.apache.shardingsphere.sql.parser.sql.common.segment.generic.table.SimpleTableSegment;
import
org.apache.shardingsphere.sql.parser.sql.common.statement.dml.CopyStatement;
-import java.util.Collection;
-
/**
* Copy statement context.
*/
@@ -43,9 +40,4 @@ public final class CopyStatementContext extends
CommonSQLStatementContext implem
public CopyStatement getSqlStatement() {
return (CopyStatement) super.getSqlStatement();
}
-
- @Override
- public Collection<SimpleTableSegment> getSimpleTables() {
- return tablesContext.getSimpleTables();
- }
}
diff --git
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/dml/DeleteStatementContext.java
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/dml/DeleteStatementContext.java
index b706949fa8b..d08dd113a0b 100644
---
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/dml/DeleteStatementContext.java
+++
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/dml/DeleteStatementContext.java
@@ -89,11 +89,6 @@ public final class DeleteStatementContext extends
CommonSQLStatementContext impl
return (DeleteStatement) super.getSqlStatement();
}
- @Override
- public Collection<SimpleTableSegment> getSimpleTables() {
- return tablesContext.getSimpleTables();
- }
-
@Override
public Collection<WhereSegment> getWhereSegments() {
return whereSegments;
diff --git
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/dml/InsertStatementContext.java
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/dml/InsertStatementContext.java
index 550aa310875..8f804668ca5 100644
---
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/dml/InsertStatementContext.java
+++
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/dml/InsertStatementContext.java
@@ -264,11 +264,6 @@ public final class InsertStatementContext extends
CommonSQLStatementContext impl
return (InsertStatement) super.getSqlStatement();
}
- @Override
- public Collection<SimpleTableSegment> getSimpleTables() {
- return tablesContext.getSimpleTables();
- }
-
@Override
public void setUpParameters(final List<Object> params) {
AtomicInteger parametersOffset = new AtomicInteger(0);
diff --git
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/dml/LoadDataStatementContext.java
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/dml/LoadDataStatementContext.java
index e70449d5a7c..ddb36b1e87c 100644
---
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/dml/LoadDataStatementContext.java
+++
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/dml/LoadDataStatementContext.java
@@ -21,11 +21,8 @@ import lombok.Getter;
import
org.apache.shardingsphere.infra.binder.context.segment.table.TablesContext;
import
org.apache.shardingsphere.infra.binder.context.statement.CommonSQLStatementContext;
import org.apache.shardingsphere.infra.binder.context.type.TableAvailable;
-import
org.apache.shardingsphere.sql.parser.sql.common.segment.generic.table.SimpleTableSegment;
import
org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.dml.MySQLLoadDataStatement;
-import java.util.Collection;
-
/**
* Load data statement context.
*/
@@ -43,9 +40,4 @@ public final class LoadDataStatementContext extends
CommonSQLStatementContext im
public MySQLLoadDataStatement getSqlStatement() {
return (MySQLLoadDataStatement) super.getSqlStatement();
}
-
- @Override
- public Collection<SimpleTableSegment> getSimpleTables() {
- return tablesContext.getSimpleTables();
- }
}
diff --git
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/dml/LoadXMLStatementContext.java
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/dml/LoadXMLStatementContext.java
index f7353355502..4e5e0e2815a 100644
---
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/dml/LoadXMLStatementContext.java
+++
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/dml/LoadXMLStatementContext.java
@@ -21,11 +21,8 @@ import lombok.Getter;
import
org.apache.shardingsphere.infra.binder.context.segment.table.TablesContext;
import
org.apache.shardingsphere.infra.binder.context.statement.CommonSQLStatementContext;
import org.apache.shardingsphere.infra.binder.context.type.TableAvailable;
-import
org.apache.shardingsphere.sql.parser.sql.common.segment.generic.table.SimpleTableSegment;
import
org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.dml.MySQLLoadXMLStatement;
-import java.util.Collection;
-
/**
* Load xml statement context.
*/
@@ -43,9 +40,4 @@ public final class LoadXMLStatementContext extends
CommonSQLStatementContext imp
public MySQLLoadXMLStatement getSqlStatement() {
return (MySQLLoadXMLStatement) super.getSqlStatement();
}
-
- @Override
- public Collection<SimpleTableSegment> getSimpleTables() {
- return tablesContext.getSimpleTables();
- }
}
diff --git
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/dml/SelectStatementContext.java
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/dml/SelectStatementContext.java
index 985dae29563..63538559d48 100644
---
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/dml/SelectStatementContext.java
+++
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/dml/SelectStatementContext.java
@@ -61,7 +61,6 @@ import
org.apache.shardingsphere.sql.parser.sql.common.segment.dml.order.item.Or
import
org.apache.shardingsphere.sql.parser.sql.common.segment.dml.order.item.TextOrderByItemSegment;
import
org.apache.shardingsphere.sql.parser.sql.common.segment.dml.predicate.WhereSegment;
import
org.apache.shardingsphere.sql.parser.sql.common.segment.generic.table.JoinTableSegment;
-import
org.apache.shardingsphere.sql.parser.sql.common.segment.generic.table.SimpleTableSegment;
import
org.apache.shardingsphere.sql.parser.sql.common.segment.generic.table.SubqueryTableSegment;
import
org.apache.shardingsphere.sql.parser.sql.common.segment.generic.table.TableSegment;
import
org.apache.shardingsphere.sql.parser.sql.common.statement.dml.SelectStatement;
@@ -344,11 +343,6 @@ public final class SelectStatementContext extends
CommonSQLStatementContext impl
return (SelectStatement) super.getSqlStatement();
}
- @Override
- public Collection<SimpleTableSegment> getSimpleTables() {
- return tablesContext.getSimpleTables();
- }
-
@Override
public Collection<WhereSegment> getWhereSegments() {
return whereSegments;
diff --git
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/dml/UpdateStatementContext.java
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/dml/UpdateStatementContext.java
index 8422721c46a..d15c634f7bc 100644
---
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/dml/UpdateStatementContext.java
+++
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/dml/UpdateStatementContext.java
@@ -67,11 +67,6 @@ public final class UpdateStatementContext extends
CommonSQLStatementContext impl
return (UpdateStatement) super.getSqlStatement();
}
- @Override
- public Collection<SimpleTableSegment> getSimpleTables() {
- return tablesContext.getSimpleTables();
- }
-
@Override
public Collection<WhereSegment> getWhereSegments() {
return whereSegments;
diff --git
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/type/TableAvailable.java
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/type/TableAvailable.java
index a66ef759a3b..7c2c4596a64 100644
---
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/type/TableAvailable.java
+++
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/type/TableAvailable.java
@@ -18,22 +18,12 @@
package org.apache.shardingsphere.infra.binder.context.type;
import
org.apache.shardingsphere.infra.binder.context.segment.table.TablesContext;
-import
org.apache.shardingsphere.sql.parser.sql.common.segment.generic.table.SimpleTableSegment;
-
-import java.util.Collection;
/**
* Table available.
*/
public interface TableAvailable {
- /**
- * Get simple tables.
- *
- * @return all simple tables
- */
- Collection<SimpleTableSegment> getSimpleTables();
-
/**
* Get tables context.
*
diff --git
a/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/context/statement/dal/AnalyzeTableStatementContextTest.java
b/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/context/statement/dal/AnalyzeTableStatementContextTest.java
index d2a40b9fb66..9b075f42fb6 100644
---
a/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/context/statement/dal/AnalyzeTableStatementContextTest.java
+++
b/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/context/statement/dal/AnalyzeTableStatementContextTest.java
@@ -59,6 +59,6 @@ class AnalyzeTableStatementContextTest {
AnalyzeTableStatementContext actual = new
AnalyzeTableStatementContext(analyzeTableStatement);
assertThat(actual, instanceOf(CommonSQLStatementContext.class));
assertThat(actual.getSqlStatement(), is(analyzeTableStatement));
- assertThat(actual.getSimpleTables().stream().map(each ->
each.getTableName().getIdentifier().getValue()).collect(Collectors.toList()),
is(Arrays.asList("tbl_1", "tbl_2")));
+
assertThat(actual.getTablesContext().getSimpleTables().stream().map(each ->
each.getTableName().getIdentifier().getValue()).collect(Collectors.toList()),
is(Arrays.asList("tbl_1", "tbl_2")));
}
}
diff --git
a/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/context/statement/dal/ExplainStatementContextTest.java
b/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/context/statement/dal/ExplainStatementContextTest.java
index 7822338980c..0b385e58a00 100644
---
a/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/context/statement/dal/ExplainStatementContextTest.java
+++
b/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/context/statement/dal/ExplainStatementContextTest.java
@@ -52,6 +52,6 @@ class ExplainStatementContextTest {
assertThat(actual, instanceOf(CommonSQLStatementContext.class));
assertThat(actual.getSqlStatement(), is(explainStatement));
assertThat(actual.getSqlStatement().getStatement().orElse(null),
is(statement));
- assertThat(actual.getSimpleTables(), is(Collections.emptyList()));
+ assertThat(actual.getTablesContext().getSimpleTables(),
is(Collections.emptyList()));
}
}
diff --git
a/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/context/statement/dal/OptimizeTableStatementContextTest.java
b/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/context/statement/dal/OptimizeTableStatementContextTest.java
index eded81210d8..97a58873e1b 100644
---
a/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/context/statement/dal/OptimizeTableStatementContextTest.java
+++
b/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/context/statement/dal/OptimizeTableStatementContextTest.java
@@ -44,6 +44,7 @@ class OptimizeTableStatementContextTest {
OptimizeTableStatementContext actual = new
OptimizeTableStatementContext(optimizeTableStatement);
assertThat(actual, instanceOf(CommonSQLStatementContext.class));
assertThat(actual.getSqlStatement(), is(optimizeTableStatement));
- assertThat(actual.getSimpleTables().stream().map(each ->
each.getTableName().getIdentifier().getValue()).collect(Collectors.toList()),
is(Collections.singletonList("tbl_1")));
+
assertThat(actual.getTablesContext().getSimpleTables().stream().map(each ->
each.getTableName().getIdentifier().getValue()).collect(Collectors.toList()),
+ is(Collections.singletonList("tbl_1")));
}
}
diff --git
a/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/context/statement/dal/ShowColumnsStatementContextTest.java
b/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/context/statement/dal/ShowColumnsStatementContextTest.java
index 329a5980749..af2ea9c6f1f 100644
---
a/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/context/statement/dal/ShowColumnsStatementContextTest.java
+++
b/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/context/statement/dal/ShowColumnsStatementContextTest.java
@@ -50,7 +50,8 @@ class ShowColumnsStatementContextTest {
ShowColumnsStatementContext actual = new
ShowColumnsStatementContext(showColumnsStatement);
assertThat(actual, instanceOf(CommonSQLStatementContext.class));
assertThat(actual.getSqlStatement(), is(showColumnsStatement));
- assertThat(actual.getSimpleTables().stream().map(each ->
each.getTableName().getIdentifier().getValue()).collect(Collectors.toList()),
is(Collections.singletonList(tableName)));
+
assertThat(actual.getTablesContext().getSimpleTables().stream().map(each ->
each.getTableName().getIdentifier().getValue()).collect(Collectors.toList()),
+ is(Collections.singletonList(tableName)));
assertThat(actual.getRemoveSegments(),
is(Collections.singletonList(fromSchema)));
}
}
diff --git
a/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/context/statement/dal/ShowCreateTableStatementContextTest.java
b/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/context/statement/dal/ShowCreateTableStatementContextTest.java
index dc627c216e1..2cb7494b81c 100644
---
a/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/context/statement/dal/ShowCreateTableStatementContextTest.java
+++
b/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/context/statement/dal/ShowCreateTableStatementContextTest.java
@@ -43,6 +43,7 @@ class ShowCreateTableStatementContextTest {
ShowCreateTableStatementContext actual = new
ShowCreateTableStatementContext(showCreateTableStatement);
assertThat(actual, instanceOf(CommonSQLStatementContext.class));
assertThat(actual.getSqlStatement(), is(showCreateTableStatement));
- assertThat(actual.getSimpleTables().stream().map(each ->
each.getTableName().getIdentifier().getValue()).collect(Collectors.toList()),
is(Collections.singletonList("tbl_1")));
+
assertThat(actual.getTablesContext().getSimpleTables().stream().map(each ->
each.getTableName().getIdentifier().getValue()).collect(Collectors.toList()),
+ is(Collections.singletonList("tbl_1")));
}
}
diff --git
a/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/context/statement/dal/ShowIndexStatementContextTest.java
b/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/context/statement/dal/ShowIndexStatementContextTest.java
index 1e0d06169df..568f27cf944 100644
---
a/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/context/statement/dal/ShowIndexStatementContextTest.java
+++
b/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/context/statement/dal/ShowIndexStatementContextTest.java
@@ -43,6 +43,7 @@ class ShowIndexStatementContextTest {
ShowIndexStatementContext actual = new
ShowIndexStatementContext(showIndexStatement);
assertThat(actual, instanceOf(CommonSQLStatementContext.class));
assertThat(actual.getSqlStatement(), is(showIndexStatement));
- assertThat(actual.getSimpleTables().stream().map(each ->
each.getTableName().getIdentifier().getValue()).collect(Collectors.toList()),
is(Collections.singletonList("tbl_1")));
+
assertThat(actual.getTablesContext().getSimpleTables().stream().map(each ->
each.getTableName().getIdentifier().getValue()).collect(Collectors.toList()),
+ is(Collections.singletonList("tbl_1")));
}
}
diff --git
a/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/context/statement/dcl/DenyUserStatementContextTest.java
b/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/context/statement/dcl/DenyUserStatementContextTest.java
index 03675e36e3a..115b4a30b34 100644
---
a/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/context/statement/dcl/DenyUserStatementContextTest.java
+++
b/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/context/statement/dcl/DenyUserStatementContextTest.java
@@ -43,6 +43,7 @@ class DenyUserStatementContextTest {
DenyUserStatementContext actual = new
DenyUserStatementContext(sqlServerDenyUserStatement);
assertThat(actual, instanceOf(CommonSQLStatementContext.class));
assertThat(actual.getSqlStatement(), is(sqlServerDenyUserStatement));
- assertThat(actual.getSimpleTables().stream().map(each ->
each.getTableName().getIdentifier().getValue()).collect(Collectors.toList()),
is(Collections.singletonList("tbl_1")));
+
assertThat(actual.getTablesContext().getSimpleTables().stream().map(each ->
each.getTableName().getIdentifier().getValue()).collect(Collectors.toList()),
+ is(Collections.singletonList("tbl_1")));
}
}
diff --git
a/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/context/statement/dcl/GrantStatementContextTest.java
b/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/context/statement/dcl/GrantStatementContextTest.java
index b35508037de..5cd283ecbf4 100644
---
a/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/context/statement/dcl/GrantStatementContextTest.java
+++
b/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/context/statement/dcl/GrantStatementContextTest.java
@@ -77,6 +77,6 @@ class GrantStatementContextTest {
GrantStatementContext actual = new
GrantStatementContext(grantStatement);
assertThat(actual, instanceOf(CommonSQLStatementContext.class));
assertThat(actual.getSqlStatement(), is(grantStatement));
- assertThat(actual.getSimpleTables().stream().map(each ->
each.getTableName().getIdentifier().getValue()).collect(Collectors.toList()),
is(Arrays.asList("tbl_1", "tbl_2")));
+
assertThat(actual.getTablesContext().getSimpleTables().stream().map(each ->
each.getTableName().getIdentifier().getValue()).collect(Collectors.toList()),
is(Arrays.asList("tbl_1", "tbl_2")));
}
}
diff --git
a/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/context/statement/dcl/RevokeStatementContextTest.java
b/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/context/statement/dcl/RevokeStatementContextTest.java
index 0cb11219dde..4fe1b1b6a75 100644
---
a/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/context/statement/dcl/RevokeStatementContextTest.java
+++
b/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/context/statement/dcl/RevokeStatementContextTest.java
@@ -77,6 +77,6 @@ class RevokeStatementContextTest {
RevokeStatementContext actual = new
RevokeStatementContext(revokeStatement);
assertThat(actual, instanceOf(CommonSQLStatementContext.class));
assertThat(actual.getSqlStatement(), is(revokeStatement));
- assertThat(actual.getSimpleTables().stream().map(each ->
each.getTableName().getIdentifier().getValue()).collect(Collectors.toList()),
is(Arrays.asList("tbl_1", "tbl_2")));
+
assertThat(actual.getTablesContext().getSimpleTables().stream().map(each ->
each.getTableName().getIdentifier().getValue()).collect(Collectors.toList()),
is(Arrays.asList("tbl_1", "tbl_2")));
}
}
diff --git
a/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/context/statement/ddl/AlterIndexStatementContextTest.java
b/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/context/statement/ddl/AlterIndexStatementContextTest.java
index 331f2ce759e..b287b38b5af 100644
---
a/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/context/statement/ddl/AlterIndexStatementContextTest.java
+++
b/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/context/statement/ddl/AlterIndexStatementContextTest.java
@@ -60,7 +60,7 @@ class AlterIndexStatementContextTest {
AlterIndexStatementContext actual = new
AlterIndexStatementContext(alterIndexStatement);
assertThat(actual, instanceOf(CommonSQLStatementContext.class));
assertThat(actual.getSqlStatement(), is(alterIndexStatement));
- assertThat(actual.getSimpleTables().stream().map(each ->
each.getTableName().getIdentifier().getValue()).collect(Collectors.toList()),
is(Collections.emptyList()));
+
assertThat(actual.getTablesContext().getSimpleTables().stream().map(each ->
each.getTableName().getIdentifier().getValue()).collect(Collectors.toList()),
is(Collections.emptyList()));
assertThat(actual.getIndexes().stream().map(each ->
each.getIndexName().getIdentifier().getValue()).collect(Collectors.toList()),
is(Collections.singletonList("index_1")));
}
}
diff --git
a/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/context/statement/ddl/AlterTableStatementContextTest.java
b/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/context/statement/ddl/AlterTableStatementContextTest.java
index 93a4306eb25..bc4f98b24ed 100644
---
a/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/context/statement/ddl/AlterTableStatementContextTest.java
+++
b/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/context/statement/ddl/AlterTableStatementContextTest.java
@@ -113,7 +113,7 @@ class AlterTableStatementContextTest {
AlterTableStatementContext actual = new
AlterTableStatementContext(alterTableStatement);
assertThat(actual, instanceOf(CommonSQLStatementContext.class));
assertThat(actual.getSqlStatement(), is(alterTableStatement));
- assertThat(actual.getSimpleTables().stream().map(each ->
each.getTableName().getIdentifier().getValue()).collect(Collectors.toList()),
+
assertThat(actual.getTablesContext().getSimpleTables().stream().map(each ->
each.getTableName().getIdentifier().getValue()).collect(Collectors.toList()),
is(Arrays.asList("tbl_1", "rename_tbl_1", "tbl_1", "tbl_1",
"tbl_1")));
assertThat(actual.getIndexes().stream().map(each ->
each.getIndexName().getIdentifier().getValue()).collect(Collectors.toList()),
is(Arrays.asList("index", "drop_index")));
assertThat(actual.getConstraints().stream().map(each ->
each.getIdentifier().getValue()).collect(Collectors.toList()),
diff --git
a/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/context/statement/ddl/AlterViewStatementContextTest.java
b/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/context/statement/ddl/AlterViewStatementContextTest.java
index e3a7fa66fd9..2f6c8727389 100644
---
a/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/context/statement/ddl/AlterViewStatementContextTest.java
+++
b/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/context/statement/ddl/AlterViewStatementContextTest.java
@@ -68,6 +68,6 @@ class AlterViewStatementContextTest {
AlterViewStatementContext actual = new
AlterViewStatementContext(alterViewStatement);
assertThat(actual, instanceOf(CommonSQLStatementContext.class));
assertThat(actual.getSqlStatement(), is(alterViewStatement));
- assertThat(actual.getSimpleTables().size(), is(2));
+ assertThat(actual.getTablesContext().getSimpleTables().size(), is(2));
}
}
diff --git
a/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/context/statement/ddl/CreateIndexStatementContextTest.java
b/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/context/statement/ddl/CreateIndexStatementContextTest.java
index 2c722dc3248..b71d4a6be64 100644
---
a/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/context/statement/ddl/CreateIndexStatementContextTest.java
+++
b/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/context/statement/ddl/CreateIndexStatementContextTest.java
@@ -65,7 +65,7 @@ class CreateIndexStatementContextTest {
assertThat(actual, instanceOf(CommonSQLStatementContext.class));
assertThat(actual.getSqlStatement(), is(createIndexStatement));
assertTrue(actual.isGeneratedIndex());
- assertThat(actual.getSimpleTables(), is(Collections.emptyList()));
+ assertThat(actual.getTablesContext().getSimpleTables(),
is(Collections.emptyList()));
assertThat(actual.getIndexes(), is(Collections.emptyList()));
when(createIndexStatement.getIndex()).thenReturn(new IndexSegment(0,
0, new IndexNameSegment(0, 0, new IdentifierValue("index_2"))));
CreateIndexStatementContext actual2 = new
CreateIndexStatementContext(createIndexStatement);
diff --git
a/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/context/statement/ddl/CreateTableStatementContextTest.java
b/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/context/statement/ddl/CreateTableStatementContextTest.java
index 003181d1177..5b5334cf851 100644
---
a/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/context/statement/ddl/CreateTableStatementContextTest.java
+++
b/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/context/statement/ddl/CreateTableStatementContextTest.java
@@ -35,7 +35,6 @@ import
org.apache.shardingsphere.sql.parser.sql.dialect.statement.sql92.ddl.SQL9
import
org.apache.shardingsphere.sql.parser.sql.dialect.statement.sqlserver.ddl.SQLServerCreateTableStatement;
import org.junit.jupiter.api.Test;
-import java.util.Arrays;
import java.util.Collections;
import java.util.Optional;
import java.util.stream.Collectors;
@@ -87,7 +86,6 @@ class CreateTableStatementContextTest {
when(constraintDefinition.getReferencedTable()).thenReturn(Optional.of(table));
when(createTableStatement.getConstraintDefinitions()).thenReturn(Collections.singletonList(constraintDefinition));
assertThat(actual.getSqlStatement(), is(createTableStatement));
- assertThat(actual.getSimpleTables().stream().map(each ->
each.getTableName().getIdentifier().getValue()).collect(Collectors.toList()),
is(Arrays.asList("tbl_1", "tbl_1", "tbl_1")));
when(constraintDefinition.getIndexName()).thenReturn(Optional.of(new
IndexSegment(0, 0, new IndexNameSegment(0, 0, new
IdentifierValue("index_1")))));
assertThat(actual.getIndexes().stream().map(each ->
each.getIndexName().getIdentifier().getValue()).collect(Collectors.toList()),
is(Collections.singletonList("index_1")));
assertThat(actual.getConstraints().stream().map(each ->
each.getIdentifier().getValue()).collect(Collectors.toList()),
is(Collections.singletonList("fk_1")));
diff --git
a/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/context/statement/ddl/DropIndexStatementContextTest.java
b/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/context/statement/ddl/DropIndexStatementContextTest.java
index 3526b06164a..7c1f6b5e30b 100644
---
a/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/context/statement/ddl/DropIndexStatementContextTest.java
+++
b/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/context/statement/ddl/DropIndexStatementContextTest.java
@@ -72,7 +72,7 @@ class DropIndexStatementContextTest {
DropIndexStatementContext actual = new
DropIndexStatementContext(dropIndexStatement);
assertThat(actual, instanceOf(CommonSQLStatementContext.class));
assertThat(actual.getSqlStatement(), is(dropIndexStatement));
- assertThat(actual.getSimpleTables(), is(Collections.emptyList()));
+ assertThat(actual.getTablesContext().getSimpleTables(),
is(Collections.emptyList()));
assertThat(actual.getIndexes().stream().map(each ->
each.getIndexName().getIdentifier().getValue()).collect(Collectors.toList()),
is(Arrays.asList("idx_1", "idx_2")));
}
}
diff --git
a/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/context/statement/ddl/DropTableStatementContextTest.java
b/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/context/statement/ddl/DropTableStatementContextTest.java
index 412c2ebec3f..05306f48c2f 100644
---
a/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/context/statement/ddl/DropTableStatementContextTest.java
+++
b/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/context/statement/ddl/DropTableStatementContextTest.java
@@ -30,7 +30,6 @@ import
org.apache.shardingsphere.sql.parser.sql.dialect.statement.sqlserver.ddl.
import org.junit.jupiter.api.Test;
import java.util.Arrays;
-import java.util.stream.Collectors;
import static org.hamcrest.CoreMatchers.instanceOf;
import static org.hamcrest.CoreMatchers.is;
@@ -72,6 +71,5 @@ class DropTableStatementContextTest {
when(dropTableStatement.getTables()).thenReturn(Arrays.asList(table1,
table2));
assertThat(actual, instanceOf(CommonSQLStatementContext.class));
assertThat(actual.getSqlStatement(), is(dropTableStatement));
- assertThat(actual.getSimpleTables().stream().map(each ->
each.getTableName().getIdentifier().getValue()).collect(Collectors.toList()),
is(Arrays.asList("tbl_1", "tbl_2")));
}
}
diff --git
a/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/context/statement/ddl/PrepareStatementContextTest.java
b/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/context/statement/ddl/PrepareStatementContextTest.java
index a497cf3bb8a..f1afa9f302a 100644
---
a/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/context/statement/ddl/PrepareStatementContextTest.java
+++
b/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/context/statement/ddl/PrepareStatementContextTest.java
@@ -69,7 +69,7 @@ class PrepareStatementContextTest {
PrepareStatementContext actual = new
PrepareStatementContext(prepareStatement);
assertThat(actual, instanceOf(CommonSQLStatementContext.class));
assertThat(actual.getSqlStatement(), is(prepareStatement));
- assertThat(actual.getSimpleTables().stream().map(each ->
each.getTableName().getIdentifier().getValue()).collect(Collectors.toList()),
+
assertThat(actual.getTablesContext().getSimpleTables().stream().map(each ->
each.getTableName().getIdentifier().getValue()).collect(Collectors.toList()),
is(Arrays.asList("tbl_1", "tbl_1", "tbl_1", "tbl_1")));
}
diff --git
a/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/context/statement/ddl/TruncateStatementContextTest.java
b/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/context/statement/ddl/TruncateStatementContextTest.java
index 47670e98d83..e58b3552b88 100644
---
a/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/context/statement/ddl/TruncateStatementContextTest.java
+++
b/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/context/statement/ddl/TruncateStatementContextTest.java
@@ -66,6 +66,6 @@ class TruncateStatementContextTest {
TruncateStatementContext actual = new
TruncateStatementContext(truncateStatement);
assertThat(actual, instanceOf(CommonSQLStatementContext.class));
assertThat(actual.getSqlStatement(), is(truncateStatement));
- assertThat(actual.getSimpleTables().stream().map(each ->
each.getTableName().getIdentifier().getValue()).collect(Collectors.toList()),
is(Arrays.asList("tbl_1", "tbl_2")));
+
assertThat(actual.getTablesContext().getSimpleTables().stream().map(each ->
each.getTableName().getIdentifier().getValue()).collect(Collectors.toList()),
is(Arrays.asList("tbl_1", "tbl_2")));
}
}
diff --git
a/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/context/statement/dml/DeleteStatementContextTest.java
b/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/context/statement/dml/DeleteStatementContextTest.java
index 8c8702147a2..171d6dc4501 100644
---
a/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/context/statement/dml/DeleteStatementContextTest.java
+++
b/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/context/statement/dml/DeleteStatementContextTest.java
@@ -87,6 +87,6 @@ class DeleteStatementContextTest {
DeleteStatementContext actual = new
DeleteStatementContext(deleteStatement);
assertThat(actual.getTablesContext().getTableNames(), is(new
HashSet<>(Arrays.asList("tbl_1", "tbl_2"))));
assertThat(actual.getWhereSegments(),
is(Collections.singletonList(whereSegment)));
- assertThat(actual.getSimpleTables().stream().map(each ->
each.getTableName().getIdentifier().getValue()).collect(Collectors.toList()),
is(Arrays.asList("tbl_1", "tbl_2")));
+
assertThat(actual.getTablesContext().getSimpleTables().stream().map(each ->
each.getTableName().getIdentifier().getValue()).collect(Collectors.toList()),
is(Arrays.asList("tbl_1", "tbl_2")));
}
}
diff --git
a/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/context/statement/dml/InsertStatementContextTest.java
b/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/context/statement/dml/InsertStatementContextTest.java
index 02ede0d9bb4..8e1a9dc58c4 100644
---
a/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/context/statement/dml/InsertStatementContextTest.java
+++
b/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/context/statement/dml/InsertStatementContextTest.java
@@ -195,8 +195,8 @@ class InsertStatementContextTest {
private void assertInsertStatementContext(final InsertStatementContext
actual) {
assertThat(actual.getTablesContext().getTableNames(), is(new
HashSet<>(Collections.singleton("tbl"))));
- assertThat(actual.getSimpleTables().size(), is(1));
- SimpleTableSegment simpleTableSegment =
actual.getSimpleTables().iterator().next();
+ assertThat(actual.getTablesContext().getSimpleTables().size(), is(1));
+ SimpleTableSegment simpleTableSegment =
actual.getTablesContext().getSimpleTables().iterator().next();
assertThat(simpleTableSegment.getTableName().getStartIndex(), is(0));
assertThat(simpleTableSegment.getTableName().getStopIndex(), is(0));
assertThat(simpleTableSegment.getTableName().getIdentifier().getValue(),
is("tbl"));
diff --git
a/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/context/statement/dml/SelectStatementContextTest.java
b/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/context/statement/dml/SelectStatementContextTest.java
index dfe17d10bba..576ba073e47 100644
---
a/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/context/statement/dml/SelectStatementContextTest.java
+++
b/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/context/statement/dml/SelectStatementContextTest.java
@@ -404,7 +404,7 @@ class SelectStatementContextTest {
selectStatement.setProjections(new ProjectionsSegment(0, 0));
SelectStatementContext actual = new
SelectStatementContext(createShardingSphereMetaData(database),
Collections.emptyList(), selectStatement, DefaultDatabase.LOGIC_NAME);
assertThat(actual.getTablesContext().getTableNames(),
is(Collections.emptySet()));
- assertThat(actual.getSimpleTables(), is(Collections.emptyList()));
+ assertThat(actual.getTablesContext().getSimpleTables(),
is(Collections.emptyList()));
assertThat(actual.getGroupByContext().getItems(),
is(Collections.emptyList()));
assertThat(actual.getWhereSegments(),
is(Collections.singletonList(whereSegment)));
}
diff --git
a/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/context/statement/dml/UpdateStatementContextTest.java
b/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/context/statement/dml/UpdateStatementContextTest.java
index 4ec830005d3..bf53d5e1c14 100644
---
a/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/context/statement/dml/UpdateStatementContextTest.java
+++
b/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/context/statement/dml/UpdateStatementContextTest.java
@@ -69,6 +69,7 @@ class UpdateStatementContextTest {
UpdateStatementContext actual = new
UpdateStatementContext(updateStatement);
assertThat(actual.getTablesContext().getTableNames(), is(new
HashSet<>(Arrays.asList("tbl_1", "tbl_2"))));
assertThat(actual.getWhereSegments(),
is(Collections.singletonList(whereSegment)));
- assertThat(actual.getSimpleTables().stream().map(each ->
each.getTableName().getIdentifier().getValue()).collect(Collectors.toList()),
is(Arrays.asList("tbl_1", "tbl_2", "tbl_2")));
+
assertThat(actual.getTablesContext().getSimpleTables().stream().map(each ->
each.getTableName().getIdentifier().getValue()).collect(Collectors.toList()),
+ is(Arrays.asList("tbl_1", "tbl_2", "tbl_2")));
}
}
diff --git
a/infra/rewrite/src/main/java/org/apache/shardingsphere/infra/rewrite/sql/token/generator/generic/RemoveTokenGenerator.java
b/infra/rewrite/src/main/java/org/apache/shardingsphere/infra/rewrite/sql/token/generator/generic/RemoveTokenGenerator.java
index 45e91e98132..023c25b5ce0 100644
---
a/infra/rewrite/src/main/java/org/apache/shardingsphere/infra/rewrite/sql/token/generator/generic/RemoveTokenGenerator.java
+++
b/infra/rewrite/src/main/java/org/apache/shardingsphere/infra/rewrite/sql/token/generator/generic/RemoveTokenGenerator.java
@@ -76,7 +76,7 @@ public final class RemoveTokenGenerator implements
CollectionSQLTokenGenerator<S
private Collection<RemoveToken> generateTableAvailableSQLTokens(final
TableAvailable tableAvailable) {
Collection<RemoveToken> result = new LinkedList<>();
- for (SimpleTableSegment each : tableAvailable.getSimpleTables()) {
+ for (SimpleTableSegment each :
tableAvailable.getTablesContext().getSimpleTables()) {
if (!each.getOwner().isPresent()) {
continue;
}
diff --git
a/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/metadata/generator/PipelineDDLGenerator.java
b/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/metadata/generator/PipelineDDLGenerator.java
index 90c3c82f2ce..27a61ef4cc9 100644
---
a/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/metadata/generator/PipelineDDLGenerator.java
+++
b/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/metadata/generator/PipelineDDLGenerator.java
@@ -152,7 +152,7 @@ public final class PipelineDDLGenerator {
}
private void appendFromTable(final Map<SQLSegment, String> replaceMap,
final String targetTableName, final TableAvailable sqlStatementContext) {
- for (SimpleTableSegment each : sqlStatementContext.getSimpleTables()) {
+ for (SimpleTableSegment each :
sqlStatementContext.getTablesContext().getSimpleTables()) {
if
(!targetTableName.equals(each.getTableName().getIdentifier().getValue())) {
replaceMap.put(each.getTableName(), targetTableName);
}
diff --git
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/ProxySQLExecutor.java
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/ProxySQLExecutor.java
index 825ca28b8e4..15a8692688e 100644
---
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/ProxySQLExecutor.java
+++
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/ProxySQLExecutor.java
@@ -156,8 +156,8 @@ public final class ProxySQLExecutor {
}
private String getTableName(final ExecutionContext executionContext) {
- return executionContext.getSqlStatementContext() instanceof
TableAvailable && !((TableAvailable)
executionContext.getSqlStatementContext()).getSimpleTables().isEmpty()
- ? ((TableAvailable)
executionContext.getSqlStatementContext()).getSimpleTables().iterator().next().getTableName().getIdentifier().getValue()
+ return executionContext.getSqlStatementContext() instanceof
TableAvailable && !((TableAvailable)
executionContext.getSqlStatementContext()).getTablesContext().getSimpleTables().isEmpty()
+ ? ((TableAvailable)
executionContext.getSqlStatementContext()).getTablesContext().getSimpleTables().iterator().next().getTableName().getIdentifier().getValue()
: "unknown_table";
}
diff --git
a/proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/converter/type/HBaseRegionReloadOperationConverter.java
b/proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/converter/type/HBaseRegionReloadOperationConverter.java
index e5ea1e157e2..e3bda6c32ff 100644
---
a/proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/converter/type/HBaseRegionReloadOperationConverter.java
+++
b/proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/converter/type/HBaseRegionReloadOperationConverter.java
@@ -19,7 +19,6 @@ package
org.apache.shardingsphere.proxy.backend.hbase.converter.type;
import lombok.RequiredArgsConstructor;
import
org.apache.shardingsphere.infra.binder.context.statement.SQLStatementContext;
-import
org.apache.shardingsphere.infra.binder.context.statement.dal.FlushStatementContext;
import org.apache.shardingsphere.proxy.backend.hbase.bean.HBaseOperation;
import
org.apache.shardingsphere.proxy.backend.hbase.converter.HBaseOperationConverter;
import
org.apache.shardingsphere.proxy.backend.hbase.converter.operation.HBaseRegionReloadOperation;
@@ -37,7 +36,7 @@ public final class HBaseRegionReloadOperationConverter
implements HBaseOperation
@Override
public HBaseOperation convert() {
- List<String> tables = ((FlushStatementContext)
sqlStatementContext).getSimpleTables().stream().map(each ->
each.getTableName().getIdentifier().getValue()).collect(Collectors.toList());
+ List<String> tables =
sqlStatementContext.getTablesContext().getSimpleTables().stream().map(each ->
each.getTableName().getIdentifier().getValue()).collect(Collectors.toList());
return new HBaseOperation(String.join(",", tables), new
HBaseRegionReloadOperation());
}
}