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 6fb4803a72c Refactor standard sharding strategy CaseInsensitiveSet 
(#38782)
6fb4803a72c is described below

commit 6fb4803a72ce92bc1ddc1bce5809fd7413a12c7d
Author: ZhangCheng <[email protected]>
AuthorDate: Wed Jun 3 09:22:36 2026 +0800

    Refactor standard sharding strategy CaseInsensitiveSet (#38782)
---
 .../route/strategy/type/standard/StandardShardingStrategy.java   | 9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)

diff --git 
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/strategy/type/standard/StandardShardingStrategy.java
 
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/strategy/type/standard/StandardShardingStrategy.java
index 32cbf566a84..9ddf77e909c 100644
--- 
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/strategy/type/standard/StandardShardingStrategy.java
+++ 
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/strategy/type/standard/StandardShardingStrategy.java
@@ -33,7 +33,6 @@ import 
org.apache.shardingsphere.sharding.route.strategy.ShardingStrategy;
 
 import java.util.Collection;
 import java.util.Collections;
-import java.util.LinkedList;
 
 /**
  * Standard sharding strategy.
@@ -59,15 +58,14 @@ public final class StandardShardingStrategy implements 
ShardingStrategy {
     public Collection<String> doSharding(final Collection<String> 
availableTargetNames, final Collection<ShardingConditionValue> 
shardingConditionValues,
                                          final DataNodeInfo dataNodeInfo, 
final ConfigurationProperties props) {
         ShardingConditionValue shardingConditionValue = 
shardingConditionValues.iterator().next();
-        Collection<String> shardingResult = shardingConditionValue instanceof 
ListShardingConditionValue
+        return shardingConditionValue instanceof ListShardingConditionValue
                 ? doSharding(availableTargetNames, 
(ListShardingConditionValue) shardingConditionValue, dataNodeInfo)
                 : doSharding(availableTargetNames, 
(RangeShardingConditionValue) shardingConditionValue, dataNodeInfo);
-        return new CaseInsensitiveSet<>(shardingResult);
     }
     
     @SuppressWarnings({"unchecked", "rawtypes"})
     private Collection<String> doSharding(final Collection<String> 
availableTargetNames, final ListShardingConditionValue<?> shardingValue, final 
DataNodeInfo dataNodeInfo) {
-        Collection<String> result = new LinkedList<>();
+        Collection<String> result = new 
CaseInsensitiveSet<>(shardingValue.getValues().size(), 1F);
         for (Object each : shardingValue.getValues()) {
             String target = shardingAlgorithm.doSharding(availableTargetNames,
                     new PreciseShardingValue(shardingValue.getTableName(), 
shardingValue.getColumnName(), dataNodeInfo, each));
@@ -81,7 +79,8 @@ public final class StandardShardingStrategy implements 
ShardingStrategy {
     
     @SuppressWarnings({"unchecked", "rawtypes"})
     private Collection<String> doSharding(final Collection<String> 
availableTargetNames, final RangeShardingConditionValue<?> shardingValue, final 
DataNodeInfo dataNodeInfo) {
-        return shardingAlgorithm.doSharding(availableTargetNames,
+        Collection<String> result = 
shardingAlgorithm.doSharding(availableTargetNames,
                 new RangeShardingValue(shardingValue.getTableName(), 
shardingValue.getColumnName(), dataNodeInfo, shardingValue.getValueRange()));
+        return new CaseInsensitiveSet<>(result);
     }
 }

Reply via email to