You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by ji...@apache.org on 2023/05/15 15:57:52 UTC
[shardingsphere] branch master updated: Remove generic type of SQLStatementContext (#25682)
This is an automated email from the ASF dual-hosted git repository.
jianglongtao 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 60715c5ab89 Remove generic type of SQLStatementContext (#25682)
60715c5ab89 is described below
commit 60715c5ab892c34a1cc5ae619816ab4dfc8d4bd0
Author: Liang Zhang <zh...@apache.org>
AuthorDate: Mon May 15 23:57:35 2023 +0800
Remove generic type of SQLStatementContext (#25682)
* Remove generic type of SQLStatementContext
* Fix compile error
---
.../core/advice/SQLRouteCountAdviceTest.java | 8 +++----
.../merge/EncryptResultDecoratorEngine.java | 2 +-
.../merge/dal/EncryptDALResultDecorator.java | 4 ++--
.../DecoratedEncryptShowColumnsMergedResult.java | 2 +-
...ecoratedEncryptShowCreateTableMergedResult.java | 2 +-
.../dal/show/EncryptShowColumnsMergedResult.java | 2 +-
.../show/EncryptShowCreateTableMergedResult.java | 2 +-
.../show/MergedEncryptShowColumnsMergedResult.java | 2 +-
.../MergedEncryptShowCreateTableMergedResult.java | 2 +-
.../merge/dql/EncryptDQLResultDecorator.java | 4 ++--
.../rewrite/condition/EncryptConditionEngine.java | 2 +-
.../context/EncryptSQLRewriteContextDecorator.java | 5 ++---
.../parameter/EncryptParameterRewriterBuilder.java | 2 +-
.../EncryptAssignmentParameterRewriter.java | 6 ++---
...OnDuplicateKeyUpdateValueParameterRewriter.java | 2 +-
.../EncryptInsertValueParameterRewriter.java | 2 +-
.../EncryptPredicateParameterRewriter.java | 6 ++---
.../rewrite/token/EncryptTokenGenerateBuilder.java | 2 +-
...stQueryAndPlainInsertColumnsTokenGenerator.java | 2 +-
.../generator/EncryptAlterTableTokenGenerator.java | 2 +-
.../generator/EncryptAssignmentTokenGenerator.java | 6 ++---
.../EncryptCreateTableTokenGenerator.java | 2 +-
...ptForUseDefaultInsertColumnsTokenGenerator.java | 2 +-
.../EncryptIndexColumnTokenGenerator.java | 6 ++---
.../EncryptInsertOnUpdateTokenGenerator.java | 2 +-
.../EncryptInsertValuesTokenGenerator.java | 2 +-
.../EncryptOrderByItemTokenGenerator.java | 10 ++++-----
.../EncryptPredicateColumnTokenGenerator.java | 6 ++---
.../EncryptPredicateRightValueTokenGenerator.java | 6 ++---
.../generator/EncryptProjectionTokenGenerator.java | 6 ++---
.../generator/InsertCipherNameTokenGenerator.java | 2 +-
.../merge/EncryptResultDecoratorEngineTest.java | 3 +--
.../merge/dal/EncryptDALResultDecoratorTest.java | 8 +++----
.../EncryptParameterRewriterBuilderTest.java | 2 +-
.../mask/merge/MaskResultDecoratorEngine.java | 2 +-
.../mask/merge/dql/MaskDQLResultDecorator.java | 4 ++--
.../route/ReadwriteSplittingDataSourceRouter.java | 2 +-
...ualifiedReadwriteSplittingDataSourceRouter.java | 2 +-
...dReadwriteSplittingPrimaryDataSourceRouter.java | 12 +++++-----
...riteSplittingTransactionalDataSourceRouter.java | 2 +-
.../route/ReadwriteSplittingSQLRouterTest.java | 7 +++---
...dwriteSplittingPrimaryDataSourceRouterTest.java | 3 +--
.../impl/ShadowNonDMLStatementRoutingEngine.java | 2 +-
.../route/engine/ShadowRouteEngineFactoryTest.java | 8 +++----
.../ShadowNonDMLStatementRoutingEngineTest.java | 2 +-
.../sharding/spi/ShardingAuditAlgorithm.java | 2 +-
...MLShardingConditionsShardingAuditAlgorithm.java | 2 +-
.../sharding/auditor/ShardingSQLAuditor.java | 6 ++---
.../checker/ShardingRouteCacheableChecker.java | 8 +++----
.../decider/ShardingSQLFederationDecider.java | 2 +-
.../sharding/merge/ShardingResultMergerEngine.java | 2 +-
.../merge/dal/ShardingDALResultMerger.java | 2 +-
.../merge/dal/show/LogicTablesMergedResult.java | 4 ++--
.../dal/show/ShowCreateTableMergedResult.java | 2 +-
.../merge/dal/show/ShowIndexMergedResult.java | 4 ++--
.../dal/show/ShowTableStatusMergedResult.java | 4 ++--
.../merge/ddl/ShardingDDLResultMerger.java | 8 +++----
.../merge/dql/ShardingDQLResultMerger.java | 4 ++--
.../dql/groupby/GroupByMemoryMergedResult.java | 2 +-
.../ShardingParameterRewriterBuilder.java | 2 +-
...ngGeneratedKeyInsertValueParameterRewriter.java | 2 +-
.../impl/ShardingPaginationParameterRewriter.java | 2 +-
.../impl/AggregationDistinctTokenGenerator.java | 6 ++---
.../generator/impl/ConstraintTokenGenerator.java | 6 ++---
.../token/generator/impl/CursorTokenGenerator.java | 6 ++---
.../DistinctProjectionPrefixTokenGenerator.java | 2 +-
.../impl/FetchDirectionTokenGenerator.java | 6 ++---
.../token/generator/impl/IndexTokenGenerator.java | 6 ++---
.../token/generator/impl/OffsetTokenGenerator.java | 2 +-
.../generator/impl/OrderByTokenGenerator.java | 2 +-
.../generator/impl/RowCountTokenGenerator.java | 2 +-
.../impl/ShardingInsertValuesTokenGenerator.java | 2 +-
.../impl/ShardingRemoveTokenGenerator.java | 8 +++----
.../token/generator/impl/TableTokenGenerator.java | 9 ++++----
.../rewrite/token/pojo/ConstraintToken.java | 4 ++--
.../sharding/rewrite/token/pojo/CursorToken.java | 5 ++---
.../sharding/rewrite/token/pojo/IndexToken.java | 4 ++--
.../token/pojo/ShardingTokenGenerateBuilder.java | 2 +-
.../sharding/rewrite/token/pojo/TableToken.java | 4 ++--
.../sharding/rewrite/token/pojo/TokenUtils.java | 2 +-
.../route/engine/condition/ShardingConditions.java | 10 ++++-----
.../condition/engine/ShardingConditionEngine.java | 2 +-
.../engine/WhereClauseShardingConditionEngine.java | 2 +-
.../engine/type/ShardingRouteEngineFactory.java | 16 ++++++-------
.../ShardingTableBroadcastRoutingEngine.java | 2 +-
.../type/complex/ShardingComplexRoutingEngine.java | 2 +-
.../standard/ShardingStandardRoutingEngine.java | 4 ++--
.../type/unicast/ShardingUnicastRoutingEngine.java | 4 ++--
.../validator/ShardingStatementValidator.java | 9 +++-----
.../ddl/ShardingDDLStatementValidator.java | 5 +----
.../impl/ShardingAlterIndexStatementValidator.java | 11 ++++-----
.../impl/ShardingAlterTableStatementValidator.java | 10 ++++-----
.../impl/ShardingAlterViewStatementValidator.java | 13 ++++++-----
.../ShardingCreateFunctionStatementValidator.java | 11 ++++-----
.../ShardingCreateIndexStatementValidator.java | 13 ++++++-----
.../ShardingCreateProcedureStatementValidator.java | 11 ++++-----
.../ShardingCreateTableStatementValidator.java | 13 ++++++-----
.../impl/ShardingCreateViewStatementValidator.java | 21 ++++++++---------
.../impl/ShardingDropIndexStatementValidator.java | 16 +++++++------
.../impl/ShardingDropTableStatementValidator.java | 16 +++++++------
.../impl/ShardingPrepareStatementValidator.java | 7 +++---
.../ShardingRenameTableStatementValidator.java | 12 +++++-----
.../dml/ShardingDMLStatementValidator.java | 9 +++-----
.../dml/impl/ShardingCopyStatementValidator.java | 8 +++----
.../dml/impl/ShardingDeleteStatementValidator.java | 8 +++----
.../dml/impl/ShardingInsertStatementValidator.java | 20 +++++++++--------
.../impl/ShardingLoadDataStatementValidator.java | 8 +++----
.../impl/ShardingLoadXMLStatementValidator.java | 8 +++----
.../dml/impl/ShardingUpdateStatementValidator.java | 16 ++++++-------
.../shardingsphere/sharding/rule/ShardingRule.java | 2 +-
.../sharding/auditor/ShardingSQLAuditorTest.java | 2 +-
.../merge/ShardingResultMergerEngineTest.java | 4 ++--
.../merge/dal/ShardingDALResultMergerTest.java | 19 ++++++++--------
.../rewrite/token/TableTokenGeneratorTest.java | 8 +++----
.../rewrite/token/pojo/ConstraintTokenTest.java | 6 ++---
.../rewrite/token/pojo/TokenUtilsTest.java | 4 ++--
.../ShardingTableBroadcastRoutingEngineTest.java | 9 ++++----
.../ShardingStandardRoutingEngineTest.java | 2 +-
.../standard/assertion/ShardingRouteAssert.java | 2 +-
.../ShardingAlterTableStatementValidatorTest.java | 5 ++---
.../ShardingAlterViewStatementValidatorTest.java | 9 ++++----
...ardingCreateFunctionStatementValidatorTest.java | 9 ++++----
...rdingCreateProcedureStatementValidatorTest.java | 9 ++++----
.../ShardingCreateTableStatementValidatorTest.java | 4 ++--
.../ShardingDropTableStatementValidatorTest.java | 3 +--
.../ShardingRenameTableStatementValidatorTest.java | 13 +++++------
.../dml/ShardingInsertStatementValidatorTest.java | 24 ++++++++++----------
.../dml/ShardingUpdateStatementValidatorTest.java | 4 ++--
.../sharding/rule/ShardingRuleTest.java | 2 +-
.../infra/binder/SQLStatementContextFactory.java | 26 +++++++++++-----------
.../binder/decider/SQLFederationDecideEngine.java | 4 ++--
.../statement/CommonSQLStatementContext.java | 8 +++----
.../binder/statement/SQLStatementContext.java | 6 ++---
.../statement/UnknownSQLStatementContext.java | 6 ++---
.../dal/AnalyzeTableStatementContext.java | 7 +++++-
.../statement/dal/ExplainStatementContext.java | 7 +++++-
.../statement/dal/FlushStatementContext.java | 7 +++++-
.../binder/statement/dal/KillStatementContext.java | 7 +++++-
.../dal/OptimizeTableStatementContext.java | 7 +++++-
.../statement/dal/ShowColumnsStatementContext.java | 7 +++++-
.../dal/ShowCreateTableStatementContext.java | 7 +++++-
.../statement/dal/ShowIndexStatementContext.java | 7 +++++-
.../dal/ShowTableStatusStatementContext.java | 9 +++++---
.../statement/dal/ShowTablesStatementContext.java | 7 +++++-
.../statement/dcl/DenyUserStatementContext.java | 9 ++++++--
.../statement/dcl/GrantStatementContext.java | 9 ++++++--
.../statement/dcl/RevokeStatementContext.java | 9 ++++++--
.../statement/ddl/AlterIndexStatementContext.java | 7 +++++-
.../statement/ddl/AlterTableStatementContext.java | 7 +++++-
.../statement/ddl/AlterViewStatementContext.java | 7 +++++-
.../statement/ddl/CloseStatementContext.java | 7 +++++-
.../statement/ddl/CommentStatementContext.java | 7 +++++-
.../ddl/CreateDatabaseStatementContext.java | 9 +++++---
.../ddl/CreateFunctionStatementContext.java | 7 +++++-
.../statement/ddl/CreateIndexStatementContext.java | 7 +++++-
.../ddl/CreateProcedureStatementContext.java | 7 +++++-
.../ddl/CreateSchemaStatementContext.java | 7 +++++-
.../statement/ddl/CreateTableStatementContext.java | 7 +++++-
.../statement/ddl/CreateViewStatementContext.java | 7 +++++-
.../statement/ddl/CursorStatementContext.java | 7 +++++-
.../statement/ddl/DropIndexStatementContext.java | 7 +++++-
.../statement/ddl/DropTableStatementContext.java | 7 +++++-
.../statement/ddl/DropViewStatementContext.java | 7 +++++-
.../statement/ddl/FetchStatementContext.java | 7 +++++-
.../binder/statement/ddl/MoveStatementContext.java | 7 +++++-
.../statement/ddl/PrepareStatementContext.java | 7 +++++-
.../statement/ddl/RenameTableStatementContext.java | 7 +++++-
.../statement/ddl/TruncateStatementContext.java | 7 +++++-
.../binder/statement/dml/CallStatementContext.java | 7 +++++-
.../binder/statement/dml/CopyStatementContext.java | 7 +++++-
.../statement/dml/DeleteStatementContext.java | 7 +++++-
.../binder/statement/dml/DoStatementContext.java | 7 +++++-
.../statement/dml/InsertStatementContext.java | 17 +++++++++-----
.../statement/dml/LoadDataStatementContext.java | 7 +++++-
.../statement/dml/LoadXMLStatementContext.java | 7 +++++-
.../statement/dml/SelectStatementContext.java | 7 +++++-
.../statement/dml/UpdateStatementContext.java | 7 +++++-
.../statement/SQLStatementContextFactoryTest.java | 14 ++++++------
.../refresher/MetaDataRefreshEngine.java | 2 +-
.../connection/kernel/KernelProcessorTest.java | 8 +++----
.../infra/executor/audit/SQLAuditEngine.java | 2 +-
.../infra/executor/audit/SQLAuditor.java | 2 +-
.../executor/sql/context/ExecutionContext.java | 2 +-
.../sql/context/ExecutionContextBuilder.java | 6 ++---
.../shardingsphere/infra/merge/MergeEngine.java | 8 +++----
.../merge/engine/decorator/ResultDecorator.java | 4 ++--
.../engine/decorator/ResultDecoratorEngine.java | 2 +-
.../decorator/impl/TransparentResultDecorator.java | 4 ++--
.../infra/merge/engine/merger/ResultMerger.java | 2 +-
.../merge/engine/merger/ResultMergerEngine.java | 2 +-
.../merger/impl/TransparentResultMerger.java | 3 +--
.../result/impl/memory/MemoryMergedResult.java | 4 ++--
.../decorator/ResultDecoratorEngineFixture.java | 2 +-
.../fixture/decorator/ResultDecoratorFixture.java | 4 ++--
.../fixture/merger/ResultMergerEngineFixture.java | 2 +-
.../merge/fixture/merger/ResultMergerFixture.java | 2 +-
.../memory/fixture/TestMemoryMergedResult.java | 2 +-
.../infra/rewrite/SQLRewriteEntry.java | 6 ++---
.../infra/rewrite/context/SQLRewriteContext.java | 6 ++---
.../rewrite/engine/RouteSQLRewriteEngine.java | 2 +-
.../parameter/rewriter/ParameterRewriter.java | 4 ++--
.../generator/CollectionSQLTokenGenerator.java | 2 +-
.../sql/token/generator/SQLTokenGenerator.java | 2 +-
.../builder/DefaultTokenGeneratorBuilder.java | 2 +-
.../generator/generic/RemoveTokenGenerator.java | 2 +-
.../rewrite/context/SQLRewriteContextTest.java | 2 +-
.../token/generator/SQLTokenGeneratorsTest.java | 4 ++--
.../route/engine/impl/PartialSQLRouteExecutor.java | 4 ++--
.../engine/impl/PartialSQLRouteExecutorTest.java | 7 +++---
.../infra/session/query/QueryContext.java | 8 +++----
.../driver/executor/DriverJDBCExecutor.java | 6 ++---
.../batch/BatchPreparedStatementExecutor.java | 4 ++--
.../resultset/ShardingSphereResultSetMetaData.java | 2 +-
.../resultset/ShardingSphereResultSetUtils.java | 4 ++--
.../statement/ShardingSpherePreparedStatement.java | 2 +-
.../core/statement/ShardingSphereStatement.java | 14 ++++++------
.../batch/BatchPreparedStatementExecutorTest.java | 2 +-
.../metadata/generator/PipelineDDLGenerator.java | 8 +++----
.../single/decider/SingleSQLFederationDecider.java | 2 +-
.../single/route/SingleSQLRouter.java | 9 ++++----
.../route/validator/SingleMetaDataValidator.java | 7 ++----
.../ddl/SingleDropSchemaMetaDataValidator.java | 9 ++++----
.../validator/ddl/SingleDropTableValidator.java | 6 ++---
.../ddl/SingleDropSchemaMetaDataValidatorTest.java | 5 ++---
.../advanced/AdvancedSQLFederationExecutor.java | 2 +-
.../executor/FilterableTableScanExecutor.java | 2 +-
.../executor/TranslatableTableScanExecutor.java | 2 +-
.../proxy/backend/connector/DatabaseConnector.java | 14 ++++++------
.../connector/jdbc/executor/ProxyJDBCExecutor.java | 2 +-
.../backend/distsql/DistSQLStatementContext.java | 2 +-
.../handler/ProxyBackendHandlerFactory.java | 7 +++---
.../admin/DatabaseAdminBackendHandlerFactory.java | 6 ++---
.../executor/DatabaseAdminExecutorCreator.java | 4 ++--
.../data/DatabaseBackendHandlerFactory.java | 2 +-
.../handler/distsql/rul/sql/PreviewHandler.java | 4 ++--
.../TransactionBackendHandlerFactory.java | 4 ++--
.../handler/transaction/TransactionXAHandler.java | 7 +++---
.../backend/session/ServerPreparedStatement.java | 2 +-
.../connector/DatabaseConnectorFactoryTest.java | 4 ++--
.../backend/connector/DatabaseConnectorTest.java | 14 ++++++------
.../backend/connector/ProxySQLExecutorTest.java | 2 +-
.../data/DatabaseBackendHandlerFactoryTest.java | 10 ++++-----
.../TransactionBackendHandlerFactoryTest.java | 7 +++---
.../ServerPreparedStatementRegistryTest.java | 2 +-
.../converter/HBaseOperationConverterFactory.java | 2 +-
.../type/HBaseDeleteOperationConverter.java | 2 +-
.../type/HBaseInsertOperationConverter.java | 2 +-
.../type/HBaseRegionReloadOperationConverter.java | 2 +-
.../type/HBaseSelectOperationConverter.java | 2 +-
.../type/HBaseUpdateOperationConverter.java | 2 +-
.../hbase/handler/HBaseBackendQueryHandler.java | 2 +-
.../hbase/handler/HBaseBackendUpdateHandler.java | 2 +-
.../hbase/result/query/HBaseDescribeResultSet.java | 2 +-
.../hbase/result/query/HBaseGetResultSet.java | 4 ++--
.../hbase/result/query/HBaseListResultSet.java | 2 +-
.../hbase/result/query/HBaseQueryResultSet.java | 2 +-
.../HBaseOperationConverterFactoryTest.java | 10 ++++-----
.../type/HBaseDeleteOperationConverterTest.java | 4 ++--
.../type/HBaseUpdateOperationConverterTest.java | 4 ++--
.../handler/admin/MySQLAdminExecutorCreator.java | 4 ++--
.../admin/MySQLSetVariableAdminExecutor.java | 2 +-
.../executor/UnicastResourceShowExecutor.java | 2 +-
.../admin/OpenGaussAdminExecutorCreator.java | 6 ++---
.../admin/OpenGaussAdminExecutorCreatorTest.java | 2 +-
.../admin/OpenGaussAdminExecutorFactoryTest.java | 6 ++---
.../admin/PostgreSQLAdminExecutorCreator.java | 4 ++--
.../admin/PostgreSQLAdminExecutorCreatorTest.java | 8 +++----
.../query/binary/MySQLServerPreparedStatement.java | 2 +-
.../execute/MySQLComStmtExecuteExecutor.java | 2 +-
.../prepare/MySQLComStmtPrepareExecutor.java | 10 ++++-----
.../fieldlist/MySQLComFieldListPacketExecutor.java | 2 +-
.../text/query/MySQLMultiStatementsHandler.java | 2 +-
.../command/MySQLCommandPacketFactoryTest.java | 4 +---
.../execute/MySQLComStmtExecuteExecutorTest.java | 6 ++---
.../postgresql/command/query/extended/Portal.java | 2 +-
.../PostgreSQLBatchedStatementsExecutor.java | 8 +++----
.../PostgreSQLServerPreparedStatement.java | 2 +-
.../describe/PostgreSQLComDescribeExecutor.java | 2 +-
.../extended/parse/PostgreSQLComParseExecutor.java | 2 +-
.../command/query/extended/PortalTest.java | 9 ++++----
.../bind/PostgreSQLComBindExecutorTest.java | 2 +-
.../fixture/ITShardingAuditAlgorithmFixture.java | 2 +-
.../test/it/rewrite/engine/SQLRewriterIT.java | 2 +-
283 files changed, 863 insertions(+), 685 deletions(-)
diff --git a/agent/plugins/metrics/core/src/test/java/org/apache/shardingsphere/agent/plugin/metrics/core/advice/SQLRouteCountAdviceTest.java b/agent/plugins/metrics/core/src/test/java/org/apache/shardingsphere/agent/plugin/metrics/core/advice/SQLRouteCountAdviceTest.java
index 8df5936c1e5..dfcb51d5663 100644
--- a/agent/plugins/metrics/core/src/test/java/org/apache/shardingsphere/agent/plugin/metrics/core/advice/SQLRouteCountAdviceTest.java
+++ b/agent/plugins/metrics/core/src/test/java/org/apache/shardingsphere/agent/plugin/metrics/core/advice/SQLRouteCountAdviceTest.java
@@ -52,25 +52,25 @@ class SQLRouteCountAdviceTest {
@Test
void assertInsertRoute() {
- QueryContext queryContext = new QueryContext(new UnknownSQLStatementContext<>(new MySQLInsertStatement()), "", Collections.emptyList());
+ QueryContext queryContext = new QueryContext(new UnknownSQLStatementContext(new MySQLInsertStatement()), "", Collections.emptyList());
assertRoute(queryContext, "INSERT=1");
}
@Test
void assertUpdateRoute() {
- QueryContext queryContext = new QueryContext(new UnknownSQLStatementContext<>(new MySQLUpdateStatement()), "", Collections.emptyList());
+ QueryContext queryContext = new QueryContext(new UnknownSQLStatementContext(new MySQLUpdateStatement()), "", Collections.emptyList());
assertRoute(queryContext, "UPDATE=1");
}
@Test
void assertDeleteRoute() {
- QueryContext queryContext = new QueryContext(new UnknownSQLStatementContext<>(new MySQLDeleteStatement()), "", Collections.emptyList());
+ QueryContext queryContext = new QueryContext(new UnknownSQLStatementContext(new MySQLDeleteStatement()), "", Collections.emptyList());
assertRoute(queryContext, "DELETE=1");
}
@Test
void assertSelectRoute() {
- QueryContext queryContext = new QueryContext(new UnknownSQLStatementContext<>(new MySQLSelectStatement()), "", Collections.emptyList());
+ QueryContext queryContext = new QueryContext(new UnknownSQLStatementContext(new MySQLSelectStatement()), "", Collections.emptyList());
assertRoute(queryContext, "SELECT=1");
}
diff --git a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/merge/EncryptResultDecoratorEngine.java b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/merge/EncryptResultDecoratorEngine.java
index 925574d3e9c..d4695da3fa8 100644
--- a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/merge/EncryptResultDecoratorEngine.java
+++ b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/merge/EncryptResultDecoratorEngine.java
@@ -38,7 +38,7 @@ public final class EncryptResultDecoratorEngine implements ResultDecoratorEngine
@Override
public ResultDecorator<?> newInstance(final ShardingSphereDatabase database,
- final EncryptRule encryptRule, final ConfigurationProperties props, final SQLStatementContext<?> sqlStatementContext) {
+ final EncryptRule encryptRule, final ConfigurationProperties props, final SQLStatementContext sqlStatementContext) {
if (sqlStatementContext instanceof SelectStatementContext) {
EncryptAlgorithmMetaData algorithmMetaData = new EncryptAlgorithmMetaData(database, encryptRule, (SelectStatementContext) sqlStatementContext);
return new EncryptDQLResultDecorator(algorithmMetaData);
diff --git a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/merge/dal/EncryptDALResultDecorator.java b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/merge/dal/EncryptDALResultDecorator.java
index d30bf8e2c1d..8470d20f651 100644
--- a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/merge/dal/EncryptDALResultDecorator.java
+++ b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/merge/dal/EncryptDALResultDecorator.java
@@ -38,7 +38,7 @@ import org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.dal.MySQ
public final class EncryptDALResultDecorator implements ResultDecorator<EncryptRule> {
@Override
- public MergedResult decorate(final QueryResult queryResult, final SQLStatementContext<?> sqlStatementContext, final EncryptRule rule) {
+ public MergedResult decorate(final QueryResult queryResult, final SQLStatementContext sqlStatementContext, final EncryptRule rule) {
SQLStatement sqlStatement = sqlStatementContext.getSqlStatement();
if (sqlStatement instanceof MySQLExplainStatement || sqlStatement instanceof MySQLShowColumnsStatement) {
return new MergedEncryptShowColumnsMergedResult(queryResult, sqlStatementContext, rule);
@@ -50,7 +50,7 @@ public final class EncryptDALResultDecorator implements ResultDecorator<EncryptR
}
@Override
- public MergedResult decorate(final MergedResult mergedResult, final SQLStatementContext<?> sqlStatementContext, final EncryptRule rule) {
+ public MergedResult decorate(final MergedResult mergedResult, final SQLStatementContext sqlStatementContext, final EncryptRule rule) {
SQLStatement sqlStatement = sqlStatementContext.getSqlStatement();
if (sqlStatement instanceof MySQLExplainStatement || sqlStatement instanceof MySQLShowColumnsStatement) {
return new DecoratedEncryptShowColumnsMergedResult(mergedResult, sqlStatementContext, rule);
diff --git a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/merge/dal/show/DecoratedEncryptShowColumnsMergedResult.java b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/merge/dal/show/DecoratedEncryptShowColumnsMergedResult.java
index e2aec390c81..b73dbcc1809 100644
--- a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/merge/dal/show/DecoratedEncryptShowColumnsMergedResult.java
+++ b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/merge/dal/show/DecoratedEncryptShowColumnsMergedResult.java
@@ -30,7 +30,7 @@ public final class DecoratedEncryptShowColumnsMergedResult extends EncryptShowCo
private final MergedResult mergedResult;
- public DecoratedEncryptShowColumnsMergedResult(final MergedResult mergedResult, final SQLStatementContext<?> sqlStatementContext, final EncryptRule encryptRule) {
+ public DecoratedEncryptShowColumnsMergedResult(final MergedResult mergedResult, final SQLStatementContext sqlStatementContext, final EncryptRule encryptRule) {
super(sqlStatementContext, encryptRule);
this.mergedResult = mergedResult;
}
diff --git a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/merge/dal/show/DecoratedEncryptShowCreateTableMergedResult.java b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/merge/dal/show/DecoratedEncryptShowCreateTableMergedResult.java
index 23f6ff30439..475a4cf839d 100644
--- a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/merge/dal/show/DecoratedEncryptShowCreateTableMergedResult.java
+++ b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/merge/dal/show/DecoratedEncryptShowCreateTableMergedResult.java
@@ -30,7 +30,7 @@ public final class DecoratedEncryptShowCreateTableMergedResult extends EncryptSh
private final MergedResult mergedResult;
- public DecoratedEncryptShowCreateTableMergedResult(final MergedResult mergedResult, final SQLStatementContext<?> sqlStatementContext, final EncryptRule encryptRule) {
+ public DecoratedEncryptShowCreateTableMergedResult(final MergedResult mergedResult, final SQLStatementContext sqlStatementContext, final EncryptRule encryptRule) {
super(sqlStatementContext, encryptRule);
this.mergedResult = mergedResult;
}
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 8f058d36eff..a49054fece7 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
@@ -42,7 +42,7 @@ public abstract class EncryptShowColumnsMergedResult implements MergedResult {
private final EncryptRule encryptRule;
- protected EncryptShowColumnsMergedResult(final SQLStatementContext<?> sqlStatementContext, final EncryptRule encryptRule) {
+ protected EncryptShowColumnsMergedResult(final SQLStatementContext sqlStatementContext, final EncryptRule encryptRule) {
ShardingSpherePreconditions.checkState(sqlStatementContext instanceof TableAvailable && 1 == ((TableAvailable) sqlStatementContext).getAllTables().size(),
() -> new UnsupportedEncryptSQLException("SHOW COLUMNS FOR MULTI TABLE"));
tableName = ((TableAvailable) sqlStatementContext).getAllTables().iterator().next().getTableName().getIdentifier().getValue();
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 901f9e1e415..d8c4d210527 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
@@ -48,7 +48,7 @@ public abstract class EncryptShowCreateTableMergedResult implements MergedResult
private final EncryptRule encryptRule;
- protected EncryptShowCreateTableMergedResult(final SQLStatementContext<?> sqlStatementContext, final EncryptRule encryptRule) {
+ protected EncryptShowCreateTableMergedResult(final SQLStatementContext sqlStatementContext, final EncryptRule encryptRule) {
ShardingSpherePreconditions.checkState(sqlStatementContext instanceof TableAvailable && 1 == ((TableAvailable) sqlStatementContext).getAllTables().size(),
() -> new UnsupportedEncryptSQLException("SHOW CREATE TABLE FOR MULTI TABLE"));
tableName = ((TableAvailable) sqlStatementContext).getAllTables().iterator().next().getTableName().getIdentifier().getValue();
diff --git a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/merge/dal/show/MergedEncryptShowColumnsMergedResult.java b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/merge/dal/show/MergedEncryptShowColumnsMergedResult.java
index 6198fe106ba..57ac2d87880 100644
--- a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/merge/dal/show/MergedEncryptShowColumnsMergedResult.java
+++ b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/merge/dal/show/MergedEncryptShowColumnsMergedResult.java
@@ -30,7 +30,7 @@ public final class MergedEncryptShowColumnsMergedResult extends EncryptShowColum
private final QueryResult queryResult;
- public MergedEncryptShowColumnsMergedResult(final QueryResult queryResult, final SQLStatementContext<?> sqlStatementContext, final EncryptRule encryptRule) {
+ public MergedEncryptShowColumnsMergedResult(final QueryResult queryResult, final SQLStatementContext sqlStatementContext, final EncryptRule encryptRule) {
super(sqlStatementContext, encryptRule);
this.queryResult = queryResult;
}
diff --git a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/merge/dal/show/MergedEncryptShowCreateTableMergedResult.java b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/merge/dal/show/MergedEncryptShowCreateTableMergedResult.java
index 6c7d51026a8..6c42fc701a0 100644
--- a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/merge/dal/show/MergedEncryptShowCreateTableMergedResult.java
+++ b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/merge/dal/show/MergedEncryptShowCreateTableMergedResult.java
@@ -30,7 +30,7 @@ public final class MergedEncryptShowCreateTableMergedResult extends EncryptShowC
private final QueryResult queryResult;
- public MergedEncryptShowCreateTableMergedResult(final QueryResult queryResult, final SQLStatementContext<?> sqlStatementContext, final EncryptRule encryptRule) {
+ public MergedEncryptShowCreateTableMergedResult(final QueryResult queryResult, final SQLStatementContext sqlStatementContext, final EncryptRule encryptRule) {
super(sqlStatementContext, encryptRule);
this.queryResult = queryResult;
}
diff --git a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/merge/dql/EncryptDQLResultDecorator.java b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/merge/dql/EncryptDQLResultDecorator.java
index 043ffb79602..b4f20a50b16 100644
--- a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/merge/dql/EncryptDQLResultDecorator.java
+++ b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/merge/dql/EncryptDQLResultDecorator.java
@@ -34,12 +34,12 @@ public final class EncryptDQLResultDecorator implements ResultDecorator<EncryptR
private final EncryptAlgorithmMetaData metaData;
@Override
- public MergedResult decorate(final QueryResult queryResult, final SQLStatementContext<?> sqlStatementContext, final EncryptRule rule) {
+ public MergedResult decorate(final QueryResult queryResult, final SQLStatementContext sqlStatementContext, final EncryptRule rule) {
return new EncryptMergedResult(metaData, new TransparentMergedResult(queryResult));
}
@Override
- public MergedResult decorate(final MergedResult mergedResult, final SQLStatementContext<?> sqlStatementContext, final EncryptRule rule) {
+ public MergedResult decorate(final MergedResult mergedResult, final SQLStatementContext sqlStatementContext, final EncryptRule rule) {
return new EncryptMergedResult(metaData, mergedResult);
}
}
diff --git a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/condition/EncryptConditionEngine.java b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/condition/EncryptConditionEngine.java
index 413590a6c71..135f4e097b1 100644
--- a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/condition/EncryptConditionEngine.java
+++ b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/condition/EncryptConditionEngine.java
@@ -89,7 +89,7 @@ public final class EncryptConditionEngine {
* @return encrypt conditions
*/
public Collection<EncryptCondition> createEncryptConditions(final Collection<WhereSegment> whereSegments, final Collection<ColumnSegment> columnSegments,
- final SQLStatementContext<?> sqlStatementContext, final String databaseName) {
+ final SQLStatementContext sqlStatementContext, final String databaseName) {
Collection<EncryptCondition> result = new LinkedList<>();
String defaultSchema = DatabaseTypeEngine.getDefaultSchemaName(sqlStatementContext.getDatabaseType(), databaseName);
ShardingSphereSchema schema = sqlStatementContext.getTablesContext().getSchemaName().map(schemas::get).orElseGet(() -> schemas.get(defaultSchema));
diff --git a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/context/EncryptSQLRewriteContextDecorator.java b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/context/EncryptSQLRewriteContextDecorator.java
index d3f28e3370d..f511dcccdb5 100644
--- a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/context/EncryptSQLRewriteContextDecorator.java
+++ b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/context/EncryptSQLRewriteContextDecorator.java
@@ -45,7 +45,7 @@ public final class EncryptSQLRewriteContextDecorator implements SQLRewriteContex
@SuppressWarnings("rawtypes")
@Override
public void decorate(final EncryptRule encryptRule, final ConfigurationProperties props, final SQLRewriteContext sqlRewriteContext, final RouteContext routeContext) {
- SQLStatementContext<?> sqlStatementContext = sqlRewriteContext.getSqlStatementContext();
+ SQLStatementContext sqlStatementContext = sqlRewriteContext.getSqlStatementContext();
if (!containsEncryptTable(encryptRule, sqlStatementContext)) {
return;
}
@@ -61,7 +61,7 @@ public final class EncryptSQLRewriteContextDecorator implements SQLRewriteContex
}
private Collection<EncryptCondition> createEncryptConditions(final EncryptRule encryptRule, final SQLRewriteContext sqlRewriteContext) {
- SQLStatementContext<?> sqlStatementContext = sqlRewriteContext.getSqlStatementContext();
+ SQLStatementContext sqlStatementContext = sqlRewriteContext.getSqlStatementContext();
if (!(sqlStatementContext instanceof WhereAvailable)) {
return Collections.emptyList();
}
@@ -71,7 +71,6 @@ public final class EncryptSQLRewriteContextDecorator implements SQLRewriteContex
.createEncryptConditions(whereSegments, columnSegments, sqlStatementContext, sqlRewriteContext.getDatabaseName());
}
- @SuppressWarnings("rawtypes")
private boolean containsEncryptTable(final EncryptRule encryptRule, final SQLStatementContext sqlStatementContext) {
for (String each : sqlStatementContext.getTablesContext().getTableNames()) {
if (encryptRule.findEncryptTable(each).isPresent()) {
diff --git a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/parameter/EncryptParameterRewriterBuilder.java b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/parameter/EncryptParameterRewriterBuilder.java
index 046760569ed..33a87e502c9 100644
--- a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/parameter/EncryptParameterRewriterBuilder.java
+++ b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/parameter/EncryptParameterRewriterBuilder.java
@@ -49,7 +49,7 @@ public final class EncryptParameterRewriterBuilder implements ParameterRewriterB
private final Map<String, ShardingSphereSchema> schemas;
- private final SQLStatementContext<?> sqlStatementContext;
+ private final SQLStatementContext sqlStatementContext;
private final Collection<EncryptCondition> encryptConditions;
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 d52a0744ce3..b07c908b268 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
@@ -49,14 +49,14 @@ import java.util.Optional;
* Assignment parameter rewriter for encrypt.
*/
@Setter
-public final class EncryptAssignmentParameterRewriter implements ParameterRewriter<SQLStatementContext<?>>, EncryptRuleAware, DatabaseNameAware {
+public final class EncryptAssignmentParameterRewriter implements ParameterRewriter<SQLStatementContext>, EncryptRuleAware, DatabaseNameAware {
private EncryptRule encryptRule;
private String databaseName;
@Override
- public boolean isNeedRewrite(final SQLStatementContext<?> sqlStatementContext) {
+ public boolean isNeedRewrite(final SQLStatementContext sqlStatementContext) {
if (sqlStatementContext instanceof UpdateStatementContext) {
return true;
}
@@ -67,7 +67,7 @@ public final class EncryptAssignmentParameterRewriter implements ParameterRewrit
}
@Override
- public void rewrite(final ParameterBuilder paramBuilder, final SQLStatementContext<?> sqlStatementContext, final List<Object> params) {
+ public void rewrite(final ParameterBuilder paramBuilder, final SQLStatementContext sqlStatementContext, final List<Object> params) {
String tableName = ((TableAvailable) sqlStatementContext).getAllTables().iterator().next().getTableName().getIdentifier().getValue();
String schemaName = sqlStatementContext.getTablesContext().getSchemaName().orElseGet(() -> DatabaseTypeEngine.getDefaultSchemaName(sqlStatementContext.getDatabaseType(), databaseName));
for (AssignmentSegment each : getSetAssignmentSegment(sqlStatementContext.getSqlStatement()).getAssignments()) {
diff --git a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/parameter/rewriter/EncryptInsertOnDuplicateKeyUpdateValueParameterRewriter.java b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/parameter/rewriter/EncryptInsertOnDuplicateKeyUpdateValueParameterRewriter.java
index 7b760345cc6..942533b2f81 100644
--- a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/parameter/rewriter/EncryptInsertOnDuplicateKeyUpdateValueParameterRewriter.java
+++ b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/parameter/rewriter/EncryptInsertOnDuplicateKeyUpdateValueParameterRewriter.java
@@ -53,7 +53,7 @@ public final class EncryptInsertOnDuplicateKeyUpdateValueParameterRewriter imple
private String databaseName;
@Override
- public boolean isNeedRewrite(final SQLStatementContext<?> sqlStatementContext) {
+ public boolean isNeedRewrite(final SQLStatementContext sqlStatementContext) {
return sqlStatementContext instanceof InsertStatementContext
&& InsertStatementHandler.getOnDuplicateKeyColumnsSegment(((InsertStatementContext) sqlStatementContext).getSqlStatement()).isPresent();
}
diff --git a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/parameter/rewriter/EncryptInsertValueParameterRewriter.java b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/parameter/rewriter/EncryptInsertValueParameterRewriter.java
index 57aa63b6196..a7a897333f9 100644
--- a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/parameter/rewriter/EncryptInsertValueParameterRewriter.java
+++ b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/parameter/rewriter/EncryptInsertValueParameterRewriter.java
@@ -58,7 +58,7 @@ public final class EncryptInsertValueParameterRewriter implements ParameterRewri
private String databaseName;
@Override
- public boolean isNeedRewrite(final SQLStatementContext<?> sqlStatementContext) {
+ public boolean isNeedRewrite(final SQLStatementContext sqlStatementContext) {
return sqlStatementContext instanceof InsertStatementContext && !InsertStatementHandler.getSetAssignmentSegment(((InsertStatementContext) sqlStatementContext).getSqlStatement()).isPresent()
&& null == ((InsertStatementContext) sqlStatementContext).getInsertSelectContext();
}
diff --git a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/parameter/rewriter/EncryptPredicateParameterRewriter.java b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/parameter/rewriter/EncryptPredicateParameterRewriter.java
index 34356c887f7..ef63b7f0810 100644
--- a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/parameter/rewriter/EncryptPredicateParameterRewriter.java
+++ b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/parameter/rewriter/EncryptPredicateParameterRewriter.java
@@ -40,7 +40,7 @@ import java.util.Map.Entry;
* Predicate parameter rewriter for encrypt.
*/
@Setter
-public final class EncryptPredicateParameterRewriter implements ParameterRewriter<SQLStatementContext<?>>, EncryptRuleAware, EncryptConditionsAware, DatabaseNameAware {
+public final class EncryptPredicateParameterRewriter implements ParameterRewriter<SQLStatementContext>, EncryptRuleAware, EncryptConditionsAware, DatabaseNameAware {
private EncryptRule encryptRule;
@@ -49,12 +49,12 @@ public final class EncryptPredicateParameterRewriter implements ParameterRewrite
private String databaseName;
@Override
- public boolean isNeedRewrite(final SQLStatementContext<?> sqlStatementContext) {
+ public boolean isNeedRewrite(final SQLStatementContext sqlStatementContext) {
return sqlStatementContext instanceof WhereAvailable && !((WhereAvailable) sqlStatementContext).getWhereSegments().isEmpty();
}
@Override
- public void rewrite(final ParameterBuilder paramBuilder, final SQLStatementContext<?> sqlStatementContext, final List<Object> params) {
+ public void rewrite(final ParameterBuilder paramBuilder, final SQLStatementContext sqlStatementContext, final List<Object> params) {
String schemaName = sqlStatementContext.getTablesContext().getSchemaName().orElseGet(() -> DatabaseTypeEngine.getDefaultSchemaName(sqlStatementContext.getDatabaseType(), databaseName));
for (EncryptCondition each : encryptConditions) {
encryptParameters(paramBuilder, each.getPositionIndexMap(), getEncryptedValues(schemaName, each, each.getValues(params)));
diff --git a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/EncryptTokenGenerateBuilder.java b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/EncryptTokenGenerateBuilder.java
index e3cd0771f76..04ce3c58558 100644
--- a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/EncryptTokenGenerateBuilder.java
+++ b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/EncryptTokenGenerateBuilder.java
@@ -51,7 +51,7 @@ public final class EncryptTokenGenerateBuilder implements SQLTokenGeneratorBuild
private final EncryptRule encryptRule;
- private final SQLStatementContext<?> sqlStatementContext;
+ private final SQLStatementContext sqlStatementContext;
private final Collection<EncryptCondition> encryptConditions;
diff --git a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/AssistQueryAndPlainInsertColumnsTokenGenerator.java b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/AssistQueryAndPlainInsertColumnsTokenGenerator.java
index bb677cfa7d5..844a4fb6965 100644
--- a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/AssistQueryAndPlainInsertColumnsTokenGenerator.java
+++ b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/AssistQueryAndPlainInsertColumnsTokenGenerator.java
@@ -42,7 +42,7 @@ public final class AssistQueryAndPlainInsertColumnsTokenGenerator implements Col
private EncryptRule encryptRule;
@Override
- public boolean isGenerateSQLToken(final SQLStatementContext<?> sqlStatementContext) {
+ public boolean isGenerateSQLToken(final SQLStatementContext sqlStatementContext) {
return sqlStatementContext instanceof InsertStatementContext && ((InsertStatementContext) sqlStatementContext).containsInsertColumns();
}
diff --git a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/EncryptAlterTableTokenGenerator.java b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/EncryptAlterTableTokenGenerator.java
index 0713944ea50..26bf43603f1 100644
--- a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/EncryptAlterTableTokenGenerator.java
+++ b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/EncryptAlterTableTokenGenerator.java
@@ -56,7 +56,7 @@ public final class EncryptAlterTableTokenGenerator implements CollectionSQLToken
private EncryptRule encryptRule;
@Override
- public boolean isGenerateSQLToken(final SQLStatementContext<?> sqlStatementContext) {
+ public boolean isGenerateSQLToken(final SQLStatementContext sqlStatementContext) {
return sqlStatementContext instanceof AlterTableStatementContext;
}
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 59aa702c196..4e3e18cf521 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
@@ -49,20 +49,20 @@ import java.util.Optional;
* Assignment generator for encrypt.
*/
@Setter
-public final class EncryptAssignmentTokenGenerator implements CollectionSQLTokenGenerator<SQLStatementContext<?>>, EncryptRuleAware, DatabaseNameAware {
+public final class EncryptAssignmentTokenGenerator implements CollectionSQLTokenGenerator<SQLStatementContext>, EncryptRuleAware, DatabaseNameAware {
private EncryptRule encryptRule;
private String databaseName;
@Override
- public boolean isGenerateSQLToken(final SQLStatementContext<?> sqlStatementContext) {
+ public boolean isGenerateSQLToken(final SQLStatementContext sqlStatementContext) {
return sqlStatementContext instanceof UpdateStatementContext || sqlStatementContext instanceof InsertStatementContext
&& InsertStatementHandler.getSetAssignmentSegment(((InsertStatementContext) sqlStatementContext).getSqlStatement()).isPresent();
}
@Override
- public Collection<EncryptAssignmentToken> generateSQLTokens(final SQLStatementContext<?> sqlStatementContext) {
+ public Collection<EncryptAssignmentToken> generateSQLTokens(final SQLStatementContext sqlStatementContext) {
Collection<EncryptAssignmentToken> result = new LinkedList<>();
String tableName = ((TableAvailable) sqlStatementContext).getAllTables().iterator().next().getTableName().getIdentifier().getValue();
String schemaName = sqlStatementContext.getTablesContext().getSchemaName().orElseGet(() -> DatabaseTypeEngine.getDefaultSchemaName(sqlStatementContext.getDatabaseType(), databaseName));
diff --git a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/EncryptCreateTableTokenGenerator.java b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/EncryptCreateTableTokenGenerator.java
index d8264853cbf..c437cd7d927 100644
--- a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/EncryptCreateTableTokenGenerator.java
+++ b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/EncryptCreateTableTokenGenerator.java
@@ -46,7 +46,7 @@ public final class EncryptCreateTableTokenGenerator implements CollectionSQLToke
private EncryptRule encryptRule;
@Override
- public boolean isGenerateSQLToken(final SQLStatementContext<?> sqlStatementContext) {
+ public boolean isGenerateSQLToken(final SQLStatementContext sqlStatementContext) {
return sqlStatementContext instanceof CreateTableStatementContext && !(((CreateTableStatementContext) sqlStatementContext).getSqlStatement()).getColumnDefinitions().isEmpty();
}
diff --git a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/EncryptForUseDefaultInsertColumnsTokenGenerator.java b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/EncryptForUseDefaultInsertColumnsTokenGenerator.java
index ee2b06b58e9..7f115e215cc 100644
--- a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/EncryptForUseDefaultInsertColumnsTokenGenerator.java
+++ b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/EncryptForUseDefaultInsertColumnsTokenGenerator.java
@@ -48,7 +48,7 @@ public final class EncryptForUseDefaultInsertColumnsTokenGenerator implements Op
private EncryptRule encryptRule;
@Override
- public boolean isGenerateSQLToken(final SQLStatementContext<?> sqlStatementContext) {
+ public boolean isGenerateSQLToken(final SQLStatementContext sqlStatementContext) {
return sqlStatementContext instanceof InsertStatementContext && !((InsertStatementContext) sqlStatementContext).containsInsertColumns();
}
diff --git a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/EncryptIndexColumnTokenGenerator.java b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/EncryptIndexColumnTokenGenerator.java
index 42f45dff04e..9d44fe0cf1d 100644
--- a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/EncryptIndexColumnTokenGenerator.java
+++ b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/EncryptIndexColumnTokenGenerator.java
@@ -39,17 +39,17 @@ import java.util.Optional;
* Index column token generator for encrypt.
*/
@Setter
-public final class EncryptIndexColumnTokenGenerator implements CollectionSQLTokenGenerator<SQLStatementContext<?>>, EncryptRuleAware {
+public final class EncryptIndexColumnTokenGenerator implements CollectionSQLTokenGenerator<SQLStatementContext>, EncryptRuleAware {
private EncryptRule encryptRule;
@Override
- public boolean isGenerateSQLToken(final SQLStatementContext<?> sqlStatementContext) {
+ public boolean isGenerateSQLToken(final SQLStatementContext sqlStatementContext) {
return sqlStatementContext instanceof IndexAvailable;
}
@Override
- public Collection<SQLToken> generateSQLTokens(final SQLStatementContext<?> sqlStatementContext) {
+ public Collection<SQLToken> generateSQLTokens(final SQLStatementContext sqlStatementContext) {
Preconditions.checkArgument(sqlStatementContext instanceof IndexAvailable, "SQLStatementContext must implementation IndexAvailable interface.");
if (sqlStatementContext.getTablesContext().getTableNames().isEmpty()) {
return Collections.emptyList();
diff --git a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/EncryptInsertOnUpdateTokenGenerator.java b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/EncryptInsertOnUpdateTokenGenerator.java
index 20e66fdbda7..f78060ad58a 100644
--- a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/EncryptInsertOnUpdateTokenGenerator.java
+++ b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/EncryptInsertOnUpdateTokenGenerator.java
@@ -56,7 +56,7 @@ public final class EncryptInsertOnUpdateTokenGenerator implements CollectionSQLT
private String databaseName;
@Override
- public boolean isGenerateSQLToken(final SQLStatementContext<?> sqlStatementContext) {
+ public boolean isGenerateSQLToken(final SQLStatementContext sqlStatementContext) {
return sqlStatementContext instanceof InsertStatementContext
&& InsertStatementHandler.getOnDuplicateKeyColumnsSegment(((InsertStatementContext) sqlStatementContext).getSqlStatement()).isPresent();
}
diff --git a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/EncryptInsertValuesTokenGenerator.java b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/EncryptInsertValuesTokenGenerator.java
index 6d54474a1e3..24743ae17dd 100644
--- a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/EncryptInsertValuesTokenGenerator.java
+++ b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/EncryptInsertValuesTokenGenerator.java
@@ -64,7 +64,7 @@ public final class EncryptInsertValuesTokenGenerator implements OptionalSQLToken
private String databaseName;
@Override
- public boolean isGenerateSQLToken(final SQLStatementContext<?> sqlStatementContext) {
+ public boolean isGenerateSQLToken(final SQLStatementContext sqlStatementContext) {
return sqlStatementContext instanceof InsertStatementContext && !(((InsertStatementContext) sqlStatementContext).getSqlStatement()).getValues().isEmpty();
}
diff --git a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/EncryptOrderByItemTokenGenerator.java b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/EncryptOrderByItemTokenGenerator.java
index 5c1dd29ba4f..706974716ee 100644
--- a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/EncryptOrderByItemTokenGenerator.java
+++ b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/EncryptOrderByItemTokenGenerator.java
@@ -44,7 +44,7 @@ import java.util.Optional;
* Order by item token generator for encrypt.
*/
@Setter
-public final class EncryptOrderByItemTokenGenerator implements CollectionSQLTokenGenerator<SQLStatementContext<?>>, SchemaMetaDataAware, EncryptRuleAware {
+public final class EncryptOrderByItemTokenGenerator implements CollectionSQLTokenGenerator<SQLStatementContext>, SchemaMetaDataAware, EncryptRuleAware {
private String databaseName;
@@ -53,12 +53,12 @@ public final class EncryptOrderByItemTokenGenerator implements CollectionSQLToke
private EncryptRule encryptRule;
@Override
- public boolean isGenerateSQLToken(final SQLStatementContext<?> sqlStatementContext) {
+ public boolean isGenerateSQLToken(final SQLStatementContext sqlStatementContext) {
return sqlStatementContext instanceof SelectStatementContext && containsOrderByItem(sqlStatementContext);
}
@Override
- public Collection<SubstitutableColumnNameToken> generateSQLTokens(final SQLStatementContext<?> sqlStatementContext) {
+ public Collection<SubstitutableColumnNameToken> generateSQLTokens(final SQLStatementContext sqlStatementContext) {
Collection<SubstitutableColumnNameToken> result = new LinkedHashSet<>();
String defaultSchema = DatabaseTypeEngine.getDefaultSchemaName(sqlStatementContext.getDatabaseType(), databaseName);
ShardingSphereSchema schema = sqlStatementContext.getTablesContext().getSchemaName().map(schemas::get).orElseGet(() -> schemas.get(defaultSchema));
@@ -90,7 +90,7 @@ public final class EncryptOrderByItemTokenGenerator implements CollectionSQLToke
return result;
}
- private Collection<OrderByItem> getOrderByItems(final SQLStatementContext<?> sqlStatementContext) {
+ private Collection<OrderByItem> getOrderByItems(final SQLStatementContext sqlStatementContext) {
if (!(sqlStatementContext instanceof SelectStatementContext)) {
return Collections.emptyList();
}
@@ -104,7 +104,7 @@ public final class EncryptOrderByItemTokenGenerator implements CollectionSQLToke
return result;
}
- private boolean containsOrderByItem(final SQLStatementContext<?> sqlStatementContext) {
+ private boolean containsOrderByItem(final SQLStatementContext sqlStatementContext) {
if (!(sqlStatementContext instanceof SelectStatementContext)) {
return false;
}
diff --git a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/EncryptPredicateColumnTokenGenerator.java b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/EncryptPredicateColumnTokenGenerator.java
index 6cf92e4e379..04844621534 100644
--- a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/EncryptPredicateColumnTokenGenerator.java
+++ b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/EncryptPredicateColumnTokenGenerator.java
@@ -48,7 +48,7 @@ import java.util.Optional;
* Predicate column token generator for encrypt.
*/
@Setter
-public final class EncryptPredicateColumnTokenGenerator implements CollectionSQLTokenGenerator<SQLStatementContext<?>>, SchemaMetaDataAware, EncryptRuleAware {
+public final class EncryptPredicateColumnTokenGenerator implements CollectionSQLTokenGenerator<SQLStatementContext>, SchemaMetaDataAware, EncryptRuleAware {
private String databaseName;
@@ -57,12 +57,12 @@ public final class EncryptPredicateColumnTokenGenerator implements CollectionSQL
private EncryptRule encryptRule;
@Override
- public boolean isGenerateSQLToken(final SQLStatementContext<?> sqlStatementContext) {
+ public boolean isGenerateSQLToken(final SQLStatementContext sqlStatementContext) {
return sqlStatementContext instanceof WhereAvailable && !((WhereAvailable) sqlStatementContext).getWhereSegments().isEmpty();
}
@Override
- public Collection<SubstitutableColumnNameToken> generateSQLTokens(final SQLStatementContext<?> sqlStatementContext) {
+ public Collection<SubstitutableColumnNameToken> generateSQLTokens(final SQLStatementContext sqlStatementContext) {
Collection<ColumnSegment> columnSegments = Collections.emptyList();
Collection<WhereSegment> whereSegments = Collections.emptyList();
if (sqlStatementContext instanceof WhereAvailable) {
diff --git a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/EncryptPredicateRightValueTokenGenerator.java b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/EncryptPredicateRightValueTokenGenerator.java
index c958035f8af..91a67f8fee1 100644
--- a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/EncryptPredicateRightValueTokenGenerator.java
+++ b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/EncryptPredicateRightValueTokenGenerator.java
@@ -51,7 +51,7 @@ import java.util.Optional;
@Setter
public final class EncryptPredicateRightValueTokenGenerator
implements
- CollectionSQLTokenGenerator<SQLStatementContext<?>>,
+ CollectionSQLTokenGenerator<SQLStatementContext>,
ParametersAware,
EncryptConditionsAware,
EncryptRuleAware,
@@ -66,12 +66,12 @@ public final class EncryptPredicateRightValueTokenGenerator
private String databaseName;
@Override
- public boolean isGenerateSQLToken(final SQLStatementContext<?> sqlStatementContext) {
+ public boolean isGenerateSQLToken(final SQLStatementContext sqlStatementContext) {
return sqlStatementContext instanceof WhereAvailable && !((WhereAvailable) sqlStatementContext).getWhereSegments().isEmpty();
}
@Override
- public Collection<SQLToken> generateSQLTokens(final SQLStatementContext<?> sqlStatementContext) {
+ public Collection<SQLToken> generateSQLTokens(final SQLStatementContext sqlStatementContext) {
Collection<SQLToken> result = new LinkedHashSet<>();
String schemaName = sqlStatementContext.getTablesContext().getSchemaName().orElseGet(() -> DatabaseTypeEngine.getDefaultSchemaName(sqlStatementContext.getDatabaseType(), databaseName));
for (EncryptCondition each : encryptConditions) {
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 9a7ada20926..d44bf8c2a48 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
@@ -51,7 +51,7 @@ import java.util.Optional;
* Projection token generator for encrypt.
*/
@Setter
-public final class EncryptProjectionTokenGenerator implements CollectionSQLTokenGenerator<SQLStatementContext<?>>, PreviousSQLTokensAware, SchemaMetaDataAware, EncryptRuleAware {
+public final class EncryptProjectionTokenGenerator implements CollectionSQLTokenGenerator<SQLStatementContext>, PreviousSQLTokensAware, SchemaMetaDataAware, EncryptRuleAware {
private List<SQLToken> previousSQLTokens;
@@ -62,12 +62,12 @@ public final class EncryptProjectionTokenGenerator implements CollectionSQLToken
private Map<String, ShardingSphereSchema> schemas;
@Override
- public boolean isGenerateSQLToken(final SQLStatementContext<?> sqlStatementContext) {
+ public boolean isGenerateSQLToken(final SQLStatementContext sqlStatementContext) {
return sqlStatementContext instanceof SelectStatementContext && !((SelectStatementContext) sqlStatementContext).getAllTables().isEmpty();
}
@Override
- public Collection<SubstitutableColumnNameToken> generateSQLTokens(final SQLStatementContext<?> sqlStatementContext) {
+ public Collection<SubstitutableColumnNameToken> generateSQLTokens(final SQLStatementContext sqlStatementContext) {
Preconditions.checkState(sqlStatementContext instanceof SelectStatementContext);
Collection<SubstitutableColumnNameToken> result = new LinkedHashSet<>();
SelectStatementContext selectStatementContext = (SelectStatementContext) sqlStatementContext;
diff --git a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/InsertCipherNameTokenGenerator.java b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/InsertCipherNameTokenGenerator.java
index e9785491da6..767bada7925 100644
--- a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/InsertCipherNameTokenGenerator.java
+++ b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/InsertCipherNameTokenGenerator.java
@@ -44,7 +44,7 @@ public final class InsertCipherNameTokenGenerator implements CollectionSQLTokenG
private EncryptRule encryptRule;
@Override
- public boolean isGenerateSQLToken(final SQLStatementContext<?> sqlStatementContext) {
+ public boolean isGenerateSQLToken(final SQLStatementContext sqlStatementContext) {
if (!(sqlStatementContext instanceof InsertStatementContext)) {
return false;
}
diff --git a/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/merge/EncryptResultDecoratorEngineTest.java b/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/merge/EncryptResultDecoratorEngineTest.java
index 500e62f8c27..446a196bcb3 100644
--- a/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/merge/EncryptResultDecoratorEngineTest.java
+++ b/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/merge/EncryptResultDecoratorEngineTest.java
@@ -30,7 +30,6 @@ import org.apache.shardingsphere.infra.merge.engine.decorator.ResultDecorator;
import org.apache.shardingsphere.infra.merge.engine.decorator.impl.TransparentResultDecorator;
import org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
import org.apache.shardingsphere.infra.util.spi.type.ordered.OrderedSPILoader;
-import org.apache.shardingsphere.sql.parser.sql.common.statement.dal.ExplainStatement;
import org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.dal.MySQLExplainStatement;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
@@ -63,7 +62,7 @@ class EncryptResultDecoratorEngineTest {
@Test
void assertNewInstanceWithDALStatement() {
- SQLStatementContext<ExplainStatement> sqlStatementContext = mock(ExplainStatementContext.class);
+ SQLStatementContext sqlStatementContext = mock(ExplainStatementContext.class);
when(sqlStatementContext.getSqlStatement()).thenReturn(mock(MySQLExplainStatement.class));
EncryptResultDecoratorEngine engine = (EncryptResultDecoratorEngine) OrderedSPILoader.getServices(ResultProcessEngine.class, Collections.singleton(rule)).get(rule);
ResultDecorator<?> actual = engine.newInstance(database, rule, mock(ConfigurationProperties.class), sqlStatementContext);
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 2b89023d84e..c4fe955279e 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
@@ -54,7 +54,7 @@ class EncryptDALResultDecoratorTest {
private EncryptRule rule;
@Mock
- private SQLStatementContext<?> sqlStatementContext;
+ private SQLStatementContext sqlStatementContext;
@Test
void assertMergedResultWithDescribeStatement() {
@@ -88,7 +88,7 @@ class EncryptDALResultDecoratorTest {
assertThat(encryptDALResultDecorator.decorate(mock(MergedResult.class), sqlStatementContext, rule), instanceOf(MergedResult.class));
}
- private SQLStatementContext<?> getDescribeStatementContext() {
+ private SQLStatementContext getDescribeStatementContext() {
ExplainStatementContext result = mock(ExplainStatementContext.class);
SimpleTableSegment simpleTableSegment = getSimpleTableSegment();
when(result.getAllTables()).thenReturn(Collections.singleton(simpleTableSegment));
@@ -96,7 +96,7 @@ class EncryptDALResultDecoratorTest {
return result;
}
- private SQLStatementContext<?> getShowColumnsStatementContext() {
+ private SQLStatementContext getShowColumnsStatementContext() {
ShowColumnsStatementContext result = mock(ShowColumnsStatementContext.class);
SimpleTableSegment simpleTableSegment = getSimpleTableSegment();
when(result.getAllTables()).thenReturn(Collections.singleton(simpleTableSegment));
@@ -104,7 +104,7 @@ class EncryptDALResultDecoratorTest {
return result;
}
- private SQLStatementContext<?> getShowCreateTableStatementContext() {
+ private SQLStatementContext getShowCreateTableStatementContext() {
ShowCreateTableStatementContext result = mock(ShowCreateTableStatementContext.class);
SimpleTableSegment simpleTableSegment = getSimpleTableSegment();
when(result.getAllTables()).thenReturn(Collections.singleton(simpleTableSegment));
diff --git a/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/rewrite/parameter/EncryptParameterRewriterBuilderTest.java b/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/rewrite/parameter/EncryptParameterRewriterBuilderTest.java
index 143ba798422..9c9a15b32aa 100644
--- a/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/rewrite/parameter/EncryptParameterRewriterBuilderTest.java
+++ b/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/rewrite/parameter/EncryptParameterRewriterBuilderTest.java
@@ -43,7 +43,7 @@ class EncryptParameterRewriterBuilderTest {
void assertGetParameterRewritersWhenPredicateIsNeedRewrite() {
EncryptRule encryptRule = mock(EncryptRule.class, RETURNS_DEEP_STUBS);
when(encryptRule.findEncryptTable("t_order").isPresent()).thenReturn(true);
- SQLStatementContext<?> sqlStatementContext = mock(SelectStatementContext.class, RETURNS_DEEP_STUBS);
+ SQLStatementContext sqlStatementContext = mock(SelectStatementContext.class, RETURNS_DEEP_STUBS);
when(sqlStatementContext.getTablesContext().getTableNames()).thenReturn(Collections.singletonList("t_order"));
@SuppressWarnings("rawtypes")
Collection<ParameterRewriter> actual = new EncryptParameterRewriterBuilder(
diff --git a/features/mask/core/src/main/java/org/apache/shardingsphere/mask/merge/MaskResultDecoratorEngine.java b/features/mask/core/src/main/java/org/apache/shardingsphere/mask/merge/MaskResultDecoratorEngine.java
index acc3bc1e414..a70e0c575f5 100644
--- a/features/mask/core/src/main/java/org/apache/shardingsphere/mask/merge/MaskResultDecoratorEngine.java
+++ b/features/mask/core/src/main/java/org/apache/shardingsphere/mask/merge/MaskResultDecoratorEngine.java
@@ -36,7 +36,7 @@ public final class MaskResultDecoratorEngine implements ResultDecoratorEngine<Ma
@Override
public ResultDecorator<?> newInstance(final ShardingSphereDatabase database, final MaskRule maskRule,
- final ConfigurationProperties props, final SQLStatementContext<?> sqlStatementContext) {
+ final ConfigurationProperties props, final SQLStatementContext sqlStatementContext) {
if (sqlStatementContext instanceof SelectStatementContext) {
MaskAlgorithmMetaData algorithmMetaData = new MaskAlgorithmMetaData(database, maskRule, (SelectStatementContext) sqlStatementContext);
return new MaskDQLResultDecorator(algorithmMetaData);
diff --git a/features/mask/core/src/main/java/org/apache/shardingsphere/mask/merge/dql/MaskDQLResultDecorator.java b/features/mask/core/src/main/java/org/apache/shardingsphere/mask/merge/dql/MaskDQLResultDecorator.java
index 00b9ce45cbc..8dd863dd781 100644
--- a/features/mask/core/src/main/java/org/apache/shardingsphere/mask/merge/dql/MaskDQLResultDecorator.java
+++ b/features/mask/core/src/main/java/org/apache/shardingsphere/mask/merge/dql/MaskDQLResultDecorator.java
@@ -34,12 +34,12 @@ public final class MaskDQLResultDecorator implements ResultDecorator<MaskRule> {
private final MaskAlgorithmMetaData metaData;
@Override
- public MergedResult decorate(final QueryResult queryResult, final SQLStatementContext<?> sqlStatementContext, final MaskRule rule) {
+ public MergedResult decorate(final QueryResult queryResult, final SQLStatementContext sqlStatementContext, final MaskRule rule) {
return new MaskMergedResult(metaData, new TransparentMergedResult(queryResult));
}
@Override
- public MergedResult decorate(final MergedResult mergedResult, final SQLStatementContext<?> sqlStatementContext, final MaskRule rule) {
+ public MergedResult decorate(final MergedResult mergedResult, final SQLStatementContext sqlStatementContext, final MaskRule rule) {
return new MaskMergedResult(metaData, mergedResult);
}
}
diff --git a/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/route/ReadwriteSplittingDataSourceRouter.java b/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/route/ReadwriteSplittingDataSourceRouter.java
index eea1ddd856f..1957f6cd6f3 100644
--- a/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/route/ReadwriteSplittingDataSourceRouter.java
+++ b/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/route/ReadwriteSplittingDataSourceRouter.java
@@ -45,7 +45,7 @@ public final class ReadwriteSplittingDataSourceRouter {
* @param sqlStatementContext SQL statement context
* @return data source name
*/
- public String route(final SQLStatementContext<?> sqlStatementContext) {
+ public String route(final SQLStatementContext sqlStatementContext) {
for (QualifiedReadwriteSplittingDataSourceRouter each : getQualifiedRouters(connectionContext)) {
if (each.isQualified(sqlStatementContext, rule)) {
return each.route(rule);
diff --git a/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/route/qualified/QualifiedReadwriteSplittingDataSourceRouter.java b/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/route/qualified/QualifiedReadwriteSplittingDataSourceRouter.java
index 9992f28744b..f3b277cba4d 100644
--- a/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/route/qualified/QualifiedReadwriteSplittingDataSourceRouter.java
+++ b/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/route/qualified/QualifiedReadwriteSplittingDataSourceRouter.java
@@ -32,7 +32,7 @@ public interface QualifiedReadwriteSplittingDataSourceRouter {
* @param rule readwrite splitting datasource rule
* @return qualified to route or not
*/
- boolean isQualified(SQLStatementContext<?> sqlStatementContext, ReadwriteSplittingDataSourceRule rule);
+ boolean isQualified(SQLStatementContext sqlStatementContext, ReadwriteSplittingDataSourceRule rule);
/**
* Route to data source.
diff --git a/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/route/qualified/type/QualifiedReadwriteSplittingPrimaryDataSourceRouter.java b/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/route/qualified/type/QualifiedReadwriteSplittingPrimaryDataSourceRouter.java
index 86c543844b4..5873098f949 100644
--- a/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/route/qualified/type/QualifiedReadwriteSplittingPrimaryDataSourceRouter.java
+++ b/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/route/qualified/type/QualifiedReadwriteSplittingPrimaryDataSourceRouter.java
@@ -33,15 +33,15 @@ import org.apache.shardingsphere.sql.parser.sql.dialect.handler.dml.SelectStatem
public final class QualifiedReadwriteSplittingPrimaryDataSourceRouter implements QualifiedReadwriteSplittingDataSourceRouter {
@Override
- public boolean isQualified(final SQLStatementContext<?> sqlStatementContext, final ReadwriteSplittingDataSourceRule rule) {
+ public boolean isQualified(final SQLStatementContext sqlStatementContext, final ReadwriteSplittingDataSourceRule rule) {
return isPrimaryRoute(sqlStatementContext);
}
- private boolean isPrimaryRoute(final SQLStatementContext<?> sqlStatementContext) {
+ private boolean isPrimaryRoute(final SQLStatementContext sqlStatementContext) {
return isWriteRouteStatement(sqlStatementContext) || isHintWriteRouteOnly(sqlStatementContext);
}
- private boolean isWriteRouteStatement(final SQLStatementContext<?> sqlStatementContext) {
+ private boolean isWriteRouteStatement(final SQLStatementContext sqlStatementContext) {
SQLStatement sqlStatement = sqlStatementContext.getSqlStatement();
return containsLockSegment(sqlStatement) || containsLastInsertIdProjection(sqlStatementContext) || !(sqlStatement instanceof SelectStatement);
}
@@ -50,12 +50,12 @@ public final class QualifiedReadwriteSplittingPrimaryDataSourceRouter implements
return sqlStatement instanceof SelectStatement && SelectStatementHandler.getLockSegment((SelectStatement) sqlStatement).isPresent();
}
- private boolean containsLastInsertIdProjection(final SQLStatementContext<?> sqlStatementContext) {
+ private boolean containsLastInsertIdProjection(final SQLStatementContext sqlStatementContext) {
return sqlStatementContext instanceof SelectStatementContext && ((SelectStatementContext) sqlStatementContext).getProjectionsContext().isContainsLastInsertIdProjection();
}
- private boolean isHintWriteRouteOnly(final SQLStatementContext<?> sqlStatementContext) {
- return HintManager.isWriteRouteOnly() || sqlStatementContext instanceof CommonSQLStatementContext && ((CommonSQLStatementContext<?>) sqlStatementContext).isHintWriteRouteOnly();
+ private boolean isHintWriteRouteOnly(final SQLStatementContext sqlStatementContext) {
+ return HintManager.isWriteRouteOnly() || sqlStatementContext instanceof CommonSQLStatementContext && ((CommonSQLStatementContext) sqlStatementContext).isHintWriteRouteOnly();
}
@Override
diff --git a/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/route/qualified/type/QualifiedReadwriteSplittingTransactionalDataSourceRouter.java b/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/route/qualified/type/QualifiedReadwriteSplittingTransactionalDataSourceRouter.java
index 219ae664625..d5ce2692091 100644
--- a/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/route/qualified/type/QualifiedReadwriteSplittingTransactionalDataSourceRouter.java
+++ b/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/route/qualified/type/QualifiedReadwriteSplittingTransactionalDataSourceRouter.java
@@ -35,7 +35,7 @@ public final class QualifiedReadwriteSplittingTransactionalDataSourceRouter impl
private final StandardReadwriteSplittingDataSourceRouter standardRouter = new StandardReadwriteSplittingDataSourceRouter();
@Override
- public boolean isQualified(final SQLStatementContext<?> sqlStatementContext, final ReadwriteSplittingDataSourceRule rule) {
+ public boolean isQualified(final SQLStatementContext sqlStatementContext, final ReadwriteSplittingDataSourceRule rule) {
return connectionContext.getTransactionContext().isInTransaction();
}
diff --git a/features/readwrite-splitting/core/src/test/java/org/apache/shardingsphere/readwritesplitting/route/ReadwriteSplittingSQLRouterTest.java b/features/readwrite-splitting/core/src/test/java/org/apache/shardingsphere/readwritesplitting/route/ReadwriteSplittingSQLRouterTest.java
index b8737c57f6f..0b0fbd4b0b2 100644
--- a/features/readwrite-splitting/core/src/test/java/org/apache/shardingsphere/readwritesplitting/route/ReadwriteSplittingSQLRouterTest.java
+++ b/features/readwrite-splitting/core/src/test/java/org/apache/shardingsphere/readwritesplitting/route/ReadwriteSplittingSQLRouterTest.java
@@ -17,12 +17,10 @@
package org.apache.shardingsphere.readwritesplitting.route;
-import org.apache.shardingsphere.infra.session.query.QueryContext;
import org.apache.shardingsphere.infra.binder.statement.CommonSQLStatementContext;
import org.apache.shardingsphere.infra.binder.statement.SQLStatementContext;
import org.apache.shardingsphere.infra.binder.statement.dml.SelectStatementContext;
import org.apache.shardingsphere.infra.config.props.ConfigurationProperties;
-import org.apache.shardingsphere.infra.session.connection.ConnectionContext;
import org.apache.shardingsphere.infra.database.DefaultDatabase;
import org.apache.shardingsphere.infra.database.type.DatabaseType;
import org.apache.shardingsphere.infra.instance.InstanceContext;
@@ -33,12 +31,13 @@ import org.apache.shardingsphere.infra.route.SQLRouter;
import org.apache.shardingsphere.infra.route.context.RouteContext;
import org.apache.shardingsphere.infra.route.context.RouteMapper;
import org.apache.shardingsphere.infra.route.context.RouteUnit;
+import org.apache.shardingsphere.infra.session.connection.ConnectionContext;
+import org.apache.shardingsphere.infra.session.query.QueryContext;
import org.apache.shardingsphere.infra.util.spi.type.ordered.OrderedSPILoader;
import org.apache.shardingsphere.readwritesplitting.api.ReadwriteSplittingRuleConfiguration;
import org.apache.shardingsphere.readwritesplitting.api.rule.ReadwriteSplittingDataSourceRuleConfiguration;
import org.apache.shardingsphere.readwritesplitting.rule.ReadwriteSplittingRule;
import org.apache.shardingsphere.sql.parser.sql.common.segment.dml.predicate.LockSegment;
-import org.apache.shardingsphere.sql.parser.sql.common.statement.SQLStatement;
import org.apache.shardingsphere.sql.parser.sql.common.statement.dml.InsertStatement;
import org.apache.shardingsphere.sql.parser.sql.common.statement.dml.SelectStatement;
import org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.dml.MySQLInsertStatement;
@@ -74,7 +73,7 @@ class ReadwriteSplittingSQLRouterTest {
private ReadwriteSplittingRule staticRule;
@Mock
- private CommonSQLStatementContext<SQLStatement> sqlStatementContext;
+ private CommonSQLStatementContext sqlStatementContext;
private ReadwriteSplittingSQLRouter sqlRouter;
diff --git a/features/readwrite-splitting/core/src/test/java/org/apache/shardingsphere/readwritesplitting/route/qualified/type/QualifiedReadwriteSplittingPrimaryDataSourceRouterTest.java b/features/readwrite-splitting/core/src/test/java/org/apache/shardingsphere/readwritesplitting/route/qualified/type/QualifiedReadwriteSplittingPrimaryDataSourceRouterTest.java
index 1ebea240012..b549b3cef97 100644
--- a/features/readwrite-splitting/core/src/test/java/org/apache/shardingsphere/readwritesplitting/route/qualified/type/QualifiedReadwriteSplittingPrimaryDataSourceRouterTest.java
+++ b/features/readwrite-splitting/core/src/test/java/org/apache/shardingsphere/readwritesplitting/route/qualified/type/QualifiedReadwriteSplittingPrimaryDataSourceRouterTest.java
@@ -19,7 +19,6 @@ package org.apache.shardingsphere.readwritesplitting.route.qualified.type;
import org.apache.shardingsphere.infra.binder.statement.CommonSQLStatementContext;
import org.apache.shardingsphere.sql.parser.sql.common.segment.dml.predicate.LockSegment;
-import org.apache.shardingsphere.sql.parser.sql.common.statement.SQLStatement;
import org.apache.shardingsphere.sql.parser.sql.common.statement.dml.SelectStatement;
import org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.dml.MySQLSelectStatement;
import org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.dml.MySQLUpdateStatement;
@@ -39,7 +38,7 @@ import static org.mockito.Mockito.when;
class QualifiedReadwriteSplittingPrimaryDataSourceRouterTest {
@Mock
- private CommonSQLStatementContext<SQLStatement> sqlStatementContext;
+ private CommonSQLStatementContext sqlStatementContext;
@Test
void assertWriteRouteStatement() {
diff --git a/features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/route/engine/impl/ShadowNonDMLStatementRoutingEngine.java b/features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/route/engine/impl/ShadowNonDMLStatementRoutingEngine.java
index e6ddc1a7a74..ae709c0d8c0 100644
--- a/features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/route/engine/impl/ShadowNonDMLStatementRoutingEngine.java
+++ b/features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/route/engine/impl/ShadowNonDMLStatementRoutingEngine.java
@@ -41,7 +41,7 @@ import java.util.stream.Collectors;
@RequiredArgsConstructor
public final class ShadowNonDMLStatementRoutingEngine implements ShadowRouteEngine {
- private final SQLStatementContext<?> sqlStatementContext;
+ private final SQLStatementContext sqlStatementContext;
@Override
public void route(final RouteContext routeContext, final ShadowRule shadowRule) {
diff --git a/features/shadow/core/src/test/java/org/apache/shardingsphere/shadow/route/engine/ShadowRouteEngineFactoryTest.java b/features/shadow/core/src/test/java/org/apache/shardingsphere/shadow/route/engine/ShadowRouteEngineFactoryTest.java
index 0928fb6d2cf..47572fa176a 100644
--- a/features/shadow/core/src/test/java/org/apache/shardingsphere/shadow/route/engine/ShadowRouteEngineFactoryTest.java
+++ b/features/shadow/core/src/test/java/org/apache/shardingsphere/shadow/route/engine/ShadowRouteEngineFactoryTest.java
@@ -55,25 +55,25 @@ class ShadowRouteEngineFactoryTest {
assertThat(shadowSelectRouteEngine, instanceOf(ShadowSelectStatementRoutingEngine.class));
}
- private SQLStatementContext<InsertStatement> createInsertSqlStatementContext() {
+ private SQLStatementContext createInsertSqlStatementContext() {
InsertStatementContext result = mock(InsertStatementContext.class, RETURNS_DEEP_STUBS);
when(result.getSqlStatement()).thenReturn(mock(InsertStatement.class));
return result;
}
- private SQLStatementContext<UpdateStatement> createUpdateSqlStatementContext() {
+ private SQLStatementContext createUpdateSqlStatementContext() {
UpdateStatementContext result = mock(UpdateStatementContext.class, RETURNS_DEEP_STUBS);
when(result.getSqlStatement()).thenReturn(mock(UpdateStatement.class));
return result;
}
- private SQLStatementContext<DeleteStatement> createDeleteSqlStatementContext() {
+ private SQLStatementContext createDeleteSqlStatementContext() {
DeleteStatementContext result = mock(DeleteStatementContext.class, RETURNS_DEEP_STUBS);
when(result.getSqlStatement()).thenReturn(mock(DeleteStatement.class));
return result;
}
- private SQLStatementContext<SelectStatement> createSelectSqlStatementContext() {
+ private SQLStatementContext createSelectSqlStatementContext() {
SelectStatementContext result = mock(SelectStatementContext.class, RETURNS_DEEP_STUBS);
when(result.getSqlStatement()).thenReturn(mock(SelectStatement.class));
return result;
diff --git a/features/shadow/core/src/test/java/org/apache/shardingsphere/shadow/route/engine/impl/ShadowNonDMLStatementRoutingEngineTest.java b/features/shadow/core/src/test/java/org/apache/shardingsphere/shadow/route/engine/impl/ShadowNonDMLStatementRoutingEngineTest.java
index ace0a5328de..59504dbb8a8 100644
--- a/features/shadow/core/src/test/java/org/apache/shardingsphere/shadow/route/engine/impl/ShadowNonDMLStatementRoutingEngineTest.java
+++ b/features/shadow/core/src/test/java/org/apache/shardingsphere/shadow/route/engine/impl/ShadowNonDMLStatementRoutingEngineTest.java
@@ -52,7 +52,7 @@ class ShadowNonDMLStatementRoutingEngineTest {
shadowRouteEngine = new ShadowNonDMLStatementRoutingEngine(createSQLStatementContext());
}
- private SQLStatementContext<?> createSQLStatementContext() {
+ private SQLStatementContext createSQLStatementContext() {
CreateTableStatementContext result = mock(CreateTableStatementContext.class);
MySQLCreateTableStatement sqlStatement = new MySQLCreateTableStatement(false);
sqlStatement.getCommentSegments().add(new CommentSegment("/* SHARDINGSPHERE_HINT: SHADOW=true */", 0, 20));
diff --git a/features/sharding/api/src/main/java/org/apache/shardingsphere/sharding/spi/ShardingAuditAlgorithm.java b/features/sharding/api/src/main/java/org/apache/shardingsphere/sharding/spi/ShardingAuditAlgorithm.java
index 740cc752c49..fbf120f772f 100644
--- a/features/sharding/api/src/main/java/org/apache/shardingsphere/sharding/spi/ShardingAuditAlgorithm.java
+++ b/features/sharding/api/src/main/java/org/apache/shardingsphere/sharding/spi/ShardingAuditAlgorithm.java
@@ -39,5 +39,5 @@ public interface ShardingAuditAlgorithm extends ShardingSphereAlgorithm {
* @param globalRuleMetaData global rule meta data
* @param database database
*/
- void check(SQLStatementContext<?> sqlStatementContext, List<Object> params, Grantee grantee, ShardingSphereRuleMetaData globalRuleMetaData, ShardingSphereDatabase database);
+ void check(SQLStatementContext sqlStatementContext, List<Object> params, Grantee grantee, ShardingSphereRuleMetaData globalRuleMetaData, ShardingSphereDatabase database);
}
diff --git a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/algorithm/audit/DMLShardingConditionsShardingAuditAlgorithm.java b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/algorithm/audit/DMLShardingConditionsShardingAuditAlgorithm.java
index b48e8ee5d98..a356efb0cbd 100644
--- a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/algorithm/audit/DMLShardingConditionsShardingAuditAlgorithm.java
+++ b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/algorithm/audit/DMLShardingConditionsShardingAuditAlgorithm.java
@@ -36,7 +36,7 @@ import java.util.List;
public final class DMLShardingConditionsShardingAuditAlgorithm implements ShardingAuditAlgorithm {
@Override
- public void check(final SQLStatementContext<?> sqlStatementContext, final List<Object> params,
+ public void check(final SQLStatementContext sqlStatementContext, final List<Object> params,
final Grantee grantee, final ShardingSphereRuleMetaData globalRuleMetaData, final ShardingSphereDatabase database) {
if (sqlStatementContext.getSqlStatement() instanceof DMLStatement) {
ShardingRule rule = database.getRuleMetaData().getSingleRule(ShardingRule.class);
diff --git a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/auditor/ShardingSQLAuditor.java b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/auditor/ShardingSQLAuditor.java
index 28023b3f5f2..f16c7ed7cf7 100644
--- a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/auditor/ShardingSQLAuditor.java
+++ b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/auditor/ShardingSQLAuditor.java
@@ -38,14 +38,14 @@ import java.util.List;
public final class ShardingSQLAuditor implements SQLAuditor<ShardingRule> {
@Override
- public void audit(final SQLStatementContext<?> sqlStatementContext, final List<Object> params, final Grantee grantee, final ShardingSphereRuleMetaData globalRuleMetaData,
+ public void audit(final SQLStatementContext sqlStatementContext, final List<Object> params, final Grantee grantee, final ShardingSphereRuleMetaData globalRuleMetaData,
final ShardingSphereDatabase database, final ShardingRule rule) {
Collection<ShardingAuditStrategyConfiguration> auditStrategies = getShardingAuditStrategies(sqlStatementContext, rule);
if (auditStrategies.isEmpty()) {
return;
}
Collection<String> disableAuditNames = sqlStatementContext instanceof CommonSQLStatementContext
- ? ((CommonSQLStatementContext<?>) sqlStatementContext).getSqlHintExtractor().findDisableAuditNames()
+ ? ((CommonSQLStatementContext) sqlStatementContext).getSqlHintExtractor().findDisableAuditNames()
: Collections.emptyList();
for (ShardingAuditStrategyConfiguration auditStrategy : auditStrategies) {
for (String auditorName : auditStrategy.getAuditorNames()) {
@@ -56,7 +56,7 @@ public final class ShardingSQLAuditor implements SQLAuditor<ShardingRule> {
}
}
- private Collection<ShardingAuditStrategyConfiguration> getShardingAuditStrategies(final SQLStatementContext<?> sqlStatementContext, final ShardingRule rule) {
+ private Collection<ShardingAuditStrategyConfiguration> getShardingAuditStrategies(final SQLStatementContext sqlStatementContext, final ShardingRule rule) {
Collection<String> tableNames = sqlStatementContext.getTablesContext().getTableNames();
Collection<ShardingAuditStrategyConfiguration> result = new ArrayList<>(tableNames.size());
for (String each : tableNames) {
diff --git a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/cache/checker/ShardingRouteCacheableChecker.java b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/cache/checker/ShardingRouteCacheableChecker.java
index 36bbe8f41c5..31eb67b43be 100644
--- a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/cache/checker/ShardingRouteCacheableChecker.java
+++ b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/cache/checker/ShardingRouteCacheableChecker.java
@@ -82,7 +82,7 @@ public final class ShardingRouteCacheableChecker {
}
private ShardingRouteCacheableCheckResult load(final Key key) {
- SQLStatementContext<?> sqlStatementContext = key.getSqlStatementContext();
+ SQLStatementContext sqlStatementContext = key.getSqlStatementContext();
ShardingRouteCacheableCheckResult result;
if (sqlStatementContext instanceof SelectStatementContext) {
result = checkSelectCacheable((SelectStatementContext) sqlStatementContext, key.getParameters(), key.getDatabase());
@@ -143,7 +143,7 @@ public final class ShardingRouteCacheableChecker {
return checkUpdateOrDeleteCacheable(statementContext, params, database);
}
- private ShardingRouteCacheableCheckResult checkUpdateOrDeleteCacheable(final SQLStatementContext<?> statementContext, final List<Object> params, final ShardingSphereDatabase database) {
+ private ShardingRouteCacheableCheckResult checkUpdateOrDeleteCacheable(final SQLStatementContext statementContext, final List<Object> params, final ShardingSphereDatabase database) {
Collection<String> tableNames = statementContext.getTablesContext().getTableNames();
boolean isShardingTable;
if (1 != tableNames.size() || (isShardingTable = shardingRule.isAllShardingTables(tableNames)) && containsNonCacheableShardingAlgorithm(tableNames)
@@ -218,11 +218,11 @@ public final class ShardingRouteCacheableChecker {
private final String sql;
- private final SQLStatementContext<?> sqlStatementContext;
+ private final SQLStatementContext sqlStatementContext;
private final List<Object> parameters;
- private Key(final ShardingSphereDatabase database, final String sql, final SQLStatementContext<?> sqlStatementContext, final List<Object> params) {
+ private Key(final ShardingSphereDatabase database, final String sql, final SQLStatementContext sqlStatementContext, final List<Object> params) {
this.database = database;
this.sql = sql;
this.sqlStatementContext = sqlStatementContext;
diff --git a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/decider/ShardingSQLFederationDecider.java b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/decider/ShardingSQLFederationDecider.java
index 5f4c25f62fe..61969da516e 100644
--- a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/decider/ShardingSQLFederationDecider.java
+++ b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/decider/ShardingSQLFederationDecider.java
@@ -68,7 +68,7 @@ public final class ShardingSQLFederationDecider implements SQLFederationDecider<
return result;
}
- private ShardingConditions getMergedShardingConditions(final SQLStatementContext<?> sqlStatementContext, final List<Object> parameters,
+ private ShardingConditions getMergedShardingConditions(final SQLStatementContext sqlStatementContext, final List<Object> parameters,
final ShardingSphereRuleMetaData globalRuleMetaData, final ShardingSphereDatabase database, final ShardingRule rule) {
List<ShardingCondition> shardingConditions = new ShardingConditionEngine(
globalRuleMetaData, database, rule).createShardingConditions(sqlStatementContext, parameters);
diff --git a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/merge/ShardingResultMergerEngine.java b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/merge/ShardingResultMergerEngine.java
index c1ed83869eb..41950db4b3b 100644
--- a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/merge/ShardingResultMergerEngine.java
+++ b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/merge/ShardingResultMergerEngine.java
@@ -39,7 +39,7 @@ public final class ShardingResultMergerEngine implements ResultMergerEngine<Shar
@Override
public ResultMerger newInstance(final String databaseName, final DatabaseType protocolType, final ShardingRule shardingRule, final ConfigurationProperties props,
- final SQLStatementContext<?> sqlStatementContext) {
+ final SQLStatementContext sqlStatementContext) {
if (sqlStatementContext instanceof SelectStatementContext) {
return new ShardingDQLResultMerger(protocolType);
}
diff --git a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/merge/dal/ShardingDALResultMerger.java b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/merge/dal/ShardingDALResultMerger.java
index 6875543c283..baa3ff23235 100644
--- a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/merge/dal/ShardingDALResultMerger.java
+++ b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/merge/dal/ShardingDALResultMerger.java
@@ -56,7 +56,7 @@ public final class ShardingDALResultMerger implements ResultMerger {
private final ShardingRule shardingRule;
@Override
- public MergedResult merge(final List<QueryResult> queryResults, final SQLStatementContext<?> sqlStatementContext,
+ public MergedResult merge(final List<QueryResult> queryResults, final SQLStatementContext sqlStatementContext,
final ShardingSphereDatabase database, final ConnectionContext connectionContext) throws SQLException {
SQLStatement dalStatement = sqlStatementContext.getSqlStatement();
if (dalStatement instanceof MySQLShowDatabasesStatement) {
diff --git a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/merge/dal/show/LogicTablesMergedResult.java b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/merge/dal/show/LogicTablesMergedResult.java
index 09c9ac9f8ec..908b1292072 100644
--- a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/merge/dal/show/LogicTablesMergedResult.java
+++ b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/merge/dal/show/LogicTablesMergedResult.java
@@ -39,13 +39,13 @@ import java.util.Set;
public class LogicTablesMergedResult extends MemoryMergedResult<ShardingRule> {
public LogicTablesMergedResult(final ShardingRule shardingRule,
- final SQLStatementContext<?> sqlStatementContext, final ShardingSphereSchema schema, final List<QueryResult> queryResults) throws SQLException {
+ final SQLStatementContext sqlStatementContext, final ShardingSphereSchema schema, final List<QueryResult> queryResults) throws SQLException {
super(shardingRule, schema, sqlStatementContext, queryResults);
}
@Override
protected final List<MemoryQueryResultRow> init(final ShardingRule shardingRule, final ShardingSphereSchema schema,
- final SQLStatementContext<?> sqlStatementContext, final List<QueryResult> queryResults) throws SQLException {
+ final SQLStatementContext sqlStatementContext, final List<QueryResult> queryResults) throws SQLException {
List<MemoryQueryResultRow> result = new LinkedList<>();
Set<String> tableNames = new HashSet<>();
for (QueryResult each : queryResults) {
diff --git a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/merge/dal/show/ShowCreateTableMergedResult.java b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/merge/dal/show/ShowCreateTableMergedResult.java
index 45a503e8481..b412c21edaa 100644
--- a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/merge/dal/show/ShowCreateTableMergedResult.java
+++ b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/merge/dal/show/ShowCreateTableMergedResult.java
@@ -39,7 +39,7 @@ import java.util.Optional;
public final class ShowCreateTableMergedResult extends LogicTablesMergedResult {
public ShowCreateTableMergedResult(final ShardingRule shardingRule,
- final SQLStatementContext<?> sqlStatementContext, final ShardingSphereSchema schema, final List<QueryResult> queryResults) throws SQLException {
+ final SQLStatementContext sqlStatementContext, final ShardingSphereSchema schema, final List<QueryResult> queryResults) throws SQLException {
super(shardingRule, sqlStatementContext, schema, queryResults);
}
diff --git a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/merge/dal/show/ShowIndexMergedResult.java b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/merge/dal/show/ShowIndexMergedResult.java
index 1adc7cedf10..68fe15febce 100644
--- a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/merge/dal/show/ShowIndexMergedResult.java
+++ b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/merge/dal/show/ShowIndexMergedResult.java
@@ -37,13 +37,13 @@ import java.util.Optional;
public final class ShowIndexMergedResult extends MemoryMergedResult<ShardingRule> {
public ShowIndexMergedResult(final ShardingRule shardingRule,
- final SQLStatementContext<?> sqlStatementContext, final ShardingSphereSchema schema, final List<QueryResult> queryResults) throws SQLException {
+ final SQLStatementContext sqlStatementContext, final ShardingSphereSchema schema, final List<QueryResult> queryResults) throws SQLException {
super(shardingRule, schema, sqlStatementContext, queryResults);
}
@Override
protected List<MemoryQueryResultRow> init(final ShardingRule shardingRule, final ShardingSphereSchema schema,
- final SQLStatementContext<?> sqlStatementContext, final List<QueryResult> queryResults) throws SQLException {
+ final SQLStatementContext sqlStatementContext, final List<QueryResult> queryResults) throws SQLException {
List<MemoryQueryResultRow> result = new LinkedList<>();
for (QueryResult each : queryResults) {
while (each.next()) {
diff --git a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/merge/dal/show/ShowTableStatusMergedResult.java b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/merge/dal/show/ShowTableStatusMergedResult.java
index 1f0261fc79c..af1ffeeb142 100644
--- a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/merge/dal/show/ShowTableStatusMergedResult.java
+++ b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/merge/dal/show/ShowTableStatusMergedResult.java
@@ -38,14 +38,14 @@ import java.util.Optional;
*/
public final class ShowTableStatusMergedResult extends MemoryMergedResult<ShardingRule> {
- public ShowTableStatusMergedResult(final ShardingRule shardingRule, final SQLStatementContext<?> sqlStatementContext,
+ public ShowTableStatusMergedResult(final ShardingRule shardingRule, final SQLStatementContext sqlStatementContext,
final ShardingSphereSchema schema, final List<QueryResult> queryResults) throws SQLException {
super(shardingRule, schema, sqlStatementContext, queryResults);
}
@Override
protected List<MemoryQueryResultRow> init(final ShardingRule shardingRule, final ShardingSphereSchema schema,
- final SQLStatementContext<?> sqlStatementContext, final List<QueryResult> queryResults) throws SQLException {
+ final SQLStatementContext sqlStatementContext, final List<QueryResult> queryResults) throws SQLException {
Map<String, MemoryQueryResultRow> memoryQueryResultRows = new LinkedHashMap<>();
for (QueryResult each : queryResults) {
while (each.next()) {
diff --git a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/merge/ddl/ShardingDDLResultMerger.java b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/merge/ddl/ShardingDDLResultMerger.java
index f433384cdf7..4bdb688a2dc 100644
--- a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/merge/ddl/ShardingDDLResultMerger.java
+++ b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/merge/ddl/ShardingDDLResultMerger.java
@@ -17,10 +17,8 @@
package org.apache.shardingsphere.sharding.merge.ddl;
-import lombok.RequiredArgsConstructor;
import org.apache.shardingsphere.infra.binder.statement.SQLStatementContext;
import org.apache.shardingsphere.infra.binder.statement.ddl.FetchStatementContext;
-import org.apache.shardingsphere.infra.session.connection.ConnectionContext;
import org.apache.shardingsphere.infra.database.type.DatabaseTypeEngine;
import org.apache.shardingsphere.infra.executor.sql.execute.result.query.QueryResult;
import org.apache.shardingsphere.infra.merge.engine.merger.ResultMerger;
@@ -28,6 +26,7 @@ import org.apache.shardingsphere.infra.merge.result.MergedResult;
import org.apache.shardingsphere.infra.merge.result.impl.transparent.TransparentMergedResult;
import org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
import org.apache.shardingsphere.infra.metadata.database.schema.model.ShardingSphereSchema;
+import org.apache.shardingsphere.infra.session.connection.ConnectionContext;
import org.apache.shardingsphere.sharding.merge.common.IteratorStreamMergedResult;
import org.apache.shardingsphere.sharding.merge.ddl.fetch.FetchStreamMergedResult;
import org.apache.shardingsphere.sql.parser.sql.common.util.SQLUtils;
@@ -40,11 +39,10 @@ import java.util.TreeMap;
/**
* DDL result merger for Sharding.
*/
-@RequiredArgsConstructor
public final class ShardingDDLResultMerger implements ResultMerger {
@Override
- public MergedResult merge(final List<QueryResult> queryResults, final SQLStatementContext<?> sqlStatementContext,
+ public MergedResult merge(final List<QueryResult> queryResults, final SQLStatementContext sqlStatementContext,
final ShardingSphereDatabase database, final ConnectionContext connectionContext) throws SQLException {
if (!(sqlStatementContext instanceof FetchStatementContext)) {
return new TransparentMergedResult(queryResults.get(0));
@@ -58,7 +56,7 @@ public final class ShardingDDLResultMerger implements ResultMerger {
return new FetchStreamMergedResult(queryResults, fetchStatementContext, getSchema(sqlStatementContext, database), connectionContext);
}
- private ShardingSphereSchema getSchema(final SQLStatementContext<?> sqlStatementContext, final ShardingSphereDatabase database) {
+ private ShardingSphereSchema getSchema(final SQLStatementContext sqlStatementContext, final ShardingSphereDatabase database) {
String defaultSchemaName = DatabaseTypeEngine.getDefaultSchemaName(sqlStatementContext.getDatabaseType(), database.getName());
return sqlStatementContext.getTablesContext().getSchemaName().map(database::getSchema).orElseGet(() -> database.getSchema(defaultSchemaName));
}
diff --git a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/merge/dql/ShardingDQLResultMerger.java b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/merge/dql/ShardingDQLResultMerger.java
index 7634279496f..0b9371f366d 100644
--- a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/merge/dql/ShardingDQLResultMerger.java
+++ b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/merge/dql/ShardingDQLResultMerger.java
@@ -60,7 +60,7 @@ public final class ShardingDQLResultMerger implements ResultMerger {
private final DatabaseType protocolType;
@Override
- public MergedResult merge(final List<QueryResult> queryResults, final SQLStatementContext<?> sqlStatementContext,
+ public MergedResult merge(final List<QueryResult> queryResults, final SQLStatementContext sqlStatementContext,
final ShardingSphereDatabase database, final ConnectionContext connectionContext) throws SQLException {
if (1 == queryResults.size() && !isNeedAggregateRewrite(sqlStatementContext)) {
return new IteratorStreamMergedResult(queryResults);
@@ -72,7 +72,7 @@ public final class ShardingDQLResultMerger implements ResultMerger {
return decorate(queryResults, selectStatementContext, mergedResult);
}
- private boolean isNeedAggregateRewrite(final SQLStatementContext<?> sqlStatementContext) {
+ private boolean isNeedAggregateRewrite(final SQLStatementContext sqlStatementContext) {
return sqlStatementContext instanceof SelectStatementContext && ((SelectStatementContext) sqlStatementContext).isNeedAggregateRewrite();
}
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 cc501691388..df30f18a307 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
@@ -58,7 +58,7 @@ public final class GroupByMemoryMergedResult extends MemoryMergedResult<Sharding
@Override
protected List<MemoryQueryResultRow> init(final ShardingRule shardingRule, final ShardingSphereSchema schema,
- final SQLStatementContext<?> sqlStatementContext, final List<QueryResult> queryResults) throws SQLException {
+ final SQLStatementContext sqlStatementContext, final List<QueryResult> queryResults) throws SQLException {
SelectStatementContext selectStatementContext = (SelectStatementContext) sqlStatementContext;
Map<GroupByValue, MemoryQueryResultRow> dataMap = new HashMap<>(1024);
Map<GroupByValue, Map<AggregationProjection, AggregationUnit>> aggregationMap = new HashMap<>(1024);
diff --git a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rewrite/parameter/ShardingParameterRewriterBuilder.java b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rewrite/parameter/ShardingParameterRewriterBuilder.java
index 9e44415aa00..0a4e397f7e5 100644
--- a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rewrite/parameter/ShardingParameterRewriterBuilder.java
+++ b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rewrite/parameter/ShardingParameterRewriterBuilder.java
@@ -46,7 +46,7 @@ public final class ShardingParameterRewriterBuilder implements ParameterRewriter
private final Map<String, ShardingSphereSchema> schemas;
- private final SQLStatementContext<?> sqlStatementContext;
+ private final SQLStatementContext sqlStatementContext;
@SuppressWarnings("rawtypes")
@Override
diff --git a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rewrite/parameter/impl/ShardingGeneratedKeyInsertValueParameterRewriter.java b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rewrite/parameter/impl/ShardingGeneratedKeyInsertValueParameterRewriter.java
index 08120864a6f..83d954d105a 100644
--- a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rewrite/parameter/impl/ShardingGeneratedKeyInsertValueParameterRewriter.java
+++ b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rewrite/parameter/impl/ShardingGeneratedKeyInsertValueParameterRewriter.java
@@ -36,7 +36,7 @@ import java.util.List;
public final class ShardingGeneratedKeyInsertValueParameterRewriter implements ParameterRewriter<InsertStatementContext> {
@Override
- public boolean isNeedRewrite(final SQLStatementContext<?> sqlStatementContext) {
+ public boolean isNeedRewrite(final SQLStatementContext sqlStatementContext) {
return sqlStatementContext instanceof InsertStatementContext
&& ((InsertStatementContext) sqlStatementContext).getGeneratedKeyContext().isPresent()
&& ((InsertStatementContext) sqlStatementContext).getGeneratedKeyContext().get().isGenerated()
diff --git a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rewrite/parameter/impl/ShardingPaginationParameterRewriter.java b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rewrite/parameter/impl/ShardingPaginationParameterRewriter.java
index 333811f2f45..81e1da0d55b 100644
--- a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rewrite/parameter/impl/ShardingPaginationParameterRewriter.java
+++ b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rewrite/parameter/impl/ShardingPaginationParameterRewriter.java
@@ -38,7 +38,7 @@ public final class ShardingPaginationParameterRewriter implements ParameterRewri
private RouteContext routeContext;
@Override
- public boolean isNeedRewrite(final SQLStatementContext<?> sqlStatementContext) {
+ public boolean isNeedRewrite(final SQLStatementContext sqlStatementContext) {
return sqlStatementContext instanceof SelectStatementContext && ((SelectStatementContext) sqlStatementContext).getPaginationContext().isHasPagination() && !routeContext.isSingleRouting();
}
diff --git a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rewrite/token/generator/impl/AggregationDistinctTokenGenerator.java b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rewrite/token/generator/impl/AggregationDistinctTokenGenerator.java
index 6cfe8616b9c..7907a5914ec 100644
--- a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rewrite/token/generator/impl/AggregationDistinctTokenGenerator.java
+++ b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rewrite/token/generator/impl/AggregationDistinctTokenGenerator.java
@@ -32,15 +32,15 @@ import java.util.LinkedList;
/**
* Aggregation distinct token generator.
*/
-public final class AggregationDistinctTokenGenerator implements CollectionSQLTokenGenerator<SQLStatementContext<?>>, IgnoreForSingleRoute {
+public final class AggregationDistinctTokenGenerator implements CollectionSQLTokenGenerator<SQLStatementContext>, IgnoreForSingleRoute {
@Override
- public boolean isGenerateSQLToken(final SQLStatementContext<?> sqlStatementContext) {
+ public boolean isGenerateSQLToken(final SQLStatementContext sqlStatementContext) {
return sqlStatementContext instanceof SelectStatementContext;
}
@Override
- public Collection<AggregationDistinctToken> generateSQLTokens(final SQLStatementContext<?> sqlStatementContext) {
+ public Collection<AggregationDistinctToken> generateSQLTokens(final SQLStatementContext sqlStatementContext) {
Collection<AggregationDistinctToken> result = new LinkedList<>();
for (AggregationDistinctProjection each : ((SelectStatementContext) sqlStatementContext).getProjectionsContext().getAggregationDistinctProjections()) {
result.add(generateSQLToken(each));
diff --git a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rewrite/token/generator/impl/ConstraintTokenGenerator.java b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rewrite/token/generator/impl/ConstraintTokenGenerator.java
index c0394e7b1b8..f1969ef0958 100644
--- a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rewrite/token/generator/impl/ConstraintTokenGenerator.java
+++ b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rewrite/token/generator/impl/ConstraintTokenGenerator.java
@@ -34,17 +34,17 @@ import java.util.LinkedList;
* Constraint token generator.
*/
@Setter
-public final class ConstraintTokenGenerator implements CollectionSQLTokenGenerator<SQLStatementContext<?>>, ShardingRuleAware {
+public final class ConstraintTokenGenerator implements CollectionSQLTokenGenerator<SQLStatementContext>, ShardingRuleAware {
private ShardingRule shardingRule;
@Override
- public boolean isGenerateSQLToken(final SQLStatementContext<?> sqlStatementContext) {
+ public boolean isGenerateSQLToken(final SQLStatementContext sqlStatementContext) {
return sqlStatementContext instanceof ConstraintAvailable && !((ConstraintAvailable) sqlStatementContext).getConstraints().isEmpty();
}
@Override
- public Collection<ConstraintToken> generateSQLTokens(final SQLStatementContext<?> sqlStatementContext) {
+ public Collection<ConstraintToken> generateSQLTokens(final SQLStatementContext sqlStatementContext) {
Collection<ConstraintToken> result = new LinkedList<>();
if (sqlStatementContext instanceof ConstraintAvailable) {
for (ConstraintSegment each : ((ConstraintAvailable) sqlStatementContext).getConstraints()) {
diff --git a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rewrite/token/generator/impl/CursorTokenGenerator.java b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rewrite/token/generator/impl/CursorTokenGenerator.java
index f1805d60d12..56aba707836 100644
--- a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rewrite/token/generator/impl/CursorTokenGenerator.java
+++ b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rewrite/token/generator/impl/CursorTokenGenerator.java
@@ -32,17 +32,17 @@ import org.apache.shardingsphere.sql.parser.sql.common.segment.ddl.cursor.Cursor
* Cursor token generator.
*/
@Setter
-public final class CursorTokenGenerator implements OptionalSQLTokenGenerator<SQLStatementContext<?>>, ShardingRuleAware {
+public final class CursorTokenGenerator implements OptionalSQLTokenGenerator<SQLStatementContext>, ShardingRuleAware {
private ShardingRule shardingRule;
@Override
- public boolean isGenerateSQLToken(final SQLStatementContext<?> sqlStatementContext) {
+ public boolean isGenerateSQLToken(final SQLStatementContext sqlStatementContext) {
return sqlStatementContext instanceof CursorAvailable && ((CursorAvailable) sqlStatementContext).getCursorName().isPresent();
}
@Override
- public SQLToken generateSQLToken(final SQLStatementContext<?> sqlStatementContext) {
+ public SQLToken generateSQLToken(final SQLStatementContext sqlStatementContext) {
CursorNameSegment cursorName = ((CursorAvailable) sqlStatementContext).getCursorName().orElseThrow(CursorNameNotFoundException::new);
return new CursorToken(cursorName.getStartIndex(), cursorName.getStopIndex(), cursorName.getIdentifier(), sqlStatementContext, shardingRule);
}
diff --git a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rewrite/token/generator/impl/DistinctProjectionPrefixTokenGenerator.java b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rewrite/token/generator/impl/DistinctProjectionPrefixTokenGenerator.java
index 14d78a21043..7f1c280d986 100644
--- a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rewrite/token/generator/impl/DistinctProjectionPrefixTokenGenerator.java
+++ b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rewrite/token/generator/impl/DistinctProjectionPrefixTokenGenerator.java
@@ -29,7 +29,7 @@ import org.apache.shardingsphere.sharding.rewrite.token.pojo.DistinctProjectionP
public final class DistinctProjectionPrefixTokenGenerator implements OptionalSQLTokenGenerator<SelectStatementContext>, IgnoreForSingleRoute {
@Override
- public boolean isGenerateSQLToken(final SQLStatementContext<?> sqlStatementContext) {
+ public boolean isGenerateSQLToken(final SQLStatementContext sqlStatementContext) {
return sqlStatementContext instanceof SelectStatementContext && !((SelectStatementContext) sqlStatementContext).getProjectionsContext().getAggregationDistinctProjections().isEmpty();
}
diff --git a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rewrite/token/generator/impl/FetchDirectionTokenGenerator.java b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rewrite/token/generator/impl/FetchDirectionTokenGenerator.java
index 14fa5f7953b..0fe40a02696 100644
--- a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rewrite/token/generator/impl/FetchDirectionTokenGenerator.java
+++ b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rewrite/token/generator/impl/FetchDirectionTokenGenerator.java
@@ -34,17 +34,17 @@ import org.apache.shardingsphere.sql.parser.sql.common.statement.ddl.FetchStatem
* Fetch direction token generator.
*/
@Setter
-public final class FetchDirectionTokenGenerator implements OptionalSQLTokenGenerator<SQLStatementContext<?>>, ConnectionContextAware {
+public final class FetchDirectionTokenGenerator implements OptionalSQLTokenGenerator<SQLStatementContext>, ConnectionContextAware {
private ConnectionContext connectionContext;
@Override
- public boolean isGenerateSQLToken(final SQLStatementContext<?> sqlStatementContext) {
+ public boolean isGenerateSQLToken(final SQLStatementContext sqlStatementContext) {
return sqlStatementContext instanceof FetchStatementContext;
}
@Override
- public SQLToken generateSQLToken(final SQLStatementContext<?> sqlStatementContext) {
+ public SQLToken generateSQLToken(final SQLStatementContext sqlStatementContext) {
FetchStatement fetchStatement = ((FetchStatementContext) sqlStatementContext).getSqlStatement();
CursorNameSegment cursorName = fetchStatement.getCursorName();
int startIndex = fetchStatement.getDirection().map(DirectionSegment::getStartIndex).orElseGet("FETCH"::length);
diff --git a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rewrite/token/generator/impl/IndexTokenGenerator.java b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rewrite/token/generator/impl/IndexTokenGenerator.java
index ad3d952b7a2..a606187609a 100644
--- a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rewrite/token/generator/impl/IndexTokenGenerator.java
+++ b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rewrite/token/generator/impl/IndexTokenGenerator.java
@@ -37,7 +37,7 @@ import java.util.Map;
* Index token generator.
*/
@Setter
-public final class IndexTokenGenerator implements CollectionSQLTokenGenerator<SQLStatementContext<?>>, ShardingRuleAware, SchemaMetaDataAware {
+public final class IndexTokenGenerator implements CollectionSQLTokenGenerator<SQLStatementContext>, ShardingRuleAware, SchemaMetaDataAware {
private ShardingRule shardingRule;
@@ -46,12 +46,12 @@ public final class IndexTokenGenerator implements CollectionSQLTokenGenerator<SQ
private Map<String, ShardingSphereSchema> schemas;
@Override
- public boolean isGenerateSQLToken(final SQLStatementContext<?> sqlStatementContext) {
+ public boolean isGenerateSQLToken(final SQLStatementContext sqlStatementContext) {
return sqlStatementContext instanceof IndexAvailable && !((IndexAvailable) sqlStatementContext).getIndexes().isEmpty();
}
@Override
- public Collection<IndexToken> generateSQLTokens(final SQLStatementContext<?> sqlStatementContext) {
+ public Collection<IndexToken> generateSQLTokens(final SQLStatementContext sqlStatementContext) {
Collection<IndexToken> result = new LinkedList<>();
String defaultSchemaName = DatabaseTypeEngine.getDefaultSchemaName(sqlStatementContext.getDatabaseType(), databaseName);
if (sqlStatementContext instanceof IndexAvailable) {
diff --git a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rewrite/token/generator/impl/OffsetTokenGenerator.java b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rewrite/token/generator/impl/OffsetTokenGenerator.java
index dde42fb9d43..f785fba82ee 100644
--- a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rewrite/token/generator/impl/OffsetTokenGenerator.java
+++ b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rewrite/token/generator/impl/OffsetTokenGenerator.java
@@ -32,7 +32,7 @@ import org.apache.shardingsphere.sharding.rewrite.token.pojo.OffsetToken;
public final class OffsetTokenGenerator implements OptionalSQLTokenGenerator<SelectStatementContext>, IgnoreForSingleRoute {
@Override
- public boolean isGenerateSQLToken(final SQLStatementContext<?> sqlStatementContext) {
+ public boolean isGenerateSQLToken(final SQLStatementContext sqlStatementContext) {
return sqlStatementContext instanceof SelectStatementContext
&& ((SelectStatementContext) sqlStatementContext).getPaginationContext().getOffsetSegment().isPresent()
&& ((SelectStatementContext) sqlStatementContext).getPaginationContext().getOffsetSegment().get() instanceof NumberLiteralPaginationValueSegment;
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 dc653edf03e..c6f91504eef 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
@@ -35,7 +35,7 @@ import org.apache.shardingsphere.sql.parser.sql.dialect.handler.dml.SelectStatem
public final class OrderByTokenGenerator implements OptionalSQLTokenGenerator<SelectStatementContext>, IgnoreForSingleRoute {
@Override
- public boolean isGenerateSQLToken(final SQLStatementContext<?> sqlStatementContext) {
+ public boolean isGenerateSQLToken(final SQLStatementContext sqlStatementContext) {
return sqlStatementContext instanceof SelectStatementContext && ((SelectStatementContext) sqlStatementContext).getOrderByContext().isGenerated();
}
diff --git a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rewrite/token/generator/impl/RowCountTokenGenerator.java b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rewrite/token/generator/impl/RowCountTokenGenerator.java
index b75bfb598ed..a5bf2c05260 100644
--- a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rewrite/token/generator/impl/RowCountTokenGenerator.java
+++ b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rewrite/token/generator/impl/RowCountTokenGenerator.java
@@ -32,7 +32,7 @@ import org.apache.shardingsphere.sharding.rewrite.token.pojo.RowCountToken;
public final class RowCountTokenGenerator implements OptionalSQLTokenGenerator<SelectStatementContext>, IgnoreForSingleRoute {
@Override
- public boolean isGenerateSQLToken(final SQLStatementContext<?> sqlStatementContext) {
+ public boolean isGenerateSQLToken(final SQLStatementContext sqlStatementContext) {
return sqlStatementContext instanceof SelectStatementContext
&& ((SelectStatementContext) sqlStatementContext).getPaginationContext().getRowCountSegment().isPresent()
&& ((SelectStatementContext) sqlStatementContext).getPaginationContext().getRowCountSegment().get() instanceof NumberLiteralPaginationValueSegment;
diff --git a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rewrite/token/generator/impl/ShardingInsertValuesTokenGenerator.java b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rewrite/token/generator/impl/ShardingInsertValuesTokenGenerator.java
index ae3f5067597..a32a67970dc 100644
--- a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rewrite/token/generator/impl/ShardingInsertValuesTokenGenerator.java
+++ b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rewrite/token/generator/impl/ShardingInsertValuesTokenGenerator.java
@@ -45,7 +45,7 @@ public final class ShardingInsertValuesTokenGenerator implements OptionalSQLToke
private RouteContext routeContext;
@Override
- public boolean isGenerateSQLToken(final SQLStatementContext<?> sqlStatementContext) {
+ public boolean isGenerateSQLToken(final SQLStatementContext sqlStatementContext) {
return sqlStatementContext instanceof InsertStatementContext && !(((InsertStatementContext) sqlStatementContext).getSqlStatement()).getValues().isEmpty();
}
diff --git a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rewrite/token/generator/impl/ShardingRemoveTokenGenerator.java b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rewrite/token/generator/impl/ShardingRemoveTokenGenerator.java
index c25f7e257ca..b1931edb507 100644
--- a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rewrite/token/generator/impl/ShardingRemoveTokenGenerator.java
+++ b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rewrite/token/generator/impl/ShardingRemoveTokenGenerator.java
@@ -30,19 +30,19 @@ import java.util.LinkedList;
/**
* Sharding remove token generator.
*/
-public final class ShardingRemoveTokenGenerator implements CollectionSQLTokenGenerator<SQLStatementContext<?>>, IgnoreForSingleRoute {
+public final class ShardingRemoveTokenGenerator implements CollectionSQLTokenGenerator<SQLStatementContext>, IgnoreForSingleRoute {
@Override
- public boolean isGenerateSQLToken(final SQLStatementContext<?> sqlStatementContext) {
+ public boolean isGenerateSQLToken(final SQLStatementContext sqlStatementContext) {
return isContainsAggregationDistinctProjection(sqlStatementContext);
}
- private boolean isContainsAggregationDistinctProjection(final SQLStatementContext<?> sqlStatementContext) {
+ private boolean isContainsAggregationDistinctProjection(final SQLStatementContext sqlStatementContext) {
return sqlStatementContext instanceof SelectStatementContext && !((SelectStatementContext) sqlStatementContext).getProjectionsContext().getAggregationDistinctProjections().isEmpty();
}
@Override
- public Collection<? extends SQLToken> generateSQLTokens(final SQLStatementContext<?> sqlStatementContext) {
+ public Collection<? extends SQLToken> generateSQLTokens(final SQLStatementContext sqlStatementContext) {
Collection<SQLToken> result = new LinkedList<>();
if (isContainsAggregationDistinctProjection(sqlStatementContext)) {
((SelectStatementContext) sqlStatementContext).getSqlStatement().getGroupBy().ifPresent(optional -> result.add(new RemoveToken(optional.getStartIndex(), optional.getStopIndex())));
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 99cd969b696..85eaf35e5c6 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
@@ -37,28 +37,27 @@ import java.util.LinkedList;
* Table token generator.
*/
@Setter
-public final class TableTokenGenerator implements CollectionSQLTokenGenerator<SQLStatementContext<?>>, ShardingRuleAware, RouteContextAware {
+public final class TableTokenGenerator implements CollectionSQLTokenGenerator<SQLStatementContext>, ShardingRuleAware, RouteContextAware {
private ShardingRule shardingRule;
private RouteContext routeContext;
@Override
- public boolean isGenerateSQLToken(final SQLStatementContext<?> sqlStatementContext) {
+ public boolean isGenerateSQLToken(final SQLStatementContext sqlStatementContext) {
return isAllBindingTables(sqlStatementContext) || routeContext.containsTableSharding();
}
- private boolean isAllBindingTables(final SQLStatementContext<?> sqlStatementContext) {
+ private boolean isAllBindingTables(final SQLStatementContext sqlStatementContext) {
Collection<String> shardingLogicTableNames = shardingRule.getShardingLogicTableNames(sqlStatementContext.getTablesContext().getTableNames());
return shardingLogicTableNames.size() > 1 && shardingRule.isAllBindingTables(shardingLogicTableNames);
}
@Override
- public Collection<TableToken> generateSQLTokens(final SQLStatementContext<?> sqlStatementContext) {
+ public Collection<TableToken> generateSQLTokens(final SQLStatementContext sqlStatementContext) {
return sqlStatementContext instanceof TableAvailable ? generateSQLTokens((TableAvailable) sqlStatementContext) : Collections.emptyList();
}
- @SuppressWarnings("rawtypes")
private Collection<TableToken> generateSQLTokens(final TableAvailable sqlStatementContext) {
Collection<TableToken> result = new LinkedList<>();
for (SimpleTableSegment each : sqlStatementContext.getAllTables()) {
diff --git a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rewrite/token/pojo/ConstraintToken.java b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rewrite/token/pojo/ConstraintToken.java
index 2c79b8b57f0..3536a113dfe 100644
--- a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rewrite/token/pojo/ConstraintToken.java
+++ b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rewrite/token/pojo/ConstraintToken.java
@@ -38,11 +38,11 @@ public final class ConstraintToken extends SQLToken implements Substitutable, Ro
private final IdentifierValue identifier;
- private final SQLStatementContext<?> sqlStatementContext;
+ private final SQLStatementContext sqlStatementContext;
private final ShardingRule shardingRule;
- public ConstraintToken(final int startIndex, final int stopIndex, final IdentifierValue identifier, final SQLStatementContext<?> sqlStatementContext, final ShardingRule shardingRule) {
+ public ConstraintToken(final int startIndex, final int stopIndex, final IdentifierValue identifier, final SQLStatementContext sqlStatementContext, final ShardingRule shardingRule) {
super(startIndex);
this.stopIndex = stopIndex;
this.identifier = identifier;
diff --git a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rewrite/token/pojo/CursorToken.java b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rewrite/token/pojo/CursorToken.java
index 5e0884713d9..29d01725b6e 100644
--- a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rewrite/token/pojo/CursorToken.java
+++ b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rewrite/token/pojo/CursorToken.java
@@ -39,12 +39,11 @@ public final class CursorToken extends SQLToken implements Substitutable, RouteU
private final IdentifierValue identifier;
- private final SQLStatementContext<?> sqlStatementContext;
+ private final SQLStatementContext sqlStatementContext;
private final ShardingRule shardingRule;
- public CursorToken(final int startIndex, final int stopIndex, final IdentifierValue identifier,
- final SQLStatementContext<?> sqlStatementContext, final ShardingRule shardingRule) {
+ public CursorToken(final int startIndex, final int stopIndex, final IdentifierValue identifier, final SQLStatementContext sqlStatementContext, final ShardingRule shardingRule) {
super(startIndex);
this.stopIndex = stopIndex;
this.identifier = identifier;
diff --git a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rewrite/token/pojo/IndexToken.java b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rewrite/token/pojo/IndexToken.java
index aa708480bcc..9f95b7c8e5d 100644
--- a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rewrite/token/pojo/IndexToken.java
+++ b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rewrite/token/pojo/IndexToken.java
@@ -42,14 +42,14 @@ public final class IndexToken extends SQLToken implements Substitutable, RouteUn
private final IdentifierValue identifier;
- private final SQLStatementContext<?> sqlStatementContext;
+ private final SQLStatementContext sqlStatementContext;
private final ShardingRule shardingRule;
private final ShardingSphereSchema schema;
public IndexToken(final int startIndex, final int stopIndex, final IdentifierValue identifier,
- final SQLStatementContext<?> sqlStatementContext, final ShardingRule shardingRule, final ShardingSphereSchema schema) {
+ final SQLStatementContext sqlStatementContext, final ShardingRule shardingRule, final ShardingSphereSchema schema) {
super(startIndex);
this.stopIndex = stopIndex;
this.identifier = identifier;
diff --git a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rewrite/token/pojo/ShardingTokenGenerateBuilder.java b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rewrite/token/pojo/ShardingTokenGenerateBuilder.java
index afc3f152a7b..4edcd622b70 100644
--- a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rewrite/token/pojo/ShardingTokenGenerateBuilder.java
+++ b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rewrite/token/pojo/ShardingTokenGenerateBuilder.java
@@ -57,7 +57,7 @@ public final class ShardingTokenGenerateBuilder implements SQLTokenGeneratorBuil
private final RouteContext routeContext;
- private final SQLStatementContext<?> sqlStatementContext;
+ private final SQLStatementContext sqlStatementContext;
@Override
public Collection<SQLTokenGenerator> getSQLTokenGenerators() {
diff --git a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rewrite/token/pojo/TableToken.java b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rewrite/token/pojo/TableToken.java
index ce7c6a5cb63..5e92a962023 100644
--- a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rewrite/token/pojo/TableToken.java
+++ b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rewrite/token/pojo/TableToken.java
@@ -36,11 +36,11 @@ public final class TableToken extends SQLToken implements Substitutable, RouteUn
private final IdentifierValue tableName;
- private final SQLStatementContext<?> sqlStatementContext;
+ private final SQLStatementContext sqlStatementContext;
private final ShardingRule shardingRule;
- public TableToken(final int startIndex, final int stopIndex, final IdentifierValue tableSegment, final SQLStatementContext<?> sqlStatementContext, final ShardingRule shardingRule) {
+ public TableToken(final int startIndex, final int stopIndex, final IdentifierValue tableSegment, final SQLStatementContext sqlStatementContext, final ShardingRule shardingRule) {
super(startIndex);
this.stopIndex = stopIndex;
this.tableName = tableSegment;
diff --git a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rewrite/token/pojo/TokenUtils.java b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rewrite/token/pojo/TokenUtils.java
index cf2666cad65..950c6a15ff9 100644
--- a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rewrite/token/pojo/TokenUtils.java
+++ b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rewrite/token/pojo/TokenUtils.java
@@ -42,7 +42,7 @@ public final class TokenUtils {
* @param shardingRule sharding rule
* @return key is logic table name, values is actual table belong to this data source
*/
- public static Map<String, String> getLogicAndActualTableMap(final RouteUnit routeUnit, final SQLStatementContext<?> sqlStatementContext, final ShardingRule shardingRule) {
+ public static Map<String, String> getLogicAndActualTableMap(final RouteUnit routeUnit, final SQLStatementContext sqlStatementContext, final ShardingRule shardingRule) {
Collection<String> tableNames = sqlStatementContext.getTablesContext().getTableNames();
Map<String, String> result = new HashMap<>(tableNames.size(), 1);
for (RouteMapper each : routeUnit.getTableMappers()) {
diff --git a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/condition/ShardingConditions.java b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/condition/ShardingConditions.java
index ebd11a92957..e3c8684c13c 100644
--- a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/condition/ShardingConditions.java
+++ b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/condition/ShardingConditions.java
@@ -52,13 +52,13 @@ public final class ShardingConditions {
private final List<ShardingCondition> conditions;
- private final SQLStatementContext<?> sqlStatementContext;
+ private final SQLStatementContext sqlStatementContext;
private final ShardingRule rule;
private final boolean subqueryContainsShardingCondition;
- public ShardingConditions(final List<ShardingCondition> conditions, final SQLStatementContext<?> sqlStatementContext, final ShardingRule rule) {
+ public ShardingConditions(final List<ShardingCondition> conditions, final SQLStatementContext sqlStatementContext, final ShardingRule rule) {
this.conditions = conditions;
this.sqlStatementContext = sqlStatementContext;
this.rule = rule;
@@ -117,7 +117,7 @@ public final class ShardingConditions {
return (selectContainsSubquery || insertSelectContainsSubquery) && !rule.getShardingLogicTableNames(sqlStatementContext.getTablesContext().getTableNames()).isEmpty();
}
- private boolean isSubqueryContainsShardingCondition(final List<ShardingCondition> conditions, final SQLStatementContext<?> sqlStatementContext) {
+ private boolean isSubqueryContainsShardingCondition(final List<ShardingCondition> conditions, final SQLStatementContext sqlStatementContext) {
Collection<SelectStatement> selectStatements = getSelectStatements(sqlStatementContext);
if (selectStatements.size() > 1) {
Map<Integer, List<ShardingCondition>> startIndexShardingConditions = new HashMap<>();
@@ -136,7 +136,7 @@ public final class ShardingConditions {
return true;
}
- private Collection<SelectStatement> getSelectStatements(final SQLStatementContext<?> sqlStatementContext) {
+ private Collection<SelectStatement> getSelectStatements(final SQLStatementContext sqlStatementContext) {
Collection<SelectStatement> result = new LinkedList<>();
if (sqlStatementContext instanceof SelectStatementContext) {
result.add(((SelectStatementContext) sqlStatementContext).getSqlStatement());
@@ -183,7 +183,7 @@ public final class ShardingConditions {
&& shardingValue1.getColumnName().equals(shardingValue2.getColumnName()) || isBindingTable(shardingRule, shardingValue1, shardingValue2);
}
- private Collection<String> findHintStrategyTables(final SQLStatementContext<?> sqlStatementContext) {
+ private Collection<String> findHintStrategyTables(final SQLStatementContext sqlStatementContext) {
Collection<String> result = new HashSet<>();
for (String each : sqlStatementContext.getTablesContext().getTableNames()) {
Optional<TableRule> tableRule = rule.findTableRule(each);
diff --git a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/condition/engine/ShardingConditionEngine.java b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/condition/engine/ShardingConditionEngine.java
index 68bd190f136..c5673521fc3 100644
--- a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/condition/engine/ShardingConditionEngine.java
+++ b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/condition/engine/ShardingConditionEngine.java
@@ -47,7 +47,7 @@ public final class ShardingConditionEngine {
* @param params SQL parameters
* @return sharding conditions
*/
- public List<ShardingCondition> createShardingConditions(final SQLStatementContext<?> sqlStatementContext, final List<Object> params) {
+ public List<ShardingCondition> createShardingConditions(final SQLStatementContext sqlStatementContext, final List<Object> params) {
TimeServiceRule timeServiceRule = globalRuleMetaData.getSingleRule(TimeServiceRule.class);
return sqlStatementContext instanceof InsertStatementContext
? new InsertClauseShardingConditionEngine(database, shardingRule, timeServiceRule).createShardingConditions((InsertStatementContext) sqlStatementContext, params)
diff --git a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/condition/engine/WhereClauseShardingConditionEngine.java b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/condition/engine/WhereClauseShardingConditionEngine.java
index ae82eb4adab..e7c5fbba037 100644
--- a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/condition/engine/WhereClauseShardingConditionEngine.java
+++ b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/condition/engine/WhereClauseShardingConditionEngine.java
@@ -74,7 +74,7 @@ public final class WhereClauseShardingConditionEngine {
* @param params SQL parameters
* @return sharding conditions
*/
- public List<ShardingCondition> createShardingConditions(final SQLStatementContext<?> sqlStatementContext, final List<Object> params) {
+ public List<ShardingCondition> createShardingConditions(final SQLStatementContext sqlStatementContext, final List<Object> params) {
if (!(sqlStatementContext instanceof WhereAvailable)) {
return Collections.emptyList();
}
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 47621e1bb2e..e69dbbbd489 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
@@ -92,7 +92,7 @@ public final class ShardingRouteEngineFactory {
*/
public static ShardingRouteEngine newInstance(final ShardingRule shardingRule, final ShardingSphereDatabase database, final QueryContext queryContext,
final ShardingConditions shardingConditions, final ConfigurationProperties props, final ConnectionContext connectionContext) {
- SQLStatementContext<?> sqlStatementContext = queryContext.getSqlStatementContext();
+ SQLStatementContext sqlStatementContext = queryContext.getSqlStatementContext();
SQLStatement sqlStatement = sqlStatementContext.getSqlStatement();
if (sqlStatement instanceof TCLStatement) {
return new ShardingDatabaseBroadcastRoutingEngine();
@@ -109,7 +109,7 @@ public final class ShardingRouteEngineFactory {
return getDQLRoutingEngine(shardingRule, database, sqlStatementContext, queryContext.getHintValueContext(), shardingConditions, props, connectionContext);
}
- private static ShardingRouteEngine getDDLRoutingEngine(final ShardingRule shardingRule, final ShardingSphereDatabase database, final SQLStatementContext<?> sqlStatementContext,
+ private static ShardingRouteEngine getDDLRoutingEngine(final ShardingRule shardingRule, final ShardingSphereDatabase database, final SQLStatementContext sqlStatementContext,
final HintValueContext hintValueContext, final ShardingConditions shardingConditions, final ConfigurationProperties props,
final ConnectionContext connectionContext) {
SQLStatement sqlStatement = sqlStatementContext.getSqlStatement();
@@ -139,7 +139,7 @@ public final class ShardingRouteEngineFactory {
return new ShardingTableBroadcastRoutingEngine(database, sqlStatementContext, shardingRuleTableNames);
}
- private static ShardingRouteEngine getCursorRouteEngine(final ShardingRule shardingRule, final ShardingSphereDatabase database, final SQLStatementContext<?> sqlStatementContext,
+ private static ShardingRouteEngine getCursorRouteEngine(final ShardingRule shardingRule, final ShardingSphereDatabase database, final SQLStatementContext sqlStatementContext,
final HintValueContext hintValueContext, final ShardingConditions shardingConditions, final ConfigurationProperties props,
final Collection<String> tableNames, final ConnectionContext connectionContext) {
if (sqlStatementContext instanceof CloseStatementContext && ((CloseStatementContext) sqlStatementContext).getSqlStatement().isCloseAll()) {
@@ -156,7 +156,7 @@ public final class ShardingRouteEngineFactory {
return new ShardingIgnoreRoutingEngine();
}
- private static ShardingRouteEngine getDALRoutingEngine(final ShardingRule shardingRule, final ShardingSphereDatabase database, final SQLStatementContext<?> sqlStatementContext,
+ private static ShardingRouteEngine getDALRoutingEngine(final ShardingRule shardingRule, final ShardingSphereDatabase database, final SQLStatementContext sqlStatementContext,
final ConnectionContext connectionContext) {
SQLStatement sqlStatement = sqlStatementContext.getSqlStatement();
if (sqlStatement instanceof MySQLUseStatement) {
@@ -192,7 +192,7 @@ public final class ShardingRouteEngineFactory {
return sqlStatement instanceof MySQLCreateResourceGroupStatement || sqlStatement instanceof MySQLSetResourceGroupStatement;
}
- private static ShardingRouteEngine getDCLRoutingEngine(final ShardingRule shardingRule, final ShardingSphereDatabase database, final SQLStatementContext<?> sqlStatementContext) {
+ private static ShardingRouteEngine getDCLRoutingEngine(final ShardingRule shardingRule, final ShardingSphereDatabase database, final SQLStatementContext sqlStatementContext) {
if (isDCLForSingleTable(sqlStatementContext)) {
Collection<String> shardingRuleTableNames = shardingRule.getShardingRuleTableNames(sqlStatementContext.getTablesContext().getTableNames());
return shardingRuleTableNames.isEmpty() ? new ShardingIgnoreRoutingEngine() : new ShardingTableBroadcastRoutingEngine(database, sqlStatementContext, shardingRuleTableNames);
@@ -200,7 +200,7 @@ public final class ShardingRouteEngineFactory {
return new ShardingInstanceBroadcastRoutingEngine(database.getResourceMetaData());
}
- private static boolean isDCLForSingleTable(final SQLStatementContext<?> sqlStatementContext) {
+ private static boolean isDCLForSingleTable(final SQLStatementContext sqlStatementContext) {
if (sqlStatementContext instanceof TableAvailable) {
TableAvailable tableSegmentsAvailable = (TableAvailable) sqlStatementContext;
return 1 == tableSegmentsAvailable.getAllTables().size() && !"*".equals(tableSegmentsAvailable.getAllTables().iterator().next().getTableName().getIdentifier().getValue());
@@ -208,7 +208,7 @@ public final class ShardingRouteEngineFactory {
return false;
}
- private static ShardingRouteEngine getDQLRoutingEngine(final ShardingRule shardingRule, final ShardingSphereDatabase database, final SQLStatementContext<?> sqlStatementContext,
+ private static ShardingRouteEngine getDQLRoutingEngine(final ShardingRule shardingRule, final ShardingSphereDatabase database, final SQLStatementContext sqlStatementContext,
final HintValueContext hintValueContext, final ShardingConditions shardingConditions, final ConfigurationProperties props,
final ConnectionContext connectionContext) {
Collection<String> tableNames = sqlStatementContext.getTablesContext().getTableNames();
@@ -228,7 +228,7 @@ public final class ShardingRouteEngineFactory {
}
private static ShardingRouteEngine getDQLRouteEngineForShardingTable(final ShardingRule shardingRule, final ShardingSphereDatabase database,
- final SQLStatementContext<?> sqlStatementContext, final HintValueContext hintValueContext,
+ final SQLStatementContext sqlStatementContext, final HintValueContext hintValueContext,
final ShardingConditions shardingConditions, final ConfigurationProperties props, final Collection<String> tableNames) {
boolean allBindingTables = tableNames.size() > 1 && shardingRule.isAllBindingTables(database, sqlStatementContext, tableNames);
if (isShardingStandardQuery(shardingRule, tableNames, allBindingTables)) {
diff --git a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/type/broadcast/ShardingTableBroadcastRoutingEngine.java b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/type/broadcast/ShardingTableBroadcastRoutingEngine.java
index e3051cb9998..493516cadf7 100644
--- a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/type/broadcast/ShardingTableBroadcastRoutingEngine.java
+++ b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/type/broadcast/ShardingTableBroadcastRoutingEngine.java
@@ -47,7 +47,7 @@ public final class ShardingTableBroadcastRoutingEngine implements ShardingRouteE
private final ShardingSphereDatabase database;
- private final SQLStatementContext<?> sqlStatementContext;
+ private final SQLStatementContext sqlStatementContext;
private final Collection<String> shardingRuleTableNames;
diff --git a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/type/complex/ShardingComplexRoutingEngine.java b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/type/complex/ShardingComplexRoutingEngine.java
index 88f452baabf..dfb28dab5ed 100644
--- a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/type/complex/ShardingComplexRoutingEngine.java
+++ b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/type/complex/ShardingComplexRoutingEngine.java
@@ -42,7 +42,7 @@ public final class ShardingComplexRoutingEngine implements ShardingRouteEngine {
private final ShardingConditions shardingConditions;
- private final SQLStatementContext<?> sqlStatementContext;
+ private final SQLStatementContext sqlStatementContext;
private final HintValueContext hintValueContext;
diff --git a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/type/standard/ShardingStandardRoutingEngine.java b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/type/standard/ShardingStandardRoutingEngine.java
index 54dd4787a87..6eefd27f5c7 100644
--- a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/type/standard/ShardingStandardRoutingEngine.java
+++ b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/type/standard/ShardingStandardRoutingEngine.java
@@ -62,7 +62,7 @@ public final class ShardingStandardRoutingEngine implements ShardingRouteEngine
private final ShardingConditions shardingConditions;
- private final SQLStatementContext<?> sqlStatementContext;
+ private final SQLStatementContext sqlStatementContext;
private final ConfigurationProperties props;
@@ -70,7 +70,7 @@ public final class ShardingStandardRoutingEngine implements ShardingRouteEngine
private final SQLHintExtractor sqlHintExtractor;
- public ShardingStandardRoutingEngine(final String logicTableName, final ShardingConditions shardingConditions, final SQLStatementContext<?> sqlStatementContext,
+ public ShardingStandardRoutingEngine(final String logicTableName, final ShardingConditions shardingConditions, final SQLStatementContext sqlStatementContext,
final HintValueContext hintValueContext, final ConfigurationProperties props) {
this.logicTableName = logicTableName;
this.shardingConditions = shardingConditions;
diff --git a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/type/unicast/ShardingUnicastRoutingEngine.java b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/type/unicast/ShardingUnicastRoutingEngine.java
index 96e2c106463..84725bf9ae0 100644
--- a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/type/unicast/ShardingUnicastRoutingEngine.java
+++ b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/type/unicast/ShardingUnicastRoutingEngine.java
@@ -49,7 +49,7 @@ import java.util.stream.Collectors;
@RequiredArgsConstructor
public final class ShardingUnicastRoutingEngine implements ShardingRouteEngine {
- private final SQLStatementContext<?> sqlStatementContext;
+ private final SQLStatementContext sqlStatementContext;
private final Collection<String> logicTables;
@@ -87,7 +87,7 @@ public final class ShardingUnicastRoutingEngine implements ShardingRouteEngine {
return sqlStatementContext instanceof CursorAvailable || isViewStatementContext(sqlStatementContext) ? dataSourceNames.iterator().next() : getRandomDataSourceName(dataSourceNames);
}
- private boolean isViewStatementContext(final SQLStatementContext<?> sqlStatementContext) {
+ private boolean isViewStatementContext(final SQLStatementContext sqlStatementContext) {
return sqlStatementContext instanceof CreateViewStatementContext || sqlStatementContext instanceof AlterViewStatementContext || sqlStatementContext instanceof DropViewStatementContext;
}
diff --git a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/ShardingStatementValidator.java b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/ShardingStatementValidator.java
index bc7e91b2b3b..9115f1938bb 100644
--- a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/ShardingStatementValidator.java
+++ b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/ShardingStatementValidator.java
@@ -23,16 +23,13 @@ import org.apache.shardingsphere.infra.hint.HintValueContext;
import org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
import org.apache.shardingsphere.infra.route.context.RouteContext;
import org.apache.shardingsphere.sharding.rule.ShardingRule;
-import org.apache.shardingsphere.sql.parser.sql.common.statement.SQLStatement;
import java.util.List;
/**
* Sharding statement validator.
- *
- * @param <T> type of SQL statement
*/
-public interface ShardingStatementValidator<T extends SQLStatement> {
+public interface ShardingStatementValidator {
/**
* Validate whether sharding operation is supported before route.
@@ -43,7 +40,7 @@ public interface ShardingStatementValidator<T extends SQLStatement> {
* @param database database
* @param props props
*/
- void preValidate(ShardingRule shardingRule, SQLStatementContext<T> sqlStatementContext, List<Object> params, ShardingSphereDatabase database, ConfigurationProperties props);
+ void preValidate(ShardingRule shardingRule, SQLStatementContext sqlStatementContext, List<Object> params, ShardingSphereDatabase database, ConfigurationProperties props);
/**
* Validate whether sharding operation is supported after route.
@@ -56,6 +53,6 @@ public interface ShardingStatementValidator<T extends SQLStatement> {
* @param props props
* @param routeContext route context
*/
- void postValidate(ShardingRule shardingRule, SQLStatementContext<T> sqlStatementContext, HintValueContext hintValueContext, List<Object> params,
+ void postValidate(ShardingRule shardingRule, SQLStatementContext sqlStatementContext, HintValueContext hintValueContext, List<Object> params,
ShardingSphereDatabase database, ConfigurationProperties props, RouteContext routeContext);
}
diff --git a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/ShardingDDLStatementValidator.java b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/ShardingDDLStatementValidator.java
index 69c7541611f..de5862abcbd 100644
--- a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/ShardingDDLStatementValidator.java
+++ b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/ShardingDDLStatementValidator.java
@@ -26,16 +26,13 @@ import org.apache.shardingsphere.sharding.route.engine.validator.ShardingStateme
import org.apache.shardingsphere.sharding.rule.ShardingRule;
import org.apache.shardingsphere.sql.parser.sql.common.segment.ddl.index.IndexSegment;
import org.apache.shardingsphere.sql.parser.sql.common.segment.generic.table.SimpleTableSegment;
-import org.apache.shardingsphere.sql.parser.sql.common.statement.ddl.DDLStatement;
import java.util.Collection;
/**
* Sharding DDL statement validator.
- *
- * @param <T> type of SQL statement
*/
-public abstract class ShardingDDLStatementValidator<T extends DDLStatement> implements ShardingStatementValidator<T> {
+public abstract class ShardingDDLStatementValidator implements ShardingStatementValidator {
/**
* Validate sharding table.
diff --git a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/impl/ShardingAlterIndexStatementValidator.java b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/impl/ShardingAlterIndexStatementValidator.java
index f93f0d6fca6..51c8d1a4838 100644
--- a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/impl/ShardingAlterIndexStatementValidator.java
+++ b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/impl/ShardingAlterIndexStatementValidator.java
@@ -38,26 +38,27 @@ import java.util.Optional;
/**
* Sharding alter index statement validator.
*/
-public final class ShardingAlterIndexStatementValidator extends ShardingDDLStatementValidator<AlterIndexStatement> {
+public final class ShardingAlterIndexStatementValidator extends ShardingDDLStatementValidator {
@Override
- public void preValidate(final ShardingRule shardingRule, final SQLStatementContext<AlterIndexStatement> sqlStatementContext,
+ public void preValidate(final ShardingRule shardingRule, final SQLStatementContext sqlStatementContext,
final List<Object> params, final ShardingSphereDatabase database, final ConfigurationProperties props) {
- Optional<IndexSegment> index = sqlStatementContext.getSqlStatement().getIndex();
+ AlterIndexStatement alterIndexStatement = (AlterIndexStatement) sqlStatementContext.getSqlStatement();
+ Optional<IndexSegment> index = alterIndexStatement.getIndex();
String defaultSchemaName = DatabaseTypeEngine.getDefaultSchemaName(sqlStatementContext.getDatabaseType(), database.getName());
ShardingSphereSchema schema = index.flatMap(optional -> optional.getOwner()
.map(owner -> database.getSchema(owner.getIdentifier().getValue()))).orElseGet(() -> database.getSchema(defaultSchemaName));
if (index.isPresent() && !isSchemaContainsIndex(schema, index.get())) {
throw new IndexNotExistedException(index.get().getIndexName().getIdentifier().getValue());
}
- Optional<IndexSegment> renameIndex = AlterIndexStatementHandler.getRenameIndexSegment(sqlStatementContext.getSqlStatement());
+ Optional<IndexSegment> renameIndex = AlterIndexStatementHandler.getRenameIndexSegment(alterIndexStatement);
if (renameIndex.isPresent() && isSchemaContainsIndex(schema, renameIndex.get())) {
throw new DuplicatedIndexException(renameIndex.get().getIndexName().getIdentifier().getValue());
}
}
@Override
- public void postValidate(final ShardingRule shardingRule, final SQLStatementContext<AlterIndexStatement> sqlStatementContext, final HintValueContext hintValueContext, final List<Object> params,
+ public void postValidate(final ShardingRule shardingRule, final SQLStatementContext sqlStatementContext, final HintValueContext hintValueContext, final List<Object> params,
final ShardingSphereDatabase database, final ConfigurationProperties props, final RouteContext routeContext) {
}
}
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 09a18c14117..5044ea250f4 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
@@ -38,15 +38,15 @@ import java.util.stream.Collectors;
/**
* Sharding alter table statement validator.
*/
-public final class ShardingAlterTableStatementValidator extends ShardingDDLStatementValidator<AlterTableStatement> {
+public final class ShardingAlterTableStatementValidator extends ShardingDDLStatementValidator {
@Override
- public void preValidate(final ShardingRule shardingRule, final SQLStatementContext<AlterTableStatement> sqlStatementContext,
+ 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).getAllTables().stream().map(each -> each.getTableName().getIdentifier().getValue()).collect(Collectors.toList())
: sqlStatementContext.getTablesContext().getTableNames();
- Optional<SimpleTableSegment> renameTable = sqlStatementContext.getSqlStatement().getRenameTable();
+ Optional<SimpleTableSegment> renameTable = ((AlterTableStatement) sqlStatementContext.getSqlStatement()).getRenameTable();
if (renameTable.isPresent() && containsShardingBroadcastTable(shardingRule, tableNames)) {
throw new UnsupportedShardingOperationException("ALTER TABLE ... RENAME TO ...", renameTable.get().getTableName().getIdentifier().getValue());
}
@@ -57,9 +57,9 @@ public final class ShardingAlterTableStatementValidator extends ShardingDDLState
}
@Override
- public void postValidate(final ShardingRule shardingRule, final SQLStatementContext<AlterTableStatement> sqlStatementContext, final HintValueContext hintValueContext, final List<Object> params,
+ public void postValidate(final ShardingRule shardingRule, final SQLStatementContext sqlStatementContext, final HintValueContext hintValueContext, final List<Object> params,
final ShardingSphereDatabase database, final ConfigurationProperties props, final RouteContext routeContext) {
- String primaryTable = sqlStatementContext.getSqlStatement().getTable().getTableName().getIdentifier().getValue();
+ String primaryTable = ((AlterTableStatement) sqlStatementContext.getSqlStatement()).getTable().getTableName().getIdentifier().getValue();
if (isRouteUnitDataNodeDifferentSize(shardingRule, routeContext, primaryTable)) {
throw new ShardingDDLRouteException("ALTER", "TABLE", sqlStatementContext.getTablesContext().getTableNames());
}
diff --git a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/impl/ShardingAlterViewStatementValidator.java b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/impl/ShardingAlterViewStatementValidator.java
index 1c98d8c0a7e..637f9e6bd1c 100644
--- a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/impl/ShardingAlterViewStatementValidator.java
+++ b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/impl/ShardingAlterViewStatementValidator.java
@@ -39,21 +39,22 @@ import java.util.Optional;
/**
* Sharding alter view statement validator.
*/
-public final class ShardingAlterViewStatementValidator extends ShardingDDLStatementValidator<AlterViewStatement> {
+public final class ShardingAlterViewStatementValidator extends ShardingDDLStatementValidator {
@Override
- public void preValidate(final ShardingRule shardingRule, final SQLStatementContext<AlterViewStatement> sqlStatementContext,
+ public void preValidate(final ShardingRule shardingRule, final SQLStatementContext sqlStatementContext,
final List<Object> params, final ShardingSphereDatabase database, final ConfigurationProperties props) {
- Optional<SelectStatement> selectStatement = AlterViewStatementHandler.getSelectStatement(sqlStatementContext.getSqlStatement());
+ AlterViewStatement alterViewStatement = (AlterViewStatement) sqlStatementContext.getSqlStatement();
+ Optional<SelectStatement> selectStatement = AlterViewStatementHandler.getSelectStatement(alterViewStatement);
if (selectStatement.isPresent()) {
TableExtractor extractor = new TableExtractor();
extractor.extractTablesFromSelect(selectStatement.get());
validateShardingTable(shardingRule, "ALTER VIEW", extractor.getRewriteTables());
}
- Optional<SimpleTableSegment> renamedView = AlterViewStatementHandler.getRenameView(sqlStatementContext.getSqlStatement());
+ Optional<SimpleTableSegment> renamedView = AlterViewStatementHandler.getRenameView(alterViewStatement);
if (renamedView.isPresent()) {
String targetView = renamedView.get().getTableName().getIdentifier().getValue();
- String originView = sqlStatementContext.getSqlStatement().getView().getTableName().getIdentifier().getValue();
+ String originView = alterViewStatement.getView().getTableName().getIdentifier().getValue();
validateBroadcastShardingView(shardingRule, originView, targetView);
}
}
@@ -66,7 +67,7 @@ public final class ShardingAlterViewStatementValidator extends ShardingDDLStatem
}
@Override
- public void postValidate(final ShardingRule shardingRule, final SQLStatementContext<AlterViewStatement> sqlStatementContext, final HintValueContext hintValueContext, final List<Object> params,
+ public void postValidate(final ShardingRule shardingRule, final SQLStatementContext sqlStatementContext, final HintValueContext hintValueContext, final List<Object> params,
final ShardingSphereDatabase database, final ConfigurationProperties props, final RouteContext routeContext) {
}
}
diff --git a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/impl/ShardingCreateFunctionStatementValidator.java b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/impl/ShardingCreateFunctionStatementValidator.java
index 4fa1bdb779a..4b75aae4298 100644
--- a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/impl/ShardingCreateFunctionStatementValidator.java
+++ b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/impl/ShardingCreateFunctionStatementValidator.java
@@ -39,12 +39,13 @@ import java.util.Optional;
/**
* Sharding create function statement validator.
*/
-public final class ShardingCreateFunctionStatementValidator extends ShardingDDLStatementValidator<CreateFunctionStatement> {
+public final class ShardingCreateFunctionStatementValidator extends ShardingDDLStatementValidator {
@Override
- public void preValidate(final ShardingRule shardingRule, final SQLStatementContext<CreateFunctionStatement> sqlStatementContext,
+ public void preValidate(final ShardingRule shardingRule, final SQLStatementContext sqlStatementContext,
final List<Object> params, final ShardingSphereDatabase database, final ConfigurationProperties props) {
- Optional<RoutineBodySegment> routineBodySegment = CreateFunctionStatementHandler.getRoutineBodySegment(sqlStatementContext.getSqlStatement());
+ CreateFunctionStatement createFunctionStatement = (CreateFunctionStatement) sqlStatementContext.getSqlStatement();
+ Optional<RoutineBodySegment> routineBodySegment = CreateFunctionStatementHandler.getRoutineBodySegment(createFunctionStatement);
if (!routineBodySegment.isPresent()) {
return;
}
@@ -52,14 +53,14 @@ public final class ShardingCreateFunctionStatementValidator extends ShardingDDLS
Collection<SimpleTableSegment> existTables = extractor.extractExistTableFromRoutineBody(routineBodySegment.get());
validateShardingTable(shardingRule, "CREATE FUNCTION", existTables);
String defaultSchemaName = DatabaseTypeEngine.getDefaultSchemaName(sqlStatementContext.getDatabaseType(), database.getName());
- ShardingSphereSchema schema = sqlStatementContext.getSqlStatement().getFunctionName().flatMap(optional -> optional.getOwner()
+ ShardingSphereSchema schema = createFunctionStatement.getFunctionName().flatMap(optional -> optional.getOwner()
.map(owner -> database.getSchema(owner.getIdentifier().getValue()))).orElseGet(() -> database.getSchema(defaultSchemaName));
validateTableExist(schema, existTables);
validateTableNotExist(schema, extractor.extractNotExistTableFromRoutineBody(routineBodySegment.get()));
}
@Override
- public void postValidate(final ShardingRule shardingRule, final SQLStatementContext<CreateFunctionStatement> sqlStatementContext, final HintValueContext hintValueContext,
+ public void postValidate(final ShardingRule shardingRule, final SQLStatementContext sqlStatementContext, final HintValueContext hintValueContext,
final List<Object> params, final ShardingSphereDatabase database, final ConfigurationProperties props, final RouteContext routeContext) {
}
}
diff --git a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/impl/ShardingCreateIndexStatementValidator.java b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/impl/ShardingCreateIndexStatementValidator.java
index 3d964a77b90..a007d332c27 100644
--- a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/impl/ShardingCreateIndexStatementValidator.java
+++ b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/impl/ShardingCreateIndexStatementValidator.java
@@ -37,19 +37,20 @@ import java.util.List;
/**
* Sharding create index statement validator.
*/
-public final class ShardingCreateIndexStatementValidator extends ShardingDDLStatementValidator<CreateIndexStatement> {
+public final class ShardingCreateIndexStatementValidator extends ShardingDDLStatementValidator {
@Override
- public void preValidate(final ShardingRule shardingRule, final SQLStatementContext<CreateIndexStatement> sqlStatementContext,
+ public void preValidate(final ShardingRule shardingRule, final SQLStatementContext sqlStatementContext,
final List<Object> params, final ShardingSphereDatabase database, final ConfigurationProperties props) {
- if (CreateIndexStatementHandler.ifNotExists(sqlStatementContext.getSqlStatement())) {
+ if (CreateIndexStatementHandler.ifNotExists((CreateIndexStatement) sqlStatementContext.getSqlStatement())) {
return;
}
+ CreateIndexStatement createIndexStatement = (CreateIndexStatement) sqlStatementContext.getSqlStatement();
String defaultSchemaName = DatabaseTypeEngine.getDefaultSchemaName(sqlStatementContext.getDatabaseType(), database.getName());
ShardingSphereSchema schema = sqlStatementContext.getTablesContext().getSchemaName()
.map(database::getSchema).orElseGet(() -> database.getSchema(defaultSchemaName));
- validateTableExist(schema, Collections.singletonList(sqlStatementContext.getSqlStatement().getTable()));
- String tableName = sqlStatementContext.getSqlStatement().getTable().getTableName().getIdentifier().getValue();
+ validateTableExist(schema, Collections.singleton(createIndexStatement.getTable()));
+ String tableName = createIndexStatement.getTable().getTableName().getIdentifier().getValue();
String indexName = ((IndexAvailable) sqlStatementContext).getIndexes().stream().map(each -> each.getIndexName().getIdentifier().getValue()).findFirst().orElse(null);
if (schema.containsIndex(tableName, indexName)) {
throw new DuplicatedIndexException(indexName);
@@ -57,7 +58,7 @@ public final class ShardingCreateIndexStatementValidator extends ShardingDDLStat
}
@Override
- public void postValidate(final ShardingRule shardingRule, final SQLStatementContext<CreateIndexStatement> sqlStatementContext, final HintValueContext hintValueContext, final List<Object> params,
+ public void postValidate(final ShardingRule shardingRule, final SQLStatementContext sqlStatementContext, final HintValueContext hintValueContext, final List<Object> params,
final ShardingSphereDatabase database, final ConfigurationProperties props, final RouteContext routeContext) {
}
}
diff --git a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/impl/ShardingCreateProcedureStatementValidator.java b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/impl/ShardingCreateProcedureStatementValidator.java
index 7efd80bc334..5830d53289b 100644
--- a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/impl/ShardingCreateProcedureStatementValidator.java
+++ b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/impl/ShardingCreateProcedureStatementValidator.java
@@ -39,18 +39,19 @@ import java.util.Optional;
/**
* Sharding create procedure statement validator.
*/
-public final class ShardingCreateProcedureStatementValidator extends ShardingDDLStatementValidator<CreateProcedureStatement> {
+public final class ShardingCreateProcedureStatementValidator extends ShardingDDLStatementValidator {
@Override
- public void preValidate(final ShardingRule shardingRule, final SQLStatementContext<CreateProcedureStatement> sqlStatementContext,
+ public void preValidate(final ShardingRule shardingRule, final SQLStatementContext sqlStatementContext,
final List<Object> params, final ShardingSphereDatabase database, final ConfigurationProperties props) {
- Optional<RoutineBodySegment> routineBodySegment = CreateProcedureStatementHandler.getRoutineBodySegment(sqlStatementContext.getSqlStatement());
+ CreateProcedureStatement createProcedureStatement = (CreateProcedureStatement) sqlStatementContext.getSqlStatement();
+ Optional<RoutineBodySegment> routineBodySegment = CreateProcedureStatementHandler.getRoutineBodySegment(createProcedureStatement);
if (!routineBodySegment.isPresent()) {
return;
}
TableExtractor extractor = new TableExtractor();
String defaultSchemaName = DatabaseTypeEngine.getDefaultSchemaName(sqlStatementContext.getDatabaseType(), database.getName());
- ShardingSphereSchema schema = sqlStatementContext.getSqlStatement().getProcedureName().flatMap(optional -> optional.getOwner()
+ ShardingSphereSchema schema = createProcedureStatement.getProcedureName().flatMap(optional -> optional.getOwner()
.map(owner -> database.getSchema(owner.getIdentifier().getValue()))).orElseGet(() -> database.getSchema(defaultSchemaName));
Collection<SimpleTableSegment> existTables = extractor.extractExistTableFromRoutineBody(routineBodySegment.get());
validateShardingTable(shardingRule, "CREATE PROCEDURE", existTables);
@@ -60,7 +61,7 @@ public final class ShardingCreateProcedureStatementValidator extends ShardingDDL
}
@Override
- public void postValidate(final ShardingRule shardingRule, final SQLStatementContext<CreateProcedureStatement> sqlStatementContext, final HintValueContext hintValueContext,
+ public void postValidate(final ShardingRule shardingRule, final SQLStatementContext sqlStatementContext, final HintValueContext hintValueContext,
final List<Object> params, final ShardingSphereDatabase database, final ConfigurationProperties props, final RouteContext routeContext) {
}
}
diff --git a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/impl/ShardingCreateTableStatementValidator.java b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/impl/ShardingCreateTableStatementValidator.java
index 9bd3da86420..d0e7ebee3a9 100644
--- a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/impl/ShardingCreateTableStatementValidator.java
+++ b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/impl/ShardingCreateTableStatementValidator.java
@@ -36,23 +36,24 @@ import java.util.List;
/**
* Sharding create table statement validator.
*/
-public final class ShardingCreateTableStatementValidator extends ShardingDDLStatementValidator<CreateTableStatement> {
+public final class ShardingCreateTableStatementValidator extends ShardingDDLStatementValidator {
@Override
- public void preValidate(final ShardingRule shardingRule, final SQLStatementContext<CreateTableStatement> sqlStatementContext,
+ public void preValidate(final ShardingRule shardingRule, final SQLStatementContext sqlStatementContext,
final List<Object> params, final ShardingSphereDatabase database, final ConfigurationProperties props) {
- if (!CreateTableStatementHandler.ifNotExists(sqlStatementContext.getSqlStatement())) {
+ CreateTableStatement createTableStatement = (CreateTableStatement) sqlStatementContext.getSqlStatement();
+ if (!CreateTableStatementHandler.ifNotExists(createTableStatement)) {
String defaultSchemaName = DatabaseTypeEngine.getDefaultSchemaName(sqlStatementContext.getDatabaseType(), database.getName());
ShardingSphereSchema schema = sqlStatementContext.getTablesContext().getSchemaName()
.map(database::getSchema).orElseGet(() -> database.getSchema(defaultSchemaName));
- validateTableNotExist(schema, Collections.singletonList(sqlStatementContext.getSqlStatement().getTable()));
+ validateTableNotExist(schema, Collections.singleton(createTableStatement.getTable()));
}
}
@Override
- public void postValidate(final ShardingRule shardingRule, final SQLStatementContext<CreateTableStatement> sqlStatementContext, final HintValueContext hintValueContext, final List<Object> params,
+ public void postValidate(final ShardingRule shardingRule, final SQLStatementContext sqlStatementContext, final HintValueContext hintValueContext, final List<Object> params,
final ShardingSphereDatabase database, final ConfigurationProperties props, final RouteContext routeContext) {
- String primaryTable = sqlStatementContext.getSqlStatement().getTable().getTableName().getIdentifier().getValue();
+ String primaryTable = ((CreateTableStatement) sqlStatementContext.getSqlStatement()).getTable().getTableName().getIdentifier().getValue();
if (isRouteUnitDataNodeDifferentSize(shardingRule, routeContext, primaryTable)) {
throw new ShardingDDLRouteException("CREATE", "TABLE", sqlStatementContext.getTablesContext().getTableNames());
}
diff --git a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/impl/ShardingCreateViewStatementValidator.java b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/impl/ShardingCreateViewStatementValidator.java
index 052767252aa..67e2a945588 100644
--- a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/impl/ShardingCreateViewStatementValidator.java
+++ b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/impl/ShardingCreateViewStatementValidator.java
@@ -43,14 +43,13 @@ import java.util.List;
/**
* Sharding create view statement validator.
*/
-public final class ShardingCreateViewStatementValidator extends ShardingDDLStatementValidator<CreateViewStatement> {
+public final class ShardingCreateViewStatementValidator extends ShardingDDLStatementValidator {
@Override
- public void preValidate(final ShardingRule shardingRule, final SQLStatementContext<CreateViewStatement> sqlStatementContext,
+ public void preValidate(final ShardingRule shardingRule, final SQLStatementContext sqlStatementContext,
final List<Object> params, final ShardingSphereDatabase database, final ConfigurationProperties props) {
- SelectStatement selectStatement = sqlStatementContext.getSqlStatement().getSelect();
TableExtractor extractor = new TableExtractor();
- extractor.extractTablesFromSelect(selectStatement);
+ extractor.extractTablesFromSelect(((CreateViewStatement) sqlStatementContext.getSqlStatement()).getSelect());
Collection<SimpleTableSegment> tableSegments = extractor.getRewriteTables();
String sqlFederationType = props.getValue(ConfigurationPropertyKey.SQL_FEDERATION_TYPE);
if ("NONE".equals(sqlFederationType) && isShardingTablesWithoutBinding(shardingRule, sqlStatementContext, tableSegments)) {
@@ -62,19 +61,20 @@ public final class ShardingCreateViewStatementValidator extends ShardingDDLState
}
@Override
- public void postValidate(final ShardingRule shardingRule, final SQLStatementContext<CreateViewStatement> sqlStatementContext, final HintValueContext hintValueContext, final List<Object> params,
+ public void postValidate(final ShardingRule shardingRule, final SQLStatementContext sqlStatementContext, final HintValueContext hintValueContext, final List<Object> params,
final ShardingSphereDatabase database, final ConfigurationProperties props, final RouteContext routeContext) {
- SelectStatement selectStatement = sqlStatementContext.getSqlStatement().getSelect();
+ SelectStatement selectStatement = ((CreateViewStatement) sqlStatementContext.getSqlStatement()).getSelect();
if (isContainsNotSupportedViewStatement(selectStatement, routeContext)) {
throw new UnsupportedCreateViewException();
}
}
- private boolean isShardingTablesWithoutBinding(final ShardingRule shardingRule, final SQLStatementContext<CreateViewStatement> sqlStatementContext,
+ private boolean isShardingTablesWithoutBinding(final ShardingRule shardingRule, final SQLStatementContext sqlStatementContext,
final Collection<SimpleTableSegment> tableSegments) {
for (SimpleTableSegment each : tableSegments) {
String logicTable = each.getTableName().getIdentifier().getValue();
- if (shardingRule.isShardingTable(logicTable) && !isBindingTables(shardingRule, sqlStatementContext.getSqlStatement().getView().getTableName().getIdentifier().getValue(), logicTable)) {
+ if (shardingRule.isShardingTable(logicTable) && !isBindingTables(
+ shardingRule, ((CreateViewStatement) sqlStatementContext.getSqlStatement()).getView().getTableName().getIdentifier().getValue(), logicTable)) {
return true;
}
}
@@ -86,13 +86,14 @@ public final class ShardingCreateViewStatementValidator extends ShardingDDLState
return shardingRule.isAllBindingTables(bindTables);
}
- private boolean isAllBroadcastTablesWithoutConfigView(final ShardingRule shardingRule, final SQLStatementContext<CreateViewStatement> sqlStatementContext,
+ private boolean isAllBroadcastTablesWithoutConfigView(final ShardingRule shardingRule, final SQLStatementContext sqlStatementContext,
final Collection<SimpleTableSegment> tableSegments) {
Collection<String> tables = new LinkedList<>();
for (SimpleTableSegment each : tableSegments) {
tables.add(each.getTableName().getIdentifier().getValue());
}
- return shardingRule.isAllBroadcastTables(tables) && !shardingRule.isBroadcastTable(sqlStatementContext.getSqlStatement().getView().getTableName().getIdentifier().getValue());
+ return shardingRule.isAllBroadcastTables(tables) && !shardingRule.isBroadcastTable(
+ ((CreateViewStatement) sqlStatementContext.getSqlStatement()).getView().getTableName().getIdentifier().getValue());
}
private boolean isContainsNotSupportedViewStatement(final SelectStatement selectStatement, final RouteContext routeContext) {
diff --git a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/impl/ShardingDropIndexStatementValidator.java b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/impl/ShardingDropIndexStatementValidator.java
index 213f425b4e9..939cc3aa7bd 100644
--- a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/impl/ShardingDropIndexStatementValidator.java
+++ b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/impl/ShardingDropIndexStatementValidator.java
@@ -40,16 +40,17 @@ import java.util.stream.Collectors;
/**
* Sharding drop index statement validator.
*/
-public final class ShardingDropIndexStatementValidator extends ShardingDDLStatementValidator<DropIndexStatement> {
+public final class ShardingDropIndexStatementValidator extends ShardingDDLStatementValidator {
@Override
- public void preValidate(final ShardingRule shardingRule, final SQLStatementContext<DropIndexStatement> sqlStatementContext,
+ public void preValidate(final ShardingRule shardingRule, final SQLStatementContext sqlStatementContext,
final List<Object> params, final ShardingSphereDatabase database, final ConfigurationProperties props) {
- if (DropIndexStatementHandler.ifExists(sqlStatementContext.getSqlStatement())) {
+ DropIndexStatement dropIndexStatement = (DropIndexStatement) sqlStatementContext.getSqlStatement();
+ if (DropIndexStatementHandler.ifExists(dropIndexStatement)) {
return;
}
String defaultSchemaName = DatabaseTypeEngine.getDefaultSchemaName(sqlStatementContext.getDatabaseType(), database.getName());
- for (IndexSegment each : sqlStatementContext.getSqlStatement().getIndexes()) {
+ for (IndexSegment each : dropIndexStatement.getIndexes()) {
ShardingSphereSchema schema = each.getOwner().map(optional -> optional.getIdentifier().getValue())
.map(database::getSchema).orElseGet(() -> database.getSchema(defaultSchemaName));
if (!isSchemaContainsIndex(schema, each)) {
@@ -59,10 +60,11 @@ public final class ShardingDropIndexStatementValidator extends ShardingDDLStatem
}
@Override
- public void postValidate(final ShardingRule shardingRule, final SQLStatementContext<DropIndexStatement> sqlStatementContext, final HintValueContext hintValueContext, final List<Object> params,
+ public void postValidate(final ShardingRule shardingRule, final SQLStatementContext sqlStatementContext, final HintValueContext hintValueContext, final List<Object> params,
final ShardingSphereDatabase database, final ConfigurationProperties props, final RouteContext routeContext) {
- Collection<IndexSegment> indexSegments = sqlStatementContext.getSqlStatement().getIndexes();
- Optional<String> logicTableName = DropIndexStatementHandler.getSimpleTableSegment(sqlStatementContext.getSqlStatement()).map(optional -> optional.getTableName().getIdentifier().getValue());
+ DropIndexStatement dropIndexStatement = (DropIndexStatement) sqlStatementContext.getSqlStatement();
+ Collection<IndexSegment> indexSegments = dropIndexStatement.getIndexes();
+ Optional<String> logicTableName = DropIndexStatementHandler.getSimpleTableSegment(dropIndexStatement).map(optional -> optional.getTableName().getIdentifier().getValue());
if (logicTableName.isPresent()) {
validateDropIndexRouteUnit(shardingRule, routeContext, indexSegments, logicTableName.get());
} else {
diff --git a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/impl/ShardingDropTableStatementValidator.java b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/impl/ShardingDropTableStatementValidator.java
index 90dbfe4d225..065a1a04e57 100644
--- a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/impl/ShardingDropTableStatementValidator.java
+++ b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/impl/ShardingDropTableStatementValidator.java
@@ -44,27 +44,29 @@ import java.util.stream.Collectors;
/**
* Sharding drop table statement validator.
*/
-public final class ShardingDropTableStatementValidator extends ShardingDDLStatementValidator<DropTableStatement> {
+public final class ShardingDropTableStatementValidator extends ShardingDDLStatementValidator {
@Override
- public void preValidate(final ShardingRule shardingRule, final SQLStatementContext<DropTableStatement> sqlStatementContext,
+ public void preValidate(final ShardingRule shardingRule, final SQLStatementContext sqlStatementContext,
final List<Object> params, final ShardingSphereDatabase database, final ConfigurationProperties props) {
- if (!DropTableStatementHandler.ifExists(sqlStatementContext.getSqlStatement())) {
+ DropTableStatement dropTableStatement = (DropTableStatement) sqlStatementContext.getSqlStatement();
+ if (!DropTableStatementHandler.ifExists(dropTableStatement)) {
String defaultSchemaName = DatabaseTypeEngine.getDefaultSchemaName(sqlStatementContext.getDatabaseType(), database.getName());
ShardingSphereSchema schema = sqlStatementContext.getTablesContext().getSchemaName()
.map(database::getSchema).orElseGet(() -> database.getSchema(defaultSchemaName));
validateTableExist(schema, sqlStatementContext.getTablesContext().getTables());
}
- if (DropTableStatementHandler.containsCascade(sqlStatementContext.getSqlStatement())) {
+ if (DropTableStatementHandler.containsCascade(dropTableStatement)) {
throw new UnsupportedShardingOperationException("DROP TABLE ... CASCADE", sqlStatementContext.getTablesContext().getTables().iterator().next().getTableName().getIdentifier().getValue());
}
}
@Override
- public void postValidate(final ShardingRule shardingRule, final SQLStatementContext<DropTableStatement> sqlStatementContext, final HintValueContext hintValueContext, final List<Object> params,
+ public void postValidate(final ShardingRule shardingRule, final SQLStatementContext sqlStatementContext, final HintValueContext hintValueContext, final List<Object> params,
final ShardingSphereDatabase database, final ConfigurationProperties props, final RouteContext routeContext) {
- checkTableInUsed(shardingRule, sqlStatementContext.getSqlStatement(), routeContext);
- for (SimpleTableSegment each : sqlStatementContext.getSqlStatement().getTables()) {
+ DropTableStatement dropTableStatement = (DropTableStatement) sqlStatementContext.getSqlStatement();
+ checkTableInUsed(shardingRule, dropTableStatement, routeContext);
+ for (SimpleTableSegment each : dropTableStatement.getTables()) {
if (isRouteUnitDataNodeDifferentSize(shardingRule, routeContext, each.getTableName().getIdentifier().getValue())) {
throw new ShardingDDLRouteException("DROP", "TABLE", sqlStatementContext.getTablesContext().getTableNames());
}
diff --git a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/impl/ShardingPrepareStatementValidator.java b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/impl/ShardingPrepareStatementValidator.java
index 7f3a80028de..4bfa9f3d9f0 100644
--- a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/impl/ShardingPrepareStatementValidator.java
+++ b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/impl/ShardingPrepareStatementValidator.java
@@ -27,7 +27,6 @@ import org.apache.shardingsphere.sharding.exception.connection.EmptyShardingRout
import org.apache.shardingsphere.sharding.exception.syntax.UnsupportedPrepareRouteToSameDataSourceException;
import org.apache.shardingsphere.sharding.route.engine.validator.ddl.ShardingDDLStatementValidator;
import org.apache.shardingsphere.sharding.rule.ShardingRule;
-import org.apache.shardingsphere.sql.parser.sql.common.statement.ddl.PrepareStatement;
import java.util.List;
import java.util.stream.Collectors;
@@ -35,15 +34,15 @@ import java.util.stream.Collectors;
/**
* Sharding prepare statement validator.
*/
-public final class ShardingPrepareStatementValidator extends ShardingDDLStatementValidator<PrepareStatement> {
+public final class ShardingPrepareStatementValidator extends ShardingDDLStatementValidator {
@Override
- public void preValidate(final ShardingRule shardingRule, final SQLStatementContext<PrepareStatement> sqlStatementContext, final List<Object> params, final ShardingSphereDatabase database,
+ public void preValidate(final ShardingRule shardingRule, final SQLStatementContext sqlStatementContext, final List<Object> params, final ShardingSphereDatabase database,
final ConfigurationProperties props) {
}
@Override
- public void postValidate(final ShardingRule shardingRule, final SQLStatementContext<PrepareStatement> sqlStatementContext, final HintValueContext hintValueContext, final List<Object> params,
+ public void postValidate(final ShardingRule shardingRule, final SQLStatementContext sqlStatementContext, final HintValueContext hintValueContext, final List<Object> params,
final ShardingSphereDatabase database, final ConfigurationProperties props, final RouteContext routeContext) {
if (routeContext.getRouteUnits().isEmpty()) {
throw new EmptyShardingRouteResultException();
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 7e31c8f8f68..4212f15937a 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
@@ -38,15 +38,16 @@ import java.util.stream.Collectors;
/**
* Sharding rename table statement validator.
*/
-public final class ShardingRenameTableStatementValidator extends ShardingDDLStatementValidator<RenameTableStatement> {
+public final class ShardingRenameTableStatementValidator extends ShardingDDLStatementValidator {
@Override
- public void preValidate(final ShardingRule shardingRule, final SQLStatementContext<RenameTableStatement> sqlStatementContext, final List<Object> params, final ShardingSphereDatabase database,
+ 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).getAllTables().stream().map(each -> each.getTableName().getIdentifier().getValue()).collect(Collectors.toList())
: sqlStatementContext.getTablesContext().getTableNames();
- List<SimpleTableSegment> renameTables = sqlStatementContext.getSqlStatement().getRenameTables().stream().map(RenameTableDefinitionSegment::getRenameTable).collect(Collectors.toList());
+ RenameTableStatement renameTableStatement = (RenameTableStatement) sqlStatementContext.getSqlStatement();
+ List<SimpleTableSegment> renameTables = renameTableStatement.getRenameTables().stream().map(RenameTableDefinitionSegment::getRenameTable).collect(Collectors.toList());
if (!renameTables.isEmpty() && containsShardingBroadcastTable(shardingRule, tableNames)) {
throw new UnsupportedShardingOperationException("RENAME TABLE", renameTables.get(0).getTableName().getIdentifier().getValue());
}
@@ -57,9 +58,10 @@ public final class ShardingRenameTableStatementValidator extends ShardingDDLStat
}
@Override
- public void postValidate(final ShardingRule shardingRule, final SQLStatementContext<RenameTableStatement> sqlStatementContext, final HintValueContext hintValueContext, final List<Object> params,
+ public void postValidate(final ShardingRule shardingRule, final SQLStatementContext sqlStatementContext, final HintValueContext hintValueContext, final List<Object> params,
final ShardingSphereDatabase database, final ConfigurationProperties props, final RouteContext routeContext) {
- for (RenameTableDefinitionSegment each : sqlStatementContext.getSqlStatement().getRenameTables()) {
+ RenameTableStatement renameTableStatement = (RenameTableStatement) sqlStatementContext.getSqlStatement();
+ for (RenameTableDefinitionSegment each : renameTableStatement.getRenameTables()) {
String primaryTable = each.getTable().getTableName().getIdentifier().getValue();
if (isRouteUnitDataNodeDifferentSize(shardingRule, routeContext, primaryTable)) {
throw new ShardingDDLRouteException("RENAME", "TABLE", sqlStatementContext.getTablesContext().getTableNames());
diff --git a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/dml/ShardingDMLStatementValidator.java b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/dml/ShardingDMLStatementValidator.java
index 299d5047c26..f0da6db5bb4 100644
--- a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/dml/ShardingDMLStatementValidator.java
+++ b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/dml/ShardingDMLStatementValidator.java
@@ -33,7 +33,6 @@ import org.apache.shardingsphere.sql.parser.sql.common.segment.dml.assignment.As
import org.apache.shardingsphere.sql.parser.sql.common.segment.dml.expr.ExpressionSegment;
import org.apache.shardingsphere.sql.parser.sql.common.segment.dml.expr.simple.LiteralExpressionSegment;
import org.apache.shardingsphere.sql.parser.sql.common.segment.dml.expr.simple.ParameterMarkerExpressionSegment;
-import org.apache.shardingsphere.sql.parser.sql.common.statement.SQLStatement;
import java.util.Collection;
import java.util.Collections;
@@ -44,10 +43,8 @@ import java.util.Optional;
/**
* Sharding DML statement validator.
- *
- * @param <T> type of SQL statement
*/
-public abstract class ShardingDMLStatementValidator<T extends SQLStatement> implements ShardingStatementValidator<T> {
+public abstract class ShardingDMLStatementValidator implements ShardingStatementValidator {
/**
* Validate multiple table.
@@ -55,7 +52,7 @@ public abstract class ShardingDMLStatementValidator<T extends SQLStatement> impl
* @param shardingRule sharding rule
* @param sqlStatementContext sqlStatementContext
*/
- protected void validateMultipleTable(final ShardingRule shardingRule, final SQLStatementContext<T> sqlStatementContext) {
+ protected void validateMultipleTable(final ShardingRule shardingRule, final SQLStatementContext sqlStatementContext) {
Collection<String> tableNames = sqlStatementContext.getTablesContext().getTableNames();
boolean isAllShardingTables = shardingRule.isAllShardingTables(tableNames) && (1 == tableNames.size() || shardingRule.isAllBindingTables(tableNames));
boolean isAllBroadcastTables = shardingRule.isAllBroadcastTables(tableNames);
@@ -117,7 +114,7 @@ public abstract class ShardingDMLStatementValidator<T extends SQLStatement> impl
* @return sharding conditions
*/
@SuppressWarnings({"rawtypes", "unchecked"})
- protected Optional<ShardingConditions> createShardingConditions(final SQLStatementContext<?> sqlStatementContext, final ShardingRule shardingRule,
+ protected Optional<ShardingConditions> createShardingConditions(final SQLStatementContext sqlStatementContext, final ShardingRule shardingRule,
final Collection<AssignmentSegment> assignments, final List<Object> params) {
Collection<ShardingConditionValue> values = new LinkedList<>();
String tableName = sqlStatementContext.getTablesContext().getTableNames().iterator().next();
diff --git a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/dml/impl/ShardingCopyStatementValidator.java b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/dml/impl/ShardingCopyStatementValidator.java
index 6bf5837356c..a06ff1e3947 100644
--- a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/dml/impl/ShardingCopyStatementValidator.java
+++ b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/dml/impl/ShardingCopyStatementValidator.java
@@ -32,19 +32,19 @@ import java.util.List;
/**
* Sharding copy statement validator.
*/
-public final class ShardingCopyStatementValidator extends ShardingDMLStatementValidator<CopyStatement> {
+public final class ShardingCopyStatementValidator extends ShardingDMLStatementValidator {
@Override
- public void preValidate(final ShardingRule shardingRule, final SQLStatementContext<CopyStatement> sqlStatementContext,
+ public void preValidate(final ShardingRule shardingRule, final SQLStatementContext sqlStatementContext,
final List<Object> params, final ShardingSphereDatabase database, final ConfigurationProperties props) {
- String tableName = sqlStatementContext.getSqlStatement().getTableSegment().getTableName().getIdentifier().getValue();
+ String tableName = ((CopyStatement) sqlStatementContext.getSqlStatement()).getTableSegment().getTableName().getIdentifier().getValue();
if (shardingRule.isShardingTable(tableName)) {
throw new UnsupportedShardingOperationException("COPY", tableName);
}
}
@Override
- public void postValidate(final ShardingRule shardingRule, final SQLStatementContext<CopyStatement> sqlStatementContext, final HintValueContext hintValueContext,
+ public void postValidate(final ShardingRule shardingRule, final SQLStatementContext sqlStatementContext, final HintValueContext hintValueContext,
final List<Object> params, final ShardingSphereDatabase database, final ConfigurationProperties props, final RouteContext routeContext) {
}
}
diff --git a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/dml/impl/ShardingDeleteStatementValidator.java b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/dml/impl/ShardingDeleteStatementValidator.java
index 3b20276dfdc..9b49d39f934 100644
--- a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/dml/impl/ShardingDeleteStatementValidator.java
+++ b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/dml/impl/ShardingDeleteStatementValidator.java
@@ -33,19 +33,19 @@ import java.util.List;
/**
* Sharding delete statement validator.
*/
-public final class ShardingDeleteStatementValidator extends ShardingDMLStatementValidator<DeleteStatement> {
+public final class ShardingDeleteStatementValidator extends ShardingDMLStatementValidator {
@Override
- public void preValidate(final ShardingRule shardingRule, final SQLStatementContext<DeleteStatement> sqlStatementContext,
+ public void preValidate(final ShardingRule shardingRule, final SQLStatementContext sqlStatementContext,
final List<Object> params, final ShardingSphereDatabase database, final ConfigurationProperties props) {
validateMultipleTable(shardingRule, sqlStatementContext);
}
@Override
- public void postValidate(final ShardingRule shardingRule, final SQLStatementContext<DeleteStatement> sqlStatementContext, final HintValueContext hintValueContext, final List<Object> params,
+ public void postValidate(final ShardingRule shardingRule, final SQLStatementContext sqlStatementContext, final HintValueContext hintValueContext, final List<Object> params,
final ShardingSphereDatabase database, final ConfigurationProperties props, final RouteContext routeContext) {
if (!shardingRule.isBroadcastTable(sqlStatementContext.getTablesContext().getTableNames().iterator().next())
- && DeleteStatementHandler.getLimitSegment(sqlStatementContext.getSqlStatement()).isPresent() && routeContext.getRouteUnits().size() > 1) {
+ && DeleteStatementHandler.getLimitSegment((DeleteStatement) sqlStatementContext.getSqlStatement()).isPresent() && routeContext.getRouteUnits().size() > 1) {
throw new DMLMultipleDataNodesWithLimitException("DELETE");
}
}
diff --git a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/dml/impl/ShardingInsertStatementValidator.java b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/dml/impl/ShardingInsertStatementValidator.java
index f1ce028a39d..3fe8023ea0c 100644
--- a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/dml/impl/ShardingInsertStatementValidator.java
+++ b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/dml/impl/ShardingInsertStatementValidator.java
@@ -51,20 +51,21 @@ import java.util.Optional;
* Sharding insert statement validator.
*/
@RequiredArgsConstructor
-public final class ShardingInsertStatementValidator extends ShardingDMLStatementValidator<InsertStatement> {
+public final class ShardingInsertStatementValidator extends ShardingDMLStatementValidator {
private final ShardingConditions shardingConditions;
@Override
- public void preValidate(final ShardingRule shardingRule, final SQLStatementContext<InsertStatement> sqlStatementContext,
+ public void preValidate(final ShardingRule shardingRule, final SQLStatementContext sqlStatementContext,
final List<Object> params, final ShardingSphereDatabase database, final ConfigurationProperties props) {
if (null == ((InsertStatementContext) sqlStatementContext).getInsertSelectContext()) {
validateMultipleTable(shardingRule, sqlStatementContext);
}
- String tableName = sqlStatementContext.getSqlStatement().getTable().getTableName().getIdentifier().getValue();
- Optional<SubquerySegment> insertSelectSegment = sqlStatementContext.getSqlStatement().getInsertSelect();
+ InsertStatement insertStatement = (InsertStatement) sqlStatementContext.getSqlStatement();
+ String tableName = insertStatement.getTable().getTableName().getIdentifier().getValue();
+ Optional<SubquerySegment> insertSelectSegment = insertStatement.getInsertSelect();
if (insertSelectSegment.isPresent() && isContainsKeyGenerateStrategy(shardingRule, tableName)
- && !isContainsKeyGenerateColumn(shardingRule, sqlStatementContext.getSqlStatement().getColumns(), tableName)) {
+ && !isContainsKeyGenerateColumn(shardingRule, insertStatement.getColumns(), tableName)) {
throw new MissingGenerateKeyColumnWithInsertSelectException();
}
TablesContext tablesContext = sqlStatementContext.getTablesContext();
@@ -87,15 +88,16 @@ public final class ShardingInsertStatementValidator extends ShardingDMLStatement
}
@Override
- public void postValidate(final ShardingRule shardingRule, final SQLStatementContext<InsertStatement> sqlStatementContext, final HintValueContext hintValueContext, final List<Object> params,
+ public void postValidate(final ShardingRule shardingRule, final SQLStatementContext sqlStatementContext, final HintValueContext hintValueContext, final List<Object> params,
final ShardingSphereDatabase database, final ConfigurationProperties props, final RouteContext routeContext) {
- Optional<SubquerySegment> insertSelect = sqlStatementContext.getSqlStatement().getInsertSelect();
- String tableName = sqlStatementContext.getSqlStatement().getTable().getTableName().getIdentifier().getValue();
+ InsertStatement insertStatement = (InsertStatement) sqlStatementContext.getSqlStatement();
+ Optional<SubquerySegment> insertSelect = insertStatement.getInsertSelect();
+ String tableName = insertStatement.getTable().getTableName().getIdentifier().getValue();
if (insertSelect.isPresent() && shardingConditions.isNeedMerge()) {
boolean singleRoutingOrSameShardingCondition = routeContext.isSingleRouting() || shardingConditions.isSameShardingCondition();
ShardingSpherePreconditions.checkState(singleRoutingOrSameShardingCondition, () -> new UnsupportedShardingOperationException("INSERT ... SELECT ...", tableName));
}
- Collection<AssignmentSegment> assignments = InsertStatementHandler.getOnDuplicateKeyColumnsSegment(sqlStatementContext.getSqlStatement())
+ Collection<AssignmentSegment> assignments = InsertStatementHandler.getOnDuplicateKeyColumnsSegment(insertStatement)
.map(OnDuplicateKeyColumnsSegment::getColumns).orElse(Collections.emptyList());
Optional<ShardingConditions> onDuplicateKeyShardingConditions = createShardingConditions(sqlStatementContext, shardingRule, assignments, params);
Optional<RouteContext> onDuplicateKeyRouteContext = onDuplicateKeyShardingConditions.map(optional -> new ShardingStandardRoutingEngine(tableName, optional,
diff --git a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/dml/impl/ShardingLoadDataStatementValidator.java b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/dml/impl/ShardingLoadDataStatementValidator.java
index a5a7d7e6273..33e7ed8eafd 100644
--- a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/dml/impl/ShardingLoadDataStatementValidator.java
+++ b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/dml/impl/ShardingLoadDataStatementValidator.java
@@ -32,19 +32,19 @@ import java.util.List;
/**
* Sharding load data statement validator.
*/
-public final class ShardingLoadDataStatementValidator extends ShardingDMLStatementValidator<MySQLLoadDataStatement> {
+public final class ShardingLoadDataStatementValidator extends ShardingDMLStatementValidator {
@Override
- public void preValidate(final ShardingRule shardingRule, final SQLStatementContext<MySQLLoadDataStatement> sqlStatementContext,
+ public void preValidate(final ShardingRule shardingRule, final SQLStatementContext sqlStatementContext,
final List<Object> params, final ShardingSphereDatabase database, final ConfigurationProperties props) {
- String tableName = sqlStatementContext.getSqlStatement().getTableSegment().getTableName().getIdentifier().getValue();
+ String tableName = ((MySQLLoadDataStatement) sqlStatementContext.getSqlStatement()).getTableSegment().getTableName().getIdentifier().getValue();
if (shardingRule.isShardingTable(tableName)) {
throw new UnsupportedShardingOperationException("LOAD DATA", tableName);
}
}
@Override
- public void postValidate(final ShardingRule shardingRule, final SQLStatementContext<MySQLLoadDataStatement> sqlStatementContext, final HintValueContext hintValueContext,
+ public void postValidate(final ShardingRule shardingRule, final SQLStatementContext sqlStatementContext, final HintValueContext hintValueContext,
final List<Object> params, final ShardingSphereDatabase database, final ConfigurationProperties props, final RouteContext routeContext) {
}
}
diff --git a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/dml/impl/ShardingLoadXMLStatementValidator.java b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/dml/impl/ShardingLoadXMLStatementValidator.java
index 42b0f2a97d9..944c2c88ab9 100644
--- a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/dml/impl/ShardingLoadXMLStatementValidator.java
+++ b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/dml/impl/ShardingLoadXMLStatementValidator.java
@@ -32,19 +32,19 @@ import java.util.List;
/**
* Sharding load xml statement validator.
*/
-public final class ShardingLoadXMLStatementValidator extends ShardingDMLStatementValidator<MySQLLoadXMLStatement> {
+public final class ShardingLoadXMLStatementValidator extends ShardingDMLStatementValidator {
@Override
- public void preValidate(final ShardingRule shardingRule, final SQLStatementContext<MySQLLoadXMLStatement> sqlStatementContext,
+ public void preValidate(final ShardingRule shardingRule, final SQLStatementContext sqlStatementContext,
final List<Object> params, final ShardingSphereDatabase database, final ConfigurationProperties props) {
- String tableName = sqlStatementContext.getSqlStatement().getTableSegment().getTableName().getIdentifier().getValue();
+ String tableName = ((MySQLLoadXMLStatement) sqlStatementContext.getSqlStatement()).getTableSegment().getTableName().getIdentifier().getValue();
if (shardingRule.isShardingTable(tableName)) {
throw new UnsupportedShardingOperationException("LOAD XML", tableName);
}
}
@Override
- public void postValidate(final ShardingRule shardingRule, final SQLStatementContext<MySQLLoadXMLStatement> sqlStatementContext, final HintValueContext hintValueContext,
+ public void postValidate(final ShardingRule shardingRule, final SQLStatementContext sqlStatementContext, final HintValueContext hintValueContext,
final List<Object> params, final ShardingSphereDatabase database, final ConfigurationProperties props, final RouteContext routeContext) {
}
}
diff --git a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/dml/impl/ShardingUpdateStatementValidator.java b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/dml/impl/ShardingUpdateStatementValidator.java
index 2a920321b82..b0728d8041c 100644
--- a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/dml/impl/ShardingUpdateStatementValidator.java
+++ b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/dml/impl/ShardingUpdateStatementValidator.java
@@ -22,6 +22,7 @@ import org.apache.shardingsphere.infra.config.props.ConfigurationProperties;
import org.apache.shardingsphere.infra.hint.HintValueContext;
import org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
import org.apache.shardingsphere.infra.route.context.RouteContext;
+import org.apache.shardingsphere.infra.util.exception.ShardingSpherePreconditions;
import org.apache.shardingsphere.sharding.exception.syntax.DMLMultipleDataNodesWithLimitException;
import org.apache.shardingsphere.sharding.exception.syntax.UnsupportedUpdatingShardingValueException;
import org.apache.shardingsphere.sharding.route.engine.condition.ShardingConditions;
@@ -37,27 +38,26 @@ import java.util.Optional;
/**
* Sharding update statement validator.
*/
-public final class ShardingUpdateStatementValidator extends ShardingDMLStatementValidator<UpdateStatement> {
+public final class ShardingUpdateStatementValidator extends ShardingDMLStatementValidator {
@Override
- public void preValidate(final ShardingRule shardingRule, final SQLStatementContext<UpdateStatement> sqlStatementContext, final List<Object> params, final ShardingSphereDatabase database,
+ public void preValidate(final ShardingRule shardingRule, final SQLStatementContext sqlStatementContext, final List<Object> params, final ShardingSphereDatabase database,
final ConfigurationProperties props) {
validateMultipleTable(shardingRule, sqlStatementContext);
}
@Override
- public void postValidate(final ShardingRule shardingRule, final SQLStatementContext<UpdateStatement> sqlStatementContext, final HintValueContext hintValueContext, final List<Object> params,
+ public void postValidate(final ShardingRule shardingRule, final SQLStatementContext sqlStatementContext, final HintValueContext hintValueContext, final List<Object> params,
final ShardingSphereDatabase database, final ConfigurationProperties props, final RouteContext routeContext) {
String tableName = sqlStatementContext.getTablesContext().getTableNames().iterator().next();
- Optional<ShardingConditions> shardingConditions = createShardingConditions(sqlStatementContext, shardingRule,
- sqlStatementContext.getSqlStatement().getSetAssignment().getAssignments(), params);
+ UpdateStatement updateStatement = (UpdateStatement) sqlStatementContext.getSqlStatement();
+ Optional<ShardingConditions> shardingConditions = createShardingConditions(sqlStatementContext, shardingRule, updateStatement.getSetAssignment().getAssignments(), params);
Optional<RouteContext> setAssignmentRouteContext = shardingConditions.map(optional -> new ShardingStandardRoutingEngine(tableName, optional, sqlStatementContext,
hintValueContext, props).route(shardingRule));
if (setAssignmentRouteContext.isPresent() && !isSameRouteContext(routeContext, setAssignmentRouteContext.get())) {
throw new UnsupportedUpdatingShardingValueException(tableName);
}
- if (!shardingRule.isBroadcastTable(tableName) && UpdateStatementHandler.getLimitSegment(sqlStatementContext.getSqlStatement()).isPresent() && routeContext.getRouteUnits().size() > 1) {
- throw new DMLMultipleDataNodesWithLimitException("UPDATE");
- }
+ ShardingSpherePreconditions.checkState(shardingRule.isBroadcastTable(tableName) || !UpdateStatementHandler.getLimitSegment(updateStatement).isPresent()
+ || routeContext.getRouteUnits().size() <= 1, () -> new DMLMultipleDataNodesWithLimitException("UPDATE"));
}
}
diff --git a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rule/ShardingRule.java b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rule/ShardingRule.java
index 1974df66382..f6a5d8c1da7 100644
--- a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rule/ShardingRule.java
+++ b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rule/ShardingRule.java
@@ -409,7 +409,7 @@ public final class ShardingRule implements DatabaseRule, DataNodeContainedRule,
* @param logicTableNames logic table names
* @return whether logic table is all binding tables
*/
- public boolean isAllBindingTables(final ShardingSphereDatabase database, final SQLStatementContext<?> sqlStatementContext, final Collection<String> logicTableNames) {
+ public boolean isAllBindingTables(final ShardingSphereDatabase database, final SQLStatementContext sqlStatementContext, final Collection<String> logicTableNames) {
if (!(sqlStatementContext instanceof SelectStatementContext && ((SelectStatementContext) sqlStatementContext).isContainsJoinQuery())) {
return isAllBindingTables(logicTableNames);
}
diff --git a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/auditor/ShardingSQLAuditorTest.java b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/auditor/ShardingSQLAuditorTest.java
index a2b424d61c9..64ddb7213c7 100644
--- a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/auditor/ShardingSQLAuditorTest.java
+++ b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/auditor/ShardingSQLAuditorTest.java
@@ -54,7 +54,7 @@ class ShardingSQLAuditorTest {
private ShardingRule rule;
@Mock(answer = Answers.RETURNS_DEEP_STUBS)
- private CommonSQLStatementContext<?> sqlStatementContext;
+ private CommonSQLStatementContext sqlStatementContext;
@Mock
private Grantee grantee;
diff --git a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/merge/ShardingResultMergerEngineTest.java b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/merge/ShardingResultMergerEngineTest.java
index 1be199c2dfb..445be44e41c 100644
--- a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/merge/ShardingResultMergerEngineTest.java
+++ b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/merge/ShardingResultMergerEngineTest.java
@@ -104,7 +104,7 @@ class ShardingResultMergerEngineTest {
@Test
void assertNewInstanceWithDALStatement() {
ConfigurationProperties props = new ConfigurationProperties(new Properties());
- UnknownSQLStatementContext<PostgreSQLShowStatement> sqlStatementContext = new UnknownSQLStatementContext<>(new PostgreSQLShowStatement(""));
+ UnknownSQLStatementContext sqlStatementContext = new UnknownSQLStatementContext(new PostgreSQLShowStatement(""));
assertThat(new ShardingResultMergerEngine().newInstance(DefaultDatabase.LOGIC_NAME, TypedSPILoader.getService(DatabaseType.class, "MySQL"), null, props,
sqlStatementContext), instanceOf(ShardingDALResultMerger.class));
}
@@ -130,7 +130,7 @@ class ShardingResultMergerEngineTest {
@Test
void assertNewInstanceWithDDLStatement() {
ConfigurationProperties props = new ConfigurationProperties(new Properties());
- UnknownSQLStatementContext<OpenGaussFetchStatement> sqlStatementContext = new UnknownSQLStatementContext<>(new OpenGaussFetchStatement());
+ UnknownSQLStatementContext sqlStatementContext = new UnknownSQLStatementContext(new OpenGaussFetchStatement());
assertThat(new ShardingResultMergerEngine().newInstance(DefaultDatabase.LOGIC_NAME, TypedSPILoader.getService(DatabaseType.class, "MySQL"), null, props,
sqlStatementContext), instanceOf(ShardingDDLResultMerger.class));
}
diff --git a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/merge/dal/ShardingDALResultMergerTest.java b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/merge/dal/ShardingDALResultMergerTest.java
index 98e19cafb20..3054f68ee22 100644
--- a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/merge/dal/ShardingDALResultMergerTest.java
+++ b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/merge/dal/ShardingDALResultMergerTest.java
@@ -65,7 +65,7 @@ class ShardingDALResultMergerTest {
@Test
void assertMergeForShowDatabasesStatement() throws SQLException {
DALStatement dalStatement = new MySQLShowDatabasesStatement();
- SQLStatementContext<?> sqlStatementContext = mockSQLStatementContext(dalStatement);
+ SQLStatementContext sqlStatementContext = mockSQLStatementContext(dalStatement);
ShardingDALResultMerger resultMerger = new ShardingDALResultMerger(DefaultDatabase.LOGIC_NAME, null);
ShardingSphereDatabase database = mock(ShardingSphereDatabase.class, RETURNS_DEEP_STUBS);
when(database.getName()).thenReturn(DefaultDatabase.LOGIC_NAME);
@@ -75,7 +75,7 @@ class ShardingDALResultMergerTest {
@Test
void assertMergeForShowShowTablesStatement() throws SQLException {
DALStatement dalStatement = new MySQLShowTablesStatement();
- SQLStatementContext<?> sqlStatementContext = mockSQLStatementContext(dalStatement);
+ SQLStatementContext sqlStatementContext = mockSQLStatementContext(dalStatement);
ShardingDALResultMerger resultMerger = new ShardingDALResultMerger(DefaultDatabase.LOGIC_NAME, null);
ShardingSphereDatabase database = mock(ShardingSphereDatabase.class, RETURNS_DEEP_STUBS);
when(database.getName()).thenReturn(DefaultDatabase.LOGIC_NAME);
@@ -85,7 +85,7 @@ class ShardingDALResultMergerTest {
@Test
void assertMergeForShowCreateTableStatement() throws SQLException {
DALStatement dalStatement = new MySQLShowCreateTableStatement();
- SQLStatementContext<?> sqlStatementContext = mockSQLStatementContext(dalStatement);
+ SQLStatementContext sqlStatementContext = mockSQLStatementContext(dalStatement);
ShardingDALResultMerger resultMerger = new ShardingDALResultMerger(DefaultDatabase.LOGIC_NAME, null);
ShardingSphereDatabase database = mock(ShardingSphereDatabase.class, RETURNS_DEEP_STUBS);
when(database.getName()).thenReturn(DefaultDatabase.LOGIC_NAME);
@@ -95,7 +95,7 @@ class ShardingDALResultMergerTest {
@Test
void assertMergeForShowOtherStatement() throws SQLException {
DALStatement dalStatement = new MySQLShowOtherStatement();
- SQLStatementContext<?> sqlStatementContext = mockSQLStatementContext(dalStatement);
+ SQLStatementContext sqlStatementContext = mockSQLStatementContext(dalStatement);
ShardingDALResultMerger resultMerger = new ShardingDALResultMerger(DefaultDatabase.LOGIC_NAME, null);
ShardingSphereDatabase database = mock(ShardingSphereDatabase.class, RETURNS_DEEP_STUBS);
when(database.getName()).thenReturn(DefaultDatabase.LOGIC_NAME);
@@ -105,7 +105,7 @@ class ShardingDALResultMergerTest {
@Test
void assertMergeForDescribeStatement() throws SQLException {
DALStatement dalStatement = new MySQLExplainStatement();
- SQLStatementContext<?> sqlStatementContext = mockSQLStatementContext(dalStatement);
+ SQLStatementContext sqlStatementContext = mockSQLStatementContext(dalStatement);
ShardingDALResultMerger resultMerger = new ShardingDALResultMerger(DefaultDatabase.LOGIC_NAME, mock(ShardingRule.class));
ShardingSphereDatabase database = mock(ShardingSphereDatabase.class, RETURNS_DEEP_STUBS);
when(database.getName()).thenReturn(DefaultDatabase.LOGIC_NAME);
@@ -115,7 +115,7 @@ class ShardingDALResultMergerTest {
@Test
void assertMergeForShowIndexStatement() throws SQLException {
DALStatement dalStatement = new MySQLShowIndexStatement();
- SQLStatementContext<?> sqlStatementContext = mockSQLStatementContext(dalStatement);
+ SQLStatementContext sqlStatementContext = mockSQLStatementContext(dalStatement);
ShardingDALResultMerger resultMerger = new ShardingDALResultMerger(DefaultDatabase.LOGIC_NAME, mock(ShardingRule.class));
ShardingSphereDatabase database = mock(ShardingSphereDatabase.class, RETURNS_DEEP_STUBS);
when(database.getName()).thenReturn(DefaultDatabase.LOGIC_NAME);
@@ -125,16 +125,15 @@ class ShardingDALResultMergerTest {
@Test
void assertMergeForShowTableStatusStatement() throws SQLException {
DALStatement dalStatement = new MySQLShowTableStatusStatement();
- SQLStatementContext<?> sqlStatementContext = mockSQLStatementContext(dalStatement);
+ SQLStatementContext sqlStatementContext = mockSQLStatementContext(dalStatement);
ShardingDALResultMerger resultMerger = new ShardingDALResultMerger(DefaultDatabase.LOGIC_NAME, mock(ShardingRule.class));
ShardingSphereDatabase database = mock(ShardingSphereDatabase.class, RETURNS_DEEP_STUBS);
when(database.getName()).thenReturn(DefaultDatabase.LOGIC_NAME);
assertThat(resultMerger.merge(queryResults, sqlStatementContext, database, mock(ConnectionContext.class)), instanceOf(ShowTableStatusMergedResult.class));
}
- @SuppressWarnings("unchecked")
- private SQLStatementContext<DALStatement> mockSQLStatementContext(final DALStatement dalStatement) {
- SQLStatementContext<DALStatement> result = mock(SQLStatementContext.class);
+ private SQLStatementContext mockSQLStatementContext(final DALStatement dalStatement) {
+ SQLStatementContext result = mock(SQLStatementContext.class);
when(result.getSqlStatement()).thenReturn(dalStatement);
TablesContext tablesContext = mock(TablesContext.class);
when(result.getTablesContext()).thenReturn(tablesContext);
diff --git a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/rewrite/token/TableTokenGeneratorTest.java b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/rewrite/token/TableTokenGeneratorTest.java
index 9ad72de51f2..d3e329e8e63 100644
--- a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/rewrite/token/TableTokenGeneratorTest.java
+++ b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/rewrite/token/TableTokenGeneratorTest.java
@@ -28,8 +28,6 @@ import org.apache.shardingsphere.sharding.rule.ShardingRule;
import org.apache.shardingsphere.sharding.rule.TableRule;
import org.apache.shardingsphere.sql.parser.sql.common.segment.generic.table.SimpleTableSegment;
import org.apache.shardingsphere.sql.parser.sql.common.segment.generic.table.TableNameSegment;
-import org.apache.shardingsphere.sql.parser.sql.common.statement.ddl.CreateDatabaseStatement;
-import org.apache.shardingsphere.sql.parser.sql.common.statement.dml.SelectStatement;
import org.apache.shardingsphere.sql.parser.sql.common.value.identifier.IdentifierValue;
import org.junit.jupiter.api.Test;
@@ -57,7 +55,7 @@ class TableTokenGeneratorTest {
when(shardingRule.getShardingLogicTableNames(logicTableNames)).thenReturn(logicTableNames);
when(shardingRule.isAllBindingTables(logicTableNames)).thenReturn(true);
generator.setShardingRule(shardingRule);
- SQLStatementContext<SelectStatement> sqlStatementContext = mock(SelectStatementContext.class, RETURNS_DEEP_STUBS);
+ SQLStatementContext sqlStatementContext = mock(SelectStatementContext.class, RETURNS_DEEP_STUBS);
when(sqlStatementContext.getTablesContext().getTableNames()).thenReturn(logicTableNames);
assertTrue(generator.isGenerateSQLToken(sqlStatementContext));
}
@@ -69,7 +67,7 @@ class TableTokenGeneratorTest {
when(routeContext.containsTableSharding()).thenReturn(true);
generator.setShardingRule(mock(ShardingRule.class));
generator.setRouteContext(routeContext);
- SQLStatementContext<SelectStatement> sqlStatementContext = mock(SelectStatementContext.class, RETURNS_DEEP_STUBS);
+ SQLStatementContext sqlStatementContext = mock(SelectStatementContext.class, RETURNS_DEEP_STUBS);
assertTrue(generator.isGenerateSQLToken(sqlStatementContext));
}
@@ -89,7 +87,7 @@ class TableTokenGeneratorTest {
@Test
void assertGenerateSQLTokenWhenSQLStatementIsNotTableAvailable() {
TableTokenGenerator generator = new TableTokenGenerator();
- SQLStatementContext<CreateDatabaseStatement> sqlStatementContext = mock(CreateDatabaseStatementContext.class);
+ SQLStatementContext sqlStatementContext = mock(CreateDatabaseStatementContext.class);
assertThat(generator.generateSQLTokens(sqlStatementContext), is(Collections.emptyList()));
}
}
diff --git a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/rewrite/token/pojo/ConstraintTokenTest.java b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/rewrite/token/pojo/ConstraintTokenTest.java
index b720efe5d37..875ecdd6697 100644
--- a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/rewrite/token/pojo/ConstraintTokenTest.java
+++ b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/rewrite/token/pojo/ConstraintTokenTest.java
@@ -41,12 +41,12 @@ class ConstraintTokenTest {
@Test
void assertUpperCaseToString() {
- SQLStatementContext<?> sqlStatementContext = mockSQLStatementContext();
+ SQLStatementContext sqlStatementContext = mockSQLStatementContext();
assertThat(new ConstraintToken(0, 1, new IdentifierValue("uc"), sqlStatementContext, mock(ShardingRule.class)).toString(getRouteUnit()), is("uc_t_order_0"));
}
- private SQLStatementContext<?> mockSQLStatementContext() {
- SQLStatementContext<?> result = mock(SQLStatementContext.class, RETURNS_DEEP_STUBS);
+ private SQLStatementContext mockSQLStatementContext() {
+ SQLStatementContext result = mock(SQLStatementContext.class, RETURNS_DEEP_STUBS);
when(result.getTablesContext().getTableNames()).thenReturn(Collections.singletonList("T_ORDER"));
return result;
}
diff --git a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/rewrite/token/pojo/TokenUtilsTest.java b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/rewrite/token/pojo/TokenUtilsTest.java
index e227c36f0e9..d83e194d3e7 100644
--- a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/rewrite/token/pojo/TokenUtilsTest.java
+++ b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/rewrite/token/pojo/TokenUtilsTest.java
@@ -47,8 +47,8 @@ class TokenUtilsTest {
return new RouteUnit(new RouteMapper(DefaultDatabase.LOGIC_NAME, "ds_0"), Collections.singleton(new RouteMapper("foo_table", "foo_table_0")));
}
- private static SQLStatementContext<?> mockSQLStatementContext() {
- SQLStatementContext<?> result = mock(SQLStatementContext.class, RETURNS_DEEP_STUBS);
+ private static SQLStatementContext mockSQLStatementContext() {
+ SQLStatementContext result = mock(SQLStatementContext.class, RETURNS_DEEP_STUBS);
when(result.getTablesContext().getTableNames()).thenReturn(Arrays.asList("foo_table", "bar_table"));
return result;
}
diff --git a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/route/engine/type/broadcast/ShardingTableBroadcastRoutingEngineTest.java b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/route/engine/type/broadcast/ShardingTableBroadcastRoutingEngineTest.java
index 8de6bcf31ca..ae470f789f8 100644
--- a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/route/engine/type/broadcast/ShardingTableBroadcastRoutingEngineTest.java
+++ b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/route/engine/type/broadcast/ShardingTableBroadcastRoutingEngineTest.java
@@ -34,7 +34,6 @@ import org.apache.shardingsphere.sharding.api.config.ShardingRuleConfiguration;
import org.apache.shardingsphere.sharding.api.config.rule.ShardingTableRuleConfiguration;
import org.apache.shardingsphere.sharding.rule.ShardingRule;
import org.apache.shardingsphere.sql.parser.sql.common.segment.ddl.index.IndexSegment;
-import org.apache.shardingsphere.sql.parser.sql.common.statement.ddl.DropIndexStatement;
import org.junit.jupiter.api.Test;
import java.util.Arrays;
@@ -98,7 +97,7 @@ class ShardingTableBroadcastRoutingEngineTest {
IndexSegment segment = mock(IndexSegment.class, RETURNS_DEEP_STUBS);
when(segment.getIndexName().getIdentifier().getValue()).thenReturn("t_order");
when(segment.getOwner()).thenReturn(Optional.empty());
- SQLStatementContext<DropIndexStatement> sqlStatementContext = mock(DropIndexStatementContext.class, RETURNS_DEEP_STUBS);
+ SQLStatementContext sqlStatementContext = mock(DropIndexStatementContext.class, RETURNS_DEEP_STUBS);
Collection<String> tableNames = Collections.emptyList();
when(sqlStatementContext.getTablesContext().getTableNames()).thenReturn(tableNames);
when(sqlStatementContext.getDatabaseType()).thenReturn(new MySQLDatabaseType());
@@ -122,7 +121,7 @@ class ShardingTableBroadcastRoutingEngineTest {
when(schema.getTable(anyString()).containsIndex(anyString())).thenReturn(false);
IndexSegment segment = mock(IndexSegment.class, RETURNS_DEEP_STUBS);
when(segment.getIndexName().getIdentifier().getValue()).thenReturn("t_order");
- SQLStatementContext<DropIndexStatement> sqlStatementContext = mock(DropIndexStatementContext.class, RETURNS_DEEP_STUBS);
+ SQLStatementContext sqlStatementContext = mock(DropIndexStatementContext.class, RETURNS_DEEP_STUBS);
Collection<String> tableNames = Collections.emptyList();
when(sqlStatementContext.getTablesContext().getTableNames()).thenReturn(tableNames);
Map<String, ShardingSphereSchema> schemas = Collections.singletonMap(DefaultDatabase.LOGIC_NAME, schema);
@@ -142,8 +141,8 @@ class ShardingTableBroadcastRoutingEngineTest {
return new ShardingRule(ruleConfig, Arrays.asList("ds_0", "ds_1"), mock(InstanceContext.class));
}
- private SQLStatementContext<?> createSQLStatementContext(final Collection<String> tableNames) {
- SQLStatementContext<?> result = mock(SQLStatementContext.class, RETURNS_DEEP_STUBS);
+ private SQLStatementContext createSQLStatementContext(final Collection<String> tableNames) {
+ SQLStatementContext result = mock(SQLStatementContext.class, RETURNS_DEEP_STUBS);
when(result.getTablesContext().getTableNames()).thenReturn(tableNames);
return result;
}
diff --git a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/route/engine/type/standard/ShardingStandardRoutingEngineTest.java b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/route/engine/type/standard/ShardingStandardRoutingEngineTest.java
index 6ec889b8fb9..7ad22fc4347 100644
--- a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/route/engine/type/standard/ShardingStandardRoutingEngineTest.java
+++ b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/route/engine/type/standard/ShardingStandardRoutingEngineTest.java
@@ -204,7 +204,7 @@ class ShardingStandardRoutingEngineTest {
}
private ShardingStandardRoutingEngine createShardingStandardRoutingEngine(final String logicTableName, final ShardingConditions shardingConditions,
- final SQLStatementContext<?> sqlStatementContext, final HintValueContext hintValueContext) {
+ final SQLStatementContext sqlStatementContext, final HintValueContext hintValueContext) {
return new ShardingStandardRoutingEngine(logicTableName, shardingConditions, sqlStatementContext, hintValueContext, new ConfigurationProperties(new Properties()));
}
}
diff --git a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/route/engine/type/standard/assertion/ShardingRouteAssert.java b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/route/engine/type/standard/assertion/ShardingRouteAssert.java
index 1e5654fb470..60e7fd85e26 100644
--- a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/route/engine/type/standard/assertion/ShardingRouteAssert.java
+++ b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/route/engine/type/standard/assertion/ShardingRouteAssert.java
@@ -82,7 +82,7 @@ public final class ShardingRouteAssert {
when(resourceMetaData.getStorageTypes()).thenReturn(Collections.singletonMap("ds_0", new MySQLDatabaseType()));
ShardingSphereDatabase database = new ShardingSphereDatabase(
DefaultDatabase.LOGIC_NAME, TypedSPILoader.getService(DatabaseType.class, "MySQL"), resourceMetaData, ruleMetaData, schemas);
- SQLStatementContext<?> sqlStatementContext =
+ SQLStatementContext sqlStatementContext =
SQLStatementContextFactory.newInstance(createShardingSphereMetaData(database), params, sqlStatementParserEngine.parse(sql, false), DefaultDatabase.LOGIC_NAME);
QueryContext queryContext = new QueryContext(sqlStatementContext, sql, params);
return new SQLRouteEngine(Arrays.asList(shardingRule, singleRule), props).route(new ConnectionContext(), queryContext, mock(ShardingSphereRuleMetaData.class), database);
diff --git a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/ShardingAlterTableStatementValidatorTest.java b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/ShardingAlterTableStatementValidatorTest.java
index edc695456d8..9a25a2ecdff 100644
--- a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/ShardingAlterTableStatementValidatorTest.java
+++ b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/ShardingAlterTableStatementValidatorTest.java
@@ -32,7 +32,6 @@ import org.apache.shardingsphere.sharding.rule.ShardingRule;
import org.apache.shardingsphere.sharding.rule.TableRule;
import org.apache.shardingsphere.sql.parser.sql.common.segment.generic.table.SimpleTableSegment;
import org.apache.shardingsphere.sql.parser.sql.common.segment.generic.table.TableNameSegment;
-import org.apache.shardingsphere.sql.parser.sql.common.statement.ddl.AlterTableStatement;
import org.apache.shardingsphere.sql.parser.sql.common.value.identifier.IdentifierValue;
import org.apache.shardingsphere.sql.parser.sql.dialect.statement.postgresql.ddl.PostgreSQLAlterTableStatement;
import org.junit.jupiter.api.Test;
@@ -68,7 +67,7 @@ class ShardingAlterTableStatementValidatorTest {
PostgreSQLAlterTableStatement sqlStatement = new PostgreSQLAlterTableStatement();
sqlStatement.setTable(new SimpleTableSegment(new TableNameSegment(0, 0, new IdentifierValue("t_order"))));
sqlStatement.setRenameTable(new SimpleTableSegment(new TableNameSegment(0, 0, new IdentifierValue("t_order_new"))));
- SQLStatementContext<AlterTableStatement> sqlStatementContext = new AlterTableStatementContext(sqlStatement);
+ SQLStatementContext sqlStatementContext = new AlterTableStatementContext(sqlStatement);
when(shardingRule.tableRuleExists(Arrays.asList("t_order", "t_order_new"))).thenReturn(true);
assertThrows(UnsupportedShardingOperationException.class,
() -> new ShardingAlterTableStatementValidator().preValidate(shardingRule, sqlStatementContext, Collections.emptyList(), database, mock(ConfigurationProperties.class)));
@@ -79,7 +78,7 @@ class ShardingAlterTableStatementValidatorTest {
PostgreSQLAlterTableStatement sqlStatement = new PostgreSQLAlterTableStatement();
sqlStatement.setTable(new SimpleTableSegment(new TableNameSegment(0, 0, new IdentifierValue("t_order"))));
sqlStatement.setRenameTable(new SimpleTableSegment(new TableNameSegment(0, 0, new IdentifierValue("t_order_new"))));
- SQLStatementContext<AlterTableStatement> sqlStatementContext = new AlterTableStatementContext(sqlStatement);
+ SQLStatementContext sqlStatementContext = new AlterTableStatementContext(sqlStatement);
when(shardingRule.tableRuleExists(Arrays.asList("t_order", "t_order_new"))).thenReturn(false);
when(shardingRule.isBroadcastTable("t_order")).thenReturn(true);
assertThrows(UnsupportedShardingOperationException.class,
diff --git a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/ShardingAlterViewStatementValidatorTest.java b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/ShardingAlterViewStatementValidatorTest.java
index 9f7802d5d53..73295fbcb78 100644
--- a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/ShardingAlterViewStatementValidatorTest.java
+++ b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/ShardingAlterViewStatementValidatorTest.java
@@ -27,7 +27,6 @@ import org.apache.shardingsphere.sharding.route.engine.validator.ddl.impl.Shardi
import org.apache.shardingsphere.sharding.rule.ShardingRule;
import org.apache.shardingsphere.sql.parser.sql.common.segment.generic.table.SimpleTableSegment;
import org.apache.shardingsphere.sql.parser.sql.common.segment.generic.table.TableNameSegment;
-import org.apache.shardingsphere.sql.parser.sql.common.statement.ddl.AlterViewStatement;
import org.apache.shardingsphere.sql.parser.sql.common.value.identifier.IdentifierValue;
import org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.ddl.MySQLAlterViewStatement;
import org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.dml.MySQLSelectStatement;
@@ -56,7 +55,7 @@ class ShardingAlterViewStatementValidatorTest {
selectStatement.setFrom(new SimpleTableSegment(new TableNameSegment(0, 0, new IdentifierValue("t_order"))));
MySQLAlterViewStatement sqlStatement = new MySQLAlterViewStatement();
sqlStatement.setSelect(selectStatement);
- SQLStatementContext<AlterViewStatement> sqlStatementContext = new AlterViewStatementContext(sqlStatement);
+ SQLStatementContext sqlStatementContext = new AlterViewStatementContext(sqlStatement);
ShardingSphereDatabase database = mock(ShardingSphereDatabase.class);
when(shardingRule.isShardingTable("t_order")).thenReturn(false);
assertDoesNotThrow(() -> new ShardingAlterViewStatementValidator().preValidate(shardingRule, sqlStatementContext, Collections.emptyList(), database, mock(ConfigurationProperties.class)));
@@ -69,7 +68,7 @@ class ShardingAlterViewStatementValidatorTest {
MySQLAlterViewStatement sqlStatement = new MySQLAlterViewStatement();
sqlStatement.setSelect(selectStatement);
ShardingSphereDatabase database = mock(ShardingSphereDatabase.class);
- SQLStatementContext<AlterViewStatement> sqlStatementContext = new AlterViewStatementContext(sqlStatement);
+ SQLStatementContext sqlStatementContext = new AlterViewStatementContext(sqlStatement);
when(shardingRule.isShardingTable("t_order")).thenReturn(true);
assertThrows(UnsupportedShardingOperationException.class,
() -> new ShardingAlterViewStatementValidator().preValidate(shardingRule, sqlStatementContext, Collections.emptyList(), database, mock(ConfigurationProperties.class)));
@@ -80,7 +79,7 @@ class ShardingAlterViewStatementValidatorTest {
OpenGaussAlterViewStatement selectStatement = new OpenGaussAlterViewStatement();
selectStatement.setView(new SimpleTableSegment(new TableNameSegment(0, 0, new IdentifierValue("t_order"))));
selectStatement.setRenameView(new SimpleTableSegment(new TableNameSegment(0, 0, new IdentifierValue("t_order_new"))));
- SQLStatementContext<AlterViewStatement> sqlStatementContext = new AlterViewStatementContext(selectStatement);
+ SQLStatementContext sqlStatementContext = new AlterViewStatementContext(selectStatement);
ShardingSphereDatabase database = mock(ShardingSphereDatabase.class);
when(shardingRule.isBroadcastTable("t_order")).thenReturn(true);
when(shardingRule.isBroadcastTable("t_order_new")).thenReturn(true);
@@ -92,7 +91,7 @@ class ShardingAlterViewStatementValidatorTest {
OpenGaussAlterViewStatement selectStatement = new OpenGaussAlterViewStatement();
selectStatement.setView(new SimpleTableSegment(new TableNameSegment(0, 0, new IdentifierValue("t_order"))));
selectStatement.setRenameView(new SimpleTableSegment(new TableNameSegment(0, 0, new IdentifierValue("t_order_new"))));
- SQLStatementContext<AlterViewStatement> sqlStatementContext = new AlterViewStatementContext(selectStatement);
+ SQLStatementContext sqlStatementContext = new AlterViewStatementContext(selectStatement);
ShardingSphereDatabase database = mock(ShardingSphereDatabase.class);
when(shardingRule.isBroadcastTable("t_order")).thenReturn(true);
when(shardingRule.isBroadcastTable("t_order_new")).thenReturn(false);
diff --git a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/ShardingCreateFunctionStatementValidatorTest.java b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/ShardingCreateFunctionStatementValidatorTest.java
index 1f582929452..7c641284eb9 100644
--- a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/ShardingCreateFunctionStatementValidatorTest.java
+++ b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/ShardingCreateFunctionStatementValidatorTest.java
@@ -30,7 +30,6 @@ import org.apache.shardingsphere.sql.parser.sql.common.segment.ddl.routine.Routi
import org.apache.shardingsphere.sql.parser.sql.common.segment.ddl.routine.ValidStatementSegment;
import org.apache.shardingsphere.sql.parser.sql.common.segment.generic.table.SimpleTableSegment;
import org.apache.shardingsphere.sql.parser.sql.common.segment.generic.table.TableNameSegment;
-import org.apache.shardingsphere.sql.parser.sql.common.statement.ddl.CreateFunctionStatement;
import org.apache.shardingsphere.sql.parser.sql.common.value.identifier.IdentifierValue;
import org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.ddl.MySQLCreateFunctionStatement;
import org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.ddl.MySQLCreateTableStatement;
@@ -69,7 +68,7 @@ class ShardingCreateFunctionStatementValidatorTest {
routineBody.getValidStatements().add(selectValidStatementSegment);
MySQLCreateFunctionStatement sqlStatement = new MySQLCreateFunctionStatement();
sqlStatement.setRoutineBody(routineBody);
- SQLStatementContext<CreateFunctionStatement> sqlStatementContext = new CreateFunctionStatementContext(sqlStatement);
+ SQLStatementContext sqlStatementContext = new CreateFunctionStatementContext(sqlStatement);
ShardingSphereDatabase database = mock(ShardingSphereDatabase.class, RETURNS_DEEP_STUBS);
when(database.getName()).thenReturn(DefaultDatabase.LOGIC_NAME);
when(database.getSchema(DefaultDatabase.LOGIC_NAME).containsTable("t_order_item")).thenReturn(true);
@@ -87,7 +86,7 @@ class ShardingCreateFunctionStatementValidatorTest {
routineBody.getValidStatements().add(validStatementSegment);
MySQLCreateFunctionStatement sqlStatement = new MySQLCreateFunctionStatement();
sqlStatement.setRoutineBody(routineBody);
- SQLStatementContext<CreateFunctionStatement> sqlStatementContext = new CreateFunctionStatementContext(sqlStatement);
+ SQLStatementContext sqlStatementContext = new CreateFunctionStatementContext(sqlStatement);
ShardingSphereDatabase database = mock(ShardingSphereDatabase.class, RETURNS_DEEP_STUBS);
when(database.getName()).thenReturn("db_schema");
assertThrows(NoSuchTableException.class,
@@ -104,7 +103,7 @@ class ShardingCreateFunctionStatementValidatorTest {
routineBody.getValidStatements().add(validStatementSegment);
MySQLCreateFunctionStatement sqlStatement = new MySQLCreateFunctionStatement();
sqlStatement.setRoutineBody(routineBody);
- SQLStatementContext<CreateFunctionStatement> sqlStatementContext = new CreateFunctionStatementContext(sqlStatement);
+ SQLStatementContext sqlStatementContext = new CreateFunctionStatementContext(sqlStatement);
ShardingSphereDatabase database = mock(ShardingSphereDatabase.class, RETURNS_DEEP_STUBS);
when(database.getName()).thenReturn("db_schema");
assertThrows(NoSuchTableException.class,
@@ -121,7 +120,7 @@ class ShardingCreateFunctionStatementValidatorTest {
routineBody.getValidStatements().add(validStatementSegment);
MySQLCreateFunctionStatement sqlStatement = new MySQLCreateFunctionStatement();
sqlStatement.setRoutineBody(routineBody);
- SQLStatementContext<CreateFunctionStatement> sqlStatementContext = new CreateFunctionStatementContext(sqlStatement);
+ SQLStatementContext sqlStatementContext = new CreateFunctionStatementContext(sqlStatement);
ShardingSphereDatabase database = mock(ShardingSphereDatabase.class, RETURNS_DEEP_STUBS);
when(database.getName()).thenReturn(DefaultDatabase.LOGIC_NAME);
when(database.getSchema(DefaultDatabase.LOGIC_NAME).containsTable("t_order")).thenReturn(true);
diff --git a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/ShardingCreateProcedureStatementValidatorTest.java b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/ShardingCreateProcedureStatementValidatorTest.java
index f1ab1e8dc6b..1b1fbb4da19 100644
--- a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/ShardingCreateProcedureStatementValidatorTest.java
+++ b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/ShardingCreateProcedureStatementValidatorTest.java
@@ -30,7 +30,6 @@ import org.apache.shardingsphere.sql.parser.sql.common.segment.ddl.routine.Routi
import org.apache.shardingsphere.sql.parser.sql.common.segment.ddl.routine.ValidStatementSegment;
import org.apache.shardingsphere.sql.parser.sql.common.segment.generic.table.SimpleTableSegment;
import org.apache.shardingsphere.sql.parser.sql.common.segment.generic.table.TableNameSegment;
-import org.apache.shardingsphere.sql.parser.sql.common.statement.ddl.CreateProcedureStatement;
import org.apache.shardingsphere.sql.parser.sql.common.value.identifier.IdentifierValue;
import org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.ddl.MySQLCreateProcedureStatement;
import org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.ddl.MySQLCreateTableStatement;
@@ -73,7 +72,7 @@ class ShardingCreateProcedureStatementValidatorTest {
when(database.getName()).thenReturn(DefaultDatabase.LOGIC_NAME);
when(database.getSchema(DefaultDatabase.LOGIC_NAME).containsTable("t_order_item")).thenReturn(true);
when(shardingRule.isShardingTable("t_order_item")).thenReturn(false);
- SQLStatementContext<CreateProcedureStatement> sqlStatementContext = new CreateProcedureStatementContext(sqlStatement);
+ SQLStatementContext sqlStatementContext = new CreateProcedureStatementContext(sqlStatement);
assertDoesNotThrow(() -> new ShardingCreateProcedureStatementValidator().preValidate(
shardingRule, sqlStatementContext, Collections.emptyList(), database, mock(ConfigurationProperties.class)));
}
@@ -88,7 +87,7 @@ class ShardingCreateProcedureStatementValidatorTest {
routineBody.getValidStatements().add(validStatementSegment);
MySQLCreateProcedureStatement sqlStatement = new MySQLCreateProcedureStatement();
sqlStatement.setRoutineBody(routineBody);
- SQLStatementContext<CreateProcedureStatement> sqlStatementContext = new CreateProcedureStatementContext(sqlStatement);
+ SQLStatementContext sqlStatementContext = new CreateProcedureStatementContext(sqlStatement);
ShardingSphereDatabase database = mock(ShardingSphereDatabase.class, RETURNS_DEEP_STUBS);
when(database.getName()).thenReturn("db_schema");
assertThrows(NoSuchTableException.class,
@@ -105,7 +104,7 @@ class ShardingCreateProcedureStatementValidatorTest {
routineBody.getValidStatements().add(validStatementSegment);
MySQLCreateProcedureStatement sqlStatement = new MySQLCreateProcedureStatement();
sqlStatement.setRoutineBody(routineBody);
- SQLStatementContext<CreateProcedureStatement> sqlStatementContext = new CreateProcedureStatementContext(sqlStatement);
+ SQLStatementContext sqlStatementContext = new CreateProcedureStatementContext(sqlStatement);
ShardingSphereDatabase database = mock(ShardingSphereDatabase.class, RETURNS_DEEP_STUBS);
when(database.getName()).thenReturn("db_schema");
assertThrows(NoSuchTableException.class,
@@ -122,7 +121,7 @@ class ShardingCreateProcedureStatementValidatorTest {
routineBody.getValidStatements().add(validStatementSegment);
MySQLCreateProcedureStatement sqlStatement = new MySQLCreateProcedureStatement();
sqlStatement.setRoutineBody(routineBody);
- SQLStatementContext<CreateProcedureStatement> sqlStatementContext = new CreateProcedureStatementContext(sqlStatement);
+ SQLStatementContext sqlStatementContext = new CreateProcedureStatementContext(sqlStatement);
ShardingSphereDatabase database = mock(ShardingSphereDatabase.class, RETURNS_DEEP_STUBS);
when(database.getName()).thenReturn(DefaultDatabase.LOGIC_NAME);
when(database.getSchema(DefaultDatabase.LOGIC_NAME).containsTable("t_order")).thenReturn(true);
diff --git a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/ShardingCreateTableStatementValidatorTest.java b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/ShardingCreateTableStatementValidatorTest.java
index bba69422215..8d2fdc7d2a2 100644
--- a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/ShardingCreateTableStatementValidatorTest.java
+++ b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/ShardingCreateTableStatementValidatorTest.java
@@ -104,7 +104,7 @@ class ShardingCreateTableStatementValidatorTest {
}
private void assertPreValidateCreateTable(final CreateTableStatement sqlStatement, final String schemaName) {
- SQLStatementContext<CreateTableStatement> sqlStatementContext = new CreateTableStatementContext(sqlStatement);
+ SQLStatementContext sqlStatementContext = new CreateTableStatementContext(sqlStatement);
ShardingSphereDatabase database = mock(ShardingSphereDatabase.class, RETURNS_DEEP_STUBS);
when(database.getName()).thenReturn("sharding_db");
when(database.getSchema(schemaName).containsTable("t_order")).thenReturn(true);
@@ -126,7 +126,7 @@ class ShardingCreateTableStatementValidatorTest {
}
private void assertPreValidateCreateTableIfNotExists(final CreateTableStatement sqlStatement) {
- SQLStatementContext<CreateTableStatement> sqlStatementContext = new CreateTableStatementContext(sqlStatement);
+ SQLStatementContext sqlStatementContext = new CreateTableStatementContext(sqlStatement);
ShardingSphereDatabase database = mock(ShardingSphereDatabase.class, RETURNS_DEEP_STUBS);
new ShardingCreateTableStatementValidator().preValidate(shardingRule, sqlStatementContext, Collections.emptyList(), database, mock(ConfigurationProperties.class));
}
diff --git a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/ShardingDropTableStatementValidatorTest.java b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/ShardingDropTableStatementValidatorTest.java
index 687132305d0..5bfd5c2dbdc 100644
--- a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/ShardingDropTableStatementValidatorTest.java
+++ b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/ShardingDropTableStatementValidatorTest.java
@@ -33,7 +33,6 @@ import org.apache.shardingsphere.sharding.rule.ShardingRule;
import org.apache.shardingsphere.sharding.rule.TableRule;
import org.apache.shardingsphere.sql.parser.sql.common.segment.generic.table.SimpleTableSegment;
import org.apache.shardingsphere.sql.parser.sql.common.segment.generic.table.TableNameSegment;
-import org.apache.shardingsphere.sql.parser.sql.common.statement.ddl.DropTableStatement;
import org.apache.shardingsphere.sql.parser.sql.common.value.identifier.IdentifierValue;
import org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.ddl.MySQLDropTableStatement;
import org.apache.shardingsphere.sql.parser.sql.dialect.statement.postgresql.ddl.PostgreSQLDropTableStatement;
@@ -82,7 +81,7 @@ class ShardingDropTableStatementValidatorTest {
void assertPreValidateDropTableForMySQL() {
MySQLDropTableStatement sqlStatement = new MySQLDropTableStatement(false);
sqlStatement.getTables().add(new SimpleTableSegment(new TableNameSegment(0, 0, new IdentifierValue("t_order_item"))));
- SQLStatementContext<DropTableStatement> sqlStatementContext = new DropTableStatementContext(sqlStatement);
+ SQLStatementContext sqlStatementContext = new DropTableStatementContext(sqlStatement);
ShardingSphereDatabase database = mock(ShardingSphereDatabase.class, RETURNS_DEEP_STUBS);
when(database.getName()).thenReturn("db_schema");
when(database.getSchema("db_schema").containsTable("t_order_item")).thenReturn(true);
diff --git a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/ShardingRenameTableStatementValidatorTest.java b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/ShardingRenameTableStatementValidatorTest.java
index c7b595c49cf..1b86223ad67 100644
--- a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/ShardingRenameTableStatementValidatorTest.java
+++ b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/ShardingRenameTableStatementValidatorTest.java
@@ -33,7 +33,6 @@ import org.apache.shardingsphere.sharding.rule.TableRule;
import org.apache.shardingsphere.sql.parser.sql.common.segment.ddl.table.RenameTableDefinitionSegment;
import org.apache.shardingsphere.sql.parser.sql.common.segment.generic.table.SimpleTableSegment;
import org.apache.shardingsphere.sql.parser.sql.common.segment.generic.table.TableNameSegment;
-import org.apache.shardingsphere.sql.parser.sql.common.statement.ddl.RenameTableStatement;
import org.apache.shardingsphere.sql.parser.sql.common.value.identifier.IdentifierValue;
import org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.ddl.MySQLRenameTableStatement;
import org.junit.jupiter.api.Test;
@@ -59,7 +58,7 @@ class ShardingRenameTableStatementValidatorTest {
@Test
void assertPreValidateShardingTable() {
- SQLStatementContext<RenameTableStatement> sqlStatementContext = createRenameTableStatementContext("t_order", "t_user_order");
+ SQLStatementContext sqlStatementContext = createRenameTableStatementContext("t_order", "t_user_order");
ShardingSphereDatabase database = mock(ShardingSphereDatabase.class);
when(shardingRule.tableRuleExists(argThat(tableNames -> tableNames.contains("t_order") || tableNames.contains("t_user_order")))).thenReturn(true);
assertThrows(UnsupportedShardingOperationException.class,
@@ -68,7 +67,7 @@ class ShardingRenameTableStatementValidatorTest {
@Test
void assertPreValidateBroadcastTable() {
- SQLStatementContext<RenameTableStatement> sqlStatementContext = createRenameTableStatementContext("t_order", "t_user_order");
+ SQLStatementContext sqlStatementContext = createRenameTableStatementContext("t_order", "t_user_order");
ShardingSphereDatabase database = mock(ShardingSphereDatabase.class);
when(shardingRule.isBroadcastTable(eq("t_order"))).thenReturn(true);
assertThrows(UnsupportedShardingOperationException.class,
@@ -77,7 +76,7 @@ class ShardingRenameTableStatementValidatorTest {
@Test
void assertPreValidateNormalCase() {
- SQLStatementContext<RenameTableStatement> sqlStatementContext = createRenameTableStatementContext("t_not_sharding_table", "t_not_sharding_table_new");
+ SQLStatementContext sqlStatementContext = createRenameTableStatementContext("t_not_sharding_table", "t_not_sharding_table_new");
ShardingSphereDatabase database = mock(ShardingSphereDatabase.class);
assertDoesNotThrow(() -> new ShardingRenameTableStatementValidator().preValidate(shardingRule, sqlStatementContext, Collections.emptyList(), database, mock(ConfigurationProperties.class)));
}
@@ -90,7 +89,7 @@ class ShardingRenameTableStatementValidatorTest {
when(tableRule.getActualDataNodes()).thenReturn(Arrays.asList(mock(DataNode.class), mock(DataNode.class)));
when(shardingRule.getTableRule("t_order")).thenReturn(tableRule);
when(shardingRule.isShardingTable("t_order")).thenReturn(true);
- SQLStatementContext<RenameTableStatement> sqlStatementContext = createRenameTableStatementContext("t_order", "t_user_order");
+ SQLStatementContext sqlStatementContext = createRenameTableStatementContext("t_order", "t_user_order");
ShardingSphereDatabase database = mock(ShardingSphereDatabase.class);
ConfigurationProperties props = mock(ConfigurationProperties.class);
assertThrows(ShardingDDLRouteException.class,
@@ -105,14 +104,14 @@ class ShardingRenameTableStatementValidatorTest {
when(tableRule.getActualDataNodes()).thenReturn(Collections.singletonList(mock(DataNode.class)));
when(shardingRule.getTableRule("t_order")).thenReturn(tableRule);
when(shardingRule.isShardingTable("t_order")).thenReturn(true);
- SQLStatementContext<RenameTableStatement> sqlStatementContext = createRenameTableStatementContext("t_order", "t_user_order");
+ SQLStatementContext sqlStatementContext = createRenameTableStatementContext("t_order", "t_user_order");
ShardingSphereDatabase database = mock(ShardingSphereDatabase.class);
ConfigurationProperties props = mock(ConfigurationProperties.class);
assertDoesNotThrow(() -> new ShardingRenameTableStatementValidator().postValidate(
shardingRule, sqlStatementContext, new HintValueContext(), Collections.emptyList(), database, props, routeContext));
}
- private SQLStatementContext<RenameTableStatement> createRenameTableStatementContext(final String originTableName, final String newTableName) {
+ private SQLStatementContext createRenameTableStatementContext(final String originTableName, final String newTableName) {
MySQLRenameTableStatement sqlStatement = new MySQLRenameTableStatement();
RenameTableDefinitionSegment renameTableDefinitionSegment = new RenameTableDefinitionSegment(0, 0);
renameTableDefinitionSegment.setTable(new SimpleTableSegment(new TableNameSegment(0, 0, new IdentifierValue(originTableName))));
diff --git a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/route/engine/validator/dml/ShardingInsertStatementValidatorTest.java b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/route/engine/validator/dml/ShardingInsertStatementValidatorTest.java
index 67725895614..05d97472cfd 100644
--- a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/route/engine/validator/dml/ShardingInsertStatementValidatorTest.java
+++ b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/route/engine/validator/dml/ShardingInsertStatementValidatorTest.java
@@ -93,7 +93,7 @@ class ShardingInsertStatementValidatorTest {
@Test
void assertPreValidateWhenInsertMultiTables() {
- SQLStatementContext<InsertStatement> sqlStatementContext = createInsertStatementContext(Collections.singletonList(1), createInsertStatement());
+ SQLStatementContext sqlStatementContext = createInsertStatementContext(Collections.singletonList(1), createInsertStatement());
Collection<String> tableNames = sqlStatementContext.getTablesContext().getTableNames();
when(shardingRule.isAllShardingTables(tableNames)).thenReturn(false);
when(shardingRule.tableRuleExists(tableNames)).thenReturn(true);
@@ -113,7 +113,7 @@ class ShardingInsertStatementValidatorTest {
void assertPreValidateWhenInsertSelectWithoutKeyGenerateColumn() {
when(shardingRule.findGenerateKeyColumnName("user")).thenReturn(Optional.of("id"));
when(shardingRule.isGenerateKeyColumn("id", "user")).thenReturn(false);
- SQLStatementContext<InsertStatement> sqlStatementContext = createInsertStatementContext(Collections.singletonList(1), createInsertSelectStatement());
+ SQLStatementContext sqlStatementContext = createInsertStatementContext(Collections.singletonList(1), createInsertSelectStatement());
sqlStatementContext.getTablesContext().getTableNames().addAll(createSingleTablesContext().getTableNames());
assertThrows(MissingGenerateKeyColumnWithInsertSelectException.class, () -> new ShardingInsertStatementValidator(shardingConditions).preValidate(shardingRule,
sqlStatementContext, Collections.emptyList(), mock(ShardingSphereDatabase.class, RETURNS_DEEP_STUBS), mock(ConfigurationProperties.class)));
@@ -123,7 +123,7 @@ class ShardingInsertStatementValidatorTest {
void assertPreValidateWhenInsertSelectWithKeyGenerateColumn() {
when(shardingRule.findGenerateKeyColumnName("user")).thenReturn(Optional.of("id"));
when(shardingRule.isGenerateKeyColumn("id", "user")).thenReturn(true);
- SQLStatementContext<InsertStatement> sqlStatementContext = createInsertStatementContext(Collections.singletonList(1), createInsertSelectStatement());
+ SQLStatementContext sqlStatementContext = createInsertStatementContext(Collections.singletonList(1), createInsertSelectStatement());
sqlStatementContext.getTablesContext().getTableNames().addAll(createSingleTablesContext().getTableNames());
assertDoesNotThrow(() -> new ShardingInsertStatementValidator(shardingConditions).preValidate(
shardingRule, sqlStatementContext, Collections.emptyList(), mock(ShardingSphereDatabase.class, RETURNS_DEEP_STUBS), mock(ConfigurationProperties.class)));
@@ -136,7 +136,7 @@ class ShardingInsertStatementValidatorTest {
TablesContext multiTablesContext = createMultiTablesContext();
when(shardingRule.isAllBindingTables(multiTablesContext.getTableNames())).thenReturn(false);
when(shardingRule.tableRuleExists(multiTablesContext.getTableNames())).thenReturn(true);
- SQLStatementContext<InsertStatement> sqlStatementContext = createInsertStatementContext(Collections.singletonList(1), createInsertSelectStatement());
+ SQLStatementContext sqlStatementContext = createInsertStatementContext(Collections.singletonList(1), createInsertSelectStatement());
sqlStatementContext.getTablesContext().getTableNames().addAll(multiTablesContext.getTableNames());
assertThrows(InsertSelectTableViolationException.class, () -> new ShardingInsertStatementValidator(shardingConditions).preValidate(
shardingRule, sqlStatementContext, Collections.emptyList(), mock(ShardingSphereDatabase.class, RETURNS_DEEP_STUBS), mock(ConfigurationProperties.class)));
@@ -147,7 +147,7 @@ class ShardingInsertStatementValidatorTest {
when(shardingRule.findGenerateKeyColumnName("user")).thenReturn(Optional.of("id"));
when(shardingRule.isGenerateKeyColumn("id", "user")).thenReturn(true);
TablesContext multiTablesContext = createMultiTablesContext();
- SQLStatementContext<InsertStatement> sqlStatementContext = createInsertStatementContext(Collections.singletonList(1), createInsertSelectStatement());
+ SQLStatementContext sqlStatementContext = createInsertStatementContext(Collections.singletonList(1), createInsertSelectStatement());
sqlStatementContext.getTablesContext().getTableNames().addAll(multiTablesContext.getTableNames());
assertDoesNotThrow(() -> new ShardingInsertStatementValidator(shardingConditions).preValidate(
shardingRule, sqlStatementContext, Collections.emptyList(), mock(ShardingSphereDatabase.class, RETURNS_DEEP_STUBS), mock(ConfigurationProperties.class)));
@@ -155,7 +155,7 @@ class ShardingInsertStatementValidatorTest {
@Test
void assertPostValidateWhenInsertWithSingleRouting() {
- SQLStatementContext<InsertStatement> sqlStatementContext = createInsertStatementContext(Collections.singletonList(1), createInsertStatement());
+ SQLStatementContext sqlStatementContext = createInsertStatementContext(Collections.singletonList(1), createInsertStatement());
when(routeContext.isSingleRouting()).thenReturn(true);
assertDoesNotThrow(() -> new ShardingInsertStatementValidator(shardingConditions).postValidate(shardingRule, sqlStatementContext, new HintValueContext(),
Collections.emptyList(), mock(ShardingSphereDatabase.class, RETURNS_DEEP_STUBS), mock(ConfigurationProperties.class), routeContext));
@@ -163,18 +163,18 @@ class ShardingInsertStatementValidatorTest {
@Test
void assertPostValidateWhenInsertWithBroadcastTable() {
- SQLStatementContext<InsertStatement> sqlStatementContext = createInsertStatementContext(Collections.singletonList(1), createInsertStatement());
+ SQLStatementContext sqlStatementContext = createInsertStatementContext(Collections.singletonList(1), createInsertStatement());
when(routeContext.isSingleRouting()).thenReturn(false);
- when(shardingRule.isBroadcastTable(sqlStatementContext.getSqlStatement().getTable().getTableName().getIdentifier().getValue())).thenReturn(true);
+ when(shardingRule.isBroadcastTable(((InsertStatement) sqlStatementContext.getSqlStatement()).getTable().getTableName().getIdentifier().getValue())).thenReturn(true);
assertDoesNotThrow(() -> new ShardingInsertStatementValidator(shardingConditions).postValidate(shardingRule, sqlStatementContext, new HintValueContext(),
Collections.emptyList(), mock(ShardingSphereDatabase.class, RETURNS_DEEP_STUBS), mock(ConfigurationProperties.class), routeContext));
}
@Test
void assertPostValidateWhenInsertWithRoutingToSingleDataNode() {
- SQLStatementContext<InsertStatement> sqlStatementContext = createInsertStatementContext(Collections.singletonList(1), createInsertStatement());
+ SQLStatementContext sqlStatementContext = createInsertStatementContext(Collections.singletonList(1), createInsertStatement());
when(routeContext.isSingleRouting()).thenReturn(false);
- when(shardingRule.isBroadcastTable(sqlStatementContext.getSqlStatement().getTable().getTableName().getIdentifier().getValue())).thenReturn(false);
+ when(shardingRule.isBroadcastTable(((InsertStatement) sqlStatementContext.getSqlStatement()).getTable().getTableName().getIdentifier().getValue())).thenReturn(false);
when(routeContext.getOriginalDataNodes()).thenReturn(getSingleRouteDataNodes());
assertDoesNotThrow(() -> new ShardingInsertStatementValidator(shardingConditions).postValidate(shardingRule, sqlStatementContext, new HintValueContext(),
Collections.emptyList(), mock(ShardingSphereDatabase.class, RETURNS_DEEP_STUBS), mock(ConfigurationProperties.class), routeContext));
@@ -182,9 +182,9 @@ class ShardingInsertStatementValidatorTest {
@Test
void assertPostValidateWhenInsertWithRoutingToMultipleDataNodes() {
- SQLStatementContext<InsertStatement> sqlStatementContext = createInsertStatementContext(Collections.singletonList(1), createInsertStatement());
+ SQLStatementContext sqlStatementContext = createInsertStatementContext(Collections.singletonList(1), createInsertStatement());
when(routeContext.isSingleRouting()).thenReturn(false);
- when(shardingRule.isBroadcastTable(sqlStatementContext.getSqlStatement().getTable().getTableName().getIdentifier().getValue())).thenReturn(false);
+ when(shardingRule.isBroadcastTable(((InsertStatement) sqlStatementContext.getSqlStatement()).getTable().getTableName().getIdentifier().getValue())).thenReturn(false);
when(routeContext.getOriginalDataNodes()).thenReturn(getMultipleRouteDataNodes());
assertThrows(DuplicateInsertDataRecordException.class, () -> new ShardingInsertStatementValidator(shardingConditions).postValidate(shardingRule, sqlStatementContext, new HintValueContext(),
Collections.emptyList(), mock(ShardingSphereDatabase.class, RETURNS_DEEP_STUBS), mock(ConfigurationProperties.class), routeContext));
diff --git a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/route/engine/validator/dml/ShardingUpdateStatementValidatorTest.java b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/route/engine/validator/dml/ShardingUpdateStatementValidatorTest.java
index 45e623289d6..e2fcb713737 100644
--- a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/route/engine/validator/dml/ShardingUpdateStatementValidatorTest.java
+++ b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/route/engine/validator/dml/ShardingUpdateStatementValidatorTest.java
@@ -74,7 +74,7 @@ class ShardingUpdateStatementValidatorTest {
void assertPreValidateWhenUpdateSingleTable() {
UpdateStatement updateStatement = createUpdateStatement();
updateStatement.setTable(new SimpleTableSegment(new TableNameSegment(0, 0, new IdentifierValue("user"))));
- SQLStatementContext<UpdateStatement> sqlStatementContext = new UpdateStatementContext(updateStatement);
+ SQLStatementContext sqlStatementContext = new UpdateStatementContext(updateStatement);
Collection<String> tableNames = sqlStatementContext.getTablesContext().getTableNames();
when(shardingRule.isAllShardingTables(tableNames)).thenReturn(true);
when(shardingRule.tableRuleExists(tableNames)).thenReturn(true);
@@ -89,7 +89,7 @@ class ShardingUpdateStatementValidatorTest {
joinTableSegment.setLeft(new SimpleTableSegment(new TableNameSegment(0, 0, new IdentifierValue("user"))));
joinTableSegment.setRight(new SimpleTableSegment(new TableNameSegment(0, 0, new IdentifierValue("order"))));
updateStatement.setTable(joinTableSegment);
- SQLStatementContext<UpdateStatement> sqlStatementContext = new UpdateStatementContext(updateStatement);
+ SQLStatementContext sqlStatementContext = new UpdateStatementContext(updateStatement);
Collection<String> tableNames = sqlStatementContext.getTablesContext().getTableNames();
when(shardingRule.isAllShardingTables(tableNames)).thenReturn(false);
when(shardingRule.tableRuleExists(tableNames)).thenReturn(true);
diff --git a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/rule/ShardingRuleTest.java b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/rule/ShardingRuleTest.java
index 20e28bcdb1a..88934fe6852 100644
--- a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/rule/ShardingRuleTest.java
+++ b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/rule/ShardingRuleTest.java
@@ -529,7 +529,7 @@ class ShardingRuleTest {
@Test
void assertIsAllBindingTableWithUpdateStatementContext() {
- SQLStatementContext<?> sqlStatementContext = mock(UpdateStatementContext.class);
+ SQLStatementContext sqlStatementContext = mock(UpdateStatementContext.class);
assertTrue(
createMaximumShardingRule().isAllBindingTables(mock(ShardingSphereDatabase.class, RETURNS_DEEP_STUBS), sqlStatementContext, Arrays.asList("logic_Table", "sub_Logic_Table")));
}
diff --git a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/SQLStatementContextFactory.java b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/SQLStatementContextFactory.java
index dcfcac1a18d..b51887f9e02 100644
--- a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/SQLStatementContextFactory.java
+++ b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/SQLStatementContextFactory.java
@@ -130,7 +130,7 @@ public final class SQLStatementContextFactory {
* @param defaultDatabaseName default database name
* @return SQL statement context
*/
- public static SQLStatementContext<?> newInstance(final ShardingSphereMetaData metaData, final SQLStatement sqlStatement, final String defaultDatabaseName) {
+ public static SQLStatementContext newInstance(final ShardingSphereMetaData metaData, final SQLStatement sqlStatement, final String defaultDatabaseName) {
return newInstance(metaData, Collections.emptyList(), sqlStatement, defaultDatabaseName);
}
@@ -143,8 +143,8 @@ public final class SQLStatementContextFactory {
* @param defaultDatabaseName default database name
* @return SQL statement context
*/
- public static SQLStatementContext<?> newInstance(final ShardingSphereMetaData metaData,
- final List<Object> params, final SQLStatement sqlStatement, final String defaultDatabaseName) {
+ public static SQLStatementContext newInstance(final ShardingSphereMetaData metaData,
+ final List<Object> params, final SQLStatement sqlStatement, final String defaultDatabaseName) {
if (sqlStatement instanceof DMLStatement) {
return getDMLStatementContext(metaData, params, (DMLStatement) sqlStatement, defaultDatabaseName);
}
@@ -157,11 +157,11 @@ public final class SQLStatementContextFactory {
if (sqlStatement instanceof DALStatement) {
return getDALStatementContext((DALStatement) sqlStatement);
}
- return new UnknownSQLStatementContext<>(sqlStatement);
+ return new UnknownSQLStatementContext(sqlStatement);
}
- private static SQLStatementContext<?> getDMLStatementContext(final ShardingSphereMetaData metaData,
- final List<Object> params, final DMLStatement sqlStatement, final String defaultDatabaseName) {
+ private static SQLStatementContext getDMLStatementContext(final ShardingSphereMetaData metaData,
+ final List<Object> params, final DMLStatement sqlStatement, final String defaultDatabaseName) {
if (sqlStatement instanceof SelectStatement) {
return new SelectStatementContext(metaData, params, (SelectStatement) sqlStatement, defaultDatabaseName);
}
@@ -192,8 +192,8 @@ public final class SQLStatementContextFactory {
throw new UnsupportedSQLOperationException(String.format("Unsupported SQL statement `%s`", sqlStatement.getClass().getSimpleName()));
}
- private static SQLStatementContext<?> getDDLStatementContext(final ShardingSphereMetaData metaData, final List<Object> params,
- final DDLStatement sqlStatement, final String defaultDatabaseName) {
+ private static SQLStatementContext getDDLStatementContext(final ShardingSphereMetaData metaData, final List<Object> params,
+ final DDLStatement sqlStatement, final String defaultDatabaseName) {
if (sqlStatement instanceof CreateSchemaStatement) {
return new CreateSchemaStatementContext((CreateSchemaStatement) sqlStatement);
}
@@ -254,10 +254,10 @@ public final class SQLStatementContextFactory {
if (sqlStatement instanceof FetchStatement) {
return new FetchStatementContext((FetchStatement) sqlStatement);
}
- return new UnknownSQLStatementContext<>(sqlStatement);
+ return new UnknownSQLStatementContext(sqlStatement);
}
- private static SQLStatementContext<?> getDCLStatementContext(final DCLStatement sqlStatement) {
+ private static SQLStatementContext getDCLStatementContext(final DCLStatement sqlStatement) {
if (sqlStatement instanceof GrantStatement) {
return new GrantStatementContext((GrantStatement) sqlStatement);
}
@@ -267,10 +267,10 @@ public final class SQLStatementContextFactory {
if (sqlStatement instanceof SQLServerDenyUserStatement) {
return new DenyUserStatementContext((SQLServerDenyUserStatement) sqlStatement);
}
- return new UnknownSQLStatementContext<>(sqlStatement);
+ return new UnknownSQLStatementContext(sqlStatement);
}
- private static SQLStatementContext<?> getDALStatementContext(final DALStatement sqlStatement) {
+ private static SQLStatementContext getDALStatementContext(final DALStatement sqlStatement) {
if (sqlStatement instanceof ExplainStatement) {
return new ExplainStatementContext((ExplainStatement) sqlStatement);
}
@@ -301,6 +301,6 @@ public final class SQLStatementContextFactory {
if (sqlStatement instanceof MySQLKillStatement) {
return new KillStatementContext((MySQLKillStatement) sqlStatement);
}
- return new UnknownSQLStatementContext<>(sqlStatement);
+ return new UnknownSQLStatementContext(sqlStatement);
}
}
diff --git a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/decider/SQLFederationDecideEngine.java b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/decider/SQLFederationDecideEngine.java
index 3719c5e906c..cce7926960f 100644
--- a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/decider/SQLFederationDecideEngine.java
+++ b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/decider/SQLFederationDecideEngine.java
@@ -59,7 +59,7 @@ public final class SQLFederationDecideEngine {
* @return use SQL federation or not
*/
@SuppressWarnings({"unchecked", "rawtypes"})
- public boolean decide(final SQLStatementContext<?> sqlStatementContext, final List<Object> parameters,
+ public boolean decide(final SQLStatementContext sqlStatementContext, final List<Object> parameters,
final ShardingSphereDatabase database, final ShardingSphereRuleMetaData globalRuleMetaData) {
// TODO BEGIN: move this logic to SQLFederationDecider implement class when we remove sql federation type
if (isQuerySystemSchema(sqlStatementContext, database)) {
@@ -79,7 +79,7 @@ public final class SQLFederationDecideEngine {
return false;
}
- private boolean isQuerySystemSchema(final SQLStatementContext<?> sqlStatementContext, final ShardingSphereDatabase database) {
+ private boolean isQuerySystemSchema(final SQLStatementContext sqlStatementContext, final ShardingSphereDatabase database) {
return sqlStatementContext instanceof SelectStatementContext
&& SystemSchemaUtils.containsSystemSchema(sqlStatementContext.getDatabaseType(), sqlStatementContext.getTablesContext().getSchemaNames(), database);
}
diff --git a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/CommonSQLStatementContext.java b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/CommonSQLStatementContext.java
index 2acff16838c..c8cc9b13677 100644
--- a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/CommonSQLStatementContext.java
+++ b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/CommonSQLStatementContext.java
@@ -36,13 +36,11 @@ import java.util.Optional;
/**
* Common SQL statement context.
- *
- * @param <T> type of SQL statement
*/
@Getter
-public abstract class CommonSQLStatementContext<T extends SQLStatement> implements SQLStatementContext<T> {
+public abstract class CommonSQLStatementContext implements SQLStatementContext {
- private final T sqlStatement;
+ private final SQLStatement sqlStatement;
private final TablesContext tablesContext;
@@ -50,7 +48,7 @@ public abstract class CommonSQLStatementContext<T extends SQLStatement> implemen
private final SQLHintExtractor sqlHintExtractor;
- public CommonSQLStatementContext(final T sqlStatement) {
+ public CommonSQLStatementContext(final SQLStatement sqlStatement) {
this.sqlStatement = sqlStatement;
databaseType = getDatabaseType(sqlStatement);
tablesContext = new TablesContext(Collections.emptyList(), databaseType);
diff --git a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/SQLStatementContext.java b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/SQLStatementContext.java
index da0ca9e565b..16534c12f34 100644
--- a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/SQLStatementContext.java
+++ b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/SQLStatementContext.java
@@ -23,17 +23,15 @@ import org.apache.shardingsphere.sql.parser.sql.common.statement.SQLStatement;
/**
* SQL statement context.
- *
- * @param <T> type of SQL statement
*/
-public interface SQLStatementContext<T extends SQLStatement> {
+public interface SQLStatementContext {
/**
* Get SQL statement.
*
* @return SQL statement
*/
- T getSqlStatement();
+ SQLStatement getSqlStatement();
/**
* Get tables context.
diff --git a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/UnknownSQLStatementContext.java b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/UnknownSQLStatementContext.java
index d981f6f5b81..70e5aaf1cc8 100644
--- a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/UnknownSQLStatementContext.java
+++ b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/UnknownSQLStatementContext.java
@@ -21,12 +21,10 @@ import org.apache.shardingsphere.sql.parser.sql.common.statement.SQLStatement;
/**
* Unknown SQL statement context.
- *
- * @param <T> type of SQL statement
*/
-public final class UnknownSQLStatementContext<T extends SQLStatement> extends CommonSQLStatementContext<T> {
+public final class UnknownSQLStatementContext extends CommonSQLStatementContext {
- public UnknownSQLStatementContext(final T sqlStatement) {
+ public UnknownSQLStatementContext(final SQLStatement sqlStatement) {
super(sqlStatement);
}
}
diff --git a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/dal/AnalyzeTableStatementContext.java b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/dal/AnalyzeTableStatementContext.java
index 8de56da0073..b81f757f444 100644
--- a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/dal/AnalyzeTableStatementContext.java
+++ b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/dal/AnalyzeTableStatementContext.java
@@ -30,7 +30,7 @@ import java.util.Collection;
* Analyze table statement context.
*/
@Getter
-public final class AnalyzeTableStatementContext extends CommonSQLStatementContext<AnalyzeTableStatement> implements TableAvailable {
+public final class AnalyzeTableStatementContext extends CommonSQLStatementContext implements TableAvailable {
private final TablesContext tablesContext;
@@ -39,6 +39,11 @@ public final class AnalyzeTableStatementContext extends CommonSQLStatementContex
tablesContext = new TablesContext(sqlStatement.getTables(), getDatabaseType());
}
+ @Override
+ public AnalyzeTableStatement getSqlStatement() {
+ return (AnalyzeTableStatement) super.getSqlStatement();
+ }
+
@Override
public Collection<SimpleTableSegment> getAllTables() {
return getSqlStatement().getTables();
diff --git a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/dal/ExplainStatementContext.java b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/dal/ExplainStatementContext.java
index c32a8e41875..e5cdacaa08c 100644
--- a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/dal/ExplainStatementContext.java
+++ b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/dal/ExplainStatementContext.java
@@ -34,7 +34,7 @@ import java.util.LinkedList;
* Explain statement context.
*/
@Getter
-public final class ExplainStatementContext extends CommonSQLStatementContext<ExplainStatement> implements TableAvailable {
+public final class ExplainStatementContext extends CommonSQLStatementContext implements TableAvailable {
private final TablesContext tablesContext;
@@ -54,6 +54,11 @@ public final class ExplainStatementContext extends CommonSQLStatementContext<Exp
return result;
}
+ @Override
+ public ExplainStatement getSqlStatement() {
+ return (ExplainStatement) super.getSqlStatement();
+ }
+
@Override
public Collection<SimpleTableSegment> getAllTables() {
return extractTablesFromExplain(getSqlStatement());
diff --git a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/dal/FlushStatementContext.java b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/dal/FlushStatementContext.java
index 9585ab394ac..19f596a5c3d 100644
--- a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/dal/FlushStatementContext.java
+++ b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/dal/FlushStatementContext.java
@@ -31,7 +31,7 @@ import java.util.Collection;
* Flush statement context.
*/
@Getter
-public final class FlushStatementContext extends CommonSQLStatementContext<FlushStatement> implements TableAvailable {
+public final class FlushStatementContext extends CommonSQLStatementContext implements TableAvailable {
private final TablesContext tablesContext;
@@ -40,6 +40,11 @@ public final class FlushStatementContext extends CommonSQLStatementContext<Flush
tablesContext = new TablesContext(FlushStatementHandler.getSimpleTableSegment(sqlStatement), getDatabaseType());
}
+ @Override
+ public FlushStatement getSqlStatement() {
+ return (FlushStatement) super.getSqlStatement();
+ }
+
@Override
public Collection<SimpleTableSegment> getAllTables() {
return FlushStatementHandler.getSimpleTableSegment(getSqlStatement());
diff --git a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/dal/KillStatementContext.java b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/dal/KillStatementContext.java
index 8f97e503bb6..1e01f7b1dd6 100644
--- a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/dal/KillStatementContext.java
+++ b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/dal/KillStatementContext.java
@@ -23,9 +23,14 @@ import org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.dal.MySQ
/**
* Kill process statement.
*/
-public final class KillStatementContext extends CommonSQLStatementContext<MySQLKillStatement> {
+public final class KillStatementContext extends CommonSQLStatementContext {
public KillStatementContext(final MySQLKillStatement sqlStatement) {
super(sqlStatement);
}
+
+ @Override
+ public MySQLKillStatement getSqlStatement() {
+ return (MySQLKillStatement) super.getSqlStatement();
+ }
}
diff --git a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/dal/OptimizeTableStatementContext.java b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/dal/OptimizeTableStatementContext.java
index d9eaf41e31c..0bd83bf4d71 100644
--- a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/dal/OptimizeTableStatementContext.java
+++ b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/dal/OptimizeTableStatementContext.java
@@ -30,7 +30,7 @@ import java.util.Collection;
* Optimize table statement context.
*/
@Getter
-public final class OptimizeTableStatementContext extends CommonSQLStatementContext<MySQLOptimizeTableStatement> implements TableAvailable {
+public final class OptimizeTableStatementContext extends CommonSQLStatementContext implements TableAvailable {
private final TablesContext tablesContext;
@@ -39,6 +39,11 @@ public final class OptimizeTableStatementContext extends CommonSQLStatementConte
tablesContext = new TablesContext(sqlStatement.getTables(), getDatabaseType());
}
+ @Override
+ public MySQLOptimizeTableStatement getSqlStatement() {
+ return (MySQLOptimizeTableStatement) super.getSqlStatement();
+ }
+
@Override
public Collection<SimpleTableSegment> getAllTables() {
return getSqlStatement().getTables();
diff --git a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/dal/ShowColumnsStatementContext.java b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/dal/ShowColumnsStatementContext.java
index 9c105a2eec3..f4d4c863b1d 100644
--- a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/dal/ShowColumnsStatementContext.java
+++ b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/dal/ShowColumnsStatementContext.java
@@ -34,7 +34,7 @@ import java.util.LinkedList;
* Show columns statement context.
*/
@Getter
-public final class ShowColumnsStatementContext extends CommonSQLStatementContext<MySQLShowColumnsStatement> implements TableAvailable, RemoveAvailable {
+public final class ShowColumnsStatementContext extends CommonSQLStatementContext implements TableAvailable, RemoveAvailable {
private final TablesContext tablesContext;
@@ -43,6 +43,11 @@ public final class ShowColumnsStatementContext extends CommonSQLStatementContext
tablesContext = new TablesContext(sqlStatement.getTable(), getDatabaseType());
}
+ @Override
+ public MySQLShowColumnsStatement getSqlStatement() {
+ return (MySQLShowColumnsStatement) super.getSqlStatement();
+ }
+
@Override
public Collection<SimpleTableSegment> getAllTables() {
return null == getSqlStatement().getTable() ? Collections.emptyList() : Collections.singletonList(getSqlStatement().getTable());
diff --git a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/dal/ShowCreateTableStatementContext.java b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/dal/ShowCreateTableStatementContext.java
index b80d3398c0d..0f7e4467360 100644
--- a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/dal/ShowCreateTableStatementContext.java
+++ b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/dal/ShowCreateTableStatementContext.java
@@ -31,7 +31,7 @@ import java.util.Collections;
* Show create table statement context.
*/
@Getter
-public final class ShowCreateTableStatementContext extends CommonSQLStatementContext<MySQLShowCreateTableStatement> implements TableAvailable {
+public final class ShowCreateTableStatementContext extends CommonSQLStatementContext implements TableAvailable {
private final TablesContext tablesContext;
@@ -40,6 +40,11 @@ public final class ShowCreateTableStatementContext extends CommonSQLStatementCon
tablesContext = new TablesContext(sqlStatement.getTable(), getDatabaseType());
}
+ @Override
+ public MySQLShowCreateTableStatement getSqlStatement() {
+ return (MySQLShowCreateTableStatement) super.getSqlStatement();
+ }
+
@Override
public Collection<SimpleTableSegment> getAllTables() {
return null == getSqlStatement().getTable() ? Collections.emptyList() : Collections.singletonList(getSqlStatement().getTable());
diff --git a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/dal/ShowIndexStatementContext.java b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/dal/ShowIndexStatementContext.java
index 60637909b31..47c882532f1 100644
--- a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/dal/ShowIndexStatementContext.java
+++ b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/dal/ShowIndexStatementContext.java
@@ -34,7 +34,7 @@ import java.util.LinkedList;
* Show index statement context.
*/
@Getter
-public final class ShowIndexStatementContext extends CommonSQLStatementContext<MySQLShowIndexStatement> implements TableAvailable, RemoveAvailable {
+public final class ShowIndexStatementContext extends CommonSQLStatementContext implements TableAvailable, RemoveAvailable {
private final TablesContext tablesContext;
@@ -43,6 +43,11 @@ public final class ShowIndexStatementContext extends CommonSQLStatementContext<M
tablesContext = new TablesContext(sqlStatement.getTable(), getDatabaseType());
}
+ @Override
+ public MySQLShowIndexStatement getSqlStatement() {
+ return (MySQLShowIndexStatement) super.getSqlStatement();
+ }
+
@Override
public Collection<SimpleTableSegment> getAllTables() {
return null == getSqlStatement().getTable() ? Collections.emptyList() : Collections.singletonList(getSqlStatement().getTable());
diff --git a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/dal/ShowTableStatusStatementContext.java b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/dal/ShowTableStatusStatementContext.java
index daedfe6d845..7e2ccc5ab21 100644
--- a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/dal/ShowTableStatusStatementContext.java
+++ b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/dal/ShowTableStatusStatementContext.java
@@ -17,7 +17,6 @@
package org.apache.shardingsphere.infra.binder.statement.dal;
-import lombok.Getter;
import org.apache.shardingsphere.infra.binder.statement.CommonSQLStatementContext;
import org.apache.shardingsphere.infra.binder.type.RemoveAvailable;
import org.apache.shardingsphere.sql.parser.sql.common.segment.SQLSegment;
@@ -29,13 +28,17 @@ import java.util.LinkedList;
/**
* Show table status statement context.
*/
-@Getter
-public final class ShowTableStatusStatementContext extends CommonSQLStatementContext<MySQLShowTableStatusStatement> implements RemoveAvailable {
+public final class ShowTableStatusStatementContext extends CommonSQLStatementContext implements RemoveAvailable {
public ShowTableStatusStatementContext(final MySQLShowTableStatusStatement sqlStatement) {
super(sqlStatement);
}
+ @Override
+ public MySQLShowTableStatusStatement getSqlStatement() {
+ return (MySQLShowTableStatusStatement) super.getSqlStatement();
+ }
+
@Override
public Collection<SQLSegment> getRemoveSegments() {
Collection<SQLSegment> result = new LinkedList<>();
diff --git a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/dal/ShowTablesStatementContext.java b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/dal/ShowTablesStatementContext.java
index 3161c699bd0..061f3e8a4e8 100644
--- a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/dal/ShowTablesStatementContext.java
+++ b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/dal/ShowTablesStatementContext.java
@@ -30,12 +30,17 @@ import java.util.LinkedList;
* Show tables statement context.
*/
@Getter
-public final class ShowTablesStatementContext extends CommonSQLStatementContext<MySQLShowTablesStatement> implements RemoveAvailable {
+public final class ShowTablesStatementContext extends CommonSQLStatementContext implements RemoveAvailable {
public ShowTablesStatementContext(final MySQLShowTablesStatement sqlStatement) {
super(sqlStatement);
}
+ @Override
+ public MySQLShowTablesStatement getSqlStatement() {
+ return (MySQLShowTablesStatement) super.getSqlStatement();
+ }
+
@Override
public Collection<SQLSegment> getRemoveSegments() {
Collection<SQLSegment> result = new LinkedList<>();
diff --git a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/dcl/DenyUserStatementContext.java b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/dcl/DenyUserStatementContext.java
index 9871c4016e4..2b7c5aad3d9 100644
--- a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/dcl/DenyUserStatementContext.java
+++ b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/dcl/DenyUserStatementContext.java
@@ -19,8 +19,8 @@ package org.apache.shardingsphere.infra.binder.statement.dcl;
import lombok.Getter;
import org.apache.shardingsphere.infra.binder.segment.table.TablesContext;
-import org.apache.shardingsphere.infra.binder.type.TableAvailable;
import org.apache.shardingsphere.infra.binder.statement.CommonSQLStatementContext;
+import org.apache.shardingsphere.infra.binder.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;
@@ -31,7 +31,7 @@ import java.util.Collections;
* Deny user statement context.
*/
@Getter
-public final class DenyUserStatementContext extends CommonSQLStatementContext<SQLServerDenyUserStatement> implements TableAvailable {
+public final class DenyUserStatementContext extends CommonSQLStatementContext implements TableAvailable {
private final TablesContext tablesContext;
@@ -40,6 +40,11 @@ public final class DenyUserStatementContext extends CommonSQLStatementContext<SQ
tablesContext = new TablesContext(sqlStatement.getTable(), getDatabaseType());
}
+ @Override
+ public SQLServerDenyUserStatement getSqlStatement() {
+ return (SQLServerDenyUserStatement) super.getSqlStatement();
+ }
+
@Override
public Collection<SimpleTableSegment> getAllTables() {
return null == getSqlStatement().getTable() ? Collections.emptyList() : Collections.singletonList(getSqlStatement().getTable());
diff --git a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/dcl/GrantStatementContext.java b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/dcl/GrantStatementContext.java
index 8eaae97ec20..e004f852e97 100644
--- a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/dcl/GrantStatementContext.java
+++ b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/dcl/GrantStatementContext.java
@@ -19,8 +19,8 @@ package org.apache.shardingsphere.infra.binder.statement.dcl;
import lombok.Getter;
import org.apache.shardingsphere.infra.binder.segment.table.TablesContext;
-import org.apache.shardingsphere.infra.binder.type.TableAvailable;
import org.apache.shardingsphere.infra.binder.statement.CommonSQLStatementContext;
+import org.apache.shardingsphere.infra.binder.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;
@@ -30,7 +30,7 @@ import java.util.Collection;
* Grant statement context.
*/
@Getter
-public final class GrantStatementContext extends CommonSQLStatementContext<GrantStatement> implements TableAvailable {
+public final class GrantStatementContext extends CommonSQLStatementContext implements TableAvailable {
private final TablesContext tablesContext;
@@ -39,6 +39,11 @@ public final class GrantStatementContext extends CommonSQLStatementContext<Grant
tablesContext = new TablesContext(sqlStatement.getTables(), getDatabaseType());
}
+ @Override
+ public GrantStatement getSqlStatement() {
+ return (GrantStatement) super.getSqlStatement();
+ }
+
@Override
public Collection<SimpleTableSegment> getAllTables() {
return getSqlStatement().getTables();
diff --git a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/dcl/RevokeStatementContext.java b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/dcl/RevokeStatementContext.java
index 6664d19ac7b..ed439c6ffe4 100644
--- a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/dcl/RevokeStatementContext.java
+++ b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/dcl/RevokeStatementContext.java
@@ -19,8 +19,8 @@ package org.apache.shardingsphere.infra.binder.statement.dcl;
import lombok.Getter;
import org.apache.shardingsphere.infra.binder.segment.table.TablesContext;
-import org.apache.shardingsphere.infra.binder.type.TableAvailable;
import org.apache.shardingsphere.infra.binder.statement.CommonSQLStatementContext;
+import org.apache.shardingsphere.infra.binder.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;
@@ -30,7 +30,7 @@ import java.util.Collection;
* Revoke statement context.
*/
@Getter
-public final class RevokeStatementContext extends CommonSQLStatementContext<RevokeStatement> implements TableAvailable {
+public final class RevokeStatementContext extends CommonSQLStatementContext implements TableAvailable {
private final TablesContext tablesContext;
@@ -39,6 +39,11 @@ public final class RevokeStatementContext extends CommonSQLStatementContext<Revo
tablesContext = new TablesContext(sqlStatement.getTables(), getDatabaseType());
}
+ @Override
+ public RevokeStatement getSqlStatement() {
+ return (RevokeStatement) super.getSqlStatement();
+ }
+
@Override
public Collection<SimpleTableSegment> getAllTables() {
return getSqlStatement().getTables();
diff --git a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/ddl/AlterIndexStatementContext.java b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/ddl/AlterIndexStatementContext.java
index 9f87c743514..d3a71ba1a33 100644
--- a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/ddl/AlterIndexStatementContext.java
+++ b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/ddl/AlterIndexStatementContext.java
@@ -37,7 +37,7 @@ import java.util.Optional;
* Alter index statement context.
*/
@Getter
-public final class AlterIndexStatementContext extends CommonSQLStatementContext<AlterIndexStatement> implements TableAvailable, IndexAvailable {
+public final class AlterIndexStatementContext extends CommonSQLStatementContext implements TableAvailable, IndexAvailable {
private final TablesContext tablesContext;
@@ -47,6 +47,11 @@ public final class AlterIndexStatementContext extends CommonSQLStatementContext<
tablesContext = new TablesContext(simpleTableSegment, getDatabaseType());
}
+ @Override
+ public AlterIndexStatement getSqlStatement() {
+ return (AlterIndexStatement) super.getSqlStatement();
+ }
+
@Override
public Collection<SimpleTableSegment> getAllTables() {
Optional<SimpleTableSegment> simpleTableSegment = AlterIndexStatementHandler.getSimpleTableSegment(getSqlStatement());
diff --git a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/ddl/AlterTableStatementContext.java b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/ddl/AlterTableStatementContext.java
index 4b91279af10..12516ae8419 100644
--- a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/ddl/AlterTableStatementContext.java
+++ b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/ddl/AlterTableStatementContext.java
@@ -44,7 +44,7 @@ import java.util.LinkedList;
* Alter table statement context.
*/
@Getter
-public final class AlterTableStatementContext extends CommonSQLStatementContext<AlterTableStatement> implements TableAvailable, IndexAvailable, ConstraintAvailable {
+public final class AlterTableStatementContext extends CommonSQLStatementContext implements TableAvailable, IndexAvailable, ConstraintAvailable {
private final TablesContext tablesContext;
@@ -53,6 +53,11 @@ public final class AlterTableStatementContext extends CommonSQLStatementContext<
tablesContext = new TablesContext(sqlStatement.getTable(), getDatabaseType());
}
+ @Override
+ public AlterTableStatement getSqlStatement() {
+ return (AlterTableStatement) super.getSqlStatement();
+ }
+
@Override
public Collection<SimpleTableSegment> getAllTables() {
Collection<SimpleTableSegment> result = new LinkedList<>();
diff --git a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/ddl/AlterViewStatementContext.java b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/ddl/AlterViewStatementContext.java
index 2adf9a57195..6bf20fa698a 100644
--- a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/ddl/AlterViewStatementContext.java
+++ b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/ddl/AlterViewStatementContext.java
@@ -35,7 +35,7 @@ import java.util.Optional;
* Alter view statement context.
*/
@Getter
-public final class AlterViewStatementContext extends CommonSQLStatementContext<AlterViewStatement> implements TableAvailable {
+public final class AlterViewStatementContext extends CommonSQLStatementContext implements TableAvailable {
private final TablesContext tablesContext;
@@ -53,6 +53,11 @@ public final class AlterViewStatementContext extends CommonSQLStatementContext<A
tablesContext = new TablesContext(tables, getDatabaseType());
}
+ @Override
+ public AlterViewStatement getSqlStatement() {
+ return (AlterViewStatement) super.getSqlStatement();
+ }
+
@Override
public Collection<SimpleTableSegment> getAllTables() {
return tablesContext.getTables();
diff --git a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/ddl/CloseStatementContext.java b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/ddl/CloseStatementContext.java
index 10f96a71dca..26249c5020a 100644
--- a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/ddl/CloseStatementContext.java
+++ b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/ddl/CloseStatementContext.java
@@ -37,7 +37,7 @@ import java.util.Optional;
* Close statement context.
*/
@Getter
-public final class CloseStatementContext extends CommonSQLStatementContext<CloseStatement> implements CursorAvailable, WhereAvailable, CursorDefinitionAware {
+public final class CloseStatementContext extends CommonSQLStatementContext implements CursorAvailable, WhereAvailable, CursorDefinitionAware {
private CursorStatementContext cursorStatementContext;
@@ -48,6 +48,11 @@ public final class CloseStatementContext extends CommonSQLStatementContext<Close
tablesContext = new TablesContext(Collections.emptyList(), getDatabaseType());
}
+ @Override
+ public CloseStatement getSqlStatement() {
+ return (CloseStatement) super.getSqlStatement();
+ }
+
@Override
public Optional<CursorNameSegment> getCursorName() {
return getSqlStatement().getCursorName();
diff --git a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/ddl/CommentStatementContext.java b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/ddl/CommentStatementContext.java
index e69cf2918ce..4a86d1d3d3c 100644
--- a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/ddl/CommentStatementContext.java
+++ b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/ddl/CommentStatementContext.java
@@ -31,7 +31,7 @@ import java.util.Collections;
* Comment statement context.
*/
@Getter
-public final class CommentStatementContext extends CommonSQLStatementContext<CommentStatement> implements TableAvailable {
+public final class CommentStatementContext extends CommonSQLStatementContext implements TableAvailable {
private final TablesContext tablesContext;
@@ -40,6 +40,11 @@ public final class CommentStatementContext extends CommonSQLStatementContext<Com
tablesContext = new TablesContext(null == sqlStatement.getTable() ? Collections.emptyList() : Collections.singletonList(sqlStatement.getTable()), getDatabaseType());
}
+ @Override
+ public CommentStatement getSqlStatement() {
+ return (CommentStatement) super.getSqlStatement();
+ }
+
@Override
public Collection<SimpleTableSegment> getAllTables() {
return tablesContext.getTables();
diff --git a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/ddl/CreateDatabaseStatementContext.java b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/ddl/CreateDatabaseStatementContext.java
index d9aa06790fd..0e2b2d94850 100644
--- a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/ddl/CreateDatabaseStatementContext.java
+++ b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/ddl/CreateDatabaseStatementContext.java
@@ -17,17 +17,20 @@
package org.apache.shardingsphere.infra.binder.statement.ddl;
-import lombok.Getter;
import org.apache.shardingsphere.infra.binder.statement.CommonSQLStatementContext;
import org.apache.shardingsphere.sql.parser.sql.common.statement.ddl.CreateDatabaseStatement;
/**
* Create database statement context.
*/
-@Getter
-public final class CreateDatabaseStatementContext extends CommonSQLStatementContext<CreateDatabaseStatement> {
+public final class CreateDatabaseStatementContext extends CommonSQLStatementContext {
public CreateDatabaseStatementContext(final CreateDatabaseStatement sqlStatement) {
super(sqlStatement);
}
+
+ @Override
+ public CreateDatabaseStatement getSqlStatement() {
+ return (CreateDatabaseStatement) super.getSqlStatement();
+ }
}
diff --git a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/ddl/CreateFunctionStatementContext.java b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/ddl/CreateFunctionStatementContext.java
index 72879084886..57e7bfc3b8d 100644
--- a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/ddl/CreateFunctionStatementContext.java
+++ b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/ddl/CreateFunctionStatementContext.java
@@ -34,7 +34,7 @@ import java.util.Optional;
* Create function statement context.
*/
@Getter
-public final class CreateFunctionStatementContext extends CommonSQLStatementContext<CreateFunctionStatement> {
+public final class CreateFunctionStatementContext extends CommonSQLStatementContext {
private final TablesContext tablesContext;
@@ -44,4 +44,9 @@ public final class CreateFunctionStatementContext extends CommonSQLStatementCont
Collection<SimpleTableSegment> tables = routineBodySegment.map(optional -> new TableExtractor().extractExistTableFromRoutineBody(optional)).orElseGet(Collections::emptyList);
tablesContext = new TablesContext(tables, getDatabaseType());
}
+
+ @Override
+ public CreateFunctionStatement getSqlStatement() {
+ return (CreateFunctionStatement) super.getSqlStatement();
+ }
}
diff --git a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/ddl/CreateIndexStatementContext.java b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/ddl/CreateIndexStatementContext.java
index 2a3242cbeef..16b4ee0844f 100644
--- a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/ddl/CreateIndexStatementContext.java
+++ b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/ddl/CreateIndexStatementContext.java
@@ -38,7 +38,7 @@ import java.util.Collections;
* Create index statement context.
*/
@Getter
-public final class CreateIndexStatementContext extends CommonSQLStatementContext<CreateIndexStatement> implements TableAvailable, IndexAvailable {
+public final class CreateIndexStatementContext extends CommonSQLStatementContext implements TableAvailable, IndexAvailable {
private final TablesContext tablesContext;
@@ -50,6 +50,11 @@ public final class CreateIndexStatementContext extends CommonSQLStatementContext
generatedIndex = null == sqlStatement.getIndex();
}
+ @Override
+ public CreateIndexStatement getSqlStatement() {
+ return (CreateIndexStatement) super.getSqlStatement();
+ }
+
@Override
public Collection<SimpleTableSegment> getAllTables() {
return null == getSqlStatement().getTable() ? Collections.emptyList() : Collections.singletonList(getSqlStatement().getTable());
diff --git a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/ddl/CreateProcedureStatementContext.java b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/ddl/CreateProcedureStatementContext.java
index a3d8f48a81c..434912a8522 100644
--- a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/ddl/CreateProcedureStatementContext.java
+++ b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/ddl/CreateProcedureStatementContext.java
@@ -34,7 +34,7 @@ import java.util.Optional;
* Create procedure statement context.
*/
@Getter
-public final class CreateProcedureStatementContext extends CommonSQLStatementContext<CreateProcedureStatement> {
+public final class CreateProcedureStatementContext extends CommonSQLStatementContext {
private final TablesContext tablesContext;
@@ -44,4 +44,9 @@ public final class CreateProcedureStatementContext extends CommonSQLStatementCon
Collection<SimpleTableSegment> tables = routineBodySegment.map(optional -> new TableExtractor().extractExistTableFromRoutineBody(optional)).orElseGet(Collections::emptyList);
tablesContext = new TablesContext(tables, getDatabaseType());
}
+
+ @Override
+ public CreateProcedureStatement getSqlStatement() {
+ return (CreateProcedureStatement) super.getSqlStatement();
+ }
}
diff --git a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/ddl/CreateSchemaStatementContext.java b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/ddl/CreateSchemaStatementContext.java
index d2ee9e78938..9abd927c22b 100644
--- a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/ddl/CreateSchemaStatementContext.java
+++ b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/ddl/CreateSchemaStatementContext.java
@@ -23,9 +23,14 @@ import org.apache.shardingsphere.sql.parser.sql.common.statement.ddl.CreateSchem
/**
* Create schema statement context.
*/
-public final class CreateSchemaStatementContext extends CommonSQLStatementContext<CreateSchemaStatement> {
+public final class CreateSchemaStatementContext extends CommonSQLStatementContext {
public CreateSchemaStatementContext(final CreateSchemaStatement sqlStatement) {
super(sqlStatement);
}
+
+ @Override
+ public CreateSchemaStatement getSqlStatement() {
+ return (CreateSchemaStatement) super.getSqlStatement();
+ }
}
diff --git a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/ddl/CreateTableStatementContext.java b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/ddl/CreateTableStatementContext.java
index 1bed476b692..9f76115e756 100644
--- a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/ddl/CreateTableStatementContext.java
+++ b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/ddl/CreateTableStatementContext.java
@@ -38,7 +38,7 @@ import java.util.LinkedList;
* Create table statement context.
*/
@Getter
-public final class CreateTableStatementContext extends CommonSQLStatementContext<CreateTableStatement> implements TableAvailable, IndexAvailable, ConstraintAvailable {
+public final class CreateTableStatementContext extends CommonSQLStatementContext implements TableAvailable, IndexAvailable, ConstraintAvailable {
private final TablesContext tablesContext;
@@ -47,6 +47,11 @@ public final class CreateTableStatementContext extends CommonSQLStatementContext
tablesContext = new TablesContext(sqlStatement.getTable(), getDatabaseType());
}
+ @Override
+ public CreateTableStatement getSqlStatement() {
+ return (CreateTableStatement) super.getSqlStatement();
+ }
+
@Override
public Collection<SimpleTableSegment> getAllTables() {
Collection<SimpleTableSegment> result = new LinkedList<>();
diff --git a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/ddl/CreateViewStatementContext.java b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/ddl/CreateViewStatementContext.java
index c6766a1ecbf..370e9f28cc8 100644
--- a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/ddl/CreateViewStatementContext.java
+++ b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/ddl/CreateViewStatementContext.java
@@ -31,7 +31,7 @@ import java.util.Collection;
* Create view statement context.
*/
@Getter
-public final class CreateViewStatementContext extends CommonSQLStatementContext<CreateViewStatement> implements TableAvailable {
+public final class CreateViewStatementContext extends CommonSQLStatementContext implements TableAvailable {
private final TablesContext tablesContext;
@@ -42,6 +42,11 @@ public final class CreateViewStatementContext extends CommonSQLStatementContext<
tablesContext = new TablesContext(extractor.getRewriteTables(), getDatabaseType());
}
+ @Override
+ public CreateViewStatement getSqlStatement() {
+ return (CreateViewStatement) super.getSqlStatement();
+ }
+
@Override
public Collection<SimpleTableSegment> getAllTables() {
return tablesContext.getTables();
diff --git a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/ddl/CursorStatementContext.java b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/ddl/CursorStatementContext.java
index e3374e49e4d..2e569e0f942 100644
--- a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/ddl/CursorStatementContext.java
+++ b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/ddl/CursorStatementContext.java
@@ -45,7 +45,7 @@ import java.util.Optional;
* Cursor statement context.
*/
@Getter
-public final class CursorStatementContext extends CommonSQLStatementContext<OpenGaussCursorStatement> implements CursorAvailable, TableAvailable, WhereAvailable, CursorDefinition {
+public final class CursorStatementContext extends CommonSQLStatementContext implements CursorAvailable, TableAvailable, WhereAvailable, CursorDefinition {
private final Collection<WhereSegment> whereSegments = new LinkedList<>();
@@ -76,6 +76,11 @@ public final class CursorStatementContext extends CommonSQLStatementContext<Open
whereSegments.addAll(WhereExtractUtils.getJoinWhereSegments(select));
}
+ @Override
+ public OpenGaussCursorStatement getSqlStatement() {
+ return (OpenGaussCursorStatement) super.getSqlStatement();
+ }
+
@Override
public Collection<SimpleTableSegment> getAllTables() {
return tablesContext.getTables();
diff --git a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/ddl/DropIndexStatementContext.java b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/ddl/DropIndexStatementContext.java
index 0904b24c054..7a69411b376 100644
--- a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/ddl/DropIndexStatementContext.java
+++ b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/ddl/DropIndexStatementContext.java
@@ -36,7 +36,7 @@ import java.util.Optional;
* Drop index statement context.
*/
@Getter
-public final class DropIndexStatementContext extends CommonSQLStatementContext<DropIndexStatement> implements TableAvailable, IndexAvailable {
+public final class DropIndexStatementContext extends CommonSQLStatementContext implements TableAvailable, IndexAvailable {
private final TablesContext tablesContext;
@@ -46,6 +46,11 @@ public final class DropIndexStatementContext extends CommonSQLStatementContext<D
tablesContext = new TablesContext(simpleTableSegment, getDatabaseType());
}
+ @Override
+ public DropIndexStatement getSqlStatement() {
+ return (DropIndexStatement) super.getSqlStatement();
+ }
+
@Override
public Collection<SimpleTableSegment> getAllTables() {
Optional<SimpleTableSegment> simpleTableSegment = DropIndexStatementHandler.getSimpleTableSegment(getSqlStatement());
diff --git a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/ddl/DropTableStatementContext.java b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/ddl/DropTableStatementContext.java
index 20a6070fb6b..4bb753fc426 100644
--- a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/ddl/DropTableStatementContext.java
+++ b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/ddl/DropTableStatementContext.java
@@ -30,7 +30,7 @@ import java.util.Collection;
* Drop table statement context.
*/
@Getter
-public final class DropTableStatementContext extends CommonSQLStatementContext<DropTableStatement> implements TableAvailable {
+public final class DropTableStatementContext extends CommonSQLStatementContext implements TableAvailable {
private final TablesContext tablesContext;
@@ -39,6 +39,11 @@ public final class DropTableStatementContext extends CommonSQLStatementContext<D
tablesContext = new TablesContext(sqlStatement.getTables(), getDatabaseType());
}
+ @Override
+ public DropTableStatement getSqlStatement() {
+ return (DropTableStatement) super.getSqlStatement();
+ }
+
@Override
public Collection<SimpleTableSegment> getAllTables() {
return getSqlStatement().getTables();
diff --git a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/ddl/DropViewStatementContext.java b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/ddl/DropViewStatementContext.java
index fab241373ac..23c5f2ba81c 100644
--- a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/ddl/DropViewStatementContext.java
+++ b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/ddl/DropViewStatementContext.java
@@ -30,7 +30,7 @@ import java.util.Collection;
* Drop view statement context.
*/
@Getter
-public final class DropViewStatementContext extends CommonSQLStatementContext<DropViewStatement> implements TableAvailable {
+public final class DropViewStatementContext extends CommonSQLStatementContext implements TableAvailable {
private final TablesContext tablesContext;
@@ -39,6 +39,11 @@ public final class DropViewStatementContext extends CommonSQLStatementContext<Dr
tablesContext = new TablesContext(sqlStatement.getViews(), getDatabaseType());
}
+ @Override
+ public DropViewStatement getSqlStatement() {
+ return (DropViewStatement) super.getSqlStatement();
+ }
+
@Override
public Collection<SimpleTableSegment> getAllTables() {
return tablesContext.getTables();
diff --git a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/ddl/FetchStatementContext.java b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/ddl/FetchStatementContext.java
index b72f0a051e3..42a253736dc 100644
--- a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/ddl/FetchStatementContext.java
+++ b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/ddl/FetchStatementContext.java
@@ -37,7 +37,7 @@ import java.util.Optional;
* Fetch statement context.
*/
@Getter
-public final class FetchStatementContext extends CommonSQLStatementContext<FetchStatement> implements CursorAvailable, WhereAvailable, CursorDefinitionAware {
+public final class FetchStatementContext extends CommonSQLStatementContext implements CursorAvailable, WhereAvailable, CursorDefinitionAware {
private CursorStatementContext cursorStatementContext;
@@ -48,6 +48,11 @@ public final class FetchStatementContext extends CommonSQLStatementContext<Fetch
tablesContext = new TablesContext(Collections.emptyList(), getDatabaseType());
}
+ @Override
+ public FetchStatement getSqlStatement() {
+ return (FetchStatement) super.getSqlStatement();
+ }
+
@Override
public Optional<CursorNameSegment> getCursorName() {
return Optional.of(getSqlStatement().getCursorName());
diff --git a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/ddl/MoveStatementContext.java b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/ddl/MoveStatementContext.java
index e32f494a64c..a31c6fae6bb 100644
--- a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/ddl/MoveStatementContext.java
+++ b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/ddl/MoveStatementContext.java
@@ -37,7 +37,7 @@ import java.util.Optional;
* Move statement context.
*/
@Getter
-public final class MoveStatementContext extends CommonSQLStatementContext<MoveStatement> implements CursorAvailable, WhereAvailable, CursorDefinitionAware {
+public final class MoveStatementContext extends CommonSQLStatementContext implements CursorAvailable, WhereAvailable, CursorDefinitionAware {
private CursorStatementContext cursorStatementContext;
@@ -48,6 +48,11 @@ public final class MoveStatementContext extends CommonSQLStatementContext<MoveSt
tablesContext = new TablesContext(Collections.emptyList(), getDatabaseType());
}
+ @Override
+ public MoveStatement getSqlStatement() {
+ return (MoveStatement) super.getSqlStatement();
+ }
+
@Override
public Optional<CursorNameSegment> getCursorName() {
return Optional.of(getSqlStatement().getCursorName());
diff --git a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/ddl/PrepareStatementContext.java b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/ddl/PrepareStatementContext.java
index 88d16d7656a..69a0e7c8298 100644
--- a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/ddl/PrepareStatementContext.java
+++ b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/ddl/PrepareStatementContext.java
@@ -32,7 +32,7 @@ import java.util.LinkedList;
* Prepare statement context.
*/
@Getter
-public final class PrepareStatementContext extends CommonSQLStatementContext<PrepareStatement> implements TableAvailable {
+public final class PrepareStatementContext extends CommonSQLStatementContext implements TableAvailable {
private final TablesContext tablesContext;
@@ -41,6 +41,11 @@ public final class PrepareStatementContext extends CommonSQLStatementContext<Pre
tablesContext = new TablesContext(extractTablesFromPreparedStatement(sqlStatement), getDatabaseType());
}
+ @Override
+ public PrepareStatement getSqlStatement() {
+ return (PrepareStatement) super.getSqlStatement();
+ }
+
@Override
public Collection<SimpleTableSegment> getAllTables() {
return extractTablesFromPreparedStatement(getSqlStatement());
diff --git a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/ddl/RenameTableStatementContext.java b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/ddl/RenameTableStatementContext.java
index 16f9e012c3f..64d717ecee2 100644
--- a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/ddl/RenameTableStatementContext.java
+++ b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/ddl/RenameTableStatementContext.java
@@ -33,7 +33,7 @@ import java.util.stream.Collectors;
* Rename table statement context.
*/
@Getter
-public final class RenameTableStatementContext extends CommonSQLStatementContext<RenameTableStatement> implements TableAvailable {
+public final class RenameTableStatementContext extends CommonSQLStatementContext implements TableAvailable {
private final TablesContext tablesContext;
@@ -42,6 +42,11 @@ public final class RenameTableStatementContext extends CommonSQLStatementContext
tablesContext = new TablesContext(sqlStatement.getRenameTables().stream().map(RenameTableDefinitionSegment::getRenameTable).collect(Collectors.toList()), getDatabaseType());
}
+ @Override
+ public RenameTableStatement getSqlStatement() {
+ return (RenameTableStatement) super.getSqlStatement();
+ }
+
@Override
public Collection<SimpleTableSegment> getAllTables() {
Collection<SimpleTableSegment> result = new LinkedList<>();
diff --git a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/ddl/TruncateStatementContext.java b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/ddl/TruncateStatementContext.java
index 1781e5a0da3..67cdfeed498 100644
--- a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/ddl/TruncateStatementContext.java
+++ b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/ddl/TruncateStatementContext.java
@@ -30,7 +30,7 @@ import java.util.Collection;
* Truncate statement context.
*/
@Getter
-public final class TruncateStatementContext extends CommonSQLStatementContext<TruncateStatement> implements TableAvailable {
+public final class TruncateStatementContext extends CommonSQLStatementContext implements TableAvailable {
private final TablesContext tablesContext;
@@ -39,6 +39,11 @@ public final class TruncateStatementContext extends CommonSQLStatementContext<Tr
tablesContext = new TablesContext(sqlStatement.getTables(), getDatabaseType());
}
+ @Override
+ public TruncateStatement getSqlStatement() {
+ return (TruncateStatement) super.getSqlStatement();
+ }
+
@Override
public Collection<SimpleTableSegment> getAllTables() {
return getSqlStatement().getTables();
diff --git a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/dml/CallStatementContext.java b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/dml/CallStatementContext.java
index d8fbe8cfea1..21038c6d63f 100644
--- a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/dml/CallStatementContext.java
+++ b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/dml/CallStatementContext.java
@@ -23,9 +23,14 @@ import org.apache.shardingsphere.sql.parser.sql.common.statement.dml.CallStateme
/**
* Call statement context.
*/
-public final class CallStatementContext extends CommonSQLStatementContext<CallStatement> {
+public final class CallStatementContext extends CommonSQLStatementContext {
public CallStatementContext(final CallStatement sqlStatement) {
super(sqlStatement);
}
+
+ @Override
+ public CallStatement getSqlStatement() {
+ return (CallStatement) super.getSqlStatement();
+ }
}
diff --git a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/dml/CopyStatementContext.java b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/dml/CopyStatementContext.java
index edc48f880e1..a2492a6f5c8 100644
--- a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/dml/CopyStatementContext.java
+++ b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/dml/CopyStatementContext.java
@@ -30,7 +30,7 @@ import java.util.Collection;
* Copy statement context.
*/
@Getter
-public final class CopyStatementContext extends CommonSQLStatementContext<CopyStatement> implements TableAvailable {
+public final class CopyStatementContext extends CommonSQLStatementContext implements TableAvailable {
private final TablesContext tablesContext;
@@ -39,6 +39,11 @@ public final class CopyStatementContext extends CommonSQLStatementContext<CopySt
tablesContext = new TablesContext(sqlStatement.getTableSegment(), getDatabaseType());
}
+ @Override
+ public CopyStatement getSqlStatement() {
+ return (CopyStatement) super.getSqlStatement();
+ }
+
@Override
public Collection<SimpleTableSegment> getAllTables() {
return tablesContext.getTables();
diff --git a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/dml/DeleteStatementContext.java b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/dml/DeleteStatementContext.java
index 6953b8c00c4..034fcd705af 100644
--- a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/dml/DeleteStatementContext.java
+++ b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/dml/DeleteStatementContext.java
@@ -38,7 +38,7 @@ import java.util.Map;
* Delete statement context.
*/
@Getter
-public final class DeleteStatementContext extends CommonSQLStatementContext<DeleteStatement> implements TableAvailable, WhereAvailable {
+public final class DeleteStatementContext extends CommonSQLStatementContext implements TableAvailable, WhereAvailable {
private final TablesContext tablesContext;
@@ -74,6 +74,11 @@ public final class DeleteStatementContext extends CommonSQLStatementContext<Dele
return result;
}
+ @Override
+ public DeleteStatement getSqlStatement() {
+ return (DeleteStatement) super.getSqlStatement();
+ }
+
@Override
public Collection<SimpleTableSegment> getAllTables() {
return tablesContext.getTables();
diff --git a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/dml/DoStatementContext.java b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/dml/DoStatementContext.java
index fba06c17bff..6e27ecbf0c5 100644
--- a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/dml/DoStatementContext.java
+++ b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/dml/DoStatementContext.java
@@ -23,9 +23,14 @@ import org.apache.shardingsphere.sql.parser.sql.common.statement.dml.DoStatement
/**
* Do statement context.
*/
-public final class DoStatementContext extends CommonSQLStatementContext<DoStatement> {
+public final class DoStatementContext extends CommonSQLStatementContext {
public DoStatementContext(final DoStatement sqlStatement) {
super(sqlStatement);
}
+
+ @Override
+ public DoStatement getSqlStatement() {
+ return (DoStatement) super.getSqlStatement();
+ }
}
diff --git a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/dml/InsertStatementContext.java b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/dml/InsertStatementContext.java
index 9169361be4a..b563c5ad37e 100644
--- a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/dml/InsertStatementContext.java
+++ b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/dml/InsertStatementContext.java
@@ -59,7 +59,7 @@ import java.util.concurrent.atomic.AtomicInteger;
* Insert SQL statement context.
*/
@Getter
-public final class InsertStatementContext extends CommonSQLStatementContext<InsertStatement> implements TableAvailable, ParameterAware {
+public final class InsertStatementContext extends CommonSQLStatementContext implements TableAvailable, ParameterAware {
private final TablesContext tablesContext;
@@ -188,11 +188,6 @@ public final class InsertStatementContext extends CommonSQLStatementContext<Inse
return Optional.ofNullable(generatedKeyContext);
}
- @Override
- public Collection<SimpleTableSegment> getAllTables() {
- return tablesContext.getTables();
- }
-
/**
* Judge whether contains insert columns.
*
@@ -261,6 +256,16 @@ public final class InsertStatementContext extends CommonSQLStatementContext<Inse
return result;
}
+ @Override
+ public InsertStatement getSqlStatement() {
+ return (InsertStatement) super.getSqlStatement();
+ }
+
+ @Override
+ public Collection<SimpleTableSegment> getAllTables() {
+ return tablesContext.getTables();
+ }
+
@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/statement/dml/LoadDataStatementContext.java b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/dml/LoadDataStatementContext.java
index 8019dea2a6c..003a4316b3a 100644
--- a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/dml/LoadDataStatementContext.java
+++ b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/dml/LoadDataStatementContext.java
@@ -30,7 +30,7 @@ import java.util.Collection;
* Load data statement context.
*/
@Getter
-public final class LoadDataStatementContext extends CommonSQLStatementContext<MySQLLoadDataStatement> implements TableAvailable {
+public final class LoadDataStatementContext extends CommonSQLStatementContext implements TableAvailable {
private final TablesContext tablesContext;
@@ -39,6 +39,11 @@ public final class LoadDataStatementContext extends CommonSQLStatementContext<My
tablesContext = new TablesContext(sqlStatement.getTableSegment(), getDatabaseType());
}
+ @Override
+ public MySQLLoadDataStatement getSqlStatement() {
+ return (MySQLLoadDataStatement) super.getSqlStatement();
+ }
+
@Override
public Collection<SimpleTableSegment> getAllTables() {
return tablesContext.getTables();
diff --git a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/dml/LoadXMLStatementContext.java b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/dml/LoadXMLStatementContext.java
index 986d2a4b3d2..b37f04d0eb3 100644
--- a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/dml/LoadXMLStatementContext.java
+++ b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/dml/LoadXMLStatementContext.java
@@ -30,7 +30,7 @@ import java.util.Collection;
* Load xml statement context.
*/
@Getter
-public final class LoadXMLStatementContext extends CommonSQLStatementContext<MySQLLoadXMLStatement> implements TableAvailable {
+public final class LoadXMLStatementContext extends CommonSQLStatementContext implements TableAvailable {
private final TablesContext tablesContext;
@@ -39,6 +39,11 @@ public final class LoadXMLStatementContext extends CommonSQLStatementContext<MyS
tablesContext = new TablesContext(sqlStatement.getTableSegment(), getDatabaseType());
}
+ @Override
+ public MySQLLoadXMLStatement getSqlStatement() {
+ return (MySQLLoadXMLStatement) super.getSqlStatement();
+ }
+
@Override
public Collection<SimpleTableSegment> getAllTables() {
return tablesContext.getTables();
diff --git a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/dml/SelectStatementContext.java b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/dml/SelectStatementContext.java
index e9b4715e08e..3455c29ebc7 100644
--- a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/dml/SelectStatementContext.java
+++ b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/dml/SelectStatementContext.java
@@ -83,7 +83,7 @@ import java.util.stream.Collectors;
*/
@Getter
@Setter
-public final class SelectStatementContext extends CommonSQLStatementContext<SelectStatement> implements TableAvailable, WhereAvailable, ParameterAware {
+public final class SelectStatementContext extends CommonSQLStatementContext implements TableAvailable, WhereAvailable, ParameterAware {
private final TablesContext tablesContext;
@@ -298,6 +298,11 @@ public final class SelectStatementContext extends CommonSQLStatementContext<Sele
return !groupByContext.getItems().isEmpty() && groupByContext.getItems().equals(orderByContext.getItems());
}
+ @Override
+ public SelectStatement getSqlStatement() {
+ return (SelectStatement) super.getSqlStatement();
+ }
+
@Override
public Collection<SimpleTableSegment> getAllTables() {
return tablesContext.getTables();
diff --git a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/dml/UpdateStatementContext.java b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/dml/UpdateStatementContext.java
index e28315364eb..d3872093d66 100644
--- a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/dml/UpdateStatementContext.java
+++ b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/dml/UpdateStatementContext.java
@@ -36,7 +36,7 @@ import java.util.LinkedList;
* Update SQL statement context.
*/
@Getter
-public final class UpdateStatementContext extends CommonSQLStatementContext<UpdateStatement> implements TableAvailable, WhereAvailable {
+public final class UpdateStatementContext extends CommonSQLStatementContext implements TableAvailable, WhereAvailable {
private final TablesContext tablesContext;
@@ -57,6 +57,11 @@ public final class UpdateStatementContext extends CommonSQLStatementContext<Upda
return tableExtractor.getRewriteTables();
}
+ @Override
+ public UpdateStatement getSqlStatement() {
+ return (UpdateStatement) super.getSqlStatement();
+ }
+
@Override
public Collection<SimpleTableSegment> getAllTables() {
return tablesContext.getTables();
diff --git a/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/statement/SQLStatementContextFactoryTest.java b/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/statement/SQLStatementContextFactoryTest.java
index 47919bbcded..ebf706ac3f2 100644
--- a/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/statement/SQLStatementContextFactoryTest.java
+++ b/infra/binder/src/test/java/org/apache/shardingsphere/infra/binder/statement/SQLStatementContextFactoryTest.java
@@ -71,7 +71,7 @@ class SQLStatementContextFactoryTest {
MySQLSelectStatement selectStatement = new MySQLSelectStatement();
selectStatement.setLimit(new LimitSegment(0, 10, null, null));
selectStatement.setProjections(projectionsSegment);
- SQLStatementContext<?> sqlStatementContext = SQLStatementContextFactory.newInstance(mockMetaData(), Collections.emptyList(), selectStatement, DefaultDatabase.LOGIC_NAME);
+ SQLStatementContext sqlStatementContext = SQLStatementContextFactory.newInstance(mockMetaData(), Collections.emptyList(), selectStatement, DefaultDatabase.LOGIC_NAME);
assertThat(sqlStatementContext, instanceOf(SelectStatementContext.class));
}
@@ -108,13 +108,13 @@ class SQLStatementContextFactoryTest {
private void assertSQLStatementContextCreatedWhenSQLStatementInstanceOfInsertStatement(final InsertStatement insertStatement) {
insertStatement.setTable(new SimpleTableSegment(new TableNameSegment(0, 0, new IdentifierValue("tbl"))));
- SQLStatementContext<?> sqlStatementContext = SQLStatementContextFactory.newInstance(mockMetaData(), Collections.emptyList(), insertStatement, DefaultDatabase.LOGIC_NAME);
+ SQLStatementContext sqlStatementContext = SQLStatementContextFactory.newInstance(mockMetaData(), Collections.emptyList(), insertStatement, DefaultDatabase.LOGIC_NAME);
assertThat(sqlStatementContext, instanceOf(InsertStatementContext.class));
}
@Test
void assertSQLStatementContextCreatedWhenSQLStatementNotInstanceOfSelectStatementAndInsertStatement() {
- SQLStatementContext<?> sqlStatementContext = SQLStatementContextFactory.newInstance(mockMetaData(), Collections.emptyList(), mock(MySQLStatement.class), DefaultDatabase.LOGIC_NAME);
+ SQLStatementContext sqlStatementContext = SQLStatementContextFactory.newInstance(mockMetaData(), Collections.emptyList(), mock(MySQLStatement.class), DefaultDatabase.LOGIC_NAME);
assertThat(sqlStatementContext, instanceOf(CommonSQLStatementContext.class));
}
@@ -124,25 +124,25 @@ class SQLStatementContextFactoryTest {
MySQLSelectStatement selectStatement = mock(MySQLSelectStatement.class, RETURNS_DEEP_STUBS);
when(selectStatement.getProjections().isDistinctRow()).thenReturn(false);
when(cursorStatement.getSelect()).thenReturn(selectStatement);
- SQLStatementContext<?> actual = SQLStatementContextFactory.newInstance(mockMetaData(), Collections.emptyList(), cursorStatement, DefaultDatabase.LOGIC_NAME);
+ SQLStatementContext actual = SQLStatementContextFactory.newInstance(mockMetaData(), Collections.emptyList(), cursorStatement, DefaultDatabase.LOGIC_NAME);
assertThat(actual, instanceOf(CursorStatementContext.class));
}
@Test
void assertNewInstanceForCloseStatement() {
- SQLStatementContext<?> actual = SQLStatementContextFactory.newInstance(mockMetaData(), Collections.emptyList(), mock(OpenGaussCloseStatement.class), DefaultDatabase.LOGIC_NAME);
+ SQLStatementContext actual = SQLStatementContextFactory.newInstance(mockMetaData(), Collections.emptyList(), mock(OpenGaussCloseStatement.class), DefaultDatabase.LOGIC_NAME);
assertThat(actual, instanceOf(CloseStatementContext.class));
}
@Test
void assertNewInstanceForMoveStatement() {
- SQLStatementContext<?> actual = SQLStatementContextFactory.newInstance(mockMetaData(), Collections.emptyList(), mock(OpenGaussMoveStatement.class), DefaultDatabase.LOGIC_NAME);
+ SQLStatementContext actual = SQLStatementContextFactory.newInstance(mockMetaData(), Collections.emptyList(), mock(OpenGaussMoveStatement.class), DefaultDatabase.LOGIC_NAME);
assertThat(actual, instanceOf(MoveStatementContext.class));
}
@Test
void assertNewInstanceForFetchStatement() {
- SQLStatementContext<?> actual = SQLStatementContextFactory.newInstance(mockMetaData(), Collections.emptyList(), mock(OpenGaussFetchStatement.class), DefaultDatabase.LOGIC_NAME);
+ SQLStatementContext actual = SQLStatementContextFactory.newInstance(mockMetaData(), Collections.emptyList(), mock(OpenGaussFetchStatement.class), DefaultDatabase.LOGIC_NAME);
assertThat(actual, instanceOf(FetchStatementContext.class));
}
diff --git a/infra/context/src/main/java/org/apache/shardingsphere/infra/connection/refresher/MetaDataRefreshEngine.java b/infra/context/src/main/java/org/apache/shardingsphere/infra/connection/refresher/MetaDataRefreshEngine.java
index 8a9c523fe54..ecd42d12c8a 100644
--- a/infra/context/src/main/java/org/apache/shardingsphere/infra/connection/refresher/MetaDataRefreshEngine.java
+++ b/infra/context/src/main/java/org/apache/shardingsphere/infra/connection/refresher/MetaDataRefreshEngine.java
@@ -56,7 +56,7 @@ public final class MetaDataRefreshEngine {
* @throws SQLException SQL exception
*/
@SuppressWarnings({"unchecked", "rawtypes"})
- public void refresh(final SQLStatementContext<?> sqlStatementContext, final Collection<RouteUnit> routeUnits) throws SQLException {
+ public void refresh(final SQLStatementContext sqlStatementContext, final Collection<RouteUnit> routeUnits) throws SQLException {
Class<? extends SQLStatement> sqlStatementClass = sqlStatementContext.getSqlStatement().getClass();
if (IGNORED_SQL_STATEMENT_CLASSES.contains(sqlStatementClass)) {
return;
diff --git a/infra/context/src/test/java/org/apache/shardingsphere/infra/connection/kernel/KernelProcessorTest.java b/infra/context/src/test/java/org/apache/shardingsphere/infra/connection/kernel/KernelProcessorTest.java
index 2c47df595f8..dce78a47807 100644
--- a/infra/context/src/test/java/org/apache/shardingsphere/infra/connection/kernel/KernelProcessorTest.java
+++ b/infra/context/src/test/java/org/apache/shardingsphere/infra/connection/kernel/KernelProcessorTest.java
@@ -17,12 +17,10 @@
package org.apache.shardingsphere.infra.connection.kernel;
-import org.apache.shardingsphere.infra.session.query.QueryContext;
import org.apache.shardingsphere.infra.binder.statement.CommonSQLStatementContext;
import org.apache.shardingsphere.infra.binder.statement.SQLStatementContext;
import org.apache.shardingsphere.infra.config.props.ConfigurationProperties;
import org.apache.shardingsphere.infra.config.props.ConfigurationPropertyKey;
-import org.apache.shardingsphere.infra.session.connection.ConnectionContext;
import org.apache.shardingsphere.infra.database.DefaultDatabase;
import org.apache.shardingsphere.infra.database.type.DatabaseType;
import org.apache.shardingsphere.infra.executor.sql.context.ExecutionContext;
@@ -30,7 +28,8 @@ import org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
import org.apache.shardingsphere.infra.metadata.database.resource.ShardingSphereResourceMetaData;
import org.apache.shardingsphere.infra.metadata.database.rule.ShardingSphereRuleMetaData;
import org.apache.shardingsphere.infra.rule.ShardingSphereRule;
-import org.apache.shardingsphere.sql.parser.sql.common.statement.SQLStatement;
+import org.apache.shardingsphere.infra.session.connection.ConnectionContext;
+import org.apache.shardingsphere.infra.session.query.QueryContext;
import org.apache.shardingsphere.sql.parser.sql.common.statement.dml.SelectStatement;
import org.apache.shardingsphere.sqltranslator.rule.SQLTranslatorRule;
import org.apache.shardingsphere.test.util.PropertiesBuilder;
@@ -49,10 +48,9 @@ import static org.mockito.Mockito.when;
class KernelProcessorTest {
- @SuppressWarnings("unchecked")
@Test
void assertGenerateExecutionContext() {
- SQLStatementContext<SQLStatement> sqlStatementContext = mock(CommonSQLStatementContext.class);
+ SQLStatementContext sqlStatementContext = mock(CommonSQLStatementContext.class);
when(sqlStatementContext.getSqlStatement()).thenReturn(mock(SelectStatement.class));
QueryContext queryContext = new QueryContext(sqlStatementContext, "SELECT * FROM tbl", Collections.emptyList());
ShardingSphereDatabase database = new ShardingSphereDatabase(DefaultDatabase.LOGIC_NAME, mock(DatabaseType.class),
diff --git a/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/audit/SQLAuditEngine.java b/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/audit/SQLAuditEngine.java
index 1b81136798c..c7b7016ccf6 100644
--- a/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/audit/SQLAuditEngine.java
+++ b/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/audit/SQLAuditEngine.java
@@ -47,7 +47,7 @@ public final class SQLAuditEngine {
* @param grantee grantee
*/
@SuppressWarnings({"rawtypes", "unchecked"})
- public static void audit(final SQLStatementContext<?> sqlStatementContext, final List<Object> params,
+ public static void audit(final SQLStatementContext sqlStatementContext, final List<Object> params,
final ShardingSphereRuleMetaData globalRuleMetaData, final ShardingSphereDatabase database, final Grantee grantee) {
Collection<ShardingSphereRule> rules = new LinkedList<>(globalRuleMetaData.getRules());
if (null != database) {
diff --git a/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/audit/SQLAuditor.java b/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/audit/SQLAuditor.java
index 709296a9889..82b68693504 100644
--- a/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/audit/SQLAuditor.java
+++ b/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/audit/SQLAuditor.java
@@ -45,5 +45,5 @@ public interface SQLAuditor<T extends ShardingSphereRule> extends OrderedSPI<T>
* @param database current database
* @param rule rule
*/
- void audit(SQLStatementContext<?> sqlStatementContext, List<Object> params, Grantee grantee, ShardingSphereRuleMetaData globalRuleMetaData, ShardingSphereDatabase database, T rule);
+ void audit(SQLStatementContext sqlStatementContext, List<Object> params, Grantee grantee, ShardingSphereRuleMetaData globalRuleMetaData, ShardingSphereDatabase database, T rule);
}
diff --git a/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/context/ExecutionContext.java b/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/context/ExecutionContext.java
index c8b84ab4010..8942f602f26 100644
--- a/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/context/ExecutionContext.java
+++ b/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/context/ExecutionContext.java
@@ -43,7 +43,7 @@ public final class ExecutionContext {
*
* @return SQL statement context.
*/
- public SQLStatementContext<?> getSqlStatementContext() {
+ public SQLStatementContext getSqlStatementContext() {
return queryContext.getSqlStatementContext();
}
}
diff --git a/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/context/ExecutionContextBuilder.java b/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/context/ExecutionContextBuilder.java
index 92db31265e2..25b1e99b7e2 100644
--- a/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/context/ExecutionContextBuilder.java
+++ b/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/context/ExecutionContextBuilder.java
@@ -51,14 +51,14 @@ public final class ExecutionContextBuilder {
* @param sqlStatementContext SQL statement context
* @return execution contexts
*/
- public static Collection<ExecutionUnit> build(final ShardingSphereDatabase database, final SQLRewriteResult sqlRewriteResult, final SQLStatementContext<?> sqlStatementContext) {
+ public static Collection<ExecutionUnit> build(final ShardingSphereDatabase database, final SQLRewriteResult sqlRewriteResult, final SQLStatementContext sqlStatementContext) {
return sqlRewriteResult instanceof GenericSQLRewriteResult
? build(database, (GenericSQLRewriteResult) sqlRewriteResult, sqlStatementContext)
: build((RouteSQLRewriteResult) sqlRewriteResult);
}
private static Collection<ExecutionUnit> build(final ShardingSphereDatabase database,
- final GenericSQLRewriteResult sqlRewriteResult, final SQLStatementContext<?> sqlStatementContext) {
+ final GenericSQLRewriteResult sqlRewriteResult, final SQLStatementContext sqlStatementContext) {
Collection<String> instanceDataSourceNames = database.getResourceMetaData().getAllInstanceDataSourceNames();
if (instanceDataSourceNames.isEmpty()) {
return Collections.emptyList();
@@ -87,7 +87,7 @@ public final class ExecutionContextBuilder {
return result;
}
- private static List<RouteMapper> getGenericTableRouteMappers(final SQLStatementContext<?> sqlStatementContext) {
+ private static List<RouteMapper> getGenericTableRouteMappers(final SQLStatementContext sqlStatementContext) {
TablesContext tablesContext = null;
if (null != sqlStatementContext) {
tablesContext = sqlStatementContext.getTablesContext();
diff --git a/infra/merge/src/main/java/org/apache/shardingsphere/infra/merge/MergeEngine.java b/infra/merge/src/main/java/org/apache/shardingsphere/infra/merge/MergeEngine.java
index aba6b629b87..f61c700ee82 100644
--- a/infra/merge/src/main/java/org/apache/shardingsphere/infra/merge/MergeEngine.java
+++ b/infra/merge/src/main/java/org/apache/shardingsphere/infra/merge/MergeEngine.java
@@ -67,14 +67,14 @@ public final class MergeEngine {
* @return merged result
* @throws SQLException SQL exception
*/
- public MergedResult merge(final List<QueryResult> queryResults, final SQLStatementContext<?> sqlStatementContext) throws SQLException {
+ public MergedResult merge(final List<QueryResult> queryResults, final SQLStatementContext sqlStatementContext) throws SQLException {
Optional<MergedResult> mergedResult = executeMerge(queryResults, sqlStatementContext);
Optional<MergedResult> result = mergedResult.isPresent() ? Optional.of(decorate(mergedResult.get(), sqlStatementContext)) : decorate(queryResults.get(0), sqlStatementContext);
return result.orElseGet(() -> new TransparentMergedResult(queryResults.get(0)));
}
@SuppressWarnings({"unchecked", "rawtypes"})
- private Optional<MergedResult> executeMerge(final List<QueryResult> queryResults, final SQLStatementContext<?> sqlStatementContext) throws SQLException {
+ private Optional<MergedResult> executeMerge(final List<QueryResult> queryResults, final SQLStatementContext sqlStatementContext) throws SQLException {
for (Entry<ShardingSphereRule, ResultProcessEngine> entry : engines.entrySet()) {
if (entry.getValue() instanceof ResultMergerEngine) {
ResultMerger resultMerger = ((ResultMergerEngine) entry.getValue()).newInstance(database.getName(), database.getProtocolType(), entry.getKey(), props, sqlStatementContext);
@@ -85,7 +85,7 @@ public final class MergeEngine {
}
@SuppressWarnings({"unchecked", "rawtypes"})
- private MergedResult decorate(final MergedResult mergedResult, final SQLStatementContext<?> sqlStatementContext) throws SQLException {
+ private MergedResult decorate(final MergedResult mergedResult, final SQLStatementContext sqlStatementContext) throws SQLException {
MergedResult result = null;
for (Entry<ShardingSphereRule, ResultProcessEngine> entry : engines.entrySet()) {
if (entry.getValue() instanceof ResultDecoratorEngine) {
@@ -97,7 +97,7 @@ public final class MergeEngine {
}
@SuppressWarnings({"unchecked", "rawtypes"})
- private Optional<MergedResult> decorate(final QueryResult queryResult, final SQLStatementContext<?> sqlStatementContext) throws SQLException {
+ private Optional<MergedResult> decorate(final QueryResult queryResult, final SQLStatementContext sqlStatementContext) throws SQLException {
MergedResult result = null;
for (Entry<ShardingSphereRule, ResultProcessEngine> entry : engines.entrySet()) {
if (entry.getValue() instanceof ResultDecoratorEngine) {
diff --git a/infra/merge/src/main/java/org/apache/shardingsphere/infra/merge/engine/decorator/ResultDecorator.java b/infra/merge/src/main/java/org/apache/shardingsphere/infra/merge/engine/decorator/ResultDecorator.java
index aa271e190ab..da552bd50ee 100644
--- a/infra/merge/src/main/java/org/apache/shardingsphere/infra/merge/engine/decorator/ResultDecorator.java
+++ b/infra/merge/src/main/java/org/apache/shardingsphere/infra/merge/engine/decorator/ResultDecorator.java
@@ -40,7 +40,7 @@ public interface ResultDecorator<T extends ShardingSphereRule> {
* @return merged result
* @throws SQLException SQL exception
*/
- MergedResult decorate(QueryResult queryResult, SQLStatementContext<?> sqlStatementContext, T rule) throws SQLException;
+ MergedResult decorate(QueryResult queryResult, SQLStatementContext sqlStatementContext, T rule) throws SQLException;
/**
* Decorate merged result.
@@ -51,5 +51,5 @@ public interface ResultDecorator<T extends ShardingSphereRule> {
* @return merged result
* @throws SQLException SQL exception
*/
- MergedResult decorate(MergedResult mergedResult, SQLStatementContext<?> sqlStatementContext, T rule) throws SQLException;
+ MergedResult decorate(MergedResult mergedResult, SQLStatementContext sqlStatementContext, T rule) throws SQLException;
}
diff --git a/infra/merge/src/main/java/org/apache/shardingsphere/infra/merge/engine/decorator/ResultDecoratorEngine.java b/infra/merge/src/main/java/org/apache/shardingsphere/infra/merge/engine/decorator/ResultDecoratorEngine.java
index b6a1a73790d..b3607595494 100644
--- a/infra/merge/src/main/java/org/apache/shardingsphere/infra/merge/engine/decorator/ResultDecoratorEngine.java
+++ b/infra/merge/src/main/java/org/apache/shardingsphere/infra/merge/engine/decorator/ResultDecoratorEngine.java
@@ -39,5 +39,5 @@ public interface ResultDecoratorEngine<T extends ShardingSphereRule> extends Res
* @param sqlStatementContext SQL statement context
* @return created instance
*/
- ResultDecorator<?> newInstance(ShardingSphereDatabase database, T rule, ConfigurationProperties props, SQLStatementContext<?> sqlStatementContext);
+ ResultDecorator<?> newInstance(ShardingSphereDatabase database, T rule, ConfigurationProperties props, SQLStatementContext sqlStatementContext);
}
diff --git a/infra/merge/src/main/java/org/apache/shardingsphere/infra/merge/engine/decorator/impl/TransparentResultDecorator.java b/infra/merge/src/main/java/org/apache/shardingsphere/infra/merge/engine/decorator/impl/TransparentResultDecorator.java
index f1611d8794c..c814bcc946f 100644
--- a/infra/merge/src/main/java/org/apache/shardingsphere/infra/merge/engine/decorator/impl/TransparentResultDecorator.java
+++ b/infra/merge/src/main/java/org/apache/shardingsphere/infra/merge/engine/decorator/impl/TransparentResultDecorator.java
@@ -30,12 +30,12 @@ import org.apache.shardingsphere.infra.rule.ShardingSphereRule;
public final class TransparentResultDecorator implements ResultDecorator<ShardingSphereRule> {
@Override
- public MergedResult decorate(final QueryResult queryResult, final SQLStatementContext<?> sqlStatementContext, final ShardingSphereRule rule) {
+ public MergedResult decorate(final QueryResult queryResult, final SQLStatementContext sqlStatementContext, final ShardingSphereRule rule) {
return new TransparentMergedResult(queryResult);
}
@Override
- public MergedResult decorate(final MergedResult mergedResult, final SQLStatementContext<?> sqlStatementContext, final ShardingSphereRule rule) {
+ public MergedResult decorate(final MergedResult mergedResult, final SQLStatementContext sqlStatementContext, final ShardingSphereRule rule) {
return mergedResult;
}
}
diff --git a/infra/merge/src/main/java/org/apache/shardingsphere/infra/merge/engine/merger/ResultMerger.java b/infra/merge/src/main/java/org/apache/shardingsphere/infra/merge/engine/merger/ResultMerger.java
index 1299868069c..84fb9b12a69 100644
--- a/infra/merge/src/main/java/org/apache/shardingsphere/infra/merge/engine/merger/ResultMerger.java
+++ b/infra/merge/src/main/java/org/apache/shardingsphere/infra/merge/engine/merger/ResultMerger.java
@@ -41,5 +41,5 @@ public interface ResultMerger {
* @return merged result
* @throws SQLException SQL exception
*/
- MergedResult merge(List<QueryResult> queryResults, SQLStatementContext<?> sqlStatementContext, ShardingSphereDatabase database, ConnectionContext connectionContext) throws SQLException;
+ MergedResult merge(List<QueryResult> queryResults, SQLStatementContext sqlStatementContext, ShardingSphereDatabase database, ConnectionContext connectionContext) throws SQLException;
}
diff --git a/infra/merge/src/main/java/org/apache/shardingsphere/infra/merge/engine/merger/ResultMergerEngine.java b/infra/merge/src/main/java/org/apache/shardingsphere/infra/merge/engine/merger/ResultMergerEngine.java
index 2ed1452ddff..71656a5c342 100644
--- a/infra/merge/src/main/java/org/apache/shardingsphere/infra/merge/engine/merger/ResultMergerEngine.java
+++ b/infra/merge/src/main/java/org/apache/shardingsphere/infra/merge/engine/merger/ResultMergerEngine.java
@@ -40,5 +40,5 @@ public interface ResultMergerEngine<T extends ShardingSphereRule> extends Result
* @param sqlStatementContext SQL statement context
* @return created instance
*/
- ResultMerger newInstance(String databaseName, DatabaseType protocolType, T rule, ConfigurationProperties props, SQLStatementContext<?> sqlStatementContext);
+ ResultMerger newInstance(String databaseName, DatabaseType protocolType, T rule, ConfigurationProperties props, SQLStatementContext sqlStatementContext);
}
diff --git a/infra/merge/src/main/java/org/apache/shardingsphere/infra/merge/engine/merger/impl/TransparentResultMerger.java b/infra/merge/src/main/java/org/apache/shardingsphere/infra/merge/engine/merger/impl/TransparentResultMerger.java
index 2fe5fe2b9b5..d531c9e9944 100644
--- a/infra/merge/src/main/java/org/apache/shardingsphere/infra/merge/engine/merger/impl/TransparentResultMerger.java
+++ b/infra/merge/src/main/java/org/apache/shardingsphere/infra/merge/engine/merger/impl/TransparentResultMerger.java
@@ -33,8 +33,7 @@ import java.util.List;
public final class TransparentResultMerger implements ResultMerger {
@Override
- public MergedResult merge(final List<QueryResult> queryResults, final SQLStatementContext<?> sqlStatementContext,
- final ShardingSphereDatabase database, final ConnectionContext connectionContext) {
+ public MergedResult merge(final List<QueryResult> queryResults, final SQLStatementContext sqlStatementContext, final ShardingSphereDatabase database, final ConnectionContext connectionContext) {
return new TransparentMergedResult(queryResults.get(0));
}
}
diff --git a/infra/merge/src/main/java/org/apache/shardingsphere/infra/merge/result/impl/memory/MemoryMergedResult.java b/infra/merge/src/main/java/org/apache/shardingsphere/infra/merge/result/impl/memory/MemoryMergedResult.java
index 149152665b5..d0d874db5a9 100644
--- a/infra/merge/src/main/java/org/apache/shardingsphere/infra/merge/result/impl/memory/MemoryMergedResult.java
+++ b/infra/merge/src/main/java/org/apache/shardingsphere/infra/merge/result/impl/memory/MemoryMergedResult.java
@@ -48,7 +48,7 @@ public abstract class MemoryMergedResult<T extends ShardingSphereRule> implement
private boolean wasNull;
- protected MemoryMergedResult(final T rule, final ShardingSphereSchema schema, final SQLStatementContext<?> sqlStatementContext, final List<QueryResult> queryResults) throws SQLException {
+ protected MemoryMergedResult(final T rule, final ShardingSphereSchema schema, final SQLStatementContext sqlStatementContext, final List<QueryResult> queryResults) throws SQLException {
List<MemoryQueryResultRow> memoryQueryResultRows = init(rule, schema, sqlStatementContext, queryResults);
memoryResultSetRows = memoryQueryResultRows.iterator();
if (!memoryQueryResultRows.isEmpty()) {
@@ -56,7 +56,7 @@ public abstract class MemoryMergedResult<T extends ShardingSphereRule> implement
}
}
- protected abstract List<MemoryQueryResultRow> init(T rule, ShardingSphereSchema schema, SQLStatementContext<?> sqlStatementContext, List<QueryResult> queryResults) throws SQLException;
+ protected abstract List<MemoryQueryResultRow> init(T rule, ShardingSphereSchema schema, SQLStatementContext sqlStatementContext, List<QueryResult> queryResults) throws SQLException;
@Override
public final boolean next() {
diff --git a/infra/merge/src/test/java/org/apache/shardingsphere/infra/merge/fixture/decorator/ResultDecoratorEngineFixture.java b/infra/merge/src/test/java/org/apache/shardingsphere/infra/merge/fixture/decorator/ResultDecoratorEngineFixture.java
index 1dafc5f330f..52cc677dc2d 100644
--- a/infra/merge/src/test/java/org/apache/shardingsphere/infra/merge/fixture/decorator/ResultDecoratorEngineFixture.java
+++ b/infra/merge/src/test/java/org/apache/shardingsphere/infra/merge/fixture/decorator/ResultDecoratorEngineFixture.java
@@ -28,7 +28,7 @@ public final class ResultDecoratorEngineFixture implements ResultDecoratorEngine
@Override
public ResultDecorator<?> newInstance(final ShardingSphereDatabase database,
- final DecoratorRuleFixture rule, final ConfigurationProperties props, final SQLStatementContext<?> sqlStatementContext) {
+ final DecoratorRuleFixture rule, final ConfigurationProperties props, final SQLStatementContext sqlStatementContext) {
return new ResultDecoratorFixture();
}
diff --git a/infra/merge/src/test/java/org/apache/shardingsphere/infra/merge/fixture/decorator/ResultDecoratorFixture.java b/infra/merge/src/test/java/org/apache/shardingsphere/infra/merge/fixture/decorator/ResultDecoratorFixture.java
index dd20dccc7eb..496a87f395f 100644
--- a/infra/merge/src/test/java/org/apache/shardingsphere/infra/merge/fixture/decorator/ResultDecoratorFixture.java
+++ b/infra/merge/src/test/java/org/apache/shardingsphere/infra/merge/fixture/decorator/ResultDecoratorFixture.java
@@ -34,14 +34,14 @@ import static org.mockito.Mockito.when;
public final class ResultDecoratorFixture implements ResultDecorator<DecoratorRuleFixture> {
@Override
- public MergedResult decorate(final QueryResult queryResult, final SQLStatementContext<?> sqlStatementContext, final DecoratorRuleFixture rule) throws SQLException {
+ public MergedResult decorate(final QueryResult queryResult, final SQLStatementContext sqlStatementContext, final DecoratorRuleFixture rule) throws SQLException {
ResultSet resultSet = mock(ResultSet.class);
when(resultSet.getString(1)).thenReturn("decorated_value");
return new TransparentMergedResult(new JDBCStreamQueryResult(resultSet));
}
@Override
- public MergedResult decorate(final MergedResult mergedResult, final SQLStatementContext<?> sqlStatementContext, final DecoratorRuleFixture rule) throws SQLException {
+ public MergedResult decorate(final MergedResult mergedResult, final SQLStatementContext sqlStatementContext, final DecoratorRuleFixture rule) throws SQLException {
ResultSet resultSet = mock(ResultSet.class);
when(resultSet.getString(1)).thenReturn("decorated_merged_value");
return new TransparentMergedResult(new JDBCStreamQueryResult(resultSet));
diff --git a/infra/merge/src/test/java/org/apache/shardingsphere/infra/merge/fixture/merger/ResultMergerEngineFixture.java b/infra/merge/src/test/java/org/apache/shardingsphere/infra/merge/fixture/merger/ResultMergerEngineFixture.java
index 953a4f79bdf..fa7602964ec 100644
--- a/infra/merge/src/test/java/org/apache/shardingsphere/infra/merge/fixture/merger/ResultMergerEngineFixture.java
+++ b/infra/merge/src/test/java/org/apache/shardingsphere/infra/merge/fixture/merger/ResultMergerEngineFixture.java
@@ -28,7 +28,7 @@ public final class ResultMergerEngineFixture implements ResultMergerEngine<Merge
@Override
public ResultMerger newInstance(final String databaseName, final DatabaseType protocolType, final MergerRuleFixture rule, final ConfigurationProperties props,
- final SQLStatementContext<?> sqlStatementContext) {
+ final SQLStatementContext sqlStatementContext) {
return new ResultMergerFixture();
}
diff --git a/infra/merge/src/test/java/org/apache/shardingsphere/infra/merge/fixture/merger/ResultMergerFixture.java b/infra/merge/src/test/java/org/apache/shardingsphere/infra/merge/fixture/merger/ResultMergerFixture.java
index 3e8414c9509..cd31c78bbce 100644
--- a/infra/merge/src/test/java/org/apache/shardingsphere/infra/merge/fixture/merger/ResultMergerFixture.java
+++ b/infra/merge/src/test/java/org/apache/shardingsphere/infra/merge/fixture/merger/ResultMergerFixture.java
@@ -36,7 +36,7 @@ import static org.mockito.Mockito.when;
public final class ResultMergerFixture implements ResultMerger {
@Override
- public MergedResult merge(final List<QueryResult> queryResults, final SQLStatementContext<?> sqlStatementContext,
+ public MergedResult merge(final List<QueryResult> queryResults, final SQLStatementContext sqlStatementContext,
final ShardingSphereDatabase database, final ConnectionContext connectionContext) throws SQLException {
ResultSet resultSet = mock(ResultSet.class);
when(resultSet.getString(1)).thenReturn("merged_value");
diff --git a/infra/merge/src/test/java/org/apache/shardingsphere/infra/merge/result/impl/memory/fixture/TestMemoryMergedResult.java b/infra/merge/src/test/java/org/apache/shardingsphere/infra/merge/result/impl/memory/fixture/TestMemoryMergedResult.java
index a3c1c270594..15c492c3de7 100644
--- a/infra/merge/src/test/java/org/apache/shardingsphere/infra/merge/result/impl/memory/fixture/TestMemoryMergedResult.java
+++ b/infra/merge/src/test/java/org/apache/shardingsphere/infra/merge/result/impl/memory/fixture/TestMemoryMergedResult.java
@@ -41,7 +41,7 @@ public final class TestMemoryMergedResult extends MemoryMergedResult<MockedRule>
}
@Override
- protected List<MemoryQueryResultRow> init(final MockedRule rule, final ShardingSphereSchema schema, final SQLStatementContext<?> sqlStatementContext, final List<QueryResult> queryResults) {
+ protected List<MemoryQueryResultRow> init(final MockedRule rule, final ShardingSphereSchema schema, final SQLStatementContext sqlStatementContext, final List<QueryResult> queryResults) {
memoryQueryResultRow = mock(MemoryQueryResultRow.class);
return Collections.singletonList(memoryQueryResultRow);
}
diff --git a/infra/rewrite/src/main/java/org/apache/shardingsphere/infra/rewrite/SQLRewriteEntry.java b/infra/rewrite/src/main/java/org/apache/shardingsphere/infra/rewrite/SQLRewriteEntry.java
index b8bc19b205c..a5a525198f6 100644
--- a/infra/rewrite/src/main/java/org/apache/shardingsphere/infra/rewrite/SQLRewriteEntry.java
+++ b/infra/rewrite/src/main/java/org/apache/shardingsphere/infra/rewrite/SQLRewriteEntry.java
@@ -69,7 +69,7 @@ public final class SQLRewriteEntry {
* @param connectionContext connection context
* @return route unit and SQL rewrite result map
*/
- public SQLRewriteResult rewrite(final String sql, final List<Object> params, final SQLStatementContext<?> sqlStatementContext,
+ public SQLRewriteResult rewrite(final String sql, final List<Object> params, final SQLStatementContext sqlStatementContext,
final RouteContext routeContext, final ConnectionContext connectionContext) {
SQLRewriteContext sqlRewriteContext = createSQLRewriteContext(sql, params, sqlStatementContext, routeContext, connectionContext);
SQLTranslatorRule rule = globalRuleMetaData.getSingleRule(SQLTranslatorRule.class);
@@ -80,7 +80,7 @@ public final class SQLRewriteEntry {
: new RouteSQLRewriteEngine(rule, protocolType, storageTypes).rewrite(sqlRewriteContext, routeContext);
}
- private SQLRewriteContext createSQLRewriteContext(final String sql, final List<Object> params, final SQLStatementContext<?> sqlStatementContext,
+ private SQLRewriteContext createSQLRewriteContext(final String sql, final List<Object> params, final SQLStatementContext sqlStatementContext,
final RouteContext routeContext, final ConnectionContext connectionContext) {
SQLRewriteContext result = new SQLRewriteContext(database.getName(), database.getSchemas(), sqlStatementContext, sql, params, connectionContext);
decorate(decorators, result, routeContext);
@@ -90,7 +90,7 @@ public final class SQLRewriteEntry {
@SuppressWarnings({"unchecked", "rawtypes"})
private void decorate(final Map<ShardingSphereRule, SQLRewriteContextDecorator> decorators, final SQLRewriteContext sqlRewriteContext, final RouteContext routeContext) {
- if (((CommonSQLStatementContext<?>) sqlRewriteContext.getSqlStatementContext()).isHintSkipSQLRewrite()) {
+ if (((CommonSQLStatementContext) sqlRewriteContext.getSqlStatementContext()).isHintSkipSQLRewrite()) {
return;
}
for (Entry<ShardingSphereRule, SQLRewriteContextDecorator> entry : decorators.entrySet()) {
diff --git a/infra/rewrite/src/main/java/org/apache/shardingsphere/infra/rewrite/context/SQLRewriteContext.java b/infra/rewrite/src/main/java/org/apache/shardingsphere/infra/rewrite/context/SQLRewriteContext.java
index b476ec0a9c0..90a80ce961c 100644
--- a/infra/rewrite/src/main/java/org/apache/shardingsphere/infra/rewrite/context/SQLRewriteContext.java
+++ b/infra/rewrite/src/main/java/org/apache/shardingsphere/infra/rewrite/context/SQLRewriteContext.java
@@ -47,7 +47,7 @@ public final class SQLRewriteContext {
private final Map<String, ShardingSphereSchema> schemas;
- private final SQLStatementContext<?> sqlStatementContext;
+ private final SQLStatementContext sqlStatementContext;
private final String sql;
@@ -63,14 +63,14 @@ public final class SQLRewriteContext {
private final ConnectionContext connectionContext;
public SQLRewriteContext(final String databaseName, final Map<String, ShardingSphereSchema> schemas,
- final SQLStatementContext<?> sqlStatementContext, final String sql, final List<Object> params, final ConnectionContext connectionContext) {
+ final SQLStatementContext sqlStatementContext, final String sql, final List<Object> params, final ConnectionContext connectionContext) {
this.databaseName = databaseName;
this.schemas = schemas;
this.sqlStatementContext = sqlStatementContext;
this.sql = sql;
parameters = params;
this.connectionContext = connectionContext;
- if (!((CommonSQLStatementContext<?>) sqlStatementContext).isHintSkipSQLRewrite()) {
+ if (!((CommonSQLStatementContext) sqlStatementContext).isHintSkipSQLRewrite()) {
addSQLTokenGenerators(new DefaultTokenGeneratorBuilder(sqlStatementContext).getSQLTokenGenerators());
}
parameterBuilder = sqlStatementContext instanceof InsertStatementContext && null == ((InsertStatementContext) sqlStatementContext).getInsertSelectContext()
diff --git a/infra/rewrite/src/main/java/org/apache/shardingsphere/infra/rewrite/engine/RouteSQLRewriteEngine.java b/infra/rewrite/src/main/java/org/apache/shardingsphere/infra/rewrite/engine/RouteSQLRewriteEngine.java
index 55072d25fd8..de37c5d2314 100644
--- a/infra/rewrite/src/main/java/org/apache/shardingsphere/infra/rewrite/engine/RouteSQLRewriteEngine.java
+++ b/infra/rewrite/src/main/java/org/apache/shardingsphere/infra/rewrite/engine/RouteSQLRewriteEngine.java
@@ -97,7 +97,7 @@ public final class RouteSQLRewriteEngine {
}
}
- private boolean isNeedAggregateRewrite(final SQLStatementContext<?> sqlStatementContext, final Collection<RouteUnit> routeUnits) {
+ private boolean isNeedAggregateRewrite(final SQLStatementContext sqlStatementContext, final Collection<RouteUnit> routeUnits) {
if (!(sqlStatementContext instanceof SelectStatementContext) || routeUnits.size() == 1) {
return false;
}
diff --git a/infra/rewrite/src/main/java/org/apache/shardingsphere/infra/rewrite/parameter/rewriter/ParameterRewriter.java b/infra/rewrite/src/main/java/org/apache/shardingsphere/infra/rewrite/parameter/rewriter/ParameterRewriter.java
index f9c48e1d143..bd9c61ad40e 100644
--- a/infra/rewrite/src/main/java/org/apache/shardingsphere/infra/rewrite/parameter/rewriter/ParameterRewriter.java
+++ b/infra/rewrite/src/main/java/org/apache/shardingsphere/infra/rewrite/parameter/rewriter/ParameterRewriter.java
@@ -27,7 +27,7 @@ import java.util.List;
*
* @param <T> type of SQL statement context
*/
-public interface ParameterRewriter<T extends SQLStatementContext<?>> {
+public interface ParameterRewriter<T extends SQLStatementContext> {
/**
* Judge whether need rewrite.
@@ -35,7 +35,7 @@ public interface ParameterRewriter<T extends SQLStatementContext<?>> {
* @param sqlStatementContext SQL statement context
* @return is need rewrite or not
*/
- boolean isNeedRewrite(SQLStatementContext<?> sqlStatementContext);
+ boolean isNeedRewrite(SQLStatementContext sqlStatementContext);
/**
* Rewrite SQL parameters.
diff --git a/infra/rewrite/src/main/java/org/apache/shardingsphere/infra/rewrite/sql/token/generator/CollectionSQLTokenGenerator.java b/infra/rewrite/src/main/java/org/apache/shardingsphere/infra/rewrite/sql/token/generator/CollectionSQLTokenGenerator.java
index 9731b4fb5f9..9e854127da9 100644
--- a/infra/rewrite/src/main/java/org/apache/shardingsphere/infra/rewrite/sql/token/generator/CollectionSQLTokenGenerator.java
+++ b/infra/rewrite/src/main/java/org/apache/shardingsphere/infra/rewrite/sql/token/generator/CollectionSQLTokenGenerator.java
@@ -27,7 +27,7 @@ import java.util.Collection;
*
* @param <T> type of SQL statement context
*/
-public interface CollectionSQLTokenGenerator<T extends SQLStatementContext<?>> extends SQLTokenGenerator {
+public interface CollectionSQLTokenGenerator<T extends SQLStatementContext> extends SQLTokenGenerator {
/**
* Generate SQL tokens.
diff --git a/infra/rewrite/src/main/java/org/apache/shardingsphere/infra/rewrite/sql/token/generator/SQLTokenGenerator.java b/infra/rewrite/src/main/java/org/apache/shardingsphere/infra/rewrite/sql/token/generator/SQLTokenGenerator.java
index 0faa4369087..8783aa478c4 100644
--- a/infra/rewrite/src/main/java/org/apache/shardingsphere/infra/rewrite/sql/token/generator/SQLTokenGenerator.java
+++ b/infra/rewrite/src/main/java/org/apache/shardingsphere/infra/rewrite/sql/token/generator/SQLTokenGenerator.java
@@ -30,5 +30,5 @@ public interface SQLTokenGenerator {
* @param sqlStatementContext SQL statement context
* @return is generate SQL token or not
*/
- boolean isGenerateSQLToken(SQLStatementContext<?> sqlStatementContext);
+ boolean isGenerateSQLToken(SQLStatementContext sqlStatementContext);
}
diff --git a/infra/rewrite/src/main/java/org/apache/shardingsphere/infra/rewrite/sql/token/generator/builder/DefaultTokenGeneratorBuilder.java b/infra/rewrite/src/main/java/org/apache/shardingsphere/infra/rewrite/sql/token/generator/builder/DefaultTokenGeneratorBuilder.java
index 8f649a4a8d2..45bfa0ea21c 100644
--- a/infra/rewrite/src/main/java/org/apache/shardingsphere/infra/rewrite/sql/token/generator/builder/DefaultTokenGeneratorBuilder.java
+++ b/infra/rewrite/src/main/java/org/apache/shardingsphere/infra/rewrite/sql/token/generator/builder/DefaultTokenGeneratorBuilder.java
@@ -31,7 +31,7 @@ import java.util.LinkedList;
@RequiredArgsConstructor
public final class DefaultTokenGeneratorBuilder implements SQLTokenGeneratorBuilder {
- private final SQLStatementContext<?> sqlStatementContext;
+ private final SQLStatementContext sqlStatementContext;
@Override
public Collection<SQLTokenGenerator> getSQLTokenGenerators() {
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 1522b85417d..61e109a5a7f 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
@@ -35,7 +35,7 @@ import java.util.stream.Collectors;
/**
* Remove token generator.
*/
-public final class RemoveTokenGenerator implements CollectionSQLTokenGenerator<SQLStatementContext<?>> {
+public final class RemoveTokenGenerator implements CollectionSQLTokenGenerator<SQLStatementContext> {
@Override
public boolean isGenerateSQLToken(final SQLStatementContext sqlStatementContext) {
diff --git a/infra/rewrite/src/test/java/org/apache/shardingsphere/infra/rewrite/context/SQLRewriteContextTest.java b/infra/rewrite/src/test/java/org/apache/shardingsphere/infra/rewrite/context/SQLRewriteContextTest.java
index fec66ca51b6..f4a63a2d5c7 100644
--- a/infra/rewrite/src/test/java/org/apache/shardingsphere/infra/rewrite/context/SQLRewriteContextTest.java
+++ b/infra/rewrite/src/test/java/org/apache/shardingsphere/infra/rewrite/context/SQLRewriteContextTest.java
@@ -51,7 +51,7 @@ import static org.mockito.Mockito.when;
class SQLRewriteContextTest {
@Mock
- private CommonSQLStatementContext<?> sqlStatementContext;
+ private CommonSQLStatementContext sqlStatementContext;
@Mock
private SQLToken sqlToken;
diff --git a/infra/rewrite/src/test/java/org/apache/shardingsphere/infra/rewrite/sql/token/generator/SQLTokenGeneratorsTest.java b/infra/rewrite/src/test/java/org/apache/shardingsphere/infra/rewrite/sql/token/generator/SQLTokenGeneratorsTest.java
index 536ad4a5063..82cd8cb00d4 100644
--- a/infra/rewrite/src/test/java/org/apache/shardingsphere/infra/rewrite/sql/token/generator/SQLTokenGeneratorsTest.java
+++ b/infra/rewrite/src/test/java/org/apache/shardingsphere/infra/rewrite/sql/token/generator/SQLTokenGeneratorsTest.java
@@ -37,7 +37,7 @@ import static org.mockito.Mockito.when;
class SQLTokenGeneratorsTest {
@Test
- @SuppressWarnings({"unchecked", "rawtypes"})
+ @SuppressWarnings("unchecked")
void assertGenerateSQLTokensWithOptionalSQLTokenGenerator() {
OptionalSQLTokenGenerator<SQLStatementContext> generator = mock(OptionalSQLTokenGenerator.class);
SQLToken expectedToken = mock(SQLToken.class);
@@ -53,7 +53,7 @@ class SQLTokenGeneratorsTest {
@Test
@SuppressWarnings("unchecked")
void assertGenerateSQLTokensWithCollectionSQLTokenGenerator() {
- CollectionSQLTokenGenerator<SQLStatementContext<?>> generator = mock(CollectionSQLTokenGenerator.class);
+ CollectionSQLTokenGenerator<SQLStatementContext> generator = mock(CollectionSQLTokenGenerator.class);
Collection<SQLToken> expectedTokens = Arrays.asList(mock(SQLToken.class), mock(SQLToken.class));
doReturn(expectedTokens).when(generator).generateSQLTokens(any());
SQLTokenGenerators generators = new SQLTokenGenerators();
diff --git a/infra/route/src/main/java/org/apache/shardingsphere/infra/route/engine/impl/PartialSQLRouteExecutor.java b/infra/route/src/main/java/org/apache/shardingsphere/infra/route/engine/impl/PartialSQLRouteExecutor.java
index a1f07bf413c..957fae229a3 100644
--- a/infra/route/src/main/java/org/apache/shardingsphere/infra/route/engine/impl/PartialSQLRouteExecutor.java
+++ b/infra/route/src/main/java/org/apache/shardingsphere/infra/route/engine/impl/PartialSQLRouteExecutor.java
@@ -79,12 +79,12 @@ public final class PartialSQLRouteExecutor implements SQLRouteExecutor {
return result;
}
- private Optional<String> findDataSourceByHint(final SQLStatementContext<?> sqlStatementContext, final Map<String, DataSource> dataSources) {
+ private Optional<String> findDataSourceByHint(final SQLStatementContext sqlStatementContext, final Map<String, DataSource> dataSources) {
Optional<String> result;
if (HintManager.isInstantiated() && HintManager.getDataSourceName().isPresent()) {
result = HintManager.getDataSourceName();
} else {
- result = ((CommonSQLStatementContext<?>) sqlStatementContext).findHintDataSourceName();
+ result = ((CommonSQLStatementContext) sqlStatementContext).findHintDataSourceName();
}
if (result.isPresent() && !dataSources.containsKey(result.get())) {
throw new SQLHintDataSourceNotExistsException(result.get());
diff --git a/infra/route/src/test/java/org/apache/shardingsphere/infra/route/engine/impl/PartialSQLRouteExecutorTest.java b/infra/route/src/test/java/org/apache/shardingsphere/infra/route/engine/impl/PartialSQLRouteExecutorTest.java
index e2b87c1fe44..7ec05d27279 100644
--- a/infra/route/src/test/java/org/apache/shardingsphere/infra/route/engine/impl/PartialSQLRouteExecutorTest.java
+++ b/infra/route/src/test/java/org/apache/shardingsphere/infra/route/engine/impl/PartialSQLRouteExecutorTest.java
@@ -17,16 +17,15 @@
package org.apache.shardingsphere.infra.route.engine.impl;
-import org.apache.shardingsphere.infra.session.query.QueryContext;
import org.apache.shardingsphere.infra.binder.statement.CommonSQLStatementContext;
import org.apache.shardingsphere.infra.config.props.ConfigurationProperties;
-import org.apache.shardingsphere.infra.session.connection.ConnectionContext;
import org.apache.shardingsphere.infra.hint.HintManager;
import org.apache.shardingsphere.infra.hint.SQLHintDataSourceNotExistsException;
import org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
import org.apache.shardingsphere.infra.metadata.database.rule.ShardingSphereRuleMetaData;
import org.apache.shardingsphere.infra.route.context.RouteContext;
-import org.apache.shardingsphere.sql.parser.sql.common.statement.AbstractSQLStatement;
+import org.apache.shardingsphere.infra.session.connection.ConnectionContext;
+import org.apache.shardingsphere.infra.session.query.QueryContext;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
@@ -56,7 +55,7 @@ class PartialSQLRouteExecutorTest {
private ShardingSphereDatabase database;
@Mock
- private CommonSQLStatementContext<AbstractSQLStatement> commonSQLStatementContext;
+ private CommonSQLStatementContext commonSQLStatementContext;
private final ConnectionContext connectionContext = new ConnectionContext();
diff --git a/infra/session/src/main/java/org/apache/shardingsphere/infra/session/query/QueryContext.java b/infra/session/src/main/java/org/apache/shardingsphere/infra/session/query/QueryContext.java
index 2735a082295..579ff63949c 100644
--- a/infra/session/src/main/java/org/apache/shardingsphere/infra/session/query/QueryContext.java
+++ b/infra/session/src/main/java/org/apache/shardingsphere/infra/session/query/QueryContext.java
@@ -32,7 +32,7 @@ import java.util.Optional;
@Getter
public final class QueryContext {
- private final SQLStatementContext<?> sqlStatementContext;
+ private final SQLStatementContext sqlStatementContext;
private final String sql;
@@ -45,15 +45,15 @@ public final class QueryContext {
private final boolean useCache;
- public QueryContext(final SQLStatementContext<?> sqlStatementContext, final String sql, final List<Object> params) {
+ public QueryContext(final SQLStatementContext sqlStatementContext, final String sql, final List<Object> params) {
this(sqlStatementContext, sql, params, new HintValueContext());
}
- public QueryContext(final SQLStatementContext<?> sqlStatementContext, final String sql, final List<Object> params, final HintValueContext hintValueContext) {
+ public QueryContext(final SQLStatementContext sqlStatementContext, final String sql, final List<Object> params, final HintValueContext hintValueContext) {
this(sqlStatementContext, sql, params, hintValueContext, false);
}
- public QueryContext(final SQLStatementContext<?> sqlStatementContext, final String sql, final List<Object> params, final HintValueContext hintValueContext, final boolean useCache) {
+ public QueryContext(final SQLStatementContext sqlStatementContext, final String sql, final List<Object> params, final HintValueContext hintValueContext, final boolean useCache) {
this.sqlStatementContext = sqlStatementContext;
this.sql = sql;
parameters = params;
diff --git a/jdbc/core/src/main/java/org/apache/shardingsphere/driver/executor/DriverJDBCExecutor.java b/jdbc/core/src/main/java/org/apache/shardingsphere/driver/executor/DriverJDBCExecutor.java
index fe1131f029b..783c9b794f6 100644
--- a/jdbc/core/src/main/java/org/apache/shardingsphere/driver/executor/DriverJDBCExecutor.java
+++ b/jdbc/core/src/main/java/org/apache/shardingsphere/driver/executor/DriverJDBCExecutor.java
@@ -93,7 +93,7 @@ public final class DriverJDBCExecutor {
final QueryContext queryContext, final Collection<RouteUnit> routeUnits, final JDBCExecutorCallback<Integer> callback) throws SQLException {
try {
processEngine.executeSQL(executionGroupContext, queryContext);
- SQLStatementContext<?> sqlStatementContext = queryContext.getSqlStatementContext();
+ SQLStatementContext sqlStatementContext = queryContext.getSqlStatementContext();
List<Integer> results = doExecute(executionGroupContext, sqlStatementContext, routeUnits, callback);
return isNeedAccumulate(metaDataContexts.getMetaData().getDatabase(databaseName).getRuleMetaData().getRules(), sqlStatementContext) ? accumulate(results) : results.get(0);
} finally {
@@ -101,7 +101,7 @@ public final class DriverJDBCExecutor {
}
}
- private boolean isNeedAccumulate(final Collection<ShardingSphereRule> rules, final SQLStatementContext<?> sqlStatementContext) {
+ private boolean isNeedAccumulate(final Collection<ShardingSphereRule> rules, final SQLStatementContext sqlStatementContext) {
for (ShardingSphereRule each : rules) {
if (each instanceof DataNodeContainedRule && ((DataNodeContainedRule) each).isNeedAccumulate(sqlStatementContext.getTablesContext().getTableNames())) {
return true;
@@ -139,7 +139,7 @@ public final class DriverJDBCExecutor {
}
}
- private <T> List<T> doExecute(final ExecutionGroupContext<JDBCExecutionUnit> executionGroupContext, final SQLStatementContext<?> sqlStatementContext, final Collection<RouteUnit> routeUnits,
+ private <T> List<T> doExecute(final ExecutionGroupContext<JDBCExecutionUnit> executionGroupContext, final SQLStatementContext sqlStatementContext, final Collection<RouteUnit> routeUnits,
final JDBCExecutorCallback<T> callback) throws SQLException {
List<T> results = jdbcExecutor.execute(executionGroupContext, callback);
metaDataRefreshEngine.refresh(sqlStatementContext, routeUnits);
diff --git a/jdbc/core/src/main/java/org/apache/shardingsphere/driver/executor/batch/BatchPreparedStatementExecutor.java b/jdbc/core/src/main/java/org/apache/shardingsphere/driver/executor/batch/BatchPreparedStatementExecutor.java
index 2ce7a8022df..3090d8ef82c 100644
--- a/jdbc/core/src/main/java/org/apache/shardingsphere/driver/executor/batch/BatchPreparedStatementExecutor.java
+++ b/jdbc/core/src/main/java/org/apache/shardingsphere/driver/executor/batch/BatchPreparedStatementExecutor.java
@@ -133,7 +133,7 @@ public final class BatchPreparedStatementExecutor {
* @return execute results
* @throws SQLException SQL exception
*/
- public int[] executeBatch(final SQLStatementContext<?> sqlStatementContext) throws SQLException {
+ public int[] executeBatch(final SQLStatementContext sqlStatementContext) throws SQLException {
boolean isExceptionThrown = SQLExecutorExceptionHandler.isExceptionThrown();
JDBCExecutorCallback<int[]> callback = new JDBCExecutorCallback<int[]>(metaDataContexts.getMetaData().getDatabase(databaseName).getProtocolType(),
metaDataContexts.getMetaData().getDatabase(databaseName).getResourceMetaData().getStorageTypes(), sqlStatementContext.getSqlStatement(), isExceptionThrown) {
@@ -156,7 +156,7 @@ public final class BatchPreparedStatementExecutor {
return isNeedAccumulate(sqlStatementContext) ? accumulate(results) : results.get(0);
}
- private boolean isNeedAccumulate(final SQLStatementContext<?> sqlStatementContext) {
+ private boolean isNeedAccumulate(final SQLStatementContext sqlStatementContext) {
for (ShardingSphereRule each : metaDataContexts.getMetaData().getDatabase(databaseName).getRuleMetaData().getRules()) {
if (each instanceof DataNodeContainedRule && ((DataNodeContainedRule) each).isNeedAccumulate(sqlStatementContext.getTablesContext().getTableNames())) {
return true;
diff --git a/jdbc/core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/resultset/ShardingSphereResultSetMetaData.java b/jdbc/core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/resultset/ShardingSphereResultSetMetaData.java
index cc0bef694c7..55d46d5a52d 100644
--- a/jdbc/core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/resultset/ShardingSphereResultSetMetaData.java
+++ b/jdbc/core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/resultset/ShardingSphereResultSetMetaData.java
@@ -47,7 +47,7 @@ public final class ShardingSphereResultSetMetaData extends WrapperAdapter implem
private final boolean transparentStatement;
- private final SQLStatementContext<?> sqlStatementContext;
+ private final SQLStatementContext sqlStatementContext;
@Override
public int getColumnCount() throws SQLException {
diff --git a/jdbc/core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/resultset/ShardingSphereResultSetUtils.java b/jdbc/core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/resultset/ShardingSphereResultSetUtils.java
index 4df932460c5..1300ae8efc0 100644
--- a/jdbc/core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/resultset/ShardingSphereResultSetUtils.java
+++ b/jdbc/core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/resultset/ShardingSphereResultSetUtils.java
@@ -44,7 +44,7 @@ public final class ShardingSphereResultSetUtils {
* @return column label and index map
* @throws SQLException SQL exception
*/
- public static Map<String, Integer> createColumnLabelAndIndexMap(final SQLStatementContext<?> sqlStatementContext, final ResultSetMetaData resultSetMetaData) throws SQLException {
+ public static Map<String, Integer> createColumnLabelAndIndexMap(final SQLStatementContext sqlStatementContext, final ResultSetMetaData resultSetMetaData) throws SQLException {
if (hasSelectExpandProjections(sqlStatementContext)) {
return createColumnLabelAndIndexMapWithExpandProjections((SelectStatementContext) sqlStatementContext);
}
@@ -65,7 +65,7 @@ public final class ShardingSphereResultSetUtils {
return result;
}
- private static boolean hasSelectExpandProjections(final SQLStatementContext<?> sqlStatementContext) {
+ private static boolean hasSelectExpandProjections(final SQLStatementContext sqlStatementContext) {
return sqlStatementContext instanceof SelectStatementContext && !((SelectStatementContext) sqlStatementContext).getProjectionsContext().getExpandProjections().isEmpty();
}
}
diff --git a/jdbc/core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/statement/ShardingSpherePreparedStatement.java b/jdbc/core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/statement/ShardingSpherePreparedStatement.java
index 78998eb5ce3..2e55859c1d5 100644
--- a/jdbc/core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/statement/ShardingSpherePreparedStatement.java
+++ b/jdbc/core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/statement/ShardingSpherePreparedStatement.java
@@ -130,7 +130,7 @@ public final class ShardingSpherePreparedStatement extends AbstractPreparedState
private final SQLStatement sqlStatement;
- private final SQLStatementContext<?> sqlStatementContext;
+ private final SQLStatementContext sqlStatementContext;
private final StatementOption statementOption;
diff --git a/jdbc/core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/statement/ShardingSphereStatement.java b/jdbc/core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/statement/ShardingSphereStatement.java
index 370c498efec..deadab4117d 100644
--- a/jdbc/core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/statement/ShardingSphereStatement.java
+++ b/jdbc/core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/statement/ShardingSphereStatement.java
@@ -247,7 +247,7 @@ public final class ShardingSphereStatement extends AbstractStatementAdapter {
metaDataContexts.getMetaData().getDatabase(connection.getDatabaseName()).getResourceMetaData().getStorageTypes());
}
- private boolean isTransparentStatement(final SQLStatementContext<?> sqlStatementContext, final ShardingSphereRuleMetaData ruleMetaData) {
+ private boolean isTransparentStatement(final SQLStatementContext sqlStatementContext, final ShardingSphereRuleMetaData ruleMetaData) {
Optional<DataNodeContainedRule> dataNodeContainedRule = getDataNodeContainedRuleForShardingRule(ruleMetaData.findRules(DataNodeContainedRule.class));
Collection<ColumnContainedRule> columnContainedRules = ruleMetaData.findRules(ColumnContainedRule.class);
for (String each : sqlStatementContext.getTablesContext().getTableNames()) {
@@ -334,7 +334,7 @@ public final class ShardingSphereStatement extends AbstractStatementAdapter {
}
}
- private int executeUpdate(final ExecuteUpdateCallback updateCallback, final SQLStatementContext<?> sqlStatementContext) throws SQLException {
+ private int executeUpdate(final ExecuteUpdateCallback updateCallback, final SQLStatementContext sqlStatementContext) throws SQLException {
return isNeedImplicitCommitTransaction(executionContext) ? executeUpdateWithImplicitCommitTransaction(updateCallback, sqlStatementContext)
: useDriverToExecuteUpdate(updateCallback, sqlStatementContext);
}
@@ -354,7 +354,7 @@ public final class ShardingSphereStatement extends AbstractStatementAdapter {
return executeUpdate(updateCallback, executionContext.getSqlStatementContext());
}
- private int executeUpdateWithImplicitCommitTransaction(final ExecuteUpdateCallback updateCallback, final SQLStatementContext<?> sqlStatementContext) throws SQLException {
+ private int executeUpdateWithImplicitCommitTransaction(final ExecuteUpdateCallback updateCallback, final SQLStatementContext sqlStatementContext) throws SQLException {
int result;
try {
connection.setAutoCommit(false);
@@ -369,7 +369,7 @@ public final class ShardingSphereStatement extends AbstractStatementAdapter {
return result;
}
- private int useDriverToExecuteUpdate(final ExecuteUpdateCallback updateCallback, final SQLStatementContext<?> sqlStatementContext) throws SQLException {
+ private int useDriverToExecuteUpdate(final ExecuteUpdateCallback updateCallback, final SQLStatementContext sqlStatementContext) throws SQLException {
ExecutionGroupContext<JDBCExecutionUnit> executionGroupContext = createExecutionGroupContext();
cacheStatements(executionGroupContext.getInputGroups());
JDBCExecutorCallback<Integer> callback = createExecuteUpdateCallback(updateCallback, sqlStatementContext);
@@ -377,7 +377,7 @@ public final class ShardingSphereStatement extends AbstractStatementAdapter {
executionContext.getQueryContext(), executionContext.getRouteContext().getRouteUnits(), callback);
}
- private JDBCExecutorCallback<Integer> createExecuteUpdateCallback(final ExecuteUpdateCallback updateCallback, final SQLStatementContext<?> sqlStatementContext) {
+ private JDBCExecutorCallback<Integer> createExecuteUpdateCallback(final ExecuteUpdateCallback updateCallback, final SQLStatementContext sqlStatementContext) {
boolean isExceptionThrown = SQLExecutorExceptionHandler.isExceptionThrown();
return new JDBCExecutorCallback<Integer>(metaDataContexts.getMetaData().getDatabase(connection.getDatabaseName()).getProtocolType(),
metaDataContexts.getMetaData().getDatabase(connection.getDatabaseName()).getResourceMetaData().getStorageTypes(), sqlStatementContext.getSqlStatement(), isExceptionThrown) {
@@ -481,7 +481,7 @@ public final class ShardingSphereStatement extends AbstractStatementAdapter {
}
}
- private void checkSameDatabaseNameInTransaction(final SQLStatementContext<?> sqlStatementContext, final String connectionDatabaseName) {
+ private void checkSameDatabaseNameInTransaction(final SQLStatementContext sqlStatementContext, final String connectionDatabaseName) {
if (!connection.getDatabaseConnectionManager().getConnectionContext().getTransactionContext().isInTransaction()) {
return;
}
@@ -529,7 +529,7 @@ public final class ShardingSphereStatement extends AbstractStatementAdapter {
String sql = sqlParserRule.isSqlCommentParseEnabled() ? originSQL : SQLHintUtils.removeHint(originSQL);
SQLStatement sqlStatement = sqlParserRule.getSQLParserEngine(
DatabaseTypeEngine.getTrunkDatabaseTypeName(metaDataContexts.getMetaData().getDatabase(connection.getDatabaseName()).getProtocolType())).parse(sql, false);
- SQLStatementContext<?> sqlStatementContext = SQLStatementContextFactory.newInstance(metaDataContexts.getMetaData(), sqlStatement, connection.getDatabaseName());
+ SQLStatementContext sqlStatementContext = SQLStatementContextFactory.newInstance(metaDataContexts.getMetaData(), sqlStatement, connection.getDatabaseName());
HintValueContext hintValueContext = sqlParserRule.isSqlCommentParseEnabled() ? new HintValueContext() : SQLHintUtils.extractHint(originSQL);
return new QueryContext(sqlStatementContext, sql, Collections.emptyList(), hintValueContext);
}
diff --git a/jdbc/core/src/test/java/org/apache/shardingsphere/driver/executor/batch/BatchPreparedStatementExecutorTest.java b/jdbc/core/src/test/java/org/apache/shardingsphere/driver/executor/batch/BatchPreparedStatementExecutorTest.java
index d03aaadd371..94e249acecc 100644
--- a/jdbc/core/src/test/java/org/apache/shardingsphere/driver/executor/batch/BatchPreparedStatementExecutorTest.java
+++ b/jdbc/core/src/test/java/org/apache/shardingsphere/driver/executor/batch/BatchPreparedStatementExecutorTest.java
@@ -85,7 +85,7 @@ class BatchPreparedStatementExecutorTest {
private BatchPreparedStatementExecutor executor;
@Mock
- private SQLStatementContext<?> sqlStatementContext;
+ private SQLStatementContext sqlStatementContext;
@BeforeEach
void setUp() {
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 496bfbffcb5..97b8f62f5bd 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
@@ -104,7 +104,7 @@ public final class PipelineDDLGenerator {
private String decorateActualSQL(final String databaseName, final String targetTableName, final SQLParserEngine parserEngine, final String sql) {
QueryContext queryContext = getQueryContext(databaseName, parserEngine, sql);
- SQLStatementContext<?> sqlStatementContext = queryContext.getSqlStatementContext();
+ SQLStatementContext sqlStatementContext = queryContext.getSqlStatementContext();
Map<SQLSegment, String> replaceMap = new TreeMap<>(Comparator.comparing(SQLSegment::getStartIndex));
if (sqlStatementContext instanceof CreateTableStatementContext) {
appendFromIndexAndConstraint(replaceMap, targetTableName, sqlStatementContext);
@@ -125,11 +125,11 @@ public final class PipelineDDLGenerator {
}
private QueryContext getQueryContext(final String databaseName, final SQLParserEngine parserEngine, final String sql) {
- SQLStatementContext<?> sqlStatementContext = SQLStatementContextFactory.newInstance(null, parserEngine.parse(sql, false), databaseName);
+ SQLStatementContext sqlStatementContext = SQLStatementContextFactory.newInstance(null, parserEngine.parse(sql, false), databaseName);
return new QueryContext(sqlStatementContext, sql, Collections.emptyList());
}
- private void appendFromIndexAndConstraint(final Map<SQLSegment, String> replaceMap, final String targetTableName, final SQLStatementContext<?> sqlStatementContext) {
+ private void appendFromIndexAndConstraint(final Map<SQLSegment, String> replaceMap, final String targetTableName, final SQLStatementContext sqlStatementContext) {
if (!(sqlStatementContext instanceof TableAvailable) || ((TableAvailable) sqlStatementContext).getTablesContext().getTables().isEmpty()) {
return;
}
@@ -183,7 +183,7 @@ public final class PipelineDDLGenerator {
private String replaceTableNameWithPrefix(final String sql, final String prefix, final String databaseName, final SQLParserEngine parserEngine) {
QueryContext queryContext = getQueryContext(databaseName, parserEngine, sql);
- SQLStatementContext<?> sqlStatementContext = queryContext.getSqlStatementContext();
+ SQLStatementContext sqlStatementContext = queryContext.getSqlStatementContext();
if (sqlStatementContext instanceof CreateTableStatementContext || sqlStatementContext instanceof CommentStatementContext
|| sqlStatementContext instanceof CreateIndexStatementContext || sqlStatementContext instanceof AlterTableStatementContext) {
if (sqlStatementContext.getTablesContext().getTables().isEmpty()) {
diff --git a/kernel/single/core/src/main/java/org/apache/shardingsphere/single/decider/SingleSQLFederationDecider.java b/kernel/single/core/src/main/java/org/apache/shardingsphere/single/decider/SingleSQLFederationDecider.java
index dac5367f0cc..158518ce710 100644
--- a/kernel/single/core/src/main/java/org/apache/shardingsphere/single/decider/SingleSQLFederationDecider.java
+++ b/kernel/single/core/src/main/java/org/apache/shardingsphere/single/decider/SingleSQLFederationDecider.java
@@ -58,7 +58,7 @@ public final class SingleSQLFederationDecider implements SQLFederationDecider<Si
return !isAllTablesInSameDataSource;
}
- private Collection<QualifiedTable> getSingleTableNames(final SQLStatementContext<?> sqlStatementContext, final ShardingSphereDatabase database, final SingleRule rule) {
+ private Collection<QualifiedTable> getSingleTableNames(final SQLStatementContext sqlStatementContext, final ShardingSphereDatabase database, final SingleRule rule) {
DatabaseType databaseType = sqlStatementContext.getDatabaseType();
Collection<QualifiedTable> result = getQualifiedTables(database, databaseType, sqlStatementContext.getTablesContext().getTables());
if (result.isEmpty() && sqlStatementContext instanceof IndexAvailable) {
diff --git a/kernel/single/core/src/main/java/org/apache/shardingsphere/single/route/SingleSQLRouter.java b/kernel/single/core/src/main/java/org/apache/shardingsphere/single/route/SingleSQLRouter.java
index 26f5815972d..eed048f8b41 100644
--- a/kernel/single/core/src/main/java/org/apache/shardingsphere/single/route/SingleSQLRouter.java
+++ b/kernel/single/core/src/main/java/org/apache/shardingsphere/single/route/SingleSQLRouter.java
@@ -53,7 +53,6 @@ import java.util.Optional;
*/
public final class SingleSQLRouter implements SQLRouter<SingleRule> {
- @SuppressWarnings({"rawtypes", "unchecked"})
@Override
public RouteContext createRouteContext(final QueryContext queryContext, final ShardingSphereRuleMetaData globalRuleMetaData, final ShardingSphereDatabase database, final SingleRule rule,
final ConfigurationProperties props, final ConnectionContext connectionContext) {
@@ -61,7 +60,7 @@ public final class SingleSQLRouter implements SQLRouter<SingleRule> {
return createSingleDataSourceRouteContext(rule, database);
}
RouteContext result = new RouteContext();
- SQLStatementContext<?> sqlStatementContext = queryContext.getSqlStatementContext();
+ SQLStatementContext sqlStatementContext = queryContext.getSqlStatementContext();
Optional<SingleMetaDataValidator> validator = SingleMetaDataValidatorFactory.newInstance(sqlStatementContext.getSqlStatement());
validator.ifPresent(optional -> optional.validate(rule, sqlStatementContext, database));
Collection<QualifiedTable> singleTableNames = getSingleTableNames(sqlStatementContext, database, rule, result);
@@ -75,7 +74,7 @@ public final class SingleSQLRouter implements SQLRouter<SingleRule> {
@Override
public void decorateRouteContext(final RouteContext routeContext, final QueryContext queryContext, final ShardingSphereDatabase database,
final SingleRule rule, final ConfigurationProperties props, final ConnectionContext connectionContext) {
- SQLStatementContext<?> sqlStatementContext = queryContext.getSqlStatementContext();
+ SQLStatementContext sqlStatementContext = queryContext.getSqlStatementContext();
Collection<QualifiedTable> singleTableNames = getSingleTableNames(sqlStatementContext, database, rule, routeContext);
if (singleTableNames.isEmpty()) {
return;
@@ -92,7 +91,7 @@ public final class SingleSQLRouter implements SQLRouter<SingleRule> {
return result;
}
- private Collection<QualifiedTable> getSingleTableNames(final SQLStatementContext<?> sqlStatementContext,
+ private Collection<QualifiedTable> getSingleTableNames(final SQLStatementContext sqlStatementContext,
final ShardingSphereDatabase database, final SingleRule rule, final RouteContext routeContext) {
DatabaseType databaseType = sqlStatementContext.getDatabaseType();
Collection<QualifiedTable> result = getQualifiedTables(database, databaseType, sqlStatementContext.getTablesContext().getTables());
@@ -112,7 +111,7 @@ public final class SingleSQLRouter implements SQLRouter<SingleRule> {
return result;
}
- private void validateSameDataSource(final SQLStatementContext<?> sqlStatementContext, final SingleRule rule,
+ private void validateSameDataSource(final SQLStatementContext sqlStatementContext, final SingleRule rule,
final ConfigurationProperties props, final Collection<QualifiedTable> singleTableNames, final RouteContext routeContext) {
String sqlFederationType = props.getValue(ConfigurationPropertyKey.SQL_FEDERATION_TYPE);
boolean allTablesInSameDataSource = "NONE".equals(sqlFederationType)
diff --git a/kernel/single/core/src/main/java/org/apache/shardingsphere/single/route/validator/SingleMetaDataValidator.java b/kernel/single/core/src/main/java/org/apache/shardingsphere/single/route/validator/SingleMetaDataValidator.java
index bb1df3c89ff..7b91caf0f09 100644
--- a/kernel/single/core/src/main/java/org/apache/shardingsphere/single/route/validator/SingleMetaDataValidator.java
+++ b/kernel/single/core/src/main/java/org/apache/shardingsphere/single/route/validator/SingleMetaDataValidator.java
@@ -20,14 +20,11 @@ package org.apache.shardingsphere.single.route.validator;
import org.apache.shardingsphere.infra.binder.statement.SQLStatementContext;
import org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
import org.apache.shardingsphere.single.rule.SingleRule;
-import org.apache.shardingsphere.sql.parser.sql.common.statement.SQLStatement;
/**
* Single meta data validator.
- *
- * @param <T> type of SQL statement
*/
-public interface SingleMetaDataValidator<T extends SQLStatement> {
+public interface SingleMetaDataValidator {
/**
* Validate single table meta data.
@@ -36,5 +33,5 @@ public interface SingleMetaDataValidator<T extends SQLStatement> {
* @param sqlStatementContext SQL statement context
* @param database database
*/
- void validate(SingleRule rule, SQLStatementContext<T> sqlStatementContext, ShardingSphereDatabase database);
+ void validate(SingleRule rule, SQLStatementContext sqlStatementContext, ShardingSphereDatabase database);
}
diff --git a/kernel/single/core/src/main/java/org/apache/shardingsphere/single/route/validator/ddl/SingleDropSchemaMetaDataValidator.java b/kernel/single/core/src/main/java/org/apache/shardingsphere/single/route/validator/ddl/SingleDropSchemaMetaDataValidator.java
index dac78932e68..77636fe0f04 100644
--- a/kernel/single/core/src/main/java/org/apache/shardingsphere/single/route/validator/ddl/SingleDropSchemaMetaDataValidator.java
+++ b/kernel/single/core/src/main/java/org/apache/shardingsphere/single/route/validator/ddl/SingleDropSchemaMetaDataValidator.java
@@ -32,12 +32,13 @@ import org.apache.shardingsphere.sql.parser.sql.dialect.handler.ddl.DropSchemaSt
/**
* Single drop schema meta data validator.
*/
-public final class SingleDropSchemaMetaDataValidator implements SingleMetaDataValidator<DropSchemaStatement> {
+public final class SingleDropSchemaMetaDataValidator implements SingleMetaDataValidator {
@Override
- public void validate(final SingleRule rule, final SQLStatementContext<DropSchemaStatement> sqlStatementContext, final ShardingSphereDatabase database) {
- boolean containsCascade = DropSchemaStatementHandler.containsCascade(sqlStatementContext.getSqlStatement());
- for (IdentifierValue each : sqlStatementContext.getSqlStatement().getSchemaNames()) {
+ public void validate(final SingleRule rule, final SQLStatementContext sqlStatementContext, final ShardingSphereDatabase database) {
+ DropSchemaStatement dropSchemaStatement = (DropSchemaStatement) sqlStatementContext.getSqlStatement();
+ boolean containsCascade = DropSchemaStatementHandler.containsCascade(dropSchemaStatement);
+ for (IdentifierValue each : dropSchemaStatement.getSchemaNames()) {
String schemaName = each.getValue();
ShardingSphereSchema schema = database.getSchema(schemaName);
ShardingSpherePreconditions.checkNotNull(schema, () -> new SchemaNotFoundException(schemaName));
diff --git a/kernel/single/core/src/main/java/org/apache/shardingsphere/single/route/validator/ddl/SingleDropTableValidator.java b/kernel/single/core/src/main/java/org/apache/shardingsphere/single/route/validator/ddl/SingleDropTableValidator.java
index 55c05854751..c72efe3b38b 100644
--- a/kernel/single/core/src/main/java/org/apache/shardingsphere/single/route/validator/ddl/SingleDropTableValidator.java
+++ b/kernel/single/core/src/main/java/org/apache/shardingsphere/single/route/validator/ddl/SingleDropTableValidator.java
@@ -28,11 +28,11 @@ import org.apache.shardingsphere.sql.parser.sql.dialect.handler.ddl.DropTableSta
/**
* Single drop table validator.
*/
-public final class SingleDropTableValidator implements SingleMetaDataValidator<DropTableStatement> {
+public final class SingleDropTableValidator implements SingleMetaDataValidator {
@Override
- public void validate(final SingleRule rule, final SQLStatementContext<DropTableStatement> sqlStatementContext, final ShardingSphereDatabase database) {
- if (DropTableStatementHandler.containsCascade(sqlStatementContext.getSqlStatement())) {
+ public void validate(final SingleRule rule, final SQLStatementContext sqlStatementContext, final ShardingSphereDatabase database) {
+ if (DropTableStatementHandler.containsCascade((DropTableStatement) sqlStatementContext.getSqlStatement())) {
throw new UnsupportedDropCascadeTableException();
}
}
diff --git a/kernel/single/core/src/test/java/org/apache/shardingsphere/single/route/validator/ddl/SingleDropSchemaMetaDataValidatorTest.java b/kernel/single/core/src/test/java/org/apache/shardingsphere/single/route/validator/ddl/SingleDropSchemaMetaDataValidatorTest.java
index 98fafe3b1ac..6b653c41a6b 100644
--- a/kernel/single/core/src/test/java/org/apache/shardingsphere/single/route/validator/ddl/SingleDropSchemaMetaDataValidatorTest.java
+++ b/kernel/single/core/src/test/java/org/apache/shardingsphere/single/route/validator/ddl/SingleDropSchemaMetaDataValidatorTest.java
@@ -25,7 +25,6 @@ import org.apache.shardingsphere.infra.metadata.database.schema.model.ShardingSp
import org.apache.shardingsphere.infra.metadata.database.schema.model.ShardingSphereTable;
import org.apache.shardingsphere.single.exception.DropNotEmptySchemaException;
import org.apache.shardingsphere.single.rule.SingleRule;
-import org.apache.shardingsphere.sql.parser.sql.common.statement.ddl.DropSchemaStatement;
import org.apache.shardingsphere.sql.parser.sql.common.value.identifier.IdentifierValue;
import org.apache.shardingsphere.sql.parser.sql.dialect.statement.postgresql.ddl.PostgreSQLDropSchemaStatement;
import org.junit.jupiter.api.Test;
@@ -66,10 +65,10 @@ class SingleDropSchemaMetaDataValidatorTest {
return result;
}
- private SQLStatementContext<DropSchemaStatement> createSQLStatementContext(final String schemaName, final boolean isCascade) {
+ private SQLStatementContext createSQLStatementContext(final String schemaName, final boolean isCascade) {
PostgreSQLDropSchemaStatement dropSchemaStatement = mock(PostgreSQLDropSchemaStatement.class, RETURNS_DEEP_STUBS);
when(dropSchemaStatement.isContainsCascade()).thenReturn(isCascade);
when(dropSchemaStatement.getSchemaNames()).thenReturn(Collections.singleton(new IdentifierValue(schemaName)));
- return new UnknownSQLStatementContext<>(dropSchemaStatement);
+ return new UnknownSQLStatementContext(dropSchemaStatement);
}
}
diff --git a/kernel/sql-federation/executor/advanced/src/main/java/org/apache/shardingsphere/sqlfederation/advanced/AdvancedSQLFederationExecutor.java b/kernel/sql-federation/executor/advanced/src/main/java/org/apache/shardingsphere/sqlfederation/advanced/AdvancedSQLFederationExecutor.java
index 7856bb949fb..857e3b253ea 100644
--- a/kernel/sql-federation/executor/advanced/src/main/java/org/apache/shardingsphere/sqlfederation/advanced/AdvancedSQLFederationExecutor.java
+++ b/kernel/sql-federation/executor/advanced/src/main/java/org/apache/shardingsphere/sqlfederation/advanced/AdvancedSQLFederationExecutor.java
@@ -105,7 +105,7 @@ public final class AdvancedSQLFederationExecutor implements SQLFederationExecuto
@Override
public ResultSet executeQuery(final DriverExecutionPrepareEngine<JDBCExecutionUnit, Connection> prepareEngine,
final JDBCExecutorCallback<? extends ExecuteResult> callback, final SQLFederationExecutorContext federationContext) {
- SQLStatementContext<?> sqlStatementContext = federationContext.getQueryContext().getSqlStatementContext();
+ SQLStatementContext sqlStatementContext = federationContext.getQueryContext().getSqlStatementContext();
Preconditions.checkArgument(sqlStatementContext instanceof SelectStatementContext, "SQL statement context must be select statement context.");
ShardingSphereDatabase database = federationContext.getMetaData().getDatabase(databaseName);
ShardingSphereSchema schema = database.getSchema(schemaName);
diff --git a/kernel/sql-federation/executor/core/src/main/java/org/apache/shardingsphere/sqlfederation/executor/FilterableTableScanExecutor.java b/kernel/sql-federation/executor/core/src/main/java/org/apache/shardingsphere/sqlfederation/executor/FilterableTableScanExecutor.java
index 1d8f04c70b1..4813cbb4a25 100644
--- a/kernel/sql-federation/executor/core/src/main/java/org/apache/shardingsphere/sqlfederation/executor/FilterableTableScanExecutor.java
+++ b/kernel/sql-federation/executor/core/src/main/java/org/apache/shardingsphere/sqlfederation/executor/FilterableTableScanExecutor.java
@@ -282,7 +282,7 @@ public final class FilterableTableScanExecutor implements TableScanExecutor {
optimizerContext.getSqlParserRule().getSqlStatementCache(), optimizerContext.getSqlParserRule().getParseTreeCache(),
optimizerContext.getSqlParserRule().isSqlCommentParseEnabled()).parse(sql, useCache);
List<Object> params = getParameters(sqlString.getDynamicParameters());
- SQLStatementContext<?> sqlStatementContext = SQLStatementContextFactory.newInstance(metaData, params, sqlStatement, executorContext.getDatabaseName());
+ SQLStatementContext sqlStatementContext = SQLStatementContextFactory.newInstance(metaData, params, sqlStatement, executorContext.getDatabaseName());
return new QueryContext(sqlStatementContext, sql, params, new HintValueContext(), useCache);
}
diff --git a/kernel/sql-federation/executor/core/src/main/java/org/apache/shardingsphere/sqlfederation/executor/TranslatableTableScanExecutor.java b/kernel/sql-federation/executor/core/src/main/java/org/apache/shardingsphere/sqlfederation/executor/TranslatableTableScanExecutor.java
index f735ac5a6a5..e12ecb844e1 100644
--- a/kernel/sql-federation/executor/core/src/main/java/org/apache/shardingsphere/sqlfederation/executor/TranslatableTableScanExecutor.java
+++ b/kernel/sql-federation/executor/core/src/main/java/org/apache/shardingsphere/sqlfederation/executor/TranslatableTableScanExecutor.java
@@ -398,7 +398,7 @@ public final class TranslatableTableScanExecutor implements TableScanExecutor {
optimizerContext.getSqlParserRule().getSqlStatementCache(), optimizerContext.getSqlParserRule().getParseTreeCache(),
optimizerContext.getSqlParserRule().isSqlCommentParseEnabled()).parse(sql, useCache);
List<Object> params = getParameters(sqlString.getDynamicParameters());
- SQLStatementContext<?> sqlStatementContext = SQLStatementContextFactory.newInstance(metaData, params, sqlStatement, executorContext.getDatabaseName());
+ SQLStatementContext sqlStatementContext = SQLStatementContextFactory.newInstance(metaData, params, sqlStatement, executorContext.getDatabaseName());
return new QueryContext(sqlStatementContext, sql, params, new HintValueContext(), useCache);
}
diff --git a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/DatabaseConnector.java b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/DatabaseConnector.java
index 29a4a226776..a74556675e2 100644
--- a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/DatabaseConnector.java
+++ b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/DatabaseConnector.java
@@ -123,7 +123,7 @@ public final class DatabaseConnector implements DatabaseBackendHandler {
private MergedResult mergedResult;
public DatabaseConnector(final String driverType, final ShardingSphereDatabase database, final QueryContext queryContext, final ProxyDatabaseConnectionManager databaseConnectionManager) {
- SQLStatementContext<?> sqlStatementContext = queryContext.getSqlStatementContext();
+ SQLStatementContext sqlStatementContext = queryContext.getSqlStatementContext();
failedIfBackendNotReady(databaseConnectionManager.getConnectionSession(), sqlStatementContext);
this.driverType = driverType;
this.database = database;
@@ -136,7 +136,7 @@ public final class DatabaseConnector implements DatabaseBackendHandler {
proxySQLExecutor = new ProxySQLExecutor(driverType, databaseConnectionManager, this);
}
- private void failedIfBackendNotReady(final ConnectionSession connectionSession, final SQLStatementContext<?> sqlStatementContext) {
+ private void failedIfBackendNotReady(final ConnectionSession connectionSession, final SQLStatementContext sqlStatementContext) {
ShardingSphereDatabase database = ProxyContext.getInstance().getDatabase(connectionSession.getDatabaseName());
boolean isSystemSchema = SystemSchemaUtils.containsSystemSchema(sqlStatementContext.getDatabaseType(), sqlStatementContext.getTablesContext().getSchemaNames(), database);
ShardingSpherePreconditions.checkState(isSystemSchema || database.containsDataSource(), () -> new StorageUnitNotExistedException(connectionSession.getDatabaseName()));
@@ -145,7 +145,7 @@ public final class DatabaseConnector implements DatabaseBackendHandler {
}
}
- private boolean isTransparentStatement(final SQLStatementContext<?> sqlStatementContext) {
+ private boolean isTransparentStatement(final SQLStatementContext sqlStatementContext) {
Optional<DataNodeContainedRule> dataNodeContainedRule = getDataNodeContainedRuleForShardingRule(database.getRuleMetaData().findRules(DataNodeContainedRule.class));
Collection<ColumnContainedRule> columnContainedRules = database.getRuleMetaData().findRules(ColumnContainedRule.class);
for (String each : sqlStatementContext.getTablesContext().getTableNames()) {
@@ -371,7 +371,7 @@ public final class DatabaseConnector implements DatabaseBackendHandler {
: queryResultSample.getMetaData().getColumnCount();
}
- private boolean hasSelectExpandProjections(final SQLStatementContext<?> sqlStatementContext) {
+ private boolean hasSelectExpandProjections(final SQLStatementContext sqlStatementContext) {
return sqlStatementContext instanceof SelectStatementContext && !((SelectStatementContext) sqlStatementContext).getProjectionsContext().getExpandProjections().isEmpty();
}
@@ -385,7 +385,7 @@ public final class DatabaseConnector implements DatabaseBackendHandler {
: queryHeaderBuilderEngine.build(queryResultSample.getMetaData(), database, columnIndex);
}
- private MergedResult mergeQuery(final SQLStatementContext<?> sqlStatementContext, final List<QueryResult> queryResults) throws SQLException {
+ private MergedResult mergeQuery(final SQLStatementContext sqlStatementContext, final List<QueryResult> queryResults) throws SQLException {
MergeEngine mergeEngine = new MergeEngine(database, ProxyContext.getInstance().getContextManager().getMetaDataContexts().getMetaData().getProps(),
databaseConnectionManager.getConnectionSession().getConnectionContext());
return mergeEngine.merge(queryResults, sqlStatementContext);
@@ -402,13 +402,13 @@ public final class DatabaseConnector implements DatabaseBackendHandler {
return result;
}
- private void mergeUpdateCount(final SQLStatementContext<?> sqlStatementContext, final UpdateResponseHeader response) {
+ private void mergeUpdateCount(final SQLStatementContext sqlStatementContext, final UpdateResponseHeader response) {
if (isNeedAccumulate(sqlStatementContext)) {
response.mergeUpdateCount();
}
}
- private boolean isNeedAccumulate(final SQLStatementContext<?> sqlStatementContext) {
+ private boolean isNeedAccumulate(final SQLStatementContext sqlStatementContext) {
Optional<DataNodeContainedRule> dataNodeContainedRule = database.getRuleMetaData().findSingleRule(DataNodeContainedRule.class);
return dataNodeContainedRule.isPresent() && dataNodeContainedRule.get().isNeedAccumulate(sqlStatementContext.getTablesContext().getTableNames());
}
diff --git a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/jdbc/executor/ProxyJDBCExecutor.java b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/jdbc/executor/ProxyJDBCExecutor.java
index 3c651ddac14..e78c187770e 100644
--- a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/jdbc/executor/ProxyJDBCExecutor.java
+++ b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/jdbc/executor/ProxyJDBCExecutor.java
@@ -71,7 +71,7 @@ public final class ProxyJDBCExecutor {
DatabaseType protocolType = database.getProtocolType();
Map<String, DatabaseType> storageTypes = database.getResourceMetaData().getStorageTypes();
processEngine.executeSQL(executionGroupContext, queryContext);
- SQLStatementContext<?> context = queryContext.getSqlStatementContext();
+ SQLStatementContext context = queryContext.getSqlStatementContext();
return jdbcExecutor.execute(executionGroupContext,
ProxyJDBCExecutorCallbackFactory.newInstance(type, protocolType, storageTypes, context.getSqlStatement(), databaseConnector, isReturnGeneratedKeys, isExceptionThrown,
true),
diff --git a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/distsql/DistSQLStatementContext.java b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/distsql/DistSQLStatementContext.java
index f4228e2168d..92ae0c8e36d 100644
--- a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/distsql/DistSQLStatementContext.java
+++ b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/distsql/DistSQLStatementContext.java
@@ -29,7 +29,7 @@ import org.apache.shardingsphere.infra.database.type.DatabaseType;
*/
@RequiredArgsConstructor
@Getter
-public final class DistSQLStatementContext implements SQLStatementContext<DistSQLStatement> {
+public final class DistSQLStatementContext implements SQLStatementContext {
private final DistSQLStatement sqlStatement;
diff --git a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/ProxyBackendHandlerFactory.java b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/ProxyBackendHandlerFactory.java
index fad61b698d3..6db0b64d554 100644
--- a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/ProxyBackendHandlerFactory.java
+++ b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/ProxyBackendHandlerFactory.java
@@ -105,7 +105,7 @@ public final class ProxyBackendHandlerFactory {
if (sqlStatement instanceof EmptyStatement) {
return new SkipBackendHandler(sqlStatement);
}
- SQLStatementContext<?> sqlStatementContext = sqlStatement instanceof DistSQLStatement ? new DistSQLStatementContext((DistSQLStatement) sqlStatement)
+ SQLStatementContext sqlStatementContext = sqlStatement instanceof DistSQLStatement ? new DistSQLStatementContext((DistSQLStatement) sqlStatement)
: SQLStatementContextFactory.newInstance(ProxyContext.getInstance().getContextManager().getMetaDataContexts().getMetaData(), sqlStatement, connectionSession.getDefaultDatabaseName());
QueryContext queryContext = new QueryContext(sqlStatementContext, sql, Collections.emptyList(), hintValueContext);
connectionSession.setQueryContext(queryContext);
@@ -122,10 +122,9 @@ public final class ProxyBackendHandlerFactory {
* @return created instance
* @throws SQLException SQL exception
*/
- @SuppressWarnings("unchecked")
public static ProxyBackendHandler newInstance(final DatabaseType databaseType, final QueryContext queryContext, final ConnectionSession connectionSession,
final boolean preferPreparedStatement) throws SQLException {
- SQLStatementContext<?> sqlStatementContext = queryContext.getSqlStatementContext();
+ SQLStatementContext sqlStatementContext = queryContext.getSqlStatementContext();
SQLStatement sqlStatement = sqlStatementContext.getSqlStatement();
databaseType.handleRollbackOnly(connectionSession.getTransactionStatus().isRollbackOnly(), sqlStatement);
checkUnsupportedSQLStatement(sqlStatement);
@@ -140,7 +139,7 @@ public final class ProxyBackendHandlerFactory {
String sql = queryContext.getSql();
handleAutoCommit(sqlStatement, connectionSession);
if (sqlStatement instanceof TCLStatement) {
- return TransactionBackendHandlerFactory.newInstance((SQLStatementContext<TCLStatement>) sqlStatementContext, sql, connectionSession);
+ return TransactionBackendHandlerFactory.newInstance(sqlStatementContext, sql, connectionSession);
}
Optional<ProxyBackendHandler> backendHandler = DatabaseAdminBackendHandlerFactory.newInstance(databaseType, sqlStatementContext, connectionSession, sql, queryContext.getParameters());
if (backendHandler.isPresent()) {
diff --git a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/DatabaseAdminBackendHandlerFactory.java b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/DatabaseAdminBackendHandlerFactory.java
index 381871bb968..0fcff36c630 100644
--- a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/DatabaseAdminBackendHandlerFactory.java
+++ b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/DatabaseAdminBackendHandlerFactory.java
@@ -45,7 +45,7 @@ public final class DatabaseAdminBackendHandlerFactory {
* @param connectionSession connection session
* @return created instance
*/
- public static Optional<ProxyBackendHandler> newInstance(final DatabaseType databaseType, final SQLStatementContext<?> sqlStatementContext, final ConnectionSession connectionSession) {
+ public static Optional<ProxyBackendHandler> newInstance(final DatabaseType databaseType, final SQLStatementContext sqlStatementContext, final ConnectionSession connectionSession) {
Optional<DatabaseAdminExecutorCreator> executorCreator = TypedSPILoader.findService(DatabaseAdminExecutorCreator.class, databaseType.getType());
if (!executorCreator.isPresent()) {
return Optional.empty();
@@ -64,7 +64,7 @@ public final class DatabaseAdminBackendHandlerFactory {
* @param parameters parameters
* @return created instance
*/
- public static Optional<ProxyBackendHandler> newInstance(final DatabaseType databaseType, final SQLStatementContext<?> sqlStatementContext,
+ public static Optional<ProxyBackendHandler> newInstance(final DatabaseType databaseType, final SQLStatementContext sqlStatementContext,
final ConnectionSession connectionSession, final String sql, final List<Object> parameters) {
Optional<DatabaseAdminExecutorCreator> executorCreator = TypedSPILoader.findService(DatabaseAdminExecutorCreator.class, databaseType.getType());
if (!executorCreator.isPresent()) {
@@ -74,7 +74,7 @@ public final class DatabaseAdminBackendHandlerFactory {
return executor.map(optional -> createProxyBackendHandler(sqlStatementContext, connectionSession, optional));
}
- private static ProxyBackendHandler createProxyBackendHandler(final SQLStatementContext<?> sqlStatementContext, final ConnectionSession connectionSession, final DatabaseAdminExecutor executor) {
+ private static ProxyBackendHandler createProxyBackendHandler(final SQLStatementContext sqlStatementContext, final ConnectionSession connectionSession, final DatabaseAdminExecutor executor) {
return executor instanceof DatabaseAdminQueryExecutor
? new DatabaseAdminQueryBackendHandler(connectionSession, (DatabaseAdminQueryExecutor) executor)
: new DatabaseAdminUpdateBackendHandler(connectionSession, sqlStatementContext.getSqlStatement(), executor);
diff --git a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/executor/DatabaseAdminExecutorCreator.java b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/executor/DatabaseAdminExecutorCreator.java
index 2d5fd1e034d..3cffaba59b3 100644
--- a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/executor/DatabaseAdminExecutorCreator.java
+++ b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/executor/DatabaseAdminExecutorCreator.java
@@ -36,7 +36,7 @@ public interface DatabaseAdminExecutorCreator extends TypedSPI {
* @param sqlStatementContext SQL statement context
* @return created instance
*/
- Optional<DatabaseAdminExecutor> create(SQLStatementContext<?> sqlStatementContext);
+ Optional<DatabaseAdminExecutor> create(SQLStatementContext sqlStatementContext);
/**
* Create database admin executor.
@@ -47,5 +47,5 @@ public interface DatabaseAdminExecutorCreator extends TypedSPI {
* @param parameters parameters
* @return created instance
*/
- Optional<DatabaseAdminExecutor> create(SQLStatementContext<?> sqlStatementContext, String sql, String databaseName, List<Object> parameters);
+ Optional<DatabaseAdminExecutor> create(SQLStatementContext sqlStatementContext, String sql, String databaseName, List<Object> parameters);
}
diff --git a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/data/DatabaseBackendHandlerFactory.java b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/data/DatabaseBackendHandlerFactory.java
index 10d6134d761..2c2b0ee86ff 100644
--- a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/data/DatabaseBackendHandlerFactory.java
+++ b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/data/DatabaseBackendHandlerFactory.java
@@ -46,7 +46,7 @@ public final class DatabaseBackendHandlerFactory {
* @return created instance
*/
public static DatabaseBackendHandler newInstance(final QueryContext queryContext, final ConnectionSession connectionSession, final boolean preferPreparedStatement) {
- SQLStatementContext<?> sqlStatementContext = queryContext.getSqlStatementContext();
+ SQLStatementContext sqlStatementContext = queryContext.getSqlStatementContext();
SQLStatement sqlStatement = sqlStatementContext.getSqlStatement();
if (sqlStatement instanceof DoStatement) {
return new UnicastDatabaseBackendHandler(queryContext, connectionSession);
diff --git a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/rul/sql/PreviewHandler.java b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/rul/sql/PreviewHandler.java
index e43e918a7fe..1979f4bb7eb 100644
--- a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/rul/sql/PreviewHandler.java
+++ b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/rul/sql/PreviewHandler.java
@@ -97,7 +97,7 @@ public final class PreviewHandler extends SQLRULBackendHandler<PreviewStatement>
ShardingSphereRuleMetaData globalRuleMetaData = metaDataContexts.getMetaData().getGlobalRuleMetaData();
SQLParserRule sqlParserRule = globalRuleMetaData.getSingleRule(SQLParserRule.class);
SQLStatement previewedStatement = sqlParserRule.getSQLParserEngine(databaseType).parse(getSqlStatement().getSql(), false);
- SQLStatementContext<?> sqlStatementContext = SQLStatementContextFactory.newInstance(metaDataContexts.getMetaData(), previewedStatement, databaseName);
+ SQLStatementContext sqlStatementContext = SQLStatementContextFactory.newInstance(metaDataContexts.getMetaData(), previewedStatement, databaseName);
QueryContext queryContext = new QueryContext(sqlStatementContext, getSqlStatement().getSql(), Collections.emptyList());
getConnectionSession().setQueryContext(queryContext);
if (sqlStatementContext instanceof CursorAvailable && sqlStatementContext instanceof CursorDefinitionAware) {
@@ -112,7 +112,7 @@ public final class PreviewHandler extends SQLRULBackendHandler<PreviewStatement>
return executionUnits.stream().map(this::buildRow).collect(Collectors.toList());
}
- private void setUpCursorDefinition(final SQLStatementContext<?> sqlStatementContext) {
+ private void setUpCursorDefinition(final SQLStatementContext sqlStatementContext) {
if (!((CursorAvailable) sqlStatementContext).getCursorName().isPresent()) {
return;
}
diff --git a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/transaction/TransactionBackendHandlerFactory.java b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/transaction/TransactionBackendHandlerFactory.java
index 76816323718..db09302219f 100644
--- a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/transaction/TransactionBackendHandlerFactory.java
+++ b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/transaction/TransactionBackendHandlerFactory.java
@@ -53,8 +53,8 @@ public final class TransactionBackendHandlerFactory {
* @param connectionSession connection session
* @return backend handler
*/
- public static ProxyBackendHandler newInstance(final SQLStatementContext<? extends TCLStatement> sqlStatementContext, final String sql, final ConnectionSession connectionSession) {
- TCLStatement tclStatement = sqlStatementContext.getSqlStatement();
+ public static ProxyBackendHandler newInstance(final SQLStatementContext sqlStatementContext, final String sql, final ConnectionSession connectionSession) {
+ TCLStatement tclStatement = (TCLStatement) sqlStatementContext.getSqlStatement();
if (tclStatement instanceof BeginTransactionStatement || tclStatement instanceof StartTransactionStatement) {
return new TransactionBackendHandler(tclStatement, TransactionOperationType.BEGIN, connectionSession);
}
diff --git a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/transaction/TransactionXAHandler.java b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/transaction/TransactionXAHandler.java
index a9b56c8b547..ca61a09a64d 100644
--- a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/transaction/TransactionXAHandler.java
+++ b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/transaction/TransactionXAHandler.java
@@ -18,16 +18,15 @@
package org.apache.shardingsphere.proxy.backend.handler.transaction;
import lombok.RequiredArgsConstructor;
-import org.apache.shardingsphere.infra.session.query.QueryContext;
import org.apache.shardingsphere.infra.binder.statement.SQLStatementContext;
+import org.apache.shardingsphere.infra.session.query.QueryContext;
import org.apache.shardingsphere.infra.util.exception.ShardingSpherePreconditions;
-import org.apache.shardingsphere.proxy.backend.connector.DatabaseConnectorFactory;
import org.apache.shardingsphere.proxy.backend.connector.DatabaseConnector;
+import org.apache.shardingsphere.proxy.backend.connector.DatabaseConnectorFactory;
import org.apache.shardingsphere.proxy.backend.handler.ProxyBackendHandler;
import org.apache.shardingsphere.proxy.backend.response.data.QueryResponseRow;
import org.apache.shardingsphere.proxy.backend.response.header.ResponseHeader;
import org.apache.shardingsphere.proxy.backend.session.ConnectionSession;
-import org.apache.shardingsphere.sql.parser.sql.common.statement.tcl.TCLStatement;
import org.apache.shardingsphere.sql.parser.sql.common.statement.tcl.XAStatement;
import org.apache.shardingsphere.transaction.xa.jta.exception.XATransactionNestedBeginException;
@@ -48,7 +47,7 @@ public final class TransactionXAHandler implements ProxyBackendHandler {
private final DatabaseConnector backendHandler;
- public TransactionXAHandler(final SQLStatementContext<? extends TCLStatement> sqlStatementContext, final String sql, final ConnectionSession connectionSession) {
+ public TransactionXAHandler(final SQLStatementContext sqlStatementContext, final String sql, final ConnectionSession connectionSession) {
this.tclStatement = (XAStatement) sqlStatementContext.getSqlStatement();
this.connectionSession = connectionSession;
QueryContext queryContext = new QueryContext(sqlStatementContext, sql, Collections.emptyList());
diff --git a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/session/ServerPreparedStatement.java b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/session/ServerPreparedStatement.java
index 4465d3a8e92..f4b1582e0ee 100644
--- a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/session/ServerPreparedStatement.java
+++ b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/session/ServerPreparedStatement.java
@@ -36,5 +36,5 @@ public interface ServerPreparedStatement {
*
* @return {@link SQLStatementContext}
*/
- SQLStatementContext<?> getSqlStatementContext();
+ SQLStatementContext getSqlStatementContext();
}
diff --git a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/connector/DatabaseConnectorFactoryTest.java b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/connector/DatabaseConnectorFactoryTest.java
index 584ca758d67..c52824a1d75 100644
--- a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/connector/DatabaseConnectorFactoryTest.java
+++ b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/connector/DatabaseConnectorFactoryTest.java
@@ -50,7 +50,7 @@ class DatabaseConnectorFactoryTest {
void assertNewDatabaseConnectorWithoutParameter() {
ProxyDatabaseConnectionManager databaseConnectionManager = mock(ProxyDatabaseConnectionManager.class, RETURNS_DEEP_STUBS);
when(databaseConnectionManager.getConnectionSession().getDatabaseName()).thenReturn("foo_db");
- SQLStatementContext<?> sqlStatementContext = mock(SQLStatementContext.class, RETURNS_DEEP_STUBS);
+ SQLStatementContext sqlStatementContext = mock(SQLStatementContext.class, RETURNS_DEEP_STUBS);
when(sqlStatementContext.getTablesContext().getSchemaNames()).thenReturn(Collections.emptyList());
QueryContext queryContext = new QueryContext(sqlStatementContext, "schemaName", Collections.emptyList());
ShardingSphereDatabase database = mockDatabase();
@@ -65,7 +65,7 @@ class DatabaseConnectorFactoryTest {
void assertNewDatabaseConnectorWithParameters() {
ProxyDatabaseConnectionManager databaseConnectionManager = mock(ProxyDatabaseConnectionManager.class, RETURNS_DEEP_STUBS);
when(databaseConnectionManager.getConnectionSession().getDatabaseName()).thenReturn("foo_db");
- SQLStatementContext<?> sqlStatementContext = mock(SQLStatementContext.class, RETURNS_DEEP_STUBS);
+ SQLStatementContext sqlStatementContext = mock(SQLStatementContext.class, RETURNS_DEEP_STUBS);
when(sqlStatementContext.getTablesContext().getSchemaNames()).thenReturn(Collections.emptyList());
ShardingSphereDatabase database = mockDatabase();
ContextManager contextManager = mockContextManager(database);
diff --git a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/connector/DatabaseConnectorTest.java b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/connector/DatabaseConnectorTest.java
index 3adb069814a..cb22893d472 100644
--- a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/connector/DatabaseConnectorTest.java
+++ b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/connector/DatabaseConnectorTest.java
@@ -135,7 +135,7 @@ class DatabaseConnectorTest {
@Test
void assertExecuteFederationAndClose() throws SQLException {
- SQLStatementContext<?> sqlStatementContext = mock(SelectStatementContext.class, RETURNS_DEEP_STUBS);
+ SQLStatementContext sqlStatementContext = mock(SelectStatementContext.class, RETURNS_DEEP_STUBS);
when(sqlStatementContext.getDatabaseType()).thenReturn(new MySQLDatabaseType());
DatabaseConnector engine =
DatabaseConnectorFactory.getInstance().newInstance(new QueryContext(sqlStatementContext, "schemaName", Collections.emptyList()), databaseConnectionManager, true);
@@ -162,7 +162,7 @@ class DatabaseConnectorTest {
@Test
void assertBinaryProtocolQueryHeader() throws SQLException, NoSuchFieldException, IllegalAccessException {
- SQLStatementContext<?> sqlStatementContext = mock(SQLStatementContext.class, RETURNS_DEEP_STUBS);
+ SQLStatementContext sqlStatementContext = mock(SQLStatementContext.class, RETURNS_DEEP_STUBS);
when(sqlStatementContext.getTablesContext().getSchemaNames()).thenReturn(Collections.emptyList());
DatabaseConnector engine = DatabaseConnectorFactory.getInstance().newInstance(new QueryContext(sqlStatementContext, "schemaName", Collections.emptyList()), databaseConnectionManager, true);
assertNotNull(engine);
@@ -178,7 +178,7 @@ class DatabaseConnectorTest {
@Override
protected List<MemoryQueryResultRow> init(final ShardingSphereRule rule, final ShardingSphereSchema schema,
- final SQLStatementContext<?> sqlStatementContext, final List<QueryResult> queryResults) {
+ final SQLStatementContext sqlStatementContext, final List<QueryResult> queryResults) {
return Collections.singletonList(mock(MemoryQueryResultRow.class));
}
});
@@ -211,7 +211,7 @@ class DatabaseConnectorTest {
@Test
void assertAddStatementCorrectly() {
- SQLStatementContext<?> sqlStatementContext = mock(SQLStatementContext.class, RETURNS_DEEP_STUBS);
+ SQLStatementContext sqlStatementContext = mock(SQLStatementContext.class, RETURNS_DEEP_STUBS);
when(sqlStatementContext.getTablesContext().getSchemaNames()).thenReturn(Collections.emptyList());
DatabaseConnector engine = DatabaseConnectorFactory.getInstance().newInstance(new QueryContext(sqlStatementContext, "schemaName", Collections.emptyList()), databaseConnectionManager, false);
engine.add(statement);
@@ -222,7 +222,7 @@ class DatabaseConnectorTest {
@Test
void assertAddResultSetCorrectly() {
- SQLStatementContext<?> sqlStatementContext = mock(SQLStatementContext.class, RETURNS_DEEP_STUBS);
+ SQLStatementContext sqlStatementContext = mock(SQLStatementContext.class, RETURNS_DEEP_STUBS);
when(sqlStatementContext.getTablesContext().getSchemaNames()).thenReturn(Collections.emptyList());
DatabaseConnector engine = DatabaseConnectorFactory.getInstance().newInstance(new QueryContext(sqlStatementContext, "schemaName", Collections.emptyList()), databaseConnectionManager, false);
engine.add(resultSet);
@@ -233,7 +233,7 @@ class DatabaseConnectorTest {
@Test
void assertCloseCorrectly() throws SQLException {
- SQLStatementContext<?> sqlStatementContext = mock(SQLStatementContext.class, RETURNS_DEEP_STUBS);
+ SQLStatementContext sqlStatementContext = mock(SQLStatementContext.class, RETURNS_DEEP_STUBS);
when(sqlStatementContext.getTablesContext().getSchemaNames()).thenReturn(Collections.emptyList());
DatabaseConnector engine = DatabaseConnectorFactory.getInstance().newInstance(new QueryContext(sqlStatementContext, "schemaName", Collections.emptyList()), databaseConnectionManager, false);
Collection<ResultSet> cachedResultSets = getField(engine, "cachedResultSets");
@@ -250,7 +250,7 @@ class DatabaseConnectorTest {
@Test
void assertCloseResultSetsWithExceptionThrown() throws SQLException {
- SQLStatementContext<?> sqlStatementContext = mock(SQLStatementContext.class, RETURNS_DEEP_STUBS);
+ SQLStatementContext sqlStatementContext = mock(SQLStatementContext.class, RETURNS_DEEP_STUBS);
when(sqlStatementContext.getTablesContext().getSchemaNames()).thenReturn(Collections.emptyList());
DatabaseConnector engine = DatabaseConnectorFactory.getInstance().newInstance(new QueryContext(sqlStatementContext, "schemaName", Collections.emptyList()), databaseConnectionManager, false);
Collection<ResultSet> cachedResultSets = getField(engine, "cachedResultSets");
diff --git a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/connector/ProxySQLExecutorTest.java b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/connector/ProxySQLExecutorTest.java
index 5e2e44a18dc..32e0ed4625d 100644
--- a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/connector/ProxySQLExecutorTest.java
+++ b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/connector/ProxySQLExecutorTest.java
@@ -201,7 +201,7 @@ class ProxySQLExecutorTest {
return new TruncateStatementContext(sqlStatement);
}
- private SQLStatementContext<?> createPostgreSQLTruncateStatementContext() {
+ private SQLStatementContext createPostgreSQLTruncateStatementContext() {
PostgreSQLTruncateStatement sqlStatement = new PostgreSQLTruncateStatement();
sqlStatement.getTables().add(new SimpleTableSegment(new TableNameSegment(0, 0, new IdentifierValue("t_order"))));
return new TruncateStatementContext(sqlStatement);
diff --git a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/data/DatabaseBackendHandlerFactoryTest.java b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/data/DatabaseBackendHandlerFactoryTest.java
index a467da6f533..8ec7c60e7c3 100644
--- a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/data/DatabaseBackendHandlerFactoryTest.java
+++ b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/data/DatabaseBackendHandlerFactoryTest.java
@@ -54,7 +54,7 @@ class DatabaseBackendHandlerFactoryTest {
@Test
void assertNewInstanceReturnedUnicastDatabaseBackendHandlerWithDAL() {
String sql = "DESC tbl";
- SQLStatementContext<DALStatement> sqlStatementContext = mock(SQLStatementContext.class);
+ SQLStatementContext sqlStatementContext = mock(SQLStatementContext.class);
when(sqlStatementContext.getSqlStatement()).thenReturn(mock(DALStatement.class));
DatabaseBackendHandler actual = DatabaseBackendHandlerFactory.newInstance(new QueryContext(sqlStatementContext, sql, Collections.emptyList()), mock(ConnectionSession.class), false);
assertThat(actual, instanceOf(UnicastDatabaseBackendHandler.class));
@@ -63,7 +63,7 @@ class DatabaseBackendHandlerFactoryTest {
@Test
void assertNewInstanceReturnedUnicastDatabaseBackendHandlerWithQueryWithoutFrom() {
String sql = "SELECT 1";
- SQLStatementContext<SelectStatement> sqlStatementContext = mock(SQLStatementContext.class);
+ SQLStatementContext sqlStatementContext = mock(SQLStatementContext.class);
when(sqlStatementContext.getSqlStatement()).thenReturn(mock(SelectStatement.class));
DatabaseBackendHandler actual = DatabaseBackendHandlerFactory.newInstance(new QueryContext(sqlStatementContext, sql, Collections.emptyList()), mock(ConnectionSession.class), false);
assertThat(actual, instanceOf(UnicastDatabaseBackendHandler.class));
@@ -72,7 +72,7 @@ class DatabaseBackendHandlerFactoryTest {
@Test
void assertNewInstanceReturnedSchemaAssignedDatabaseBackendHandler() {
String sql = "SELECT 1 FROM user WHERE id = 1";
- SQLStatementContext<SQLStatement> sqlStatementContext = mockSQLStatementContext();
+ SQLStatementContext sqlStatementContext = mockSQLStatementContext();
ConnectionSession connectionSession = mockConnectionSession();
ContextManager contextManager = mockContextManager();
when(ProxyContext.getInstance().getContextManager()).thenReturn(contextManager);
@@ -80,8 +80,8 @@ class DatabaseBackendHandlerFactoryTest {
assertThat(actual, instanceOf(DatabaseConnector.class));
}
- private SQLStatementContext<SQLStatement> mockSQLStatementContext() {
- SQLStatementContext<SQLStatement> result = mock(SQLStatementContext.class, RETURNS_DEEP_STUBS);
+ private SQLStatementContext mockSQLStatementContext() {
+ SQLStatementContext result = mock(SQLStatementContext.class, RETURNS_DEEP_STUBS);
when(result.getSqlStatement()).thenReturn(mock(SQLStatement.class));
when(result.getTablesContext().getSchemaNames()).thenReturn(Collections.emptyList());
return result;
diff --git a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/transaction/TransactionBackendHandlerFactoryTest.java b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/transaction/TransactionBackendHandlerFactoryTest.java
index 7ef94612a94..487966911d3 100644
--- a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/transaction/TransactionBackendHandlerFactoryTest.java
+++ b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/transaction/TransactionBackendHandlerFactoryTest.java
@@ -65,7 +65,7 @@ class TransactionBackendHandlerFactoryTest {
ProxyDatabaseConnectionManager databaseConnectionManager = mock(ProxyDatabaseConnectionManager.class);
when(databaseConnectionManager.getConnectionSession()).thenReturn(connectionSession);
when(connectionSession.getDatabaseConnectionManager()).thenReturn(databaseConnectionManager);
- SQLStatementContext<CommitStatement> context = mock(SQLStatementContext.class);
+ SQLStatementContext context = mock(SQLStatementContext.class);
when(context.getSqlStatement()).thenReturn(mock(CommitStatement.class));
ContextManager contextManager = mockContextManager();
when(ProxyContext.getInstance().getContextManager()).thenReturn(contextManager);
@@ -82,7 +82,7 @@ class TransactionBackendHandlerFactoryTest {
ProxyDatabaseConnectionManager databaseConnectionManager = mock(ProxyDatabaseConnectionManager.class);
when(databaseConnectionManager.getConnectionSession()).thenReturn(connectionSession);
when(connectionSession.getDatabaseConnectionManager()).thenReturn(databaseConnectionManager);
- SQLStatementContext<RollbackStatement> context = mock(SQLStatementContext.class);
+ SQLStatementContext context = mock(SQLStatementContext.class);
when(context.getSqlStatement()).thenReturn(mock(RollbackStatement.class));
ContextManager contextManager = mockContextManager();
when(ProxyContext.getInstance().getContextManager()).thenReturn(contextManager);
@@ -99,10 +99,9 @@ class TransactionBackendHandlerFactoryTest {
return result;
}
- @SuppressWarnings("unchecked")
@Test
void assertBroadcastBackendHandlerReturnedWhenTCLStatementNotHit() {
- SQLStatementContext<TCLStatement> context = mock(SQLStatementContext.class);
+ SQLStatementContext context = mock(SQLStatementContext.class);
when(context.getSqlStatement()).thenReturn(mock(TCLStatement.class));
DatabaseConnectorFactory mockFactory = mock(DatabaseConnectorFactory.class);
when(DatabaseConnectorFactory.getInstance()).thenReturn(mockFactory);
diff --git a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/session/ServerPreparedStatementRegistryTest.java b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/session/ServerPreparedStatementRegistryTest.java
index f1cd42112d6..77f88dd995a 100644
--- a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/session/ServerPreparedStatementRegistryTest.java
+++ b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/session/ServerPreparedStatementRegistryTest.java
@@ -53,7 +53,7 @@ class ServerPreparedStatementRegistryTest {
}
@Override
- public SQLStatementContext<?> getSqlStatementContext() {
+ public SQLStatementContext getSqlStatementContext() {
throw new UnsupportedSQLOperationException("");
}
}
diff --git a/proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/converter/HBaseOperationConverterFactory.java b/proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/converter/HBaseOperationConverterFactory.java
index f94fee477ed..13e2a7fb8ee 100644
--- a/proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/converter/HBaseOperationConverterFactory.java
+++ b/proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/converter/HBaseOperationConverterFactory.java
@@ -45,7 +45,7 @@ public final class HBaseOperationConverterFactory {
* @return instance of converter
* @throws HBaseOperationException HBase operation exception
*/
- public static HBaseOperationConverter newInstance(final SQLStatementContext<?> sqlStatementContext) {
+ public static HBaseOperationConverter newInstance(final SQLStatementContext sqlStatementContext) {
if (sqlStatementContext instanceof SelectStatementContext) {
return new HBaseSelectOperationConverter(sqlStatementContext);
}
diff --git a/proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/converter/type/HBaseDeleteOperationConverter.java b/proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/converter/type/HBaseDeleteOperationConverter.java
index f3ec58b69f8..fe917b4f641 100644
--- a/proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/converter/type/HBaseDeleteOperationConverter.java
+++ b/proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/converter/type/HBaseDeleteOperationConverter.java
@@ -41,7 +41,7 @@ import java.util.stream.Collectors;
@RequiredArgsConstructor
public final class HBaseDeleteOperationConverter implements HBaseOperationConverter {
- private final SQLStatementContext<?> sqlStatementContext;
+ private final SQLStatementContext sqlStatementContext;
@Override
public HBaseOperation convert() {
diff --git a/proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/converter/type/HBaseInsertOperationConverter.java b/proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/converter/type/HBaseInsertOperationConverter.java
index bb63dcaabbb..4974d23557a 100644
--- a/proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/converter/type/HBaseInsertOperationConverter.java
+++ b/proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/converter/type/HBaseInsertOperationConverter.java
@@ -37,7 +37,7 @@ import java.util.stream.Collectors;
@RequiredArgsConstructor
public final class HBaseInsertOperationConverter implements HBaseOperationConverter {
- private final SQLStatementContext<?> sqlStatementContext;
+ private final SQLStatementContext sqlStatementContext;
@Override
public HBaseOperation convert() {
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 cc60c2dcd18..9834dc8d8d4 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
@@ -33,7 +33,7 @@ import java.util.stream.Collectors;
@RequiredArgsConstructor
public final class HBaseRegionReloadOperationConverter implements HBaseOperationConverter {
- private final SQLStatementContext<?> sqlStatementContext;
+ private final SQLStatementContext sqlStatementContext;
@Override
public HBaseOperation convert() {
diff --git a/proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/converter/type/HBaseSelectOperationConverter.java b/proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/converter/type/HBaseSelectOperationConverter.java
index 0bfa15f34df..a071d23914a 100644
--- a/proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/converter/type/HBaseSelectOperationConverter.java
+++ b/proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/converter/type/HBaseSelectOperationConverter.java
@@ -53,7 +53,7 @@ import java.util.stream.Collectors;
@Slf4j
public final class HBaseSelectOperationConverter implements HBaseOperationConverter {
- private final SQLStatementContext<?> sqlStatementContext;
+ private final SQLStatementContext sqlStatementContext;
@Override
public HBaseOperation convert() {
diff --git a/proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/converter/type/HBaseUpdateOperationConverter.java b/proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/converter/type/HBaseUpdateOperationConverter.java
index b404141e731..9fbfe1d1d77 100644
--- a/proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/converter/type/HBaseUpdateOperationConverter.java
+++ b/proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/converter/type/HBaseUpdateOperationConverter.java
@@ -43,7 +43,7 @@ import java.util.stream.Collectors;
@RequiredArgsConstructor
public final class HBaseUpdateOperationConverter implements HBaseOperationConverter {
- private final SQLStatementContext<?> sqlStatementContext;
+ private final SQLStatementContext sqlStatementContext;
@Override
public HBaseOperation convert() {
diff --git a/proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/handler/HBaseBackendQueryHandler.java b/proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/handler/HBaseBackendQueryHandler.java
index 46c36e9a208..1234c0d91f5 100644
--- a/proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/handler/HBaseBackendQueryHandler.java
+++ b/proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/handler/HBaseBackendQueryHandler.java
@@ -44,7 +44,7 @@ public final class HBaseBackendQueryHandler implements HBaseBackendHandler {
@Override
public ResponseHeader execute() {
- SQLStatementContext<?> sqlStatementContext = SQLStatementContextFactory.newInstance(null, sqlStatement, "");
+ SQLStatementContext sqlStatementContext = SQLStatementContextFactory.newInstance(null, sqlStatement, "");
resultSet.init(sqlStatementContext);
List<QueryHeader> queryHeaders = resultSet.getColumnNames().stream().map(each -> new QueryHeader("", "", each, each, Types.CHAR, "CHAR", 255, 0, false, false, false, false))
.collect(Collectors.toList());
diff --git a/proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/handler/HBaseBackendUpdateHandler.java b/proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/handler/HBaseBackendUpdateHandler.java
index ed1a3e3ef46..48af19acd07 100644
--- a/proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/handler/HBaseBackendUpdateHandler.java
+++ b/proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/handler/HBaseBackendUpdateHandler.java
@@ -47,7 +47,7 @@ public final class HBaseBackendUpdateHandler implements DatabaseBackendHandler {
*/
@Override
public UpdateResponseHeader execute() {
- SQLStatementContext<?> sqlStatementContext = SQLStatementContextFactory.newInstance(null, sqlStatement, "");
+ SQLStatementContext sqlStatementContext = SQLStatementContextFactory.newInstance(null, sqlStatement, "");
HBaseOperationConverter converter = HBaseOperationConverterFactory.newInstance(sqlStatementContext);
Collection<UpdateResult> updateResults = updater.executeUpdate(converter.convert());
return new UpdateResponseHeader(sqlStatement, updateResults);
diff --git a/proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/result/query/HBaseDescribeResultSet.java b/proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/result/query/HBaseDescribeResultSet.java
index 143ebf4e831..0c01bc046e9 100644
--- a/proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/result/query/HBaseDescribeResultSet.java
+++ b/proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/result/query/HBaseDescribeResultSet.java
@@ -44,7 +44,7 @@ public final class HBaseDescribeResultSet implements HBaseQueryResultSet {
* @param sqlStatementContext SQL statement context
*/
@Override
- public void init(final SQLStatementContext<?> sqlStatementContext) {
+ public void init(final SQLStatementContext sqlStatementContext) {
ShowCreateTableStatementContext statementContext = (ShowCreateTableStatementContext) sqlStatementContext;
String tableName = statementContext.getTablesContext().getTableNames().iterator().next();
boolean isExists = HBaseExecutor.executeAdmin(HBaseContext.getInstance().getConnection(tableName), admin -> admin.tableExists(TableName.valueOf(tableName)));
diff --git a/proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/result/query/HBaseGetResultSet.java b/proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/result/query/HBaseGetResultSet.java
index cb09a3a8200..4caa83ae651 100644
--- a/proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/result/query/HBaseGetResultSet.java
+++ b/proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/result/query/HBaseGetResultSet.java
@@ -85,7 +85,7 @@ public final class HBaseGetResultSet implements HBaseQueryResultSet {
* @param sqlStatementContext SQL statement context
*/
@Override
- public void init(final SQLStatementContext<?> sqlStatementContext) {
+ public void init(final SQLStatementContext sqlStatementContext) {
statementContext = (SelectStatementContext) sqlStatementContext;
initResultNum(sqlStatementContext);
HBaseOperation operation = HBaseOperationConverterFactory.newInstance(sqlStatementContext).convert();
@@ -100,7 +100,7 @@ public final class HBaseGetResultSet implements HBaseQueryResultSet {
logExecuteTime(startMills);
}
- private void initResultNum(final SQLStatementContext<?> sqlStatementContext) {
+ private void initResultNum(final SQLStatementContext sqlStatementContext) {
resultNum = 0;
maxLimitResultSize = HBaseContext.getInstance().getProps().<Long>getValue(HBasePropertyKey.MAX_SCAN_LIMIT_SIZE);
Optional<PaginationValueSegment> paginationSegment = ((MySQLSelectStatement) sqlStatementContext.getSqlStatement()).getLimit().flatMap(LimitSegment::getRowCount);
diff --git a/proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/result/query/HBaseListResultSet.java b/proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/result/query/HBaseListResultSet.java
index cd2d0921b65..6292a2c1c45 100644
--- a/proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/result/query/HBaseListResultSet.java
+++ b/proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/result/query/HBaseListResultSet.java
@@ -45,7 +45,7 @@ public final class HBaseListResultSet implements HBaseQueryResultSet {
* @param sqlStatementContext SQL statement context
*/
@Override
- public void init(final SQLStatementContext<?> sqlStatementContext) {
+ public void init(final SQLStatementContext sqlStatementContext) {
ShowTablesStatementContext context = (ShowTablesStatementContext) sqlStatementContext;
Map<String, String> result;
if (context.getSqlStatement().getFromSchema().isPresent()) {
diff --git a/proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/result/query/HBaseQueryResultSet.java b/proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/result/query/HBaseQueryResultSet.java
index 7c849c7dfef..862c5b0543e 100644
--- a/proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/result/query/HBaseQueryResultSet.java
+++ b/proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/result/query/HBaseQueryResultSet.java
@@ -31,7 +31,7 @@ public interface HBaseQueryResultSet extends TypedSPI {
*
* @param sqlStatementContext SQL statement context
*/
- void init(SQLStatementContext<?> sqlStatementContext);
+ void init(SQLStatementContext sqlStatementContext);
/**
* Get result set column names.
diff --git a/proxy/backend/type/hbase/src/test/java/org/apache/shardingsphere/proxy/backend/hbase/converter/HBaseOperationConverterFactoryTest.java b/proxy/backend/type/hbase/src/test/java/org/apache/shardingsphere/proxy/backend/hbase/converter/HBaseOperationConverterFactoryTest.java
index 9e38c932b92..3ccf54bd233 100644
--- a/proxy/backend/type/hbase/src/test/java/org/apache/shardingsphere/proxy/backend/hbase/converter/HBaseOperationConverterFactoryTest.java
+++ b/proxy/backend/type/hbase/src/test/java/org/apache/shardingsphere/proxy/backend/hbase/converter/HBaseOperationConverterFactoryTest.java
@@ -38,35 +38,35 @@ class HBaseOperationConverterFactoryTest {
@Test
void assertExecuteSelectStatement() {
- SQLStatementContext<?> sqlStatementContext = mock(SelectStatementContext.class);
+ SQLStatementContext sqlStatementContext = mock(SelectStatementContext.class);
HBaseOperationConverter converter = HBaseOperationConverterFactory.newInstance(sqlStatementContext);
assertThat(converter, instanceOf(HBaseSelectOperationConverter.class));
}
@Test
void assertExecuteInsertStatement() {
- SQLStatementContext<?> sqlStatementContext = mock(InsertStatementContext.class);
+ SQLStatementContext sqlStatementContext = mock(InsertStatementContext.class);
HBaseOperationConverter converter = HBaseOperationConverterFactory.newInstance(sqlStatementContext);
assertThat(converter, instanceOf(HBaseInsertOperationConverter.class));
}
@Test
void assertExecuteUpdateStatement() {
- SQLStatementContext<?> sqlStatementContext = mock(UpdateStatementContext.class);
+ SQLStatementContext sqlStatementContext = mock(UpdateStatementContext.class);
HBaseOperationConverter converter = HBaseOperationConverterFactory.newInstance(sqlStatementContext);
assertThat(converter, instanceOf(HBaseUpdateOperationConverter.class));
}
@Test
void assertExecuteDeleteStatement() {
- SQLStatementContext<?> sqlStatementContext = mock(DeleteStatementContext.class);
+ SQLStatementContext sqlStatementContext = mock(DeleteStatementContext.class);
HBaseOperationConverter converter = HBaseOperationConverterFactory.newInstance(sqlStatementContext);
assertThat(converter, instanceOf(HBaseDeleteOperationConverter.class));
}
@Test
void assertExecuteFlushStatement() {
- SQLStatementContext<?> sqlStatementContext = mock(FlushStatementContext.class);
+ SQLStatementContext sqlStatementContext = mock(FlushStatementContext.class);
HBaseOperationConverter converter = HBaseOperationConverterFactory.newInstance(sqlStatementContext);
assertThat(converter, instanceOf(HBaseRegionReloadOperationConverter.class));
}
diff --git a/proxy/backend/type/hbase/src/test/java/org/apache/shardingsphere/proxy/backend/hbase/converter/type/HBaseDeleteOperationConverterTest.java b/proxy/backend/type/hbase/src/test/java/org/apache/shardingsphere/proxy/backend/hbase/converter/type/HBaseDeleteOperationConverterTest.java
index f146bb5b16d..58a879455ed 100644
--- a/proxy/backend/type/hbase/src/test/java/org/apache/shardingsphere/proxy/backend/hbase/converter/type/HBaseDeleteOperationConverterTest.java
+++ b/proxy/backend/type/hbase/src/test/java/org/apache/shardingsphere/proxy/backend/hbase/converter/type/HBaseDeleteOperationConverterTest.java
@@ -37,7 +37,7 @@ class HBaseDeleteOperationConverterTest {
@Test
void assertConvert() {
SQLStatement sqlStatement = HBaseSupportedSQLStatement.parseSQLStatement(HBaseSupportedSQLStatement.getDeleteStatement());
- SQLStatementContext<?> sqlStatementContext = SQLStatementContextFactory.newInstance(null, sqlStatement, "");
+ SQLStatementContext sqlStatementContext = SQLStatementContextFactory.newInstance(null, sqlStatement, "");
HBaseOperationConverter converter = HBaseOperationConverterFactory.newInstance(sqlStatementContext);
HBaseOperation hbaseOperation = converter.convert();
assertThat(hbaseOperation.getTableName(), is(HBaseSupportedSQLStatement.HBASE_DATABASE_TABLE_NAME));
@@ -48,7 +48,7 @@ class HBaseDeleteOperationConverterTest {
void assertConvertWithIn() {
String sql = " delete /*+ hbase */ from t_test_order where rowKey in ('2', '1')";
SQLStatement sqlStatement = HBaseSupportedSQLStatement.parseSQLStatement(sql);
- SQLStatementContext<?> sqlStatementContext = SQLStatementContextFactory.newInstance(null, sqlStatement, "");
+ SQLStatementContext sqlStatementContext = SQLStatementContextFactory.newInstance(null, sqlStatement, "");
HBaseOperationConverter converter = HBaseOperationConverterFactory.newInstance(sqlStatementContext);
HBaseOperation hBaseOperation = converter.convert();
assertThat(hBaseOperation.getTableName(), is(HBaseSupportedSQLStatement.HBASE_DATABASE_TABLE_NAME));
diff --git a/proxy/backend/type/hbase/src/test/java/org/apache/shardingsphere/proxy/backend/hbase/converter/type/HBaseUpdateOperationConverterTest.java b/proxy/backend/type/hbase/src/test/java/org/apache/shardingsphere/proxy/backend/hbase/converter/type/HBaseUpdateOperationConverterTest.java
index 8f75b39092d..beb01815670 100644
--- a/proxy/backend/type/hbase/src/test/java/org/apache/shardingsphere/proxy/backend/hbase/converter/type/HBaseUpdateOperationConverterTest.java
+++ b/proxy/backend/type/hbase/src/test/java/org/apache/shardingsphere/proxy/backend/hbase/converter/type/HBaseUpdateOperationConverterTest.java
@@ -37,7 +37,7 @@ class HBaseUpdateOperationConverterTest {
@Test
void assertConvert() {
SQLStatement sqlStatement = HBaseSupportedSQLStatement.parseSQLStatement(HBaseSupportedSQLStatement.getUpdateStatement());
- SQLStatementContext<?> sqlStatementContext = SQLStatementContextFactory.newInstance(null, sqlStatement, "");
+ SQLStatementContext sqlStatementContext = SQLStatementContextFactory.newInstance(null, sqlStatement, "");
HBaseOperationConverter converter = HBaseOperationConverterFactory.newInstance(sqlStatementContext);
HBaseOperation operation = converter.convert();
assertThat(operation.getTableName(), is(HBaseSupportedSQLStatement.HBASE_DATABASE_TABLE_NAME));
@@ -48,7 +48,7 @@ class HBaseUpdateOperationConverterTest {
void assertConvertWithIn() {
String sql = " update /*+ hbase */ t_test_order set age = 10 where rowKey in (1, '2')";
SQLStatement sqlStatement = HBaseSupportedSQLStatement.parseSQLStatement(sql);
- SQLStatementContext<?> sqlStatementContext = SQLStatementContextFactory.newInstance(null, sqlStatement, "");
+ SQLStatementContext sqlStatementContext = SQLStatementContextFactory.newInstance(null, sqlStatement, "");
HBaseOperationConverter converter = HBaseOperationConverterFactory.newInstance(sqlStatementContext);
HBaseOperation operation = converter.convert();
assertThat(operation.getTableName(), is(HBaseSupportedSQLStatement.HBASE_DATABASE_TABLE_NAME));
diff --git a/proxy/backend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/backend/mysql/handler/admin/MySQLAdminExecutorCreator.java b/proxy/backend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/backend/mysql/handler/admin/MySQLAdminExecutorCreator.java
index 3ddf1f8f71d..a18a7b74ddd 100644
--- a/proxy/backend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/backend/mysql/handler/admin/MySQLAdminExecutorCreator.java
+++ b/proxy/backend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/backend/mysql/handler/admin/MySQLAdminExecutorCreator.java
@@ -65,7 +65,7 @@ public final class MySQLAdminExecutorCreator implements DatabaseAdminExecutorCre
private static final String PERFORMANCE_SCHEMA = "performance_schema";
@Override
- public Optional<DatabaseAdminExecutor> create(final SQLStatementContext<?> sqlStatementContext) {
+ public Optional<DatabaseAdminExecutor> create(final SQLStatementContext sqlStatementContext) {
SQLStatement sqlStatement = sqlStatementContext.getSqlStatement();
if (sqlStatement instanceof MySQLShowFunctionStatusStatement) {
return Optional.of(new ShowFunctionStatusExecutor((MySQLShowFunctionStatusStatement) sqlStatement));
@@ -80,7 +80,7 @@ public final class MySQLAdminExecutorCreator implements DatabaseAdminExecutorCre
}
@Override
- public Optional<DatabaseAdminExecutor> create(final SQLStatementContext<?> sqlStatementContext, final String sql, final String databaseName, final List<Object> parameters) {
+ public Optional<DatabaseAdminExecutor> create(final SQLStatementContext sqlStatementContext, final String sql, final String databaseName, final List<Object> parameters) {
SQLStatement sqlStatement = sqlStatementContext.getSqlStatement();
if (sqlStatement instanceof UseStatement) {
return Optional.of(new UseDatabaseExecutor((UseStatement) sqlStatement));
diff --git a/proxy/backend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/backend/mysql/handler/admin/MySQLSetVariableAdminExecutor.java b/proxy/backend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/backend/mysql/handler/admin/MySQLSetVariableAdminExecutor.java
index b684f09e068..adb81fb51c8 100644
--- a/proxy/backend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/backend/mysql/handler/admin/MySQLSetVariableAdminExecutor.java
+++ b/proxy/backend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/backend/mysql/handler/admin/MySQLSetVariableAdminExecutor.java
@@ -84,7 +84,7 @@ public final class MySQLSetVariableAdminExecutor implements DatabaseAdminExecuto
MetaDataContexts metaDataContexts = ProxyContext.getInstance().getContextManager().getMetaDataContexts();
SQLParserRule sqlParserRule = metaDataContexts.getMetaData().getGlobalRuleMetaData().getSingleRule(SQLParserRule.class);
SQLStatement sqlStatement = sqlParserRule.getSQLParserEngine(TypedSPILoader.getService(DatabaseType.class, "MySQL").getType()).parse(sql, false);
- SQLStatementContext<?> sqlStatementContext = SQLStatementContextFactory.newInstance(ProxyContext.getInstance().getContextManager().getMetaDataContexts().getMetaData(),
+ SQLStatementContext sqlStatementContext = SQLStatementContextFactory.newInstance(ProxyContext.getInstance().getContextManager().getMetaDataContexts().getMetaData(),
sqlStatement, connectionSession.getDefaultDatabaseName());
DatabaseBackendHandler databaseBackendHandler = DatabaseConnectorFactory.getInstance()
.newInstance(new QueryContext(sqlStatementContext, sql, Collections.emptyList()), connectionSession.getDatabaseConnectionManager(), false);
diff --git a/proxy/backend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/backend/mysql/handler/admin/executor/UnicastResourceShowExecutor.java b/proxy/backend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/backend/mysql/handler/admin/executor/UnicastResourceShowExecutor.java
index 9e62d2d233c..a3fe29489df 100644
--- a/proxy/backend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/backend/mysql/handler/admin/executor/UnicastResourceShowExecutor.java
+++ b/proxy/backend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/backend/mysql/handler/admin/executor/UnicastResourceShowExecutor.java
@@ -78,7 +78,7 @@ public final class UnicastResourceShowExecutor implements DatabaseAdminQueryExec
ShardingSpherePreconditions.checkState(ProxyContext.getInstance().getDatabase(databaseName).containsDataSource(), () -> new StorageUnitNotExistedException(databaseName));
try {
connectionSession.setCurrentDatabase(databaseName);
- SQLStatementContext<?> sqlStatementContext = SQLStatementContextFactory.newInstance(ProxyContext.getInstance().getContextManager().getMetaDataContexts().getMetaData(),
+ SQLStatementContext sqlStatementContext = SQLStatementContextFactory.newInstance(ProxyContext.getInstance().getContextManager().getMetaDataContexts().getMetaData(),
sqlStatement, connectionSession.getDefaultDatabaseName());
databaseConnector = databaseConnectorFactory.newInstance(new QueryContext(sqlStatementContext, sql, Collections.emptyList()),
connectionSession.getDatabaseConnectionManager(), false);
diff --git a/proxy/backend/type/opengauss/src/main/java/org/apache/shardingsphere/proxy/backend/opengauss/handler/admin/OpenGaussAdminExecutorCreator.java b/proxy/backend/type/opengauss/src/main/java/org/apache/shardingsphere/proxy/backend/opengauss/handler/admin/OpenGaussAdminExecutorCreator.java
index f73e9aad231..6fd41372ee3 100644
--- a/proxy/backend/type/opengauss/src/main/java/org/apache/shardingsphere/proxy/backend/opengauss/handler/admin/OpenGaussAdminExecutorCreator.java
+++ b/proxy/backend/type/opengauss/src/main/java/org/apache/shardingsphere/proxy/backend/opengauss/handler/admin/OpenGaussAdminExecutorCreator.java
@@ -49,19 +49,19 @@ public final class OpenGaussAdminExecutorCreator implements DatabaseAdminExecuto
private final PostgreSQLAdminExecutorCreator delegated = new PostgreSQLAdminExecutorCreator();
@Override
- public Optional<DatabaseAdminExecutor> create(final SQLStatementContext<?> sqlStatementContext) {
+ public Optional<DatabaseAdminExecutor> create(final SQLStatementContext sqlStatementContext) {
return delegated.create(sqlStatementContext);
}
@Override
- public Optional<DatabaseAdminExecutor> create(final SQLStatementContext<?> sqlStatementContext, final String sql, final String databaseName, final List<Object> parameters) {
+ public Optional<DatabaseAdminExecutor> create(final SQLStatementContext sqlStatementContext, final String sql, final String databaseName, final List<Object> parameters) {
if (isSystemCatalogQuery(sqlStatementContext)) {
return Optional.of(new OpenGaussSystemCatalogAdminQueryExecutor(sql));
}
return delegated.create(sqlStatementContext, sql, databaseName, parameters);
}
- private boolean isSystemCatalogQuery(final SQLStatementContext<?> sqlStatementContext) {
+ private boolean isSystemCatalogQuery(final SQLStatementContext sqlStatementContext) {
if (sqlStatementContext.getTablesContext().getTableNames().contains(OG_DATABASE)) {
return true;
}
diff --git a/proxy/backend/type/opengauss/src/test/java/org/apache/shardingsphere/proxy/backend/opengauss/handler/admin/OpenGaussAdminExecutorCreatorTest.java b/proxy/backend/type/opengauss/src/test/java/org/apache/shardingsphere/proxy/backend/opengauss/handler/admin/OpenGaussAdminExecutorCreatorTest.java
index 3cd4f57052f..857b2024df1 100644
--- a/proxy/backend/type/opengauss/src/test/java/org/apache/shardingsphere/proxy/backend/opengauss/handler/admin/OpenGaussAdminExecutorCreatorTest.java
+++ b/proxy/backend/type/opengauss/src/test/java/org/apache/shardingsphere/proxy/backend/opengauss/handler/admin/OpenGaussAdminExecutorCreatorTest.java
@@ -58,7 +58,7 @@ class OpenGaussAdminExecutorCreatorTest {
@Test
void assertCreateOtherExecutor() {
OpenGaussAdminExecutorCreator creator = new OpenGaussAdminExecutorCreator();
- SQLStatementContext<?> sqlStatementContext = mock(SQLStatementContext.class, RETURNS_DEEP_STUBS);
+ SQLStatementContext sqlStatementContext = mock(SQLStatementContext.class, RETURNS_DEEP_STUBS);
when(sqlStatementContext.getTablesContext().getTableNames()).thenReturn(Collections.emptyList());
assertThat(creator.create(sqlStatementContext), is(Optional.empty()));
assertThat(creator.create(sqlStatementContext, "", "", Collections.emptyList()), is(Optional.empty()));
diff --git a/proxy/backend/type/opengauss/src/test/java/org/apache/shardingsphere/proxy/backend/opengauss/handler/admin/OpenGaussAdminExecutorFactoryTest.java b/proxy/backend/type/opengauss/src/test/java/org/apache/shardingsphere/proxy/backend/opengauss/handler/admin/OpenGaussAdminExecutorFactoryTest.java
index e0acc45818a..67946db94ce 100644
--- a/proxy/backend/type/opengauss/src/test/java/org/apache/shardingsphere/proxy/backend/opengauss/handler/admin/OpenGaussAdminExecutorFactoryTest.java
+++ b/proxy/backend/type/opengauss/src/test/java/org/apache/shardingsphere/proxy/backend/opengauss/handler/admin/OpenGaussAdminExecutorFactoryTest.java
@@ -54,7 +54,7 @@ class OpenGaussAdminExecutorFactoryTest {
@Test
void assertNewInstanceWithSQLStatementContextOnly() {
- SQLStatementContext<?> sqlStatementContext = mock(SQLStatementContext.class);
+ SQLStatementContext sqlStatementContext = mock(SQLStatementContext.class);
DatabaseAdminExecutor expected = mock(DatabaseAdminExecutor.class);
when(postgreSQLAdminExecutorFactory.create(sqlStatementContext)).thenReturn(Optional.of(expected));
Optional<DatabaseAdminExecutor> actual = openGaussAdminExecutorFactory.create(sqlStatementContext);
@@ -64,7 +64,7 @@ class OpenGaussAdminExecutorFactoryTest {
@Test
void assertNewInstanceWithSelectDatabase() {
- SQLStatementContext<?> sqlStatementContext = mock(SQLStatementContext.class, RETURNS_DEEP_STUBS);
+ SQLStatementContext sqlStatementContext = mock(SQLStatementContext.class, RETURNS_DEEP_STUBS);
when(sqlStatementContext.getTablesContext().getTableNames()).thenReturn(Collections.singletonList("pg_database"));
String sql = "select datcompatibility from pg_database where datname = 'sharding_db'";
Optional<DatabaseAdminExecutor> actual = openGaussAdminExecutorFactory.create(sqlStatementContext, sql, "", Collections.emptyList());
@@ -74,7 +74,7 @@ class OpenGaussAdminExecutorFactoryTest {
@Test
void assertNewInstanceWithOtherSQL() {
- SQLStatementContext<?> sqlStatementContext = mock(SQLStatementContext.class, RETURNS_DEEP_STUBS);
+ SQLStatementContext sqlStatementContext = mock(SQLStatementContext.class, RETURNS_DEEP_STUBS);
when(sqlStatementContext.getTablesContext().getTableNames()).thenReturn(Collections.emptyList());
DatabaseAdminExecutor expected = mock(DatabaseAdminExecutor.class);
when(postgreSQLAdminExecutorFactory.create(sqlStatementContext, "", "", Collections.emptyList())).thenReturn(Optional.of(expected));
diff --git a/proxy/backend/type/postgresql/src/main/java/org/apache/shardingsphere/proxy/backend/postgresql/handler/admin/PostgreSQLAdminExecutorCreator.java b/proxy/backend/type/postgresql/src/main/java/org/apache/shardingsphere/proxy/backend/postgresql/handler/admin/PostgreSQLAdminExecutorCreator.java
index 1c3620efde8..f984b511609 100644
--- a/proxy/backend/type/postgresql/src/main/java/org/apache/shardingsphere/proxy/backend/postgresql/handler/admin/PostgreSQLAdminExecutorCreator.java
+++ b/proxy/backend/type/postgresql/src/main/java/org/apache/shardingsphere/proxy/backend/postgresql/handler/admin/PostgreSQLAdminExecutorCreator.java
@@ -62,7 +62,7 @@ public final class PostgreSQLAdminExecutorCreator implements DatabaseAdminExecut
private static final Collection<String> KERNEL_SUPPORTED_TABLES = Arrays.asList(PG_NAMESPACE, PG_CLASS);
@Override
- public Optional<DatabaseAdminExecutor> create(final SQLStatementContext<?> sqlStatementContext) {
+ public Optional<DatabaseAdminExecutor> create(final SQLStatementContext sqlStatementContext) {
SQLStatement sqlStatement = sqlStatementContext.getSqlStatement();
if (sqlStatement instanceof ShowStatement) {
return Optional.of(new PostgreSQLShowVariableExecutor((ShowStatement) sqlStatement));
@@ -71,7 +71,7 @@ public final class PostgreSQLAdminExecutorCreator implements DatabaseAdminExecut
}
@Override
- public Optional<DatabaseAdminExecutor> create(final SQLStatementContext<?> sqlStatementContext, final String sql, final String databaseName, final List<Object> parameters) {
+ public Optional<DatabaseAdminExecutor> create(final SQLStatementContext sqlStatementContext, final String sql, final String databaseName, final List<Object> parameters) {
SQLStatement sqlStatement = sqlStatementContext.getSqlStatement();
if (sqlStatement instanceof SelectStatement) {
Collection<String> selectedTableNames = getSelectedTableNames((SelectStatement) sqlStatement);
diff --git a/proxy/backend/type/postgresql/src/test/java/org/apache/shardingsphere/proxy/backend/postgresql/handler/admin/PostgreSQLAdminExecutorCreatorTest.java b/proxy/backend/type/postgresql/src/test/java/org/apache/shardingsphere/proxy/backend/postgresql/handler/admin/PostgreSQLAdminExecutorCreatorTest.java
index 3e9e9c6c142..ab96e11a7b5 100644
--- a/proxy/backend/type/postgresql/src/test/java/org/apache/shardingsphere/proxy/backend/postgresql/handler/admin/PostgreSQLAdminExecutorCreatorTest.java
+++ b/proxy/backend/type/postgresql/src/test/java/org/apache/shardingsphere/proxy/backend/postgresql/handler/admin/PostgreSQLAdminExecutorCreatorTest.java
@@ -82,12 +82,12 @@ class PostgreSQLAdminExecutorCreatorTest {
@Test
void assertCreateWithOtherSQLStatementContextOnly() {
- assertThat(new PostgreSQLAdminExecutorCreator().create(new UnknownSQLStatementContext<>(new PostgreSQLInsertStatement())), is(Optional.empty()));
+ assertThat(new PostgreSQLAdminExecutorCreator().create(new UnknownSQLStatementContext(new PostgreSQLInsertStatement())), is(Optional.empty()));
}
@Test
void assertCreateWithShowSQLStatement() {
- Optional<DatabaseAdminExecutor> actual = new PostgreSQLAdminExecutorCreator().create(new UnknownSQLStatementContext<>(new PostgreSQLShowStatement("client_encoding")));
+ Optional<DatabaseAdminExecutor> actual = new PostgreSQLAdminExecutorCreator().create(new UnknownSQLStatementContext(new PostgreSQLShowStatement("client_encoding")));
assertTrue(actual.isPresent());
assertThat(actual.get(), instanceOf(PostgreSQLShowVariableExecutor.class));
}
@@ -146,7 +146,7 @@ class PostgreSQLAdminExecutorCreatorTest {
@Test
void assertCreateWithSetStatement() {
PostgreSQLSetStatement setStatement = new PostgreSQLSetStatement();
- UnknownSQLStatementContext<PostgreSQLSetStatement> sqlStatementContext = new UnknownSQLStatementContext<>(setStatement);
+ UnknownSQLStatementContext sqlStatementContext = new UnknownSQLStatementContext(setStatement);
Optional<DatabaseAdminExecutor> actual = new PostgreSQLAdminExecutorCreator().create(sqlStatementContext, "SET client_encoding = utf8", "", Collections.emptyList());
assertTrue(actual.isPresent());
assertThat(actual.get(), instanceOf(PostgreSQLSetVariableAdminExecutor.class));
@@ -155,7 +155,7 @@ class PostgreSQLAdminExecutorCreatorTest {
@Test
void assertCreateWithResetStatement() {
Optional<DatabaseAdminExecutor> actual = new PostgreSQLAdminExecutorCreator()
- .create(new UnknownSQLStatementContext<>(new PostgreSQLResetParameterStatement("client_encoding")), "RESET client_encoding", "", Collections.emptyList());
+ .create(new UnknownSQLStatementContext(new PostgreSQLResetParameterStatement("client_encoding")), "RESET client_encoding", "", Collections.emptyList());
assertTrue(actual.isPresent());
assertThat(actual.get(), instanceOf(PostgreSQLResetVariableAdminExecutor.class));
}
diff --git a/proxy/frontend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/frontend/mysql/command/query/binary/MySQLServerPreparedStatement.java b/proxy/frontend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/frontend/mysql/command/query/binary/MySQLServerPreparedStatement.java
index 55e30102d53..e27fe44cfaf 100644
--- a/proxy/frontend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/frontend/mysql/command/query/binary/MySQLServerPreparedStatement.java
+++ b/proxy/frontend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/frontend/mysql/command/query/binary/MySQLServerPreparedStatement.java
@@ -38,7 +38,7 @@ public final class MySQLServerPreparedStatement implements ServerPreparedStateme
private final String sql;
- private final SQLStatementContext<?> sqlStatementContext;
+ private final SQLStatementContext sqlStatementContext;
private final List<Integer> parameterColumnDefinitionFlags;
diff --git a/proxy/frontend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/frontend/mysql/command/query/binary/execute/MySQLComStmtExecuteExecutor.java b/proxy/frontend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/frontend/mysql/command/query/binary/execute/MySQLComStmtExecuteExecutor.java
index e4346cccf70..0ac35bcfcce 100644
--- a/proxy/frontend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/frontend/mysql/command/query/binary/execute/MySQLComStmtExecuteExecutor.java
+++ b/proxy/frontend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/frontend/mysql/command/query/binary/execute/MySQLComStmtExecuteExecutor.java
@@ -73,7 +73,7 @@ public final class MySQLComStmtExecuteExecutor implements QueryCommandExecutor {
MySQLServerPreparedStatement preparedStatement = updateAndGetPreparedStatement();
List<Object> params = packet.readParameters(preparedStatement.getParameterTypes(), preparedStatement.getLongData().keySet(), preparedStatement.getParameterColumnDefinitionFlags());
preparedStatement.getLongData().forEach(params::set);
- SQLStatementContext<?> sqlStatementContext = preparedStatement.getSqlStatementContext();
+ SQLStatementContext sqlStatementContext = preparedStatement.getSqlStatementContext();
if (sqlStatementContext instanceof ParameterAware) {
((ParameterAware) sqlStatementContext).setUpParameters(params);
}
diff --git a/proxy/frontend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/frontend/mysql/command/query/binary/prepare/MySQLComStmtPrepareExecutor.java b/proxy/frontend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/frontend/mysql/command/query/binary/prepare/MySQLComStmtPrepareExecutor.java
index 4f50618ee67..a01d086e815 100644
--- a/proxy/frontend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/frontend/mysql/command/query/binary/prepare/MySQLComStmtPrepareExecutor.java
+++ b/proxy/frontend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/frontend/mysql/command/query/binary/prepare/MySQLComStmtPrepareExecutor.java
@@ -80,7 +80,7 @@ public final class MySQLComStmtPrepareExecutor implements CommandExecutor {
if (!MySQLComStmtPrepareChecker.isStatementAllowed(sqlStatement)) {
throw new UnsupportedPreparedStatementException();
}
- SQLStatementContext<?> sqlStatementContext = SQLStatementContextFactory.newInstance(ProxyContext.getInstance().getContextManager().getMetaDataContexts().getMetaData(),
+ SQLStatementContext sqlStatementContext = SQLStatementContextFactory.newInstance(ProxyContext.getInstance().getContextManager().getMetaDataContexts().getMetaData(),
sqlStatement, connectionSession.getDefaultDatabaseName());
int statementId = MySQLStatementIdGenerator.getInstance().nextStatementId(connectionSession.getConnectionId());
MySQLServerPreparedStatement serverPreparedStatement = new MySQLServerPreparedStatement(packet.getSql(), sqlStatementContext, new CopyOnWriteArrayList<>());
@@ -97,7 +97,7 @@ public final class MySQLComStmtPrepareExecutor implements CommandExecutor {
}
}
- private Collection<DatabasePacket<?>> createPackets(final SQLStatementContext<?> sqlStatementContext, final int statementId, final MySQLServerPreparedStatement serverPreparedStatement) {
+ private Collection<DatabasePacket<?>> createPackets(final SQLStatementContext sqlStatementContext, final int statementId, final MySQLServerPreparedStatement serverPreparedStatement) {
Collection<DatabasePacket<?>> result = new LinkedList<>();
List<Projection> projections = getProjections(sqlStatementContext);
int parameterCount = sqlStatementContext.getSqlStatement().getParameterCount();
@@ -115,11 +115,11 @@ public final class MySQLComStmtPrepareExecutor implements CommandExecutor {
return result;
}
- private List<Projection> getProjections(final SQLStatementContext<?> sqlStatementContext) {
+ private List<Projection> getProjections(final SQLStatementContext sqlStatementContext) {
return sqlStatementContext instanceof SelectStatementContext ? ((SelectStatementContext) sqlStatementContext).getProjectionsContext().getExpandProjections() : Collections.emptyList();
}
- private Collection<DatabasePacket<?>> createParameterColumnDefinition41Packets(final SQLStatementContext<?> sqlStatementContext, final int characterSet,
+ private Collection<DatabasePacket<?>> createParameterColumnDefinition41Packets(final SQLStatementContext sqlStatementContext, final int characterSet,
final MySQLServerPreparedStatement serverPreparedStatement) {
Map<ParameterMarkerSegment, ShardingSphereColumn> columnsOfParameterMarkers =
MySQLComStmtPrepareParameterMarkerExtractor.findColumnsOfParameterMarkers(sqlStatementContext.getSqlStatement(), getSchema(sqlStatementContext));
@@ -158,7 +158,7 @@ public final class MySQLComStmtPrepareExecutor implements CommandExecutor {
return result;
}
- private ShardingSphereSchema getSchema(final SQLStatementContext<?> sqlStatementContext) {
+ private ShardingSphereSchema getSchema(final SQLStatementContext sqlStatementContext) {
String databaseName = sqlStatementContext.getTablesContext().getDatabaseName().orElseGet(connectionSession::getDefaultDatabaseName);
ShardingSphereDatabase database = ProxyContext.getInstance().getContextManager().getMetaDataContexts().getMetaData().getDatabase(databaseName);
return sqlStatementContext.getTablesContext().getSchemaName().map(database::getSchema)
diff --git a/proxy/frontend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/frontend/mysql/command/query/text/fieldlist/MySQLComFieldListPacketExecutor.java b/proxy/frontend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/frontend/mysql/command/query/text/fieldlist/MySQLComFieldListPacketExecutor.java
index ae2984d13b3..9504e9333bc 100644
--- a/proxy/frontend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/frontend/mysql/command/query/text/fieldlist/MySQLComFieldListPacketExecutor.java
+++ b/proxy/frontend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/frontend/mysql/command/query/text/fieldlist/MySQLComFieldListPacketExecutor.java
@@ -66,7 +66,7 @@ public final class MySQLComFieldListPacketExecutor implements CommandExecutor {
MetaDataContexts metaDataContexts = ProxyContext.getInstance().getContextManager().getMetaDataContexts();
SQLParserRule sqlParserRule = metaDataContexts.getMetaData().getGlobalRuleMetaData().getSingleRule(SQLParserRule.class);
SQLStatement sqlStatement = sqlParserRule.getSQLParserEngine(TypedSPILoader.getService(DatabaseType.class, "MySQL").getType()).parse(sql, false);
- SQLStatementContext<?> sqlStatementContext = SQLStatementContextFactory.newInstance(metaDataContexts.getMetaData(), sqlStatement, databaseName);
+ SQLStatementContext sqlStatementContext = SQLStatementContextFactory.newInstance(metaDataContexts.getMetaData(), sqlStatement, databaseName);
ProxyDatabaseConnectionManager databaseConnectionManager = connectionSession.getDatabaseConnectionManager();
QueryContext queryContext = new QueryContext(sqlStatementContext, sql, Collections.emptyList());
databaseConnector = DatabaseConnectorFactory.getInstance().newInstance(queryContext, databaseConnectionManager, false);
diff --git a/proxy/frontend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/frontend/mysql/command/query/text/query/MySQLMultiStatementsHandler.java b/proxy/frontend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/frontend/mysql/command/query/text/query/MySQLMultiStatementsHandler.java
index 482d0914ec8..8f810222a30 100644
--- a/proxy/frontend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/frontend/mysql/command/query/text/query/MySQLMultiStatementsHandler.java
+++ b/proxy/frontend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/frontend/mysql/command/query/text/query/MySQLMultiStatementsHandler.java
@@ -122,7 +122,7 @@ public final class MySQLMultiStatementsHandler implements ProxyBackendHandler {
}
private QueryContext createQueryContext(final String sql, final SQLStatement sqlStatement) {
- SQLStatementContext<?> sqlStatementContext = SQLStatementContextFactory.newInstance(
+ SQLStatementContext sqlStatementContext = SQLStatementContextFactory.newInstance(
metaDataContexts.getMetaData(), Collections.emptyList(), sqlStatement, connectionSession.getDatabaseName());
return new QueryContext(sqlStatementContext, sql, Collections.emptyList());
}
diff --git a/proxy/frontend/type/mysql/src/test/java/org/apache/shardingsphere/proxy/frontend/mysql/command/MySQLCommandPacketFactoryTest.java b/proxy/frontend/type/mysql/src/test/java/org/apache/shardingsphere/proxy/frontend/mysql/command/MySQLCommandPacketFactoryTest.java
index c0a25c771dd..4f0a7847d35 100644
--- a/proxy/frontend/type/mysql/src/test/java/org/apache/shardingsphere/proxy/frontend/mysql/command/MySQLCommandPacketFactoryTest.java
+++ b/proxy/frontend/type/mysql/src/test/java/org/apache/shardingsphere/proxy/frontend/mysql/command/MySQLCommandPacketFactoryTest.java
@@ -37,7 +37,6 @@ import org.apache.shardingsphere.infra.binder.statement.SQLStatementContext;
import org.apache.shardingsphere.proxy.backend.session.ConnectionSession;
import org.apache.shardingsphere.proxy.backend.session.ServerPreparedStatementRegistry;
import org.apache.shardingsphere.proxy.frontend.mysql.command.query.binary.MySQLServerPreparedStatement;
-import org.apache.shardingsphere.sql.parser.sql.common.statement.dml.SelectStatement;
import org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.dml.MySQLSelectStatement;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
@@ -88,7 +87,6 @@ class MySQLCommandPacketFactoryTest {
assertThat(MySQLCommandPacketFactory.newInstance(MySQLCommandPacketType.COM_STMT_PREPARE, payload, connectionSession, false), instanceOf(MySQLComStmtPreparePacket.class));
}
- @SuppressWarnings("unchecked")
@Test
void assertNewInstanceWithComStmtExecutePacket() {
when(payload.readInt1()).thenReturn(MySQLNewParametersBoundFlag.PARAMETER_TYPE_EXIST.getValue());
@@ -96,7 +94,7 @@ class MySQLCommandPacketFactoryTest {
when(payload.getByteBuf().getIntLE(anyInt())).thenReturn(1);
ServerPreparedStatementRegistry serverPreparedStatementRegistry = new ServerPreparedStatementRegistry();
when(connectionSession.getServerPreparedStatementRegistry()).thenReturn(serverPreparedStatementRegistry);
- SQLStatementContext<SelectStatement> sqlStatementContext = mock(SQLStatementContext.class);
+ SQLStatementContext sqlStatementContext = mock(SQLStatementContext.class);
when(sqlStatementContext.getSqlStatement()).thenReturn(new MySQLSelectStatement());
serverPreparedStatementRegistry.addPreparedStatement(1, new MySQLServerPreparedStatement("select 1", sqlStatementContext, Collections.emptyList()));
assertThat(MySQLCommandPacketFactory.newInstance(MySQLCommandPacketType.COM_STMT_EXECUTE, payload, connectionSession, false), instanceOf(MySQLComStmtExecutePacket.class));
diff --git a/proxy/frontend/type/mysql/src/test/java/org/apache/shardingsphere/proxy/frontend/mysql/command/query/binary/execute/MySQLComStmtExecuteExecutorTest.java b/proxy/frontend/type/mysql/src/test/java/org/apache/shardingsphere/proxy/frontend/mysql/command/query/binary/execute/MySQLComStmtExecuteExecutorTest.java
index 7c462863bac..c5a90a0f111 100644
--- a/proxy/frontend/type/mysql/src/test/java/org/apache/shardingsphere/proxy/frontend/mysql/command/query/binary/execute/MySQLComStmtExecuteExecutorTest.java
+++ b/proxy/frontend/type/mysql/src/test/java/org/apache/shardingsphere/proxy/frontend/mysql/command/query/binary/execute/MySQLComStmtExecuteExecutorTest.java
@@ -101,7 +101,7 @@ class MySQLComStmtExecuteExecutorTest {
void setUp() {
when(connectionSession.getAttributeMap().attr(MySQLConstants.MYSQL_CHARACTER_SET_ATTRIBUTE_KEY).get()).thenReturn(MySQLCharacterSet.UTF8MB4_GENERAL_CI);
when(connectionSession.getDatabaseConnectionManager()).thenReturn(databaseConnectionManager);
- SQLStatementContext<?> selectStatementContext = prepareSelectStatementContext();
+ SQLStatementContext selectStatementContext = prepareSelectStatementContext();
when(connectionSession.getServerPreparedStatementRegistry().getPreparedStatement(1))
.thenReturn(new MySQLServerPreparedStatement("SELECT * FROM tbl WHERE id = ?", selectStatementContext, Collections.emptyList()));
UpdateStatementContext updateStatementContext = mock(UpdateStatementContext.class, RETURNS_DEEP_STUBS);
@@ -109,10 +109,10 @@ class MySQLComStmtExecuteExecutorTest {
when(connectionSession.getServerPreparedStatementRegistry().getPreparedStatement(2))
.thenReturn(new MySQLServerPreparedStatement("UPDATE tbl SET col=1 WHERE id = ?", updateStatementContext, Collections.emptyList()));
when(connectionSession.getServerPreparedStatementRegistry().getPreparedStatement(3))
- .thenReturn(new MySQLServerPreparedStatement("COMMIT", new UnknownSQLStatementContext<>(new MySQLCommitStatement()), Collections.emptyList()));
+ .thenReturn(new MySQLServerPreparedStatement("COMMIT", new UnknownSQLStatementContext(new MySQLCommitStatement()), Collections.emptyList()));
}
- private SQLStatementContext<?> prepareSelectStatementContext() {
+ private SQLStatementContext prepareSelectStatementContext() {
SelectStatementContext result = mock(SelectStatementContext.class, RETURNS_DEEP_STUBS);
when(result.getTablesContext().getDatabaseName()).thenReturn(Optional.empty());
when(result.getSqlStatement()).thenReturn(prepareSelectStatement());
diff --git a/proxy/frontend/type/postgresql/src/main/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/query/extended/Portal.java b/proxy/frontend/type/postgresql/src/main/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/query/extended/Portal.java
index 92939896931..517bc9a4aff 100644
--- a/proxy/frontend/type/postgresql/src/main/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/query/extended/Portal.java
+++ b/proxy/frontend/type/postgresql/src/main/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/query/extended/Portal.java
@@ -85,7 +85,7 @@ public final class Portal {
this.resultFormats = resultFormats;
this.databaseConnectionManager = databaseConnectionManager;
String databaseName = databaseConnectionManager.getConnectionSession().getDefaultDatabaseName();
- SQLStatementContext<?> sqlStatementContext = preparedStatement.getSqlStatementContext();
+ SQLStatementContext sqlStatementContext = preparedStatement.getSqlStatementContext();
if (sqlStatementContext instanceof ParameterAware) {
((ParameterAware) sqlStatementContext).setUpParameters(params);
}
diff --git a/proxy/frontend/type/postgresql/src/main/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/query/extended/PostgreSQLBatchedStatementsExecutor.java b/proxy/frontend/type/postgresql/src/main/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/query/extended/PostgreSQLBatchedStatementsExecutor.java
index d0fe8625833..f63bbd14286 100644
--- a/proxy/frontend/type/postgresql/src/main/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/query/extended/PostgreSQLBatchedStatementsExecutor.java
+++ b/proxy/frontend/type/postgresql/src/main/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/query/extended/PostgreSQLBatchedStatementsExecutor.java
@@ -90,7 +90,7 @@ public final class PostgreSQLBatchedStatementsExecutor {
metaDataContexts = ProxyContext.getInstance().getContextManager().getMetaDataContexts();
this.preparedStatement = preparedStatement;
Iterator<List<Object>> parameterSetsIterator = parameterSets.iterator();
- SQLStatementContext<?> sqlStatementContext = null;
+ SQLStatementContext sqlStatementContext = null;
ExecutionContext executionContext = null;
if (parameterSetsIterator.hasNext()) {
List<Object> firstGroupOfParam = parameterSetsIterator.next();
@@ -104,12 +104,12 @@ public final class PostgreSQLBatchedStatementsExecutor {
prepareForRestOfParametersSet(parameterSetsIterator, sqlStatementContext);
}
- private SQLStatementContext<?> createSQLStatementContext(final List<Object> params) {
+ private SQLStatementContext createSQLStatementContext(final List<Object> params) {
return SQLStatementContextFactory.newInstance(metaDataContexts.getMetaData(), params, preparedStatement.getSqlStatementContext().getSqlStatement(),
connectionSession.getDatabaseName());
}
- private void prepareForRestOfParametersSet(final Iterator<List<Object>> paramSetsIterator, final SQLStatementContext<?> sqlStatementContext) {
+ private void prepareForRestOfParametersSet(final Iterator<List<Object>> paramSetsIterator, final SQLStatementContext sqlStatementContext) {
while (paramSetsIterator.hasNext()) {
List<Object> eachGroupOfParam = paramSetsIterator.next();
if (sqlStatementContext instanceof ParameterAware) {
@@ -122,7 +122,7 @@ public final class PostgreSQLBatchedStatementsExecutor {
}
}
- private QueryContext createQueryContext(final SQLStatementContext<?> sqlStatementContext, final List<Object> params) {
+ private QueryContext createQueryContext(final SQLStatementContext sqlStatementContext, final List<Object> params) {
return new QueryContext(sqlStatementContext, preparedStatement.getSql(), params);
}
diff --git a/proxy/frontend/type/postgresql/src/main/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/query/extended/PostgreSQLServerPreparedStatement.java b/proxy/frontend/type/postgresql/src/main/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/query/extended/PostgreSQLServerPreparedStatement.java
index 817fe5db653..68a28ef8160 100644
--- a/proxy/frontend/type/postgresql/src/main/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/query/extended/PostgreSQLServerPreparedStatement.java
+++ b/proxy/frontend/type/postgresql/src/main/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/query/extended/PostgreSQLServerPreparedStatement.java
@@ -40,7 +40,7 @@ public final class PostgreSQLServerPreparedStatement implements ServerPreparedSt
private final String sql;
- private final SQLStatementContext<?> sqlStatementContext;
+ private final SQLStatementContext sqlStatementContext;
private final List<PostgreSQLColumnType> parameterTypes;
diff --git a/proxy/frontend/type/postgresql/src/main/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/query/extended/describe/PostgreSQLComDescribeExecutor.java b/proxy/frontend/type/postgresql/src/main/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/query/extended/describe/PostgreSQLComDescribeExecutor.java
index 01214502b51..5248a20c803 100644
--- a/proxy/frontend/type/postgresql/src/main/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/query/extended/describe/PostgreSQLComDescribeExecutor.java
+++ b/proxy/frontend/type/postgresql/src/main/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/query/extended/describe/PostgreSQLComDescribeExecutor.java
@@ -238,7 +238,7 @@ public final class PostgreSQLComDescribeExecutor implements CommandExecutor {
private void tryDescribePreparedStatementByJDBC(final PostgreSQLServerPreparedStatement logicPreparedStatement) throws SQLException {
MetaDataContexts metaDataContexts = ProxyContext.getInstance().getContextManager().getMetaDataContexts();
String databaseName = connectionSession.getDatabaseName();
- SQLStatementContext<?> sqlStatementContext =
+ SQLStatementContext sqlStatementContext =
SQLStatementContextFactory.newInstance(metaDataContexts.getMetaData(), logicPreparedStatement.getSqlStatementContext().getSqlStatement(), databaseName);
QueryContext queryContext = new QueryContext(sqlStatementContext, logicPreparedStatement.getSql(), Collections.emptyList());
ShardingSphereDatabase database = ProxyContext.getInstance().getDatabase(databaseName);
diff --git a/proxy/frontend/type/postgresql/src/main/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/query/extended/parse/PostgreSQLComParseExecutor.java b/proxy/frontend/type/postgresql/src/main/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/query/extended/parse/PostgreSQLComParseExecutor.java
index ad6f3bc201c..30f55b14d1d 100644
--- a/proxy/frontend/type/postgresql/src/main/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/query/extended/parse/PostgreSQLComParseExecutor.java
+++ b/proxy/frontend/type/postgresql/src/main/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/query/extended/parse/PostgreSQLComParseExecutor.java
@@ -66,7 +66,7 @@ public final class PostgreSQLComParseExecutor implements CommandExecutor {
sqlStatement = sqlParserEngine.parse(sql, true);
}
List<PostgreSQLColumnType> paddedColumnTypes = paddingColumnTypes(sqlStatement.getParameterCount(), packet.readParameterTypes());
- SQLStatementContext<?> sqlStatementContext = sqlStatement instanceof DistSQLStatement ? new DistSQLStatementContext((DistSQLStatement) sqlStatement)
+ SQLStatementContext sqlStatementContext = sqlStatement instanceof DistSQLStatement ? new DistSQLStatementContext((DistSQLStatement) sqlStatement)
: SQLStatementContextFactory.newInstance(ProxyContext.getInstance().getContextManager().getMetaDataContexts().getMetaData(),
sqlStatement, connectionSession.getDefaultDatabaseName());
PostgreSQLServerPreparedStatement serverPreparedStatement = new PostgreSQLServerPreparedStatement(sql, sqlStatementContext, paddedColumnTypes);
diff --git a/proxy/frontend/type/postgresql/src/test/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/query/extended/PortalTest.java b/proxy/frontend/type/postgresql/src/test/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/query/extended/PortalTest.java
index ccb53d5c7f3..4b0bb4040b5 100644
--- a/proxy/frontend/type/postgresql/src/test/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/query/extended/PortalTest.java
+++ b/proxy/frontend/type/postgresql/src/test/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/query/extended/PortalTest.java
@@ -130,7 +130,7 @@ class PortalTest {
@Test
void assertGetName() throws SQLException {
Portal portal = new Portal("", new PostgreSQLServerPreparedStatement("",
- new UnknownSQLStatementContext<>(new PostgreSQLEmptyStatement()), Collections.emptyList()), Collections.emptyList(), Collections.emptyList(), databaseConnectionManager);
+ new UnknownSQLStatementContext(new PostgreSQLEmptyStatement()), Collections.emptyList()), Collections.emptyList(), Collections.emptyList(), databaseConnectionManager);
assertThat(portal.getName(), is(""));
}
@@ -211,7 +211,7 @@ class PortalTest {
void assertExecuteEmptyStatement() throws SQLException {
when(proxyBackendHandler.execute()).thenReturn(mock(UpdateResponseHeader.class));
when(proxyBackendHandler.next()).thenReturn(false);
- PostgreSQLServerPreparedStatement preparedStatement = new PostgreSQLServerPreparedStatement("", new UnknownSQLStatementContext<>(new PostgreSQLEmptyStatement()), Collections.emptyList());
+ PostgreSQLServerPreparedStatement preparedStatement = new PostgreSQLServerPreparedStatement("", new UnknownSQLStatementContext(new PostgreSQLEmptyStatement()), Collections.emptyList());
Portal portal = new Portal("", preparedStatement, Collections.emptyList(), Collections.emptyList(), databaseConnectionManager);
portal.bind();
assertThat(portal.describe(), is(PostgreSQLNoDataPacket.getInstance()));
@@ -228,7 +228,7 @@ class PortalTest {
VariableAssignSegment variableAssignSegment = new VariableAssignSegment();
variableAssignSegment.setVariable(new VariableSegment(0, 0, "client_encoding"));
setStatement.getVariableAssigns().add(variableAssignSegment);
- PostgreSQLServerPreparedStatement preparedStatement = new PostgreSQLServerPreparedStatement(sql, new UnknownSQLStatementContext<>(setStatement), Collections.emptyList());
+ PostgreSQLServerPreparedStatement preparedStatement = new PostgreSQLServerPreparedStatement(sql, new UnknownSQLStatementContext(setStatement), Collections.emptyList());
Portal portal = new Portal("", preparedStatement, Collections.emptyList(), Collections.emptyList(), databaseConnectionManager);
portal.bind();
List<PostgreSQLPacket> actualPackets = portal.execute(0);
@@ -237,7 +237,6 @@ class PortalTest {
assertThat(actualPackets.get(1), instanceOf(PostgreSQLParameterStatusPacket.class));
}
- @SuppressWarnings("unchecked")
@Test
void assertDescribeBeforeBind() {
PostgreSQLServerPreparedStatement preparedStatement = mock(PostgreSQLServerPreparedStatement.class);
@@ -247,7 +246,7 @@ class PortalTest {
@Test
void assertClose() throws SQLException {
- PostgreSQLServerPreparedStatement preparedStatement = new PostgreSQLServerPreparedStatement("", new UnknownSQLStatementContext<>(new PostgreSQLEmptyStatement()), Collections.emptyList());
+ PostgreSQLServerPreparedStatement preparedStatement = new PostgreSQLServerPreparedStatement("", new UnknownSQLStatementContext(new PostgreSQLEmptyStatement()), Collections.emptyList());
new Portal("", preparedStatement, Collections.emptyList(), Collections.emptyList(), databaseConnectionManager).close();
verify(databaseConnectionManager).unmarkResourceInUse(proxyBackendHandler);
verify(proxyBackendHandler).close();
diff --git a/proxy/frontend/type/postgresql/src/test/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/query/extended/bind/PostgreSQLComBindExecutorTest.java b/proxy/frontend/type/postgresql/src/test/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/query/extended/bind/PostgreSQLComBindExecutorTest.java
index 33a6c5d5d37..9ea12429eb5 100644
--- a/proxy/frontend/type/postgresql/src/test/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/query/extended/bind/PostgreSQLComBindExecutorTest.java
+++ b/proxy/frontend/type/postgresql/src/test/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/query/extended/bind/PostgreSQLComBindExecutorTest.java
@@ -81,7 +81,7 @@ class PostgreSQLComBindExecutorTest {
when(databaseConnectionManager.getConnectionSession()).thenReturn(connectionSession);
String statementId = "S_1";
connectionSession.getServerPreparedStatementRegistry().addPreparedStatement(statementId,
- new PostgreSQLServerPreparedStatement("", new UnknownSQLStatementContext<>(new PostgreSQLEmptyStatement()), Collections.emptyList()));
+ new PostgreSQLServerPreparedStatement("", new UnknownSQLStatementContext(new PostgreSQLEmptyStatement()), Collections.emptyList()));
when(bindPacket.getStatementId()).thenReturn(statementId);
when(bindPacket.getPortal()).thenReturn("C_1");
when(bindPacket.readParameters(anyList())).thenReturn(Collections.emptyList());
diff --git a/test/e2e/fixture/src/test/java/org/apache/shardingsphere/test/e2e/fixture/ITShardingAuditAlgorithmFixture.java b/test/e2e/fixture/src/test/java/org/apache/shardingsphere/test/e2e/fixture/ITShardingAuditAlgorithmFixture.java
index 6d0ec55e0df..ef9388067d8 100644
--- a/test/e2e/fixture/src/test/java/org/apache/shardingsphere/test/e2e/fixture/ITShardingAuditAlgorithmFixture.java
+++ b/test/e2e/fixture/src/test/java/org/apache/shardingsphere/test/e2e/fixture/ITShardingAuditAlgorithmFixture.java
@@ -28,7 +28,7 @@ import java.util.List;
public final class ITShardingAuditAlgorithmFixture implements ShardingAuditAlgorithm {
@Override
- public void check(final SQLStatementContext<?> sqlStatementContext, final List<Object> params,
+ public void check(final SQLStatementContext sqlStatementContext, final List<Object> params,
final Grantee grantee, final ShardingSphereRuleMetaData globalRuleMetaData, final ShardingSphereDatabase database) {
}
diff --git a/test/it/rewriter/src/test/java/org/apache/shardingsphere/test/it/rewrite/engine/SQLRewriterIT.java b/test/it/rewriter/src/test/java/org/apache/shardingsphere/test/it/rewrite/engine/SQLRewriterIT.java
index 5625b58b83f..4cbf5c0814e 100644
--- a/test/it/rewriter/src/test/java/org/apache/shardingsphere/test/it/rewrite/engine/SQLRewriterIT.java
+++ b/test/it/rewriter/src/test/java/org/apache/shardingsphere/test/it/rewrite/engine/SQLRewriterIT.java
@@ -128,7 +128,7 @@ public abstract class SQLRewriterIT {
ShardingSphereDatabase database = new ShardingSphereDatabase(schemaName, databaseType, resourceMetaData, new ShardingSphereRuleMetaData(databaseRules), mockSchemas(schemaName));
Map<String, ShardingSphereDatabase> databases = new HashMap<>(2, 1);
databases.put(schemaName, database);
- SQLStatementContext<?> sqlStatementContext = SQLStatementContextFactory.newInstance(createShardingSphereMetaData(databases), sqlStatement, schemaName);
+ SQLStatementContext sqlStatementContext = SQLStatementContextFactory.newInstance(createShardingSphereMetaData(databases), sqlStatement, schemaName);
if (sqlStatementContext instanceof ParameterAware) {
((ParameterAware) sqlStatementContext).setUpParameters(testParams.getInputParameters());
}