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 <[email protected]>
AuthorDate: Wed May 26 17:46:30 2021 +0800
minor refactor for RQL (#10488)
Co-authored-by: menghaoranss <[email protected]>
---
.../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() {