This is an automated email from the ASF dual-hosted git repository.

duanzhengqiang 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 751fe975799 Use provided dataSourceNames instead of 
usedDataSourceNames. (#35201)
751fe975799 is described below

commit 751fe975799baa089d70150c430f6c89f908da11
Author: Cong Hu <iamhuc...@gmail.com>
AuthorDate: Wed Apr 16 12:02:33 2025 +0800

    Use provided dataSourceNames instead of usedDataSourceNames. (#35201)
    
    Ensure return logic datasource name.
---
 .../engine/tableless/TablelessRouteEngineFactory.java |  7 +++----
 .../TablelessDataSourceUnicastRouteEngine.java        |  6 +-----
 .../TablelessDataSourceUnicastRouteEngineTest.java    | 19 ++-----------------
 3 files changed, 6 insertions(+), 26 deletions(-)

diff --git 
a/infra/route/src/main/java/org/apache/shardingsphere/infra/route/engine/tableless/TablelessRouteEngineFactory.java
 
b/infra/route/src/main/java/org/apache/shardingsphere/infra/route/engine/tableless/TablelessRouteEngineFactory.java
index dcff7eb35d6..c085cdeb5f5 100644
--- 
a/infra/route/src/main/java/org/apache/shardingsphere/infra/route/engine/tableless/TablelessRouteEngineFactory.java
+++ 
b/infra/route/src/main/java/org/apache/shardingsphere/infra/route/engine/tableless/TablelessRouteEngineFactory.java
@@ -28,7 +28,6 @@ import 
org.apache.shardingsphere.infra.route.engine.tableless.type.broadcast.Tab
 import 
org.apache.shardingsphere.infra.route.engine.tableless.type.broadcast.TablelessInstanceBroadcastRouteEngine;
 import 
org.apache.shardingsphere.infra.route.engine.tableless.type.ignore.TablelessIgnoreRouteEngine;
 import 
org.apache.shardingsphere.infra.route.engine.tableless.type.unicast.TablelessDataSourceUnicastRouteEngine;
-import org.apache.shardingsphere.infra.session.connection.ConnectionContext;
 import org.apache.shardingsphere.infra.session.query.QueryContext;
 import 
org.apache.shardingsphere.sql.parser.statement.core.statement.SQLStatement;
 import 
org.apache.shardingsphere.sql.parser.statement.core.statement.dal.AlterResourceGroupStatement;
@@ -82,7 +81,7 @@ public final class TablelessRouteEngineFactory {
             return getDDLRouteEngine(queryContext.getSqlStatementContext(), 
database);
         }
         if (sqlStatement instanceof DMLStatement) {
-            return getDMLRouteEngine(queryContext.getSqlStatementContext(), 
queryContext.getConnectionContext());
+            return getDMLRouteEngine(queryContext.getSqlStatementContext());
         }
         return new TablelessIgnoreRouteEngine();
     }
@@ -135,9 +134,9 @@ public final class TablelessRouteEngineFactory {
         return new TablelessIgnoreRouteEngine();
     }
     
-    private static TablelessRouteEngine getDMLRouteEngine(final 
SQLStatementContext sqlStatementContext, final ConnectionContext 
connectionContext) {
+    private static TablelessRouteEngine getDMLRouteEngine(final 
SQLStatementContext sqlStatementContext) {
         if (sqlStatementContext instanceof SelectStatementContext) {
-            return new 
TablelessDataSourceUnicastRouteEngine(connectionContext);
+            return new TablelessDataSourceUnicastRouteEngine();
         }
         return new TablelessIgnoreRouteEngine();
     }
diff --git 
a/infra/route/src/main/java/org/apache/shardingsphere/infra/route/engine/tableless/type/unicast/TablelessDataSourceUnicastRouteEngine.java
 
b/infra/route/src/main/java/org/apache/shardingsphere/infra/route/engine/tableless/type/unicast/TablelessDataSourceUnicastRouteEngine.java
index d771880cb93..09cf89cdd9d 100644
--- 
a/infra/route/src/main/java/org/apache/shardingsphere/infra/route/engine/tableless/type/unicast/TablelessDataSourceUnicastRouteEngine.java
+++ 
b/infra/route/src/main/java/org/apache/shardingsphere/infra/route/engine/tableless/type/unicast/TablelessDataSourceUnicastRouteEngine.java
@@ -23,7 +23,6 @@ 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.route.engine.tableless.TablelessRouteEngine;
-import org.apache.shardingsphere.infra.session.connection.ConnectionContext;
 
 import java.util.ArrayList;
 import java.util.Collection;
@@ -36,8 +35,6 @@ import java.util.concurrent.ThreadLocalRandom;
 @RequiredArgsConstructor
 public final class TablelessDataSourceUnicastRouteEngine implements 
TablelessRouteEngine {
     
-    private final ConnectionContext connectionContext;
-    
     @Override
     public RouteContext route(final RuleMetaData globalRuleMetaData, final 
Collection<String> aggregatedDataSources) {
         RouteContext result = new RouteContext();
@@ -51,7 +48,6 @@ public final class TablelessDataSourceUnicastRouteEngine 
implements TablelessRou
     }
     
     private String getRandomDataSourceName(final Collection<String> 
dataSourceNames) {
-        Collection<String> usedDataSourceNames = 
connectionContext.getUsedDataSourceNames().isEmpty() ? dataSourceNames : 
connectionContext.getUsedDataSourceNames();
-        return new 
ArrayList<>(usedDataSourceNames).get(ThreadLocalRandom.current().nextInt(usedDataSourceNames.size()));
+        return new 
ArrayList<>(dataSourceNames).get(ThreadLocalRandom.current().nextInt(dataSourceNames.size()));
     }
 }
diff --git 
a/infra/route/src/test/java/org/apache/shardingsphere/infra/route/engine/tableless/type/unicast/TablelessDataSourceUnicastRouteEngineTest.java
 
b/infra/route/src/test/java/org/apache/shardingsphere/infra/route/engine/tableless/type/unicast/TablelessDataSourceUnicastRouteEngineTest.java
index e2f26d8c723..825a8f54b3e 100644
--- 
a/infra/route/src/test/java/org/apache/shardingsphere/infra/route/engine/tableless/type/unicast/TablelessDataSourceUnicastRouteEngineTest.java
+++ 
b/infra/route/src/test/java/org/apache/shardingsphere/infra/route/engine/tableless/type/unicast/TablelessDataSourceUnicastRouteEngineTest.java
@@ -20,14 +20,12 @@ package 
org.apache.shardingsphere.infra.route.engine.tableless.type.unicast;
 import org.apache.shardingsphere.infra.metadata.database.rule.RuleMetaData;
 import org.apache.shardingsphere.infra.route.context.RouteContext;
 import org.apache.shardingsphere.infra.route.context.RouteUnit;
-import org.apache.shardingsphere.infra.session.connection.ConnectionContext;
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.extension.ExtendWith;
 import org.mockito.junit.jupiter.MockitoExtension;
 
 import java.util.Arrays;
 import java.util.Collection;
-import java.util.Collections;
 
 import static org.hamcrest.CoreMatchers.is;
 import static org.hamcrest.MatcherAssert.assertThat;
@@ -38,26 +36,13 @@ import static org.mockito.Mockito.mock;
 class TablelessDataSourceUnicastRouteEngineTest {
     
     @Test
-    void assertRouteWithoutUsedDataSourceNames() {
-        ConnectionContext connectionContext = new 
ConnectionContext(Collections::emptyList);
+    void assertRoute() {
         Collection<String> aggregatedDataSources = Arrays.asList("foo_ds_1", 
"foo_ds_2");
-        RouteContext actual = new 
TablelessDataSourceUnicastRouteEngine(connectionContext).route(mock(RuleMetaData.class),
 aggregatedDataSources);
+        RouteContext actual = new 
TablelessDataSourceUnicastRouteEngine().route(mock(RuleMetaData.class), 
aggregatedDataSources);
         assertThat(actual.getRouteUnits().size(), is(1));
         RouteUnit routeUnit = actual.getRouteUnits().iterator().next();
         
assertTrue(aggregatedDataSources.contains(routeUnit.getDataSourceMapper().getLogicName()));
         
assertTrue(aggregatedDataSources.contains(routeUnit.getDataSourceMapper().getActualName()));
         assertThat(routeUnit.getTableMappers().size(), is(0));
     }
-    
-    @Test
-    void assertRouteWithUsedDataSourceNames() {
-        ConnectionContext connectionContext = new ConnectionContext(() -> 
Collections.singleton("foo_ds_1"));
-        Collection<String> aggregatedDataSources = Arrays.asList("foo_ds_1", 
"foo_ds_2");
-        RouteContext actual = new 
TablelessDataSourceUnicastRouteEngine(connectionContext).route(mock(RuleMetaData.class),
 aggregatedDataSources);
-        assertThat(actual.getRouteUnits().size(), is(1));
-        RouteUnit routeUnit = actual.getRouteUnits().iterator().next();
-        assertThat(routeUnit.getDataSourceMapper().getLogicName(), 
is("foo_ds_1"));
-        assertThat(routeUnit.getDataSourceMapper().getActualName(), 
is("foo_ds_1"));
-        assertThat(routeUnit.getTableMappers().size(), is(0));
-    }
 }

Reply via email to