You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by pa...@apache.org on 2023/06/20 03:38:09 UTC
[shardingsphere] branch master updated: Remove unused parameters from BroadcastRouteEngineFactory (#26448)
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 <10...@qq.com>
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();
}