You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by ji...@apache.org on 2022/06/02 03:40:40 UTC
[shardingsphere] branch master updated: Fix `SHOW SHARDING TABLE RULES USED ALGORITHM` not display tables used default strategy. (#18108)
This is an automated email from the ASF dual-hosted git repository.
jianglongtao 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 2b2a1fd609e Fix `SHOW SHARDING TABLE RULES USED ALGORITHM` not display tables used default strategy. (#18108)
2b2a1fd609e is described below
commit 2b2a1fd609e7ddaec3be6ce8273f799181f472ea
Author: yx9o <ya...@163.com>
AuthorDate: Thu Jun 2 11:40:35 2022 +0800
Fix `SHOW SHARDING TABLE RULES USED ALGORITHM` not display tables used default strategy. (#18108)
* Fix SHOW SHARDING TABLE RULES USED ALGORITHM not display tables used default strategy.
* Update.
* Update.
---
.../ShardingTableRulesUsedAlgorithmQueryResultSet.java | 13 ++++++++++---
1 file changed, 10 insertions(+), 3 deletions(-)
diff --git a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-distsql/shardingsphere-sharding-distsql-handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/query/ShardingTableRulesUsedAlgorithmQueryResultSet.java b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-distsql/shardingsphere-sharding-distsql-handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/query/ShardingTableRulesUsedAlgorithmQueryResultSet.java
index 99e7e85e518..cb3214e0a3e 100644
--- a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-distsql/shardingsphere-sharding-distsql-handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/query/ShardingTableRulesUsedAlgorithmQueryResultSet.java
+++ b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-distsql/shardingsphere-sharding-distsql-handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/query/ShardingTableRulesUsedAlgorithmQueryResultSet.java
@@ -49,14 +49,21 @@ public final class ShardingTableRulesUsedAlgorithmQueryResultSet implements Dist
if (!statement.getAlgorithmName().isPresent()) {
return;
}
+ String algorithmName = statement.getAlgorithmName().get();
+ boolean matchDefaultDatabaseShardingStrategy = null != shardingRuleConfig.getDefaultDatabaseShardingStrategy()
+ && algorithmName.equals(shardingRuleConfig.getDefaultDatabaseShardingStrategy().getShardingAlgorithmName());
+ boolean matchDefaultTableShardingStrategy = null != shardingRuleConfig.getDefaultTableShardingStrategy()
+ && algorithmName.equals(shardingRuleConfig.getDefaultTableShardingStrategy().getShardingAlgorithmName());
shardingRuleConfig.getTables().forEach(each -> {
- if (((null != each.getDatabaseShardingStrategy() && statement.getAlgorithmName().get().equals(each.getDatabaseShardingStrategy().getShardingAlgorithmName())))
- || (null != each.getTableShardingStrategy() && statement.getAlgorithmName().get().equals(each.getTableShardingStrategy().getShardingAlgorithmName()))) {
+ if (((null == each.getDatabaseShardingStrategy() && matchDefaultDatabaseShardingStrategy)
+ || (null != each.getDatabaseShardingStrategy() && algorithmName.equals(each.getDatabaseShardingStrategy().getShardingAlgorithmName())))
+ || ((null == each.getTableShardingStrategy() && matchDefaultTableShardingStrategy)
+ || (null != each.getTableShardingStrategy() && algorithmName.equals(each.getTableShardingStrategy().getShardingAlgorithmName())))) {
data.add(Arrays.asList("table", each.getLogicTable()));
}
});
shardingRuleConfig.getAutoTables().forEach(each -> {
- if (null != each.getShardingStrategy() && statement.getAlgorithmName().get().equals(each.getShardingStrategy().getShardingAlgorithmName())) {
+ if (null != each.getShardingStrategy() && algorithmName.equals(each.getShardingStrategy().getShardingAlgorithmName())) {
data.add(Arrays.asList("auto_table", each.getLogicTable()));
}
});