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

strongduanmu 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 37c346d67e6 Avoid redundant CaseInsensitiveSet creation in standard 
route (#38772)
37c346d67e6 is described below

commit 37c346d67e6fa7917b72d61876e362a31aedf5bf
Author: ZhangCheng <[email protected]>
AuthorDate: Tue Jun 2 16:05:00 2026 +0800

    Avoid redundant CaseInsensitiveSet creation in standard route (#38772)
---
 .../route/engine/type/standard/ShardingStandardRouteEngine.java        | 3 +--
 .../executor/sql/prepare/driver/DriverExecutionPrepareEngine.java      | 3 ++-
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git 
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/type/standard/ShardingStandardRouteEngine.java
 
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/type/standard/ShardingStandardRouteEngine.java
index 2557a2c2829..3b7d0c2e059 100644
--- 
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/type/standard/ShardingStandardRouteEngine.java
+++ 
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/type/standard/ShardingStandardRouteEngine.java
@@ -17,7 +17,6 @@
 
 package org.apache.shardingsphere.sharding.route.engine.type.standard;
 
-import com.cedarsoftware.util.CaseInsensitiveSet;
 import lombok.RequiredArgsConstructor;
 import 
org.apache.shardingsphere.infra.binder.context.statement.SQLStatementContext;
 import org.apache.shardingsphere.infra.config.props.ConfigurationProperties;
@@ -230,7 +229,7 @@ public final class ShardingStandardRouteEngine implements 
ShardingRouteEngine {
         for (ShardingConditionValue each : shardingCondition.getValues()) {
             Optional<BindingTableRule> bindingTableRule = 
shardingRule.findBindingTableRule(each.getTableName());
             if ((logicTableName.equalsIgnoreCase(each.getTableName()) || 
bindingTableRule.isPresent() && 
bindingTableRule.get().hasLogicTable(logicTableName))
-                    && new 
CaseInsensitiveSet<>(shardingColumns).contains(each.getColumnName())) {
+                    && shardingColumns.contains(each.getColumnName())) {
                 result.add(each);
             }
         }
diff --git 
a/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/prepare/driver/DriverExecutionPrepareEngine.java
 
b/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/prepare/driver/DriverExecutionPrepareEngine.java
index 9076eb3c245..01316397fe6 100644
--- 
a/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/prepare/driver/DriverExecutionPrepareEngine.java
+++ 
b/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/prepare/driver/DriverExecutionPrepareEngine.java
@@ -110,7 +110,8 @@ public final class DriverExecutionPrepareEngine<T extends 
DriverExecutionUnit<?>
         ShardingSphereDatabase database = metaData.getDatabase(databaseName);
         ShardingSpherePreconditions.checkNotNull(database, () -> new 
UnknownDatabaseException(databaseName));
         Map<String, StorageUnit> storageUnits = 
database.getResourceMetaData().getStorageUnits();
-        DatabaseType databaseType = storageUnits.containsKey(dataSourceName) ? 
storageUnits.get(dataSourceName).getStorageType() : 
storageUnits.values().iterator().next().getStorageType();
+        StorageUnit storageUnit = storageUnits.get(dataSourceName);
+        DatabaseType databaseType = null == storageUnit ? 
storageUnits.values().iterator().next().getStorageType() : 
storageUnit.getStorageType();
         for (ExecutionUnit each : executionUnits) {
             inputs.add((T) sqlExecutionUnitBuilder.build(each, 
statementManager, connection, connectionOffset, connectionMode, option, 
databaseType));
         }

Reply via email to