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