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 2021/05/26 09:47:19 UTC
[shardingsphere] branch master updated: minor refactor for RQL
(#10488)
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 d0ea924 minor refactor for RQL (#10488)
d0ea924 is described below
commit d0ea9246c5c937fc6a37e0b43000a50fbbdad2c5
Author: Haoran Meng <me...@gmail.com>
AuthorDate: Wed May 26 17:46:30 2021 +0800
minor refactor for RQL (#10488)
Co-authored-by: menghaoranss <me...@apache.org>
---
.../rql/impl/DatabaseDiscoveryRulesQueryBackendHandler.java | 10 ++++++++--
.../rql/impl/ReadwriteSplittingRulesQueryBackendHandler.java | 10 ++++++++--
.../rql/impl/ShardingBindingTableRulesQueryBackendHandler.java | 2 +-
.../impl/ShardingBroadcastTableRulesQueryBackendHandler.java | 2 +-
.../impl/DatabaseDiscoveryRulesQueryBackendHandlerTest.java | 2 +-
.../impl/ReadwriteSplittingRulesQueryBackendHandlerTest.java | 4 ++--
6 files changed, 21 insertions(+), 9 deletions(-)
diff --git a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rql/impl/DatabaseDiscoveryRulesQueryBackendHandler.java b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rql/impl/DatabaseDiscoveryRulesQueryBackendHandler.java
index 4fd1a79..fb035f9 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rql/impl/DatabaseDiscoveryRulesQueryBackendHandler.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rql/impl/DatabaseDiscoveryRulesQueryBackendHandler.java
@@ -17,6 +17,7 @@
package org.apache.shardingsphere.proxy.backend.text.distsql.rql.impl;
+import com.google.common.base.Joiner;
import com.google.common.collect.Maps;
import org.apache.shardingsphere.dbdiscovery.api.config.DatabaseDiscoveryRuleConfiguration;
import org.apache.shardingsphere.dbdiscovery.api.config.rule.DatabaseDiscoveryDataSourceRuleConfiguration;
@@ -37,7 +38,10 @@ import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
+import java.util.Objects;
import java.util.Optional;
+import java.util.Properties;
+import java.util.stream.Collectors;
/**
* Backend handler for show database discovery rules.
@@ -82,8 +86,10 @@ public final class DatabaseDiscoveryRulesQueryBackendHandler extends SchemaRequi
@Override
public Collection<Object> getRowData() {
DatabaseDiscoveryDataSourceRuleConfiguration ruleConfig = data.next();
- return Arrays.asList(ruleConfig.getName(), ruleConfig.getDataSourceNames(),
+ Properties discoverProps = discoverTypes.get(ruleConfig.getDiscoveryTypeName()).getProps();
+ return Arrays.asList(ruleConfig.getName(), Joiner.on(",").join(ruleConfig.getDataSourceNames()),
discoverTypes.get(ruleConfig.getDiscoveryTypeName()).getType(),
- discoverTypes.get(ruleConfig.getDiscoveryTypeName()).getProps());
+ Objects.nonNull(discoverProps) ? Joiner.on(",").join(discoverProps.entrySet().stream()
+ .map(each -> Joiner.on(":").join(each.getKey(), each.getValue())).collect(Collectors.toList())) : "");
}
}
diff --git a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rql/impl/ReadwriteSplittingRulesQueryBackendHandler.java b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rql/impl/ReadwriteSplittingRulesQueryBackendHandler.java
index 1b4d92e..c6dbce1 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rql/impl/ReadwriteSplittingRulesQueryBackendHandler.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rql/impl/ReadwriteSplittingRulesQueryBackendHandler.java
@@ -17,6 +17,7 @@
package org.apache.shardingsphere.proxy.backend.text.distsql.rql.impl;
+import com.google.common.base.Joiner;
import com.google.common.collect.Maps;
import org.apache.shardingsphere.distsql.parser.statement.rql.show.ShowReadwriteSplittingRulesStatement;
import org.apache.shardingsphere.infra.config.algorithm.ShardingSphereAlgorithmConfiguration;
@@ -37,7 +38,10 @@ import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
+import java.util.Objects;
import java.util.Optional;
+import java.util.Properties;
+import java.util.stream.Collectors;
/**
* Backend handler for show readwrite splitting rules.
@@ -84,9 +88,11 @@ public final class ReadwriteSplittingRulesQueryBackendHandler extends SchemaRequ
@Override
public Collection<Object> getRowData() {
ReadwriteSplittingDataSourceRuleConfiguration ruleConfig = data.next();
+ Properties loadBalancerProps = loadBalancers.get(ruleConfig.getLoadBalancerName()).getProps();
return Arrays.asList(ruleConfig.getName(), ruleConfig.getAutoAwareDataSourceName(),
- ruleConfig.getWriteDataSourceName(), ruleConfig.getReadDataSourceNames(),
+ ruleConfig.getWriteDataSourceName(), Joiner.on(",").join(ruleConfig.getReadDataSourceNames()),
loadBalancers.get(ruleConfig.getLoadBalancerName()).getType(),
- loadBalancers.get(ruleConfig.getLoadBalancerName()).getProps());
+ Objects.nonNull(loadBalancerProps) ? Joiner.on(",").join(loadBalancerProps.entrySet().stream()
+ .map(each -> Joiner.on(":").join(each.getKey(), each.getValue())).collect(Collectors.toList())) : "");
}
}
diff --git a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rql/impl/ShardingBindingTableRulesQueryBackendHandler.java b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rql/impl/ShardingBindingTableRulesQueryBackendHandler.java
index 3c79b3e..e05b476 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rql/impl/ShardingBindingTableRulesQueryBackendHandler.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rql/impl/ShardingBindingTableRulesQueryBackendHandler.java
@@ -57,7 +57,7 @@ public final class ShardingBindingTableRulesQueryBackendHandler extends SchemaRe
private List<QueryHeader> getQueryHeader() {
List<QueryHeader> result = new LinkedList<>();
- result.add(new QueryHeader(schema, "", "shardingBindingTable", "shardingBindingTable", Types.CHAR, "CHAR", 255, 0, false, false, false, false));
+ result.add(new QueryHeader(schema, "", "shardingBindingTables", "shardingBindingTables", Types.CHAR, "CHAR", 255, 0, false, false, false, false));
return result;
}
diff --git a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rql/impl/ShardingBroadcastTableRulesQueryBackendHandler.java b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rql/impl/ShardingBroadcastTableRulesQueryBackendHandler.java
index b8485ac..ab7077e 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rql/impl/ShardingBroadcastTableRulesQueryBackendHandler.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rql/impl/ShardingBroadcastTableRulesQueryBackendHandler.java
@@ -57,7 +57,7 @@ public final class ShardingBroadcastTableRulesQueryBackendHandler extends Schema
private List<QueryHeader> getQueryHeader() {
List<QueryHeader> result = new LinkedList<>();
- result.add(new QueryHeader(schema, "", "shardingBroadcastTable", "shardingBroadcastTable", Types.CHAR, "CHAR", 255, 0, false, false, false, false));
+ result.add(new QueryHeader(schema, "", "shardingBroadcastTables", "shardingBroadcastTables", Types.CHAR, "CHAR", 255, 0, false, false, false, false));
return result;
}
diff --git a/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/distsql/rql/impl/DatabaseDiscoveryRulesQueryBackendHandlerTest.java b/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/distsql/rql/impl/DatabaseDiscoveryRulesQueryBackendHandlerTest.java
index 7d6cf18..83091af 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/distsql/rql/impl/DatabaseDiscoveryRulesQueryBackendHandlerTest.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/distsql/rql/impl/DatabaseDiscoveryRulesQueryBackendHandlerTest.java
@@ -90,7 +90,7 @@ public final class DatabaseDiscoveryRulesQueryBackendHandlerTest {
Collection<Object> rowData = handler.getRowData();
assertThat(rowData.size(), is(4));
assertTrue(rowData.contains("ms_group"));
- assertTrue(rowData.contains(Arrays.asList("ds_0", "ds_1")));
+ assertTrue(rowData.contains("ds_0,ds_1"));
assertTrue(rowData.contains("MGR"));
}
diff --git a/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/distsql/rql/impl/ReadwriteSplittingRulesQueryBackendHandlerTest.java b/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/distsql/rql/impl/ReadwriteSplittingRulesQueryBackendHandlerTest.java
index c30608e..c92fba3 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/distsql/rql/impl/ReadwriteSplittingRulesQueryBackendHandlerTest.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/distsql/rql/impl/ReadwriteSplittingRulesQueryBackendHandlerTest.java
@@ -92,9 +92,9 @@ public final class ReadwriteSplittingRulesQueryBackendHandlerTest {
assertTrue(rowData.contains("pr_ds"));
assertTrue(rowData.contains("ms_group"));
assertTrue(rowData.contains("ds_primary"));
- assertTrue(rowData.contains(Arrays.asList("ds_slave_0", "ds_slave_1")));
+ assertTrue(rowData.contains("ds_slave_0,ds_slave_1"));
assertTrue(rowData.contains("random"));
- assertTrue(rowData.contains(buildProps()));
+ assertTrue(rowData.contains("read_weight:2:1"));
}
private ReadwriteSplittingRuleConfiguration buildReadwriteSplittingRuleConfiguration() {