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));
}