You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by du...@apache.org on 2022/06/06 00:01:33 UTC
[shardingsphere] branch master updated: fix invalid binding table issue. (#18182)
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 cb30de84c71 fix invalid binding table issue. (#18182)
cb30de84c71 is described below
commit cb30de84c715950fd98c59c61f90b00273960cb2
Author: yumumu1988 <46...@qq.com>
AuthorDate: Mon Jun 6 08:01:27 2022 +0800
fix invalid binding table issue. (#18182)
when DataNodePrefix and shardingColumn are the same, isValidShardingAlgorithm method returns false.
Co-authored-by: zhanghailin <zh...@aixuexi.com>
---
.../main/java/org/apache/shardingsphere/sharding/rule/ShardingRule.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/java/org/apache/shardingsphere/sharding/rule/ShardingRule.java b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/java/org/apache/shardingsphere/sharding/rule/ShardingRule.java
index 35c707036d3..4d63d170a47 100644
--- a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/java/org/apache/shardingsphere/sharding/rule/ShardingRule.java
+++ b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/java/org/apache/shardingsphere/sharding/rule/ShardingRule.java
@@ -347,7 +347,7 @@ public final class ShardingRule implements SchemaRule, DataNodeContainedRule, Ta
String originAlgorithmExpression = null == shardingAlgorithm ? "" : shardingAlgorithm.getProps().getProperty("algorithm-expression", "");
String sampleDataNodePrefix = databaseAlgorithm ? tableRule.getDataSourceDataNode().getPrefix() : tableRule.getTableDataNode().getPrefix();
String shardingColumn = getShardingColumn(shardingStrategyConfig, checkedConfig.getDefaultShardingColumn());
- return originAlgorithmExpression.replace(sampleDataNodePrefix, "").replace(shardingColumn, "").replaceAll(" ", "");
+ return originAlgorithmExpression.replaceFirst(sampleDataNodePrefix, "").replaceFirst(shardingColumn, "").replaceAll(" ", "");
}
private String getShardingColumn(final ShardingStrategyConfiguration shardingStrategyConfig, final String defaultShardingColumn) {