This is an automated email from the ASF dual-hosted git repository.
zhangliang 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 15c1132 fixed #10453 (#10576)
15c1132 is described below
commit 15c1132992b329ee220bfe00c0ddff86615432cc
Author: totalo <[email protected]>
AuthorDate: Mon May 31 19:44:51 2021 +0800
fixed #10453 (#10576)
---
.../api/DistSQLStatementParserEngineTest.java | 37 ++++++++++++++++++++++
1 file changed, 37 insertions(+)
diff --git
a/shardingsphere-distsql-parser/shardingsphere-distsql-parser-engine/src/test/java/org/apache/shardingsphere/distsql/parser/api/DistSQLStatementParserEngineTest.java
b/shardingsphere-distsql-parser/shardingsphere-distsql-parser-engine/src/test/java/org/apache/shardingsphere/distsql/parser/api/DistSQLStatementParserEngineTest.java
index 675b3c2..bff261c 100644
---
a/shardingsphere-distsql-parser/shardingsphere-distsql-parser-engine/src/test/java/org/apache/shardingsphere/distsql/parser/api/DistSQLStatementParserEngineTest.java
+++
b/shardingsphere-distsql-parser/shardingsphere-distsql-parser-engine/src/test/java/org/apache/shardingsphere/distsql/parser/api/DistSQLStatementParserEngineTest.java
@@ -20,6 +20,7 @@ package org.apache.shardingsphere.distsql.parser.api;
import org.apache.shardingsphere.distsql.parser.segment.DataSourceSegment;
import org.apache.shardingsphere.distsql.parser.segment.TableRuleSegment;
import
org.apache.shardingsphere.distsql.parser.segment.rdl.DatabaseDiscoveryRuleSegment;
+import
org.apache.shardingsphere.distsql.parser.segment.rdl.ReadwriteSplittingRuleSegment;
import
org.apache.shardingsphere.distsql.parser.segment.rdl.EncryptColumnSegment;
import org.apache.shardingsphere.distsql.parser.segment.rdl.EncryptRuleSegment;
import
org.apache.shardingsphere.distsql.parser.segment.rdl.ShardingBindingTableRuleSegment;
@@ -329,18 +330,54 @@ public final class DistSQLStatementParserEngineTest {
public void assertParseStaticReadwriteSplittingRule() {
SQLStatement sqlStatement =
engine.parse(RDL_CREATE_STATIC_READWRITE_SPLITTING_RULE);
assertTrue(sqlStatement instanceof
CreateReadwriteSplittingRuleStatement);
+ CreateReadwriteSplittingRuleStatement statement =
(CreateReadwriteSplittingRuleStatement) sqlStatement;
+ assertThat(statement.getReadwriteSplittingRules().size(), is(1));
+ List<ReadwriteSplittingRuleSegment> readwriteSplittingRuleSegments
+ = new ArrayList<>(((CreateReadwriteSplittingRuleStatement)
sqlStatement).getReadwriteSplittingRules());
+ assertThat(readwriteSplittingRuleSegments.get(0).getName(),
is("ms_group_0"));
+ assertThat(readwriteSplittingRuleSegments.get(0).getWriteDataSource(),
is("primary_ds"));
+ assertThat(readwriteSplittingRuleSegments.get(0).getReadDataSources(),
is(Arrays.asList("replica_ds_0", "replica_ds_1")));
+ assertThat(readwriteSplittingRuleSegments.get(0).getLoadBalancer(),
is("random"));
+ assertThat(readwriteSplittingRuleSegments.get(0).getProps().size(),
is(0));
}
@Test
public void assertParseDynamicReadwriteSplittingRule() {
SQLStatement sqlStatement =
engine.parse(RDL_CREATE_DYNAMIC_READWRITE_SPLITTING_RULE);
assertTrue(sqlStatement instanceof
CreateReadwriteSplittingRuleStatement);
+ CreateReadwriteSplittingRuleStatement statement =
(CreateReadwriteSplittingRuleStatement) sqlStatement;
+ assertThat(statement.getReadwriteSplittingRules().size(), is(1));
+ List<ReadwriteSplittingRuleSegment> readwriteSplittingRuleSegments
+ = new ArrayList<>(((CreateReadwriteSplittingRuleStatement)
sqlStatement).getReadwriteSplittingRules());
+ assertThat(readwriteSplittingRuleSegments.get(0).getName(),
is("ms_group_1"));
+
assertThat(readwriteSplittingRuleSegments.get(0).getAutoAwareResource(),
is("group_0"));
+ assertNull(readwriteSplittingRuleSegments.get(0).getWriteDataSource());
+ assertNull(readwriteSplittingRuleSegments.get(0).getReadDataSources());
+ assertThat(readwriteSplittingRuleSegments.get(0).getLoadBalancer(),
is("random"));
+ assertThat(readwriteSplittingRuleSegments.get(0).getProps().size(),
is(1));
+
assertThat(readwriteSplittingRuleSegments.get(0).getProps().getProperty("read_weight"),
is("'2:1'"));
}
@Test
public void assertParseAlterReadwriteSplittingRule() {
SQLStatement sqlStatement =
engine.parse(RDL_ALTER_READWRITE_SPLITTING_RULE);
assertTrue(sqlStatement instanceof
AlterReadwriteSplittingRuleStatement);
+ AlterReadwriteSplittingRuleStatement statement =
(AlterReadwriteSplittingRuleStatement) sqlStatement;
+ assertThat(statement.getReadwriteSplittingRules().size(), is(2));
+ List<ReadwriteSplittingRuleSegment> readwriteSplittingRuleSegments
+ = new ArrayList<>(((AlterReadwriteSplittingRuleStatement)
sqlStatement).getReadwriteSplittingRules());
+ assertThat(readwriteSplittingRuleSegments.get(0).getName(),
is("ms_group_0"));
+
assertThat(readwriteSplittingRuleSegments.get(0).getAutoAwareResource(),
is("group_0"));
+ assertNull(readwriteSplittingRuleSegments.get(0).getWriteDataSource());
+ assertNull(readwriteSplittingRuleSegments.get(0).getReadDataSources());
+ assertThat(readwriteSplittingRuleSegments.get(0).getLoadBalancer(),
is("random"));
+ assertThat(readwriteSplittingRuleSegments.get(0).getProps().size(),
is(1));
+
assertThat(readwriteSplittingRuleSegments.get(0).getProps().getProperty("read_weight"),
is("'2:1'"));
+ assertThat(readwriteSplittingRuleSegments.get(1).getName(),
is("ms_group_1"));
+ assertThat(readwriteSplittingRuleSegments.get(1).getWriteDataSource(),
is("primary_ds"));
+ assertThat(readwriteSplittingRuleSegments.get(1).getReadDataSources(),
is(Arrays.asList("replica_ds_0", "replica_ds_1")));
+ assertThat(readwriteSplittingRuleSegments.get(1).getLoadBalancer(),
is("random"));
+ assertThat(readwriteSplittingRuleSegments.get(1).getProps().size(),
is(0));
}
@Test