This is an automated email from the ASF dual-hosted git repository.
panjuan 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 f15df7dc52c Remove unused parameters from BroadcastRouteEngineFactory
(#26448)
f15df7dc52c is described below
commit f15df7dc52c33e2c3f26abcf6c86d2bd3a4ee9bb
Author: jiangML <[email protected]>
AuthorDate: Tue Jun 20 11:38:03 2023 +0800
Remove unused parameters from BroadcastRouteEngineFactory (#26448)
---
.../broadcast/route/BroadcastSQLRouter.java | 2 +-
.../route/engine/BroadcastRouteEngineFactory.java | 19 ++++++--------
.../broadcast/rule/BroadcastRule.java | 29 +++++++---------------
.../route/BroadcastRouteEngineFactoryTest.java | 10 +-------
.../engine/type/ShardingRouteEngineFactory.java | 5 ++--
5 files changed, 20 insertions(+), 45 deletions(-)
diff --git
a/features/broadcast/core/src/main/java/org/apache/shardingsphere/broadcast/route/BroadcastSQLRouter.java
b/features/broadcast/core/src/main/java/org/apache/shardingsphere/broadcast/route/BroadcastSQLRouter.java
index fa643b5878f..d12dae1642c 100644
---
a/features/broadcast/core/src/main/java/org/apache/shardingsphere/broadcast/route/BroadcastSQLRouter.java
+++
b/features/broadcast/core/src/main/java/org/apache/shardingsphere/broadcast/route/BroadcastSQLRouter.java
@@ -63,7 +63,7 @@ public final class BroadcastSQLRouter implements
SQLRouter<BroadcastRule> {
public RouteContext createRouteContext(final QueryContext queryContext,
final ShardingSphereRuleMetaData globalRuleMetaData, final
ShardingSphereDatabase database,
final BroadcastRule rule, final
ConfigurationProperties props, final ConnectionContext connectionContext) {
RouteContext result = new RouteContext();
- BroadcastRouteEngineFactory.newInstance(rule, database, queryContext,
props, connectionContext, globalRuleMetaData).route(result, rule);
+ BroadcastRouteEngineFactory.newInstance(rule, database, queryContext,
connectionContext).route(result, rule);
return result;
}
diff --git
a/features/broadcast/core/src/main/java/org/apache/shardingsphere/broadcast/route/engine/BroadcastRouteEngineFactory.java
b/features/broadcast/core/src/main/java/org/apache/shardingsphere/broadcast/route/engine/BroadcastRouteEngineFactory.java
index 0705cbe305a..7e92cb0968a 100644
---
a/features/broadcast/core/src/main/java/org/apache/shardingsphere/broadcast/route/engine/BroadcastRouteEngineFactory.java
+++
b/features/broadcast/core/src/main/java/org/apache/shardingsphere/broadcast/route/engine/BroadcastRouteEngineFactory.java
@@ -30,10 +30,8 @@ import
org.apache.shardingsphere.infra.binder.statement.ddl.CloseStatementContex
import org.apache.shardingsphere.infra.binder.type.CursorAvailable;
import org.apache.shardingsphere.infra.binder.type.IndexAvailable;
import org.apache.shardingsphere.infra.binder.type.TableAvailable;
-import org.apache.shardingsphere.infra.config.props.ConfigurationProperties;
import org.apache.shardingsphere.infra.database.type.DatabaseType;
import
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
-import
org.apache.shardingsphere.infra.metadata.database.rule.ShardingSphereRuleMetaData;
import org.apache.shardingsphere.infra.metadata.database.schema.QualifiedTable;
import
org.apache.shardingsphere.infra.metadata.database.schema.util.IndexMetaDataUtils;
import org.apache.shardingsphere.infra.session.connection.ConnectionContext;
@@ -64,13 +62,11 @@ public final class BroadcastRouteEngineFactory {
* @param broadcastRule broadcast rule
* @param database database
* @param queryContext query context
- * @param props props
* @param connectionContext connection context
- * @param globalRuleMetaData global rule metadata
* @return broadcast route engine
*/
public static BroadcastRouteEngine newInstance(final BroadcastRule
broadcastRule, final ShardingSphereDatabase database, final QueryContext
queryContext,
- final
ConfigurationProperties props, final ConnectionContext connectionContext, final
ShardingSphereRuleMetaData globalRuleMetaData) {
+ final ConnectionContext
connectionContext) {
SQLStatementContext sqlStatementContext =
queryContext.getSqlStatementContext();
SQLStatement sqlStatement = sqlStatementContext.getSqlStatement();
if (sqlStatement instanceof TCLStatement) {
@@ -80,13 +76,13 @@ public final class BroadcastRouteEngineFactory {
if (sqlStatementContext instanceof CursorAvailable) {
return getCursorRouteEngine(broadcastRule,
sqlStatementContext, connectionContext);
}
- return getDDLRoutingEngine(broadcastRule, database, queryContext,
connectionContext);
+ return getDDLRoutingEngine(broadcastRule, database, queryContext);
}
if (sqlStatement instanceof DALStatement) {
- return getDALRoutingEngine(broadcastRule, database, queryContext);
+ return getDALRoutingEngine(broadcastRule, queryContext);
}
if (sqlStatement instanceof DCLStatement) {
- return getDCLRoutingEngine(broadcastRule, database, queryContext);
+ return getDCLRoutingEngine(broadcastRule, queryContext);
}
return getDQLRoutingEngine(broadcastRule, queryContext,
connectionContext);
}
@@ -104,8 +100,7 @@ public final class BroadcastRouteEngineFactory {
return new BroadcastIgnoreRoutingEngine();
}
- private static BroadcastRouteEngine getDDLRoutingEngine(final
BroadcastRule broadcastRule, final ShardingSphereDatabase database,
- final QueryContext
queryContext, final ConnectionContext connectionContext) {
+ private static BroadcastRouteEngine getDDLRoutingEngine(final
BroadcastRule broadcastRule, final ShardingSphereDatabase database, final
QueryContext queryContext) {
SQLStatementContext sqlStatementContext =
queryContext.getSqlStatementContext();
Collection<String> tableNames = getTableNames(database,
sqlStatementContext);
if (broadcastRule.isAllBroadcastTables(tableNames)) {
@@ -134,7 +129,7 @@ public final class BroadcastRouteEngineFactory {
return result;
}
- private static BroadcastRouteEngine getDALRoutingEngine(final
BroadcastRule broadcastRule, final ShardingSphereDatabase database, final
QueryContext queryContext) {
+ private static BroadcastRouteEngine getDALRoutingEngine(final
BroadcastRule broadcastRule, final QueryContext queryContext) {
SQLStatementContext sqlStatementContext =
queryContext.getSqlStatementContext();
SQLStatement sqlStatement = sqlStatementContext.getSqlStatement();
if (sqlStatement instanceof MySQLUseStatement) {
@@ -148,7 +143,7 @@ public final class BroadcastRouteEngineFactory {
return new BroadcastIgnoreRoutingEngine();
}
- private static BroadcastRouteEngine getDCLRoutingEngine(final
BroadcastRule broadcastRule, final ShardingSphereDatabase database, final
QueryContext queryContext) {
+ private static BroadcastRouteEngine getDCLRoutingEngine(final
BroadcastRule broadcastRule, final QueryContext queryContext) {
SQLStatementContext sqlStatementContext =
queryContext.getSqlStatementContext();
Collection<String> broadcastRuleTableNames =
broadcastRule.getBroadcastRuleTableNames(sqlStatementContext.getTablesContext().getTableNames());
if (isDCLForSingleTable(sqlStatementContext) &&
!broadcastRuleTableNames.isEmpty() ||
broadcastRule.isAllBroadcastTables(broadcastRuleTableNames)) {
diff --git
a/features/broadcast/core/src/main/java/org/apache/shardingsphere/broadcast/rule/BroadcastRule.java
b/features/broadcast/core/src/main/java/org/apache/shardingsphere/broadcast/rule/BroadcastRule.java
index ae0ced2d75b..f80d1a604e2 100644
---
a/features/broadcast/core/src/main/java/org/apache/shardingsphere/broadcast/rule/BroadcastRule.java
+++
b/features/broadcast/core/src/main/java/org/apache/shardingsphere/broadcast/rule/BroadcastRule.java
@@ -29,7 +29,6 @@ import javax.sql.DataSource;
import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
-import java.util.LinkedHashSet;
import java.util.LinkedList;
import java.util.Map;
import java.util.Optional;
@@ -61,38 +60,28 @@ public final class BroadcastRule implements DatabaseRule,
DataNodeContainedRule,
this.databaseName = databaseName;
dataSourceNames = getDataSourceNames(dataSources);
tables = createBroadcastTables(configuration.getTables());
- logicalTableMapper = createLogicalTableMapper();
- actualTableMapper = createActualTableMapper();
- tableDataNodes = createShardingTableDataNodes(dataSourceNames);
+ logicalTableMapper = createTableMapper();
+ actualTableMapper = createTableMapper();
+ tableDataNodes = createShardingTableDataNodes(dataSourceNames, tables);
}
private Collection<String> getDataSourceNames(final Map<String,
DataSource> dataSources) {
- Collection<String> result = new LinkedHashSet<>();
- if (null != dataSources) {
- result.addAll(dataSources.keySet());
- }
- return result;
+ return new LinkedList<>(dataSources.keySet());
}
- private TableNamesMapper createLogicalTableMapper() {
- TableNamesMapper result = new TableNamesMapper();
- tables.forEach(result::put);
+ private Collection<String> createBroadcastTables(final Collection<String>
broadcastTables) {
+ Collection<String> result = new
TreeSet<>(String.CASE_INSENSITIVE_ORDER);
+ result.addAll(broadcastTables);
return result;
}
- private TableNamesMapper createActualTableMapper() {
+ private TableNamesMapper createTableMapper() {
TableNamesMapper result = new TableNamesMapper();
tables.forEach(result::put);
return result;
}
- private Collection<String> createBroadcastTables(final Collection<String>
broadcastTables) {
- Collection<String> result = new
TreeSet<>(String.CASE_INSENSITIVE_ORDER);
- result.addAll(broadcastTables);
- return result;
- }
-
- private Map<String, Collection<DataNode>>
createShardingTableDataNodes(final Collection<String> dataSourceNames) {
+ private Map<String, Collection<DataNode>>
createShardingTableDataNodes(final Collection<String> dataSourceNames, final
Collection<String> tables) {
Map<String, Collection<DataNode>> result = new
HashMap<>(tables.size(), 1F);
for (String each : tables) {
result.put(each.toLowerCase(), generateDataNodes(each,
dataSourceNames));
diff --git
a/features/broadcast/core/src/test/java/org/apache/shardingsphere/broadcast/route/BroadcastRouteEngineFactoryTest.java
b/features/broadcast/core/src/test/java/org/apache/shardingsphere/broadcast/route/BroadcastRouteEngineFactoryTest.java
index 3424dcb49be..5dcee85a4e5 100644
---
a/features/broadcast/core/src/test/java/org/apache/shardingsphere/broadcast/route/BroadcastRouteEngineFactoryTest.java
+++
b/features/broadcast/core/src/test/java/org/apache/shardingsphere/broadcast/route/BroadcastRouteEngineFactoryTest.java
@@ -22,9 +22,7 @@ import
org.apache.shardingsphere.broadcast.route.engine.type.BroadcastRouteEngin
import
org.apache.shardingsphere.broadcast.route.engine.type.broadcast.BroadcastDatabaseBroadcastRoutingEngine;
import org.apache.shardingsphere.broadcast.rule.BroadcastRule;
import org.apache.shardingsphere.infra.binder.statement.SQLStatementContext;
-import org.apache.shardingsphere.infra.config.props.ConfigurationProperties;
import
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
-import
org.apache.shardingsphere.infra.metadata.database.rule.ShardingSphereRuleMetaData;
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.tcl.TCLStatement;
@@ -44,20 +42,14 @@ class BroadcastRouteEngineFactoryTest {
private QueryContext queryContext;
- private ConfigurationProperties props;
-
private ConnectionContext connectionContext;
- private ShardingSphereRuleMetaData globalRuleMetaData;
-
@BeforeEach
void setUp() {
broadcastRule = mock(BroadcastRule.class);
database = mock(ShardingSphereDatabase.class);
queryContext = mock(QueryContext.class);
- props = mock(ConfigurationProperties.class);
connectionContext = mock(ConnectionContext.class);
- globalRuleMetaData = mock(ShardingSphereRuleMetaData.class);
}
@Test
@@ -65,7 +57,7 @@ class BroadcastRouteEngineFactoryTest {
SQLStatementContext sqlStatementContext =
mock(SQLStatementContext.class);
when(sqlStatementContext.getSqlStatement()).thenReturn(mock(TCLStatement.class));
when(queryContext.getSqlStatementContext()).thenReturn(sqlStatementContext);
- BroadcastRouteEngine engine =
BroadcastRouteEngineFactory.newInstance(broadcastRule, database, queryContext,
props, connectionContext, globalRuleMetaData);
+ BroadcastRouteEngine engine =
BroadcastRouteEngineFactory.newInstance(broadcastRule, database, queryContext,
connectionContext);
assertThat(engine,
instanceOf(BroadcastDatabaseBroadcastRoutingEngine.class));
}
}
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 2f8f883920b..deb2ce50a06 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
@@ -100,7 +100,7 @@ public final class ShardingRouteEngineFactory {
}
if (sqlStatement instanceof DDLStatement) {
if (sqlStatementContext instanceof CursorAvailable) {
- return getCursorRouteEngine(shardingRule, database,
sqlStatementContext, queryContext.getHintValueContext(), shardingConditions,
props, connectionContext);
+ return getCursorRouteEngine(shardingRule, database,
sqlStatementContext, queryContext.getHintValueContext(), shardingConditions,
props);
}
return getDDLRoutingEngine(shardingRule, database,
sqlStatementContext, connectionContext, globalRuleMetaData);
}
@@ -140,8 +140,7 @@ public final class ShardingRouteEngineFactory {
}
private static ShardingRouteEngine getCursorRouteEngine(final ShardingRule
shardingRule, final ShardingSphereDatabase database, final SQLStatementContext
sqlStatementContext,
- final
HintValueContext hintValueContext, final ShardingConditions shardingConditions,
final ConfigurationProperties props,
- final
ConnectionContext connectionContext) {
+ final
HintValueContext hintValueContext, final ShardingConditions shardingConditions,
final ConfigurationProperties props) {
if (sqlStatementContext instanceof CloseStatementContext &&
((CloseStatementContext) sqlStatementContext).getSqlStatement().isCloseAll()) {
return new ShardingDatabaseBroadcastRoutingEngine();
}