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 8f36af32470 Optimize DB_DISCOVERY related syntax (#21718)
8f36af32470 is described below
commit 8f36af3247025d68836cb0bb3fc1175a9bd99aba
Author: ChenJiaHao <[email protected]>
AuthorDate: Tue Oct 25 13:49:57 2022 +0800
Optimize DB_DISCOVERY related syntax (#21718)
* Remove DistSQL CREATE DB_DISCOVERY TYPE & CREATE DB_DISCOVERY HEARTBEAT
* Remove DistSQL ALTER DB_DISCOVERY TYPE & ALTER DB_DISCOVERY HEARTBEAT
* Remove Unused DistSQL test cases
* Remove construction way for DatabaseDiscoveryRule
* Fix unit test
* Remove incorrect import
---
.../DatabaseDiscoveryRuleStatementConverter.java | 9 ----
...AlterDatabaseDiscoveryRuleStatementUpdater.java | 10 ----
...reateDatabaseDiscoveryRuleStatementUpdater.java | 10 ----
...atabaseDiscoveryRuleStatementConverterTest.java | 11 +---
...rDatabaseDiscoveryRuleStatementUpdaterTest.java | 62 +++++++---------------
...eDatabaseDiscoveryRuleStatementUpdaterTest.java | 56 ++++++-------------
.../antlr4/imports/db-discovery/RDLStatement.g4 | 24 ---------
.../autogen/DatabaseDiscoveryDistSQLStatement.g4 | 4 --
.../DatabaseDiscoveryDistSQLStatementVisitor.java | 51 ------------------
.../parser/DatabaseDiscoveryDistSQLTest.java | 34 ------------
.../DatabaseDiscoveryConstructionSegment.java | 39 --------------
.../AlterDatabaseDiscoveryRuleStatementAssert.java | 27 +---------
...CreateDatabaseDiscoveryRuleStatementAssert.java | 26 +--------
.../jaxb/cases/domain/SQLParserTestCases.java | 24 ---------
.../ExpectedDatabaseDiscoveryConstructionRule.java | 46 ----------------
...DiscoveryConstructionRuleStatementTestCase.java | 36 -------------
...DiscoveryConstructionRuleStatementTestCase.java | 38 -------------
test/parser/src/main/resources/case/rdl/alter.xml | 28 ----------
test/parser/src/main/resources/case/rdl/create.xml | 29 ----------
.../src/main/resources/sql/supported/rdl/alter.xml | 3 --
.../main/resources/sql/supported/rdl/create.xml | 3 --
21 files changed, 41 insertions(+), 529 deletions(-)
diff --git
a/features/db-discovery/distsql/handler/src/main/java/org/apache/shardingsphere/dbdiscovery/distsql/handler/converter/DatabaseDiscoveryRuleStatementConverter.java
b/features/db-discovery/distsql/handler/src/main/java/org/apache/shardingsphere/dbdiscovery/distsql/handler/converter/DatabaseDiscoveryRuleStatementConverter.java
index f797ee5bcba..f627f8c7f9c 100644
---
a/features/db-discovery/distsql/handler/src/main/java/org/apache/shardingsphere/dbdiscovery/distsql/handler/converter/DatabaseDiscoveryRuleStatementConverter.java
+++
b/features/db-discovery/distsql/handler/src/main/java/org/apache/shardingsphere/dbdiscovery/distsql/handler/converter/DatabaseDiscoveryRuleStatementConverter.java
@@ -23,7 +23,6 @@ import
org.apache.shardingsphere.dbdiscovery.api.config.DatabaseDiscoveryRuleCon
import
org.apache.shardingsphere.dbdiscovery.api.config.rule.DatabaseDiscoveryDataSourceRuleConfiguration;
import
org.apache.shardingsphere.dbdiscovery.api.config.rule.DatabaseDiscoveryHeartBeatConfiguration;
import
org.apache.shardingsphere.dbdiscovery.distsql.parser.segment.AbstractDatabaseDiscoverySegment;
-import
org.apache.shardingsphere.dbdiscovery.distsql.parser.segment.DatabaseDiscoveryConstructionSegment;
import
org.apache.shardingsphere.dbdiscovery.distsql.parser.segment.DatabaseDiscoveryDefinitionSegment;
import
org.apache.shardingsphere.dbdiscovery.distsql.parser.segment.DatabaseDiscoveryHeartbeatSegment;
import
org.apache.shardingsphere.dbdiscovery.distsql.parser.segment.DatabaseDiscoveryProviderAlgorithmSegment;
@@ -54,8 +53,6 @@ public final class DatabaseDiscoveryRuleStatementConverter {
DatabaseDiscoveryRuleConfiguration result = new
DatabaseDiscoveryRuleConfiguration(new LinkedList<>(), new LinkedHashMap<>(),
new LinkedHashMap<>());
segmentMap.getOrDefault(DatabaseDiscoveryDefinitionSegment.class.getSimpleName(),
Collections.emptyList())
.forEach(each -> addRuleConfiguration(result,
(DatabaseDiscoveryDefinitionSegment) each));
-
segmentMap.getOrDefault(DatabaseDiscoveryConstructionSegment.class.getSimpleName(),
Collections.emptyList())
- .forEach(each -> addRuleConfiguration(result,
(DatabaseDiscoveryConstructionSegment) each));
return result;
}
@@ -71,12 +68,6 @@ public final class DatabaseDiscoveryRuleStatementConverter {
ruleConfig.getDiscoveryHeartbeats().put(heartbeatName,
heartbeatConfig);
}
- private static void addRuleConfiguration(final
DatabaseDiscoveryRuleConfiguration ruleConfig, final
DatabaseDiscoveryConstructionSegment segment) {
- DatabaseDiscoveryDataSourceRuleConfiguration dataSourceRuleConfig =
- new
DatabaseDiscoveryDataSourceRuleConfiguration(segment.getName(), new
LinkedList<>(segment.getDataSources()), segment.getDiscoveryHeartbeatName(),
segment.getDiscoveryTypeName());
- ruleConfig.getDataSources().add(dataSourceRuleConfig);
- }
-
private static String getName(final String ruleName, final String type) {
return String.format("%s_%s", ruleName, type);
}
diff --git
a/features/db-discovery/distsql/handler/src/main/java/org/apache/shardingsphere/dbdiscovery/distsql/handler/update/AlterDatabaseDiscoveryRuleStatementUpdater.java
b/features/db-discovery/distsql/handler/src/main/java/org/apache/shardingsphere/dbdiscovery/distsql/handler/update/AlterDatabaseDiscoveryRuleStatementUpdater.java
index f15744906bc..b30d8f882e7 100644
---
a/features/db-discovery/distsql/handler/src/main/java/org/apache/shardingsphere/dbdiscovery/distsql/handler/update/AlterDatabaseDiscoveryRuleStatementUpdater.java
+++
b/features/db-discovery/distsql/handler/src/main/java/org/apache/shardingsphere/dbdiscovery/distsql/handler/update/AlterDatabaseDiscoveryRuleStatementUpdater.java
@@ -22,7 +22,6 @@ import
org.apache.shardingsphere.dbdiscovery.api.config.DatabaseDiscoveryRuleCon
import
org.apache.shardingsphere.dbdiscovery.api.config.rule.DatabaseDiscoveryDataSourceRuleConfiguration;
import
org.apache.shardingsphere.dbdiscovery.distsql.handler.converter.DatabaseDiscoveryRuleStatementConverter;
import
org.apache.shardingsphere.dbdiscovery.distsql.parser.segment.AbstractDatabaseDiscoverySegment;
-import
org.apache.shardingsphere.dbdiscovery.distsql.parser.segment.DatabaseDiscoveryConstructionSegment;
import
org.apache.shardingsphere.dbdiscovery.distsql.parser.segment.DatabaseDiscoveryDefinitionSegment;
import
org.apache.shardingsphere.dbdiscovery.distsql.parser.statement.AlterDatabaseDiscoveryRuleStatement;
import
org.apache.shardingsphere.dbdiscovery.factory.DatabaseDiscoveryProviderAlgorithmFactory;
@@ -91,15 +90,6 @@ public final class
AlterDatabaseDiscoveryRuleStatementUpdater implements RuleDef
.map(each -> ((DatabaseDiscoveryDefinitionSegment)
each).getDiscoveryType().getName()).distinct()
.filter(each ->
!DatabaseDiscoveryProviderAlgorithmFactory.contains(each)).collect(Collectors.toList());
ShardingSpherePreconditions.checkState(invalidInput.isEmpty(), () ->
new InvalidAlgorithmConfigurationException("database discovery", invalidInput));
-
segmentMap.getOrDefault(DatabaseDiscoveryConstructionSegment.class.getSimpleName(),
Collections.emptyList()).stream().map(each ->
(DatabaseDiscoveryConstructionSegment) each)
- .forEach(each -> {
- if
(!currentRuleConfig.getDiscoveryTypes().containsKey(each.getDiscoveryTypeName()))
{
- invalidInput.add(each.getDiscoveryTypeName());
- }
- if
(!currentRuleConfig.getDiscoveryHeartbeats().containsKey(each.getDiscoveryHeartbeatName()))
{
- invalidInput.add(each.getDiscoveryHeartbeatName());
- }
- });
ShardingSpherePreconditions.checkState(invalidInput.isEmpty(), () ->
new MissingRequiredAlgorithmException("database discovery", invalidInput));
}
diff --git
a/features/db-discovery/distsql/handler/src/main/java/org/apache/shardingsphere/dbdiscovery/distsql/handler/update/CreateDatabaseDiscoveryRuleStatementUpdater.java
b/features/db-discovery/distsql/handler/src/main/java/org/apache/shardingsphere/dbdiscovery/distsql/handler/update/CreateDatabaseDiscoveryRuleStatementUpdater.java
index 72a07328e12..f8402fdd3c2 100644
---
a/features/db-discovery/distsql/handler/src/main/java/org/apache/shardingsphere/dbdiscovery/distsql/handler/update/CreateDatabaseDiscoveryRuleStatementUpdater.java
+++
b/features/db-discovery/distsql/handler/src/main/java/org/apache/shardingsphere/dbdiscovery/distsql/handler/update/CreateDatabaseDiscoveryRuleStatementUpdater.java
@@ -21,7 +21,6 @@ import
org.apache.shardingsphere.dbdiscovery.api.config.DatabaseDiscoveryRuleCon
import
org.apache.shardingsphere.dbdiscovery.api.config.rule.DatabaseDiscoveryDataSourceRuleConfiguration;
import
org.apache.shardingsphere.dbdiscovery.distsql.handler.converter.DatabaseDiscoveryRuleStatementConverter;
import
org.apache.shardingsphere.dbdiscovery.distsql.parser.segment.AbstractDatabaseDiscoverySegment;
-import
org.apache.shardingsphere.dbdiscovery.distsql.parser.segment.DatabaseDiscoveryConstructionSegment;
import
org.apache.shardingsphere.dbdiscovery.distsql.parser.segment.DatabaseDiscoveryDefinitionSegment;
import
org.apache.shardingsphere.dbdiscovery.distsql.parser.statement.CreateDatabaseDiscoveryRuleStatement;
import
org.apache.shardingsphere.dbdiscovery.factory.DatabaseDiscoveryProviderAlgorithmFactory;
@@ -85,15 +84,6 @@ public final class
CreateDatabaseDiscoveryRuleStatementUpdater implements RuleDe
.map(each -> ((DatabaseDiscoveryDefinitionSegment)
each).getDiscoveryType().getName()).distinct()
.filter(each ->
!DatabaseDiscoveryProviderAlgorithmFactory.contains(each)).collect(Collectors.toList());
ShardingSpherePreconditions.checkState(invalidInput.isEmpty(), () ->
new InvalidAlgorithmConfigurationException(RULE_TYPE.toLowerCase(),
invalidInput));
-
segmentMap.getOrDefault(DatabaseDiscoveryConstructionSegment.class.getSimpleName(),
Collections.emptyList()).stream().map(each ->
(DatabaseDiscoveryConstructionSegment) each)
- .forEach(each -> {
- if (null == currentRuleConfig ||
!currentRuleConfig.getDiscoveryTypes().containsKey(each.getDiscoveryTypeName()))
{
- invalidInput.add(each.getDiscoveryTypeName());
- }
- if (null == currentRuleConfig ||
!currentRuleConfig.getDiscoveryHeartbeats().containsKey(each.getDiscoveryHeartbeatName()))
{
- invalidInput.add(each.getDiscoveryHeartbeatName());
- }
- });
ShardingSpherePreconditions.checkState(invalidInput.isEmpty(), () ->
new MissingRequiredAlgorithmException(RULE_TYPE, databaseName, invalidInput));
}
diff --git
a/features/db-discovery/distsql/handler/src/test/java/org/apache/shardingsphere/dbdiscovery/distsql/handler/converter/DatabaseDiscoveryRuleStatementConverterTest.java
b/features/db-discovery/distsql/handler/src/test/java/org/apache/shardingsphere/dbdiscovery/distsql/handler/converter/DatabaseDiscoveryRuleStatementConverterTest.java
index 3e843f0dbca..4be2c5e1f0a 100644
---
a/features/db-discovery/distsql/handler/src/test/java/org/apache/shardingsphere/dbdiscovery/distsql/handler/converter/DatabaseDiscoveryRuleStatementConverterTest.java
+++
b/features/db-discovery/distsql/handler/src/test/java/org/apache/shardingsphere/dbdiscovery/distsql/handler/converter/DatabaseDiscoveryRuleStatementConverterTest.java
@@ -20,13 +20,13 @@ package
org.apache.shardingsphere.dbdiscovery.distsql.handler.converter;
import
org.apache.shardingsphere.dbdiscovery.api.config.DatabaseDiscoveryRuleConfiguration;
import
org.apache.shardingsphere.dbdiscovery.api.config.rule.DatabaseDiscoveryDataSourceRuleConfiguration;
import
org.apache.shardingsphere.dbdiscovery.distsql.parser.segment.AbstractDatabaseDiscoverySegment;
-import
org.apache.shardingsphere.dbdiscovery.distsql.parser.segment.DatabaseDiscoveryConstructionSegment;
import
org.apache.shardingsphere.dbdiscovery.distsql.parser.segment.DatabaseDiscoveryDefinitionSegment;
import org.apache.shardingsphere.distsql.parser.segment.AlgorithmSegment;
import org.junit.Test;
import java.util.Arrays;
import java.util.Collection;
+import java.util.Collections;
import java.util.Iterator;
import java.util.Properties;
@@ -47,20 +47,13 @@ public final class
DatabaseDiscoveryRuleStatementConverterTest {
assertThat(dataSourceRuleConfig.getGroupName(), is("definition"));
assertThat(dataSourceRuleConfig.getDiscoveryTypeName(),
is("definition_MySQL.MGR"));
assertThat(dataSourceRuleConfig.getDiscoveryHeartbeatName(),
is("definition_heartbeat"));
- dataSourceRuleConfig = iterator.next();
- assertThat(dataSourceRuleConfig.getDataSourceNames(),
is(Arrays.asList("resource0", "resource1")));
- assertThat(dataSourceRuleConfig.getGroupName(), is("construction"));
- assertThat(dataSourceRuleConfig.getDiscoveryTypeName(), is("type"));
- assertThat(dataSourceRuleConfig.getDiscoveryHeartbeatName(),
is("heartbeat"));
}
private Collection<AbstractDatabaseDiscoverySegment>
createDatabaseDiscoveryRuleSegments() {
Properties props = createProperties();
DatabaseDiscoveryDefinitionSegment databaseDiscoveryDefinitionSegment =
new DatabaseDiscoveryDefinitionSegment("definition",
Arrays.asList("resource0", "resource1"), new AlgorithmSegment("MySQL.MGR",
props), props);
- DatabaseDiscoveryConstructionSegment
databaseDiscoveryConstructionSegment =
- new DatabaseDiscoveryConstructionSegment("construction",
Arrays.asList("resource0", "resource1"), "type", "heartbeat");
- return Arrays.asList(databaseDiscoveryConstructionSegment,
databaseDiscoveryDefinitionSegment);
+ return Collections.singletonList(databaseDiscoveryDefinitionSegment);
}
private Properties createProperties() {
diff --git
a/features/db-discovery/distsql/handler/src/test/java/org/apache/shardingsphere/dbdiscovery/distsql/handler/update/AlterDatabaseDiscoveryRuleStatementUpdaterTest.java
b/features/db-discovery/distsql/handler/src/test/java/org/apache/shardingsphere/dbdiscovery/distsql/handler/update/AlterDatabaseDiscoveryRuleStatementUpdaterTest.java
index ba6b21df2a7..66e8054ba7c 100644
---
a/features/db-discovery/distsql/handler/src/test/java/org/apache/shardingsphere/dbdiscovery/distsql/handler/update/AlterDatabaseDiscoveryRuleStatementUpdaterTest.java
+++
b/features/db-discovery/distsql/handler/src/test/java/org/apache/shardingsphere/dbdiscovery/distsql/handler/update/AlterDatabaseDiscoveryRuleStatementUpdaterTest.java
@@ -19,13 +19,11 @@ package
org.apache.shardingsphere.dbdiscovery.distsql.handler.update;
import
org.apache.shardingsphere.dbdiscovery.api.config.DatabaseDiscoveryRuleConfiguration;
import
org.apache.shardingsphere.dbdiscovery.api.config.rule.DatabaseDiscoveryDataSourceRuleConfiguration;
-import
org.apache.shardingsphere.dbdiscovery.distsql.parser.segment.DatabaseDiscoveryConstructionSegment;
import
org.apache.shardingsphere.dbdiscovery.distsql.parser.segment.DatabaseDiscoveryDefinitionSegment;
import
org.apache.shardingsphere.dbdiscovery.distsql.parser.statement.AlterDatabaseDiscoveryRuleStatement;
import org.apache.shardingsphere.distsql.parser.segment.AlgorithmSegment;
import
org.apache.shardingsphere.infra.distsql.exception.resource.MissingRequiredResourcesException;
import
org.apache.shardingsphere.infra.distsql.exception.rule.InvalidAlgorithmConfigurationException;
-import
org.apache.shardingsphere.infra.distsql.exception.rule.MissingRequiredAlgorithmException;
import
org.apache.shardingsphere.infra.distsql.exception.rule.MissingRequiredRuleException;
import
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
import
org.apache.shardingsphere.infra.metadata.database.resource.ShardingSphereResourceMetaData;
@@ -72,7 +70,9 @@ public final class
AlterDatabaseDiscoveryRuleStatementUpdaterTest {
@Test(expected = MissingRequiredRuleException.class)
public void
assertCheckSQLStatementWithoutToBeAlteredDatabaseDiscoveryRule() {
- DatabaseDiscoveryConstructionSegment segment = new
DatabaseDiscoveryConstructionSegment("readwrite_ds", Arrays.asList("ds_read_0",
"ds_read_1"), "", "");
+ Properties props = new Properties();
+ DatabaseDiscoveryDefinitionSegment segment =
+ new DatabaseDiscoveryDefinitionSegment("readwrite_ds",
Arrays.asList("ds_read_0", "ds_read_1"), new AlgorithmSegment("MySQL.MGR",
props), props);
updater.checkSQLStatement(database, new
AlterDatabaseDiscoveryRuleStatement(Collections.singletonList(segment)),
new
DatabaseDiscoveryRuleConfiguration(Collections.emptyList(),
Collections.emptyMap(), Collections.emptyMap()));
}
@@ -80,7 +80,9 @@ public final class
AlterDatabaseDiscoveryRuleStatementUpdaterTest {
@Test(expected = MissingRequiredResourcesException.class)
public void assertCheckSQLStatementWithoutExistedResources() {
when(resourceMetaData.getNotExistedResources(any())).thenReturn(Collections.singleton("ds0"));
- DatabaseDiscoveryConstructionSegment segment = new
DatabaseDiscoveryConstructionSegment("readwrite_ds", Arrays.asList("ds_read_0",
"ds_read_1"), "readwrite_ds_mgr", "readwrite_ds_heartbeat");
+ Properties props = new Properties();
+ DatabaseDiscoveryDefinitionSegment segment =
+ new DatabaseDiscoveryDefinitionSegment("readwrite_ds",
Arrays.asList("ds_read_0", "ds_read_1"), new AlgorithmSegment("MySQL.MGR",
props), props);
DatabaseDiscoveryDataSourceRuleConfiguration dataSourceRuleConfig =
new DatabaseDiscoveryDataSourceRuleConfiguration("readwrite_ds",
Collections.emptyList(), "ha-heartbeat", "TEST");
DatabaseDiscoveryRuleConfiguration ruleConfig = new
DatabaseDiscoveryRuleConfiguration(new
LinkedList<>(Collections.singleton(dataSourceRuleConfig)),
Collections.singletonMap("readwrite_ds_mgr", null),
Collections.singletonMap("readwrite_ds_heartbeat", null));
@@ -97,61 +99,33 @@ public final class
AlterDatabaseDiscoveryRuleStatementUpdaterTest {
updater.checkSQLStatement(database, new
AlterDatabaseDiscoveryRuleStatement(Collections.singleton(segment)),
ruleConfig);
}
- @Test(expected = MissingRequiredAlgorithmException.class)
- public void assertCheckSQLStatementWithNotExistDiscoveryTypeName() {
- DatabaseDiscoveryConstructionSegment segment = new
DatabaseDiscoveryConstructionSegment("readwrite_ds", Arrays.asList("ds_read_0",
"ds_read_1"), "not_exist_discovery_type_name", "");
- DatabaseDiscoveryDataSourceRuleConfiguration dataSourceRuleConfig =
new DatabaseDiscoveryDataSourceRuleConfiguration("readwrite_ds",
Collections.emptyList(), "ha-heartbeat", "TEST");
- DatabaseDiscoveryRuleConfiguration ruleConfig = new
DatabaseDiscoveryRuleConfiguration(new
LinkedList<>(Collections.singleton(dataSourceRuleConfig)),
- Collections.singletonMap("readwrite_ds_mgr", null),
Collections.singletonMap("readwrite_ds_heartbeat", null));
- updater.checkSQLStatement(database, new
AlterDatabaseDiscoveryRuleStatement(Collections.singleton(segment)),
ruleConfig);
- }
-
- @Test(expected = MissingRequiredAlgorithmException.class)
- public void assertCheckSQLStatementWithNotExistDiscoveryHeartbeatName() {
- DatabaseDiscoveryConstructionSegment segment = new
DatabaseDiscoveryConstructionSegment(
- "readwrite_ds", Arrays.asList("ds_read_0", "ds_read_1"),
"discovery_type_name", "not_exist_heartbeat_name");
- DatabaseDiscoveryDataSourceRuleConfiguration dataSourceRuleConfig =
new DatabaseDiscoveryDataSourceRuleConfiguration("readwrite_ds",
Collections.emptyList(), "ha-heartbeat", "TEST");
- DatabaseDiscoveryRuleConfiguration ruleConfig = new
DatabaseDiscoveryRuleConfiguration(new
LinkedList<>(Collections.singleton(dataSourceRuleConfig)),
- Collections.singletonMap("readwrite_ds_mgr", null),
Collections.singletonMap("readwrite_ds_heartbeat", null));
- updater.checkSQLStatement(database, new
AlterDatabaseDiscoveryRuleStatement(Collections.singleton(segment)),
ruleConfig);
- }
-
@Test
public void assertBuild() {
- DatabaseDiscoveryConstructionSegment constructionSegment = new
DatabaseDiscoveryConstructionSegment("readwrite_ds_1",
Arrays.asList("ds_read_0", "ds_read_1"),
- "discovery_type_name", "heartbeat_name");
AlgorithmSegment algorithmSegment = new AlgorithmSegment("MySQL.MGR",
new Properties());
- DatabaseDiscoveryDefinitionSegment definitionSegment = new
DatabaseDiscoveryDefinitionSegment("readwrite_ds_2", Arrays.asList("ds_read_0",
"ds_read_1"), algorithmSegment, new Properties());
+ DatabaseDiscoveryDefinitionSegment definitionSegment = new
DatabaseDiscoveryDefinitionSegment("readwrite_ds_1", Arrays.asList("ds_read_0",
"ds_read_1"), algorithmSegment, new Properties());
DatabaseDiscoveryRuleConfiguration databaseDiscoveryRuleConfiguration =
- (DatabaseDiscoveryRuleConfiguration)
updater.buildToBeAlteredRuleConfiguration(new
AlterDatabaseDiscoveryRuleStatement(Arrays.asList(constructionSegment,
definitionSegment)));
- assertThat(databaseDiscoveryRuleConfiguration.getDataSources().size(),
is(2));
+ (DatabaseDiscoveryRuleConfiguration)
updater.buildToBeAlteredRuleConfiguration(new
AlterDatabaseDiscoveryRuleStatement(Collections.singletonList(definitionSegment)));
+ assertThat(databaseDiscoveryRuleConfiguration.getDataSources().size(),
is(1));
assertTrue(databaseDiscoveryRuleConfiguration.getDataSources().stream().map(DatabaseDiscoveryDataSourceRuleConfiguration::getGroupName)
.collect(Collectors.toList()).removeAll(Collections.singletonList("readwrite_ds_1")));
-
assertTrue(databaseDiscoveryRuleConfiguration.getDataSources().stream().map(DatabaseDiscoveryDataSourceRuleConfiguration::getGroupName)
-
.collect(Collectors.toList()).removeAll(Collections.singletonList("readwrite_ds_2")));
-
assertTrue(databaseDiscoveryRuleConfiguration.getDiscoveryTypes().containsKey("readwrite_ds_2_MySQL.MGR"));
-
assertTrue(databaseDiscoveryRuleConfiguration.getDiscoveryHeartbeats().containsKey("readwrite_ds_2_heartbeat"));
+
assertTrue(databaseDiscoveryRuleConfiguration.getDiscoveryTypes().containsKey("readwrite_ds_1_MySQL.MGR"));
+
assertTrue(databaseDiscoveryRuleConfiguration.getDiscoveryHeartbeats().containsKey("readwrite_ds_1_heartbeat"));
}
@Test
public void assertUpdate() {
- DatabaseDiscoveryConstructionSegment constructionSegment = new
DatabaseDiscoveryConstructionSegment(
- "readwrite_ds_1", Arrays.asList("ds_read_0", "ds_read_1"),
"readwrite_ds_2_mgr", "heartbeat_name");
AlgorithmSegment algorithmSegment = new AlgorithmSegment("MySQL.MGR",
new Properties());
- DatabaseDiscoveryDefinitionSegment definitionSegment = new
DatabaseDiscoveryDefinitionSegment("readwrite_ds_2", Arrays.asList("ds_read_0",
"ds_read_1"), algorithmSegment, new Properties());
+ DatabaseDiscoveryDefinitionSegment definitionSegment = new
DatabaseDiscoveryDefinitionSegment("readwrite_ds_1", Arrays.asList("ds_read_0",
"ds_read_1"), algorithmSegment, new Properties());
DatabaseDiscoveryRuleConfiguration toBeCreatedRuleConfig =
- (DatabaseDiscoveryRuleConfiguration)
updater.buildToBeAlteredRuleConfiguration(new
AlterDatabaseDiscoveryRuleStatement(Arrays.asList(constructionSegment,
definitionSegment)));
- DatabaseDiscoveryDataSourceRuleConfiguration constructionRuleConfig =
new DatabaseDiscoveryDataSourceRuleConfiguration("readwrite_ds_1",
Collections.emptyList(), "", "");
- DatabaseDiscoveryDataSourceRuleConfiguration definitionRuleConfig =
new DatabaseDiscoveryDataSourceRuleConfiguration("readwrite_ds_2",
Collections.emptyList(), "", "");
- DatabaseDiscoveryRuleConfiguration currentConfig = new
DatabaseDiscoveryRuleConfiguration(new
LinkedList<>(Arrays.asList(constructionRuleConfig, definitionRuleConfig)),
+ (DatabaseDiscoveryRuleConfiguration)
updater.buildToBeAlteredRuleConfiguration(new
AlterDatabaseDiscoveryRuleStatement(Collections.singletonList(definitionSegment)));
+ DatabaseDiscoveryDataSourceRuleConfiguration definitionRuleConfig =
new DatabaseDiscoveryDataSourceRuleConfiguration("readwrite_ds_1",
Collections.emptyList(), "", "");
+ DatabaseDiscoveryRuleConfiguration currentConfig = new
DatabaseDiscoveryRuleConfiguration(new
LinkedList<>(Collections.singletonList(definitionRuleConfig)),
new HashMap<>(Collections.singletonMap("discovery_type_name",
null)), new HashMap<>(Collections.singletonMap("heartbeat_name", null)));
updater.updateCurrentRuleConfiguration(currentConfig,
toBeCreatedRuleConfig);
- assertThat(currentConfig.getDataSources().size(), is(2));
+ assertThat(currentConfig.getDataSources().size(), is(1));
assertTrue(currentConfig.getDataSources().stream().map(DatabaseDiscoveryDataSourceRuleConfiguration::getGroupName)
.collect(Collectors.toList()).removeAll(Collections.singletonList("readwrite_ds_1")));
-
assertTrue(currentConfig.getDataSources().stream().map(DatabaseDiscoveryDataSourceRuleConfiguration::getGroupName)
-
.collect(Collectors.toList()).removeAll(Collections.singletonList("readwrite_ds_2")));
-
assertTrue(currentConfig.getDiscoveryTypes().containsKey("readwrite_ds_2_MySQL.MGR"));
-
assertTrue(currentConfig.getDiscoveryHeartbeats().containsKey("readwrite_ds_2_heartbeat"));
+
assertTrue(currentConfig.getDiscoveryTypes().containsKey("readwrite_ds_1_MySQL.MGR"));
+
assertTrue(currentConfig.getDiscoveryHeartbeats().containsKey("readwrite_ds_1_heartbeat"));
}
}
diff --git
a/features/db-discovery/distsql/handler/src/test/java/org/apache/shardingsphere/dbdiscovery/distsql/handler/update/CreateDatabaseDiscoveryRuleStatementUpdaterTest.java
b/features/db-discovery/distsql/handler/src/test/java/org/apache/shardingsphere/dbdiscovery/distsql/handler/update/CreateDatabaseDiscoveryRuleStatementUpdaterTest.java
index d903bc85c27..22d3807ebfb 100644
---
a/features/db-discovery/distsql/handler/src/test/java/org/apache/shardingsphere/dbdiscovery/distsql/handler/update/CreateDatabaseDiscoveryRuleStatementUpdaterTest.java
+++
b/features/db-discovery/distsql/handler/src/test/java/org/apache/shardingsphere/dbdiscovery/distsql/handler/update/CreateDatabaseDiscoveryRuleStatementUpdaterTest.java
@@ -19,14 +19,12 @@ package
org.apache.shardingsphere.dbdiscovery.distsql.handler.update;
import
org.apache.shardingsphere.dbdiscovery.api.config.DatabaseDiscoveryRuleConfiguration;
import
org.apache.shardingsphere.dbdiscovery.api.config.rule.DatabaseDiscoveryDataSourceRuleConfiguration;
-import
org.apache.shardingsphere.dbdiscovery.distsql.parser.segment.DatabaseDiscoveryConstructionSegment;
import
org.apache.shardingsphere.dbdiscovery.distsql.parser.segment.DatabaseDiscoveryDefinitionSegment;
import
org.apache.shardingsphere.dbdiscovery.distsql.parser.statement.CreateDatabaseDiscoveryRuleStatement;
import org.apache.shardingsphere.distsql.parser.segment.AlgorithmSegment;
import
org.apache.shardingsphere.infra.distsql.exception.resource.MissingRequiredResourcesException;
import
org.apache.shardingsphere.infra.distsql.exception.rule.DuplicateRuleException;
import
org.apache.shardingsphere.infra.distsql.exception.rule.InvalidAlgorithmConfigurationException;
-import
org.apache.shardingsphere.infra.distsql.exception.rule.MissingRequiredAlgorithmException;
import
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
import
org.apache.shardingsphere.infra.metadata.database.resource.ShardingSphereResourceMetaData;
import org.junit.Before;
@@ -68,15 +66,19 @@ public final class
CreateDatabaseDiscoveryRuleStatementUpdaterTest {
@Test(expected = DuplicateRuleException.class)
public void assertCheckSQLStatementWithDuplicateRuleNames() {
DatabaseDiscoveryDataSourceRuleConfiguration dataSourceRuleConfig =
new DatabaseDiscoveryDataSourceRuleConfiguration("readwrite_ds",
Collections.emptyList(), "ha-heartbeat", "test");
- DatabaseDiscoveryConstructionSegment segment = new
DatabaseDiscoveryConstructionSegment("readwrite_ds", Collections.emptyList(),
"", "");
- updater.checkSQLStatement(database, new
CreateDatabaseDiscoveryRuleStatement(Collections.singleton(segment)),
+ Properties props = new Properties();
+ DatabaseDiscoveryDefinitionSegment databaseDiscoveryDefinitionSegment =
+ new DatabaseDiscoveryDefinitionSegment("readwrite_ds",
Collections.emptyList(), new AlgorithmSegment("MySQL.MGR", props), props);
+ updater.checkSQLStatement(database, new
CreateDatabaseDiscoveryRuleStatement(Collections.singletonList(databaseDiscoveryDefinitionSegment)),
new
DatabaseDiscoveryRuleConfiguration(Collections.singleton(dataSourceRuleConfig),
Collections.emptyMap(), Collections.emptyMap()));
}
@Test(expected = MissingRequiredResourcesException.class)
public void assertCheckSQLStatementWithoutExistedResources() {
when(resourceMetaData.getNotExistedResources(any())).thenReturn(Collections.singleton("ds_read_0"));
- DatabaseDiscoveryConstructionSegment segment = new
DatabaseDiscoveryConstructionSegment("readwrite_ds", Arrays.asList("ds_read_0",
"ds_read_1"), "", "");
+ Properties props = new Properties();
+ DatabaseDiscoveryDefinitionSegment segment =
+ new DatabaseDiscoveryDefinitionSegment("readwrite_ds",
Arrays.asList("ds_read_0", "ds_read_1"), new AlgorithmSegment("MySQL.MGR",
props), props);
updater.checkSQLStatement(database, new
CreateDatabaseDiscoveryRuleStatement(Collections.singleton(segment)), null);
}
@@ -87,55 +89,31 @@ public final class
CreateDatabaseDiscoveryRuleStatementUpdaterTest {
updater.checkSQLStatement(database, new
CreateDatabaseDiscoveryRuleStatement(Collections.singleton(segment)), null);
}
- @Test(expected = MissingRequiredAlgorithmException.class)
- public void assertCheckSQLStatementWithNotExistDiscoveryTypeName() {
- DatabaseDiscoveryConstructionSegment segment = new
DatabaseDiscoveryConstructionSegment("readwrite_ds", Arrays.asList("ds_read_0",
"ds_read_1"), "not_exist_discovery_type_name", "");
- DatabaseDiscoveryRuleConfiguration ruleConfig = new
DatabaseDiscoveryRuleConfiguration(Collections.emptyList(),
Collections.emptyMap(), Collections.emptyMap());
- updater.checkSQLStatement(database, new
CreateDatabaseDiscoveryRuleStatement(Collections.singleton(segment)),
ruleConfig);
- }
-
- @Test(expected = MissingRequiredAlgorithmException.class)
- public void assertCheckSQLStatementWithNotExistDiscoveryHeartbeatName() {
- DatabaseDiscoveryConstructionSegment segment = new
DatabaseDiscoveryConstructionSegment(
- "readwrite_ds", Arrays.asList("ds_read_0", "ds_read_1"),
"discovery_type_name", "not_exist_heartbeat_name");
- DatabaseDiscoveryRuleConfiguration ruleConfig = new
DatabaseDiscoveryRuleConfiguration(Collections.emptyList(),
Collections.emptyMap(),
- Collections.singletonMap("discovery_type_name", null));
- updater.checkSQLStatement(database, new
CreateDatabaseDiscoveryRuleStatement(Collections.singleton(segment)),
ruleConfig);
- }
-
@Test
public void assertBuild() {
- DatabaseDiscoveryConstructionSegment constructionSegment = new
DatabaseDiscoveryConstructionSegment("readwrite_ds_1",
Arrays.asList("ds_read_0", "ds_read_1"),
- "discovery_type_name", "heartbeat_name");
AlgorithmSegment algorithmSegment = new AlgorithmSegment("MySQL.MGR",
new Properties());
- DatabaseDiscoveryDefinitionSegment definitionSegment = new
DatabaseDiscoveryDefinitionSegment("readwrite_ds_2", Arrays.asList("ds_read_0",
"ds_read_1"), algorithmSegment, new Properties());
+ DatabaseDiscoveryDefinitionSegment definitionSegment = new
DatabaseDiscoveryDefinitionSegment("readwrite_ds_1", Arrays.asList("ds_read_0",
"ds_read_1"), algorithmSegment, new Properties());
DatabaseDiscoveryRuleConfiguration ruleConfig =
- updater.buildToBeCreatedRuleConfiguration(new
CreateDatabaseDiscoveryRuleStatement(Arrays.asList(constructionSegment,
definitionSegment)));
- assertThat(ruleConfig.getDataSources().size(), is(2));
+ updater.buildToBeCreatedRuleConfiguration(new
CreateDatabaseDiscoveryRuleStatement(Collections.singletonList(definitionSegment)));
+ assertThat(ruleConfig.getDataSources().size(), is(1));
assertTrue(ruleConfig.getDataSources().stream().map(DatabaseDiscoveryDataSourceRuleConfiguration::getGroupName)
.collect(Collectors.toList()).removeAll(Collections.singletonList("readwrite_ds_1")));
-
assertTrue(ruleConfig.getDataSources().stream().map(DatabaseDiscoveryDataSourceRuleConfiguration::getGroupName)
-
.collect(Collectors.toList()).removeAll(Collections.singletonList("readwrite_ds_2")));
-
assertTrue(ruleConfig.getDiscoveryTypes().containsKey("readwrite_ds_2_MySQL.MGR"));
-
assertTrue(ruleConfig.getDiscoveryHeartbeats().containsKey("readwrite_ds_2_heartbeat"));
+
assertTrue(ruleConfig.getDiscoveryTypes().containsKey("readwrite_ds_1_MySQL.MGR"));
+
assertTrue(ruleConfig.getDiscoveryHeartbeats().containsKey("readwrite_ds_1_heartbeat"));
}
@Test
public void assertUpdate() {
- DatabaseDiscoveryConstructionSegment constructionSegment = new
DatabaseDiscoveryConstructionSegment(
- "readwrite_ds_1", Arrays.asList("ds_read_0", "ds_read_1"),
"discovery_type_name", "heartbeat_name");
AlgorithmSegment algorithmSegment = new AlgorithmSegment("MySQL.MGR",
new Properties());
- DatabaseDiscoveryDefinitionSegment definitionSegment = new
DatabaseDiscoveryDefinitionSegment("readwrite_ds_2", Arrays.asList("ds_read_0",
"ds_read_1"), algorithmSegment, new Properties());
+ DatabaseDiscoveryDefinitionSegment definitionSegment = new
DatabaseDiscoveryDefinitionSegment("readwrite_ds_1", Arrays.asList("ds_read_0",
"ds_read_1"), algorithmSegment, new Properties());
DatabaseDiscoveryRuleConfiguration toBeCreatedRuleConfig =
updater.buildToBeCreatedRuleConfiguration(
- new
CreateDatabaseDiscoveryRuleStatement(Arrays.asList(constructionSegment,
definitionSegment)));
+ new
CreateDatabaseDiscoveryRuleStatement(Collections.singletonList(definitionSegment)));
DatabaseDiscoveryRuleConfiguration currentConfig = new
DatabaseDiscoveryRuleConfiguration(new LinkedList<>(), new LinkedHashMap<>(),
new LinkedHashMap<>());
updater.updateCurrentRuleConfiguration(currentConfig,
toBeCreatedRuleConfig);
- assertThat(currentConfig.getDataSources().size(), is(2));
+ assertThat(currentConfig.getDataSources().size(), is(1));
assertTrue(currentConfig.getDataSources().stream().map(DatabaseDiscoveryDataSourceRuleConfiguration::getGroupName)
.collect(Collectors.toList()).removeAll(Collections.singletonList("readwrite_ds_1")));
-
assertTrue(currentConfig.getDataSources().stream().map(DatabaseDiscoveryDataSourceRuleConfiguration::getGroupName)
-
.collect(Collectors.toList()).removeAll(Collections.singletonList("readwrite_ds_2")));
-
assertTrue(currentConfig.getDiscoveryTypes().containsKey("readwrite_ds_2_MySQL.MGR"));
-
assertTrue(currentConfig.getDiscoveryHeartbeats().containsKey("readwrite_ds_2_heartbeat"));
+
assertTrue(currentConfig.getDiscoveryTypes().containsKey("readwrite_ds_1_MySQL.MGR"));
+
assertTrue(currentConfig.getDiscoveryHeartbeats().containsKey("readwrite_ds_1_heartbeat"));
}
}
diff --git
a/features/db-discovery/distsql/parser/src/main/antlr4/imports/db-discovery/RDLStatement.g4
b/features/db-discovery/distsql/parser/src/main/antlr4/imports/db-discovery/RDLStatement.g4
index f076be3d821..dad23be25bd 100644
---
a/features/db-discovery/distsql/parser/src/main/antlr4/imports/db-discovery/RDLStatement.g4
+++
b/features/db-discovery/distsql/parser/src/main/antlr4/imports/db-discovery/RDLStatement.g4
@@ -31,42 +31,18 @@ dropDatabaseDiscoveryRule
: DROP DB_DISCOVERY RULE ifExists? ruleName (COMMA ruleName)*
;
-createDatabaseDiscoveryType
- : CREATE DB_DISCOVERY TYPE databaseDiscoveryTypeDefinition (COMMA
databaseDiscoveryTypeDefinition)*
- ;
-
-alterDatabaseDiscoveryType
- : ALTER DB_DISCOVERY TYPE databaseDiscoveryTypeDefinition (COMMA
databaseDiscoveryTypeDefinition)*
- ;
-
dropDatabaseDiscoveryType
: DROP DB_DISCOVERY TYPE ifExists? discoveryTypeName (COMMA
discoveryTypeName)*
;
-createDatabaseDiscoveryHeartbeat
- : CREATE DB_DISCOVERY HEARTBEAT heartbeatDefinition (COMMA
heartbeatDefinition)*
- ;
-
-alterDatabaseDiscoveryHeartbeat
- : ALTER DB_DISCOVERY HEARTBEAT heartbeatDefinition (COMMA
heartbeatDefinition)*
- ;
-
dropDatabaseDiscoveryHeartbeat
: DROP DB_DISCOVERY HEARTBEAT ifExists? discoveryHeartbeatName (COMMA
discoveryHeartbeatName)*
;
databaseDiscoveryRule
- : (databaseDiscoveryRuleDefinition | databaseDiscoveryRuleConstruction)
- ;
-
-databaseDiscoveryRuleDefinition
: ruleName LP resources COMMA typeDefinition COMMA discoveryHeartbeat RP
;
-databaseDiscoveryRuleConstruction
- : ruleName LP resources COMMA TYPE EQ discoveryTypeName COMMA HEARTBEAT EQ
discoveryHeartbeatName RP
- ;
-
databaseDiscoveryTypeDefinition
: discoveryTypeName LP typeDefinition RP
;
diff --git
a/features/db-discovery/distsql/parser/src/main/antlr4/org/apache/shardingsphere/distsql/parser/autogen/DatabaseDiscoveryDistSQLStatement.g4
b/features/db-discovery/distsql/parser/src/main/antlr4/org/apache/shardingsphere/distsql/parser/autogen/DatabaseDiscoveryDistSQLStatement.g4
index 701da734203..405c9f1b195 100644
---
a/features/db-discovery/distsql/parser/src/main/antlr4/org/apache/shardingsphere/distsql/parser/autogen/DatabaseDiscoveryDistSQLStatement.g4
+++
b/features/db-discovery/distsql/parser/src/main/antlr4/org/apache/shardingsphere/distsql/parser/autogen/DatabaseDiscoveryDistSQLStatement.g4
@@ -26,12 +26,8 @@ execute
| showDatabaseDiscoveryTypes
| showDatabaseDiscoveryHeartbeats
| showDatabaseDiscoveryRules
- | createDatabaseDiscoveryType
- | createDatabaseDiscoveryHeartbeat
- | alterDatabaseDiscoveryHeartbeat
| dropDatabaseDiscoveryType
| dropDatabaseDiscoveryHeartbeat
- | alterDatabaseDiscoveryType
| countDatabaseDiscoveryRule
) SEMI?
;
diff --git
a/features/db-discovery/distsql/parser/src/main/java/org/apache/shardingsphere/dbdiscovery/distsql/parser/core/DatabaseDiscoveryDistSQLStatementVisitor.java
b/features/db-discovery/distsql/parser/src/main/java/org/apache/shardingsphere/dbdiscovery/distsql/parser/core/DatabaseDiscoveryDistSQLStatementVisitor.java
index 42fcb49304b..6c7e475fd06 100644
---
a/features/db-discovery/distsql/parser/src/main/java/org/apache/shardingsphere/dbdiscovery/distsql/parser/core/DatabaseDiscoveryDistSQLStatementVisitor.java
+++
b/features/db-discovery/distsql/parser/src/main/java/org/apache/shardingsphere/dbdiscovery/distsql/parser/core/DatabaseDiscoveryDistSQLStatementVisitor.java
@@ -19,17 +19,11 @@ package
org.apache.shardingsphere.dbdiscovery.distsql.parser.core;
import org.antlr.v4.runtime.tree.ParseTree;
import
org.apache.shardingsphere.dbdiscovery.distsql.parser.segment.AbstractDatabaseDiscoverySegment;
-import
org.apache.shardingsphere.dbdiscovery.distsql.parser.segment.DatabaseDiscoveryConstructionSegment;
import
org.apache.shardingsphere.dbdiscovery.distsql.parser.segment.DatabaseDiscoveryDefinitionSegment;
-import
org.apache.shardingsphere.dbdiscovery.distsql.parser.segment.DatabaseDiscoveryHeartbeatSegment;
import
org.apache.shardingsphere.dbdiscovery.distsql.parser.segment.DatabaseDiscoveryProviderAlgorithmSegment;
-import
org.apache.shardingsphere.dbdiscovery.distsql.parser.statement.AlterDatabaseDiscoveryHeartbeatStatement;
import
org.apache.shardingsphere.dbdiscovery.distsql.parser.statement.AlterDatabaseDiscoveryRuleStatement;
-import
org.apache.shardingsphere.dbdiscovery.distsql.parser.statement.AlterDatabaseDiscoveryTypeStatement;
import
org.apache.shardingsphere.dbdiscovery.distsql.parser.statement.CountDatabaseDiscoveryRuleStatement;
-import
org.apache.shardingsphere.dbdiscovery.distsql.parser.statement.CreateDatabaseDiscoveryHeartbeatStatement;
import
org.apache.shardingsphere.dbdiscovery.distsql.parser.statement.CreateDatabaseDiscoveryRuleStatement;
-import
org.apache.shardingsphere.dbdiscovery.distsql.parser.statement.CreateDatabaseDiscoveryTypeStatement;
import
org.apache.shardingsphere.dbdiscovery.distsql.parser.statement.DropDatabaseDiscoveryHeartbeatStatement;
import
org.apache.shardingsphere.dbdiscovery.distsql.parser.statement.DropDatabaseDiscoveryRuleStatement;
import
org.apache.shardingsphere.dbdiscovery.distsql.parser.statement.DropDatabaseDiscoveryTypeStatement;
@@ -38,15 +32,9 @@ import
org.apache.shardingsphere.dbdiscovery.distsql.parser.statement.ShowDataba
import
org.apache.shardingsphere.dbdiscovery.distsql.parser.statement.ShowDatabaseDiscoveryTypesStatement;
import
org.apache.shardingsphere.distsql.parser.autogen.DatabaseDiscoveryDistSQLStatementBaseVisitor;
import
org.apache.shardingsphere.distsql.parser.autogen.DatabaseDiscoveryDistSQLStatementParser;
-import
org.apache.shardingsphere.distsql.parser.autogen.DatabaseDiscoveryDistSQLStatementParser.AlterDatabaseDiscoveryHeartbeatContext;
import
org.apache.shardingsphere.distsql.parser.autogen.DatabaseDiscoveryDistSQLStatementParser.AlterDatabaseDiscoveryRuleContext;
-import
org.apache.shardingsphere.distsql.parser.autogen.DatabaseDiscoveryDistSQLStatementParser.AlterDatabaseDiscoveryTypeContext;
-import
org.apache.shardingsphere.distsql.parser.autogen.DatabaseDiscoveryDistSQLStatementParser.CreateDatabaseDiscoveryHeartbeatContext;
import
org.apache.shardingsphere.distsql.parser.autogen.DatabaseDiscoveryDistSQLStatementParser.CreateDatabaseDiscoveryRuleContext;
-import
org.apache.shardingsphere.distsql.parser.autogen.DatabaseDiscoveryDistSQLStatementParser.CreateDatabaseDiscoveryTypeContext;
-import
org.apache.shardingsphere.distsql.parser.autogen.DatabaseDiscoveryDistSQLStatementParser.DatabaseDiscoveryRuleConstructionContext;
import
org.apache.shardingsphere.distsql.parser.autogen.DatabaseDiscoveryDistSQLStatementParser.DatabaseDiscoveryRuleContext;
-import
org.apache.shardingsphere.distsql.parser.autogen.DatabaseDiscoveryDistSQLStatementParser.DatabaseDiscoveryRuleDefinitionContext;
import
org.apache.shardingsphere.distsql.parser.autogen.DatabaseDiscoveryDistSQLStatementParser.DatabaseDiscoveryTypeDefinitionContext;
import
org.apache.shardingsphere.distsql.parser.autogen.DatabaseDiscoveryDistSQLStatementParser.DatabaseNameContext;
import
org.apache.shardingsphere.distsql.parser.autogen.DatabaseDiscoveryDistSQLStatementParser.DropDatabaseDiscoveryHeartbeatContext;
@@ -65,7 +53,6 @@ import
org.apache.shardingsphere.sql.parser.api.visitor.SQLVisitor;
import
org.apache.shardingsphere.sql.parser.sql.common.segment.generic.DatabaseSegment;
import
org.apache.shardingsphere.sql.parser.sql.common.value.identifier.IdentifierValue;
-import java.util.Collection;
import java.util.List;
import java.util.Objects;
import java.util.Properties;
@@ -88,20 +75,8 @@ public final class DatabaseDiscoveryDistSQLStatementVisitor
extends DatabaseDisc
@Override
public ASTNode visitDatabaseDiscoveryRule(final
DatabaseDiscoveryRuleContext ctx) {
- return null == ctx.databaseDiscoveryRuleDefinition() ?
visit(ctx.databaseDiscoveryRuleConstruction()) :
visit(ctx.databaseDiscoveryRuleDefinition());
- }
-
- @Override
- public ASTNode visitDatabaseDiscoveryRuleConstruction(final
DatabaseDiscoveryRuleConstructionContext ctx) {
- return new DatabaseDiscoveryConstructionSegment(
- getIdentifierValue(ctx.ruleName()),
buildResources(ctx.resources()), getIdentifierValue(ctx.discoveryTypeName()),
getIdentifierValue(ctx.discoveryHeartbeatName()));
- }
-
- @Override
- public ASTNode visitDatabaseDiscoveryRuleDefinition(final
DatabaseDiscoveryRuleDefinitionContext ctx) {
return new DatabaseDiscoveryDefinitionSegment(
getIdentifierValue(ctx.ruleName()),
buildResources(ctx.resources()), (AlgorithmSegment)
visit(ctx.typeDefinition()),
getProperties(ctx.discoveryHeartbeat().properties()));
-
}
private List<String> buildResources(final ResourcesContext ctx) {
@@ -118,32 +93,6 @@ public final class DatabaseDiscoveryDistSQLStatementVisitor
extends DatabaseDisc
return new ShowDatabaseDiscoveryRulesStatement(null ==
ctx.databaseName() ? null : (DatabaseSegment) visit(ctx.databaseName()));
}
- @Override
- public ASTNode visitCreateDatabaseDiscoveryHeartbeat(final
CreateDatabaseDiscoveryHeartbeatContext ctx) {
- return new
CreateDatabaseDiscoveryHeartbeatStatement(ctx.heartbeatDefinition().stream()
- .map(each -> new
DatabaseDiscoveryHeartbeatSegment(getIdentifierValue(each.discoveryHeartbeatName()),
getProperties(each.properties()))).collect(Collectors.toList()));
- }
-
- @Override
- public ASTNode visitAlterDatabaseDiscoveryHeartbeat(final
AlterDatabaseDiscoveryHeartbeatContext ctx) {
- return new
AlterDatabaseDiscoveryHeartbeatStatement(ctx.heartbeatDefinition().stream()
- .map(each -> new
DatabaseDiscoveryHeartbeatSegment(getIdentifierValue(each.discoveryHeartbeatName()),
getProperties(each.properties()))).collect(Collectors.toList()));
- }
-
- @Override
- public ASTNode visitCreateDatabaseDiscoveryType(final
CreateDatabaseDiscoveryTypeContext ctx) {
- return new
CreateDatabaseDiscoveryTypeStatement(buildAlgorithmEntry(ctx.databaseDiscoveryTypeDefinition()));
- }
-
- @Override
- public ASTNode visitAlterDatabaseDiscoveryType(final
AlterDatabaseDiscoveryTypeContext ctx) {
- return new
AlterDatabaseDiscoveryTypeStatement(buildAlgorithmEntry(ctx.databaseDiscoveryTypeDefinition()));
- }
-
- private Collection<DatabaseDiscoveryProviderAlgorithmSegment>
buildAlgorithmEntry(final List<DatabaseDiscoveryTypeDefinitionContext> ctx) {
- return ctx.stream().map(each ->
(DatabaseDiscoveryProviderAlgorithmSegment)
visit(each)).collect(Collectors.toList());
- }
-
@Override
public ASTNode visitDatabaseDiscoveryTypeDefinition(final
DatabaseDiscoveryTypeDefinitionContext ctx) {
return new
DatabaseDiscoveryProviderAlgorithmSegment(getIdentifierValue(ctx.discoveryTypeName()),
(AlgorithmSegment) visit(ctx.typeDefinition()));
diff --git
a/features/db-discovery/distsql/parser/src/test/java/org/apache/shardingsphere/dbdiscovery/distsql/parser/DatabaseDiscoveryDistSQLTest.java
b/features/db-discovery/distsql/parser/src/test/java/org/apache/shardingsphere/dbdiscovery/distsql/parser/DatabaseDiscoveryDistSQLTest.java
index 4d3449cf504..d65e304e120 100644
---
a/features/db-discovery/distsql/parser/src/test/java/org/apache/shardingsphere/dbdiscovery/distsql/parser/DatabaseDiscoveryDistSQLTest.java
+++
b/features/db-discovery/distsql/parser/src/test/java/org/apache/shardingsphere/dbdiscovery/distsql/parser/DatabaseDiscoveryDistSQLTest.java
@@ -21,11 +21,8 @@ import lombok.SneakyThrows;
import org.antlr.v4.runtime.tree.ParseTreeVisitor;
import
org.apache.shardingsphere.dbdiscovery.distsql.parser.facade.DatabaseDiscoveryDistSQLStatementParserFacade;
import
org.apache.shardingsphere.dbdiscovery.distsql.parser.segment.DatabaseDiscoveryDefinitionSegment;
-import
org.apache.shardingsphere.dbdiscovery.distsql.parser.segment.DatabaseDiscoveryProviderAlgorithmSegment;
import
org.apache.shardingsphere.dbdiscovery.distsql.parser.statement.AlterDatabaseDiscoveryRuleStatement;
-import
org.apache.shardingsphere.dbdiscovery.distsql.parser.statement.AlterDatabaseDiscoveryTypeStatement;
import
org.apache.shardingsphere.dbdiscovery.distsql.parser.statement.CreateDatabaseDiscoveryRuleStatement;
-import
org.apache.shardingsphere.dbdiscovery.distsql.parser.statement.CreateDatabaseDiscoveryTypeStatement;
import
org.apache.shardingsphere.distsql.parser.core.featured.FeaturedDistSQLStatementParserFacadeFactory;
import org.apache.shardingsphere.distsql.parser.statement.DistSQLStatement;
import org.apache.shardingsphere.sql.parser.api.visitor.SQLVisitor;
@@ -34,7 +31,6 @@ import
org.apache.shardingsphere.sql.parser.core.SQLParserFactory;
import org.junit.Test;
import java.util.Arrays;
-import java.util.Iterator;
import java.util.Properties;
import static org.hamcrest.CoreMatchers.equalTo;
@@ -48,7 +44,6 @@ public class DatabaseDiscoveryDistSQLTest {
String sql = "CREATE DB_DISCOVERY RULE db_discovery_group_0 ("
+ "RESOURCES(ds_0, ds_1),
TYPE(NAME='mgr',PROPERTIES('group-name'='92504d5b')),"
+ "HEARTBEAT(PROPERTIES('keep-alive-cron'='0/5 * * * * ?')))";
-
CreateDatabaseDiscoveryRuleStatement distSQLStatement =
(CreateDatabaseDiscoveryRuleStatement) getDistSQLStatement(sql);
assertThat(distSQLStatement.getRules().size(), is(1));
assertDiscoverySegment((DatabaseDiscoveryDefinitionSegment)
distSQLStatement.getRules().iterator().next());
@@ -64,22 +59,6 @@ public class DatabaseDiscoveryDistSQLTest {
assertDiscoverySegment((DatabaseDiscoveryDefinitionSegment)
distSQLStatement.getRules().iterator().next());
}
- @Test
- public void assertCreateDatabaseDiscoveryType() {
- String sql = "CREATE DB_DISCOVERY TYPE
primary_replica_ds_mgr(TYPE(NAME='mgr',PROPERTIES('group-name'='92504d5b'))),primary_replica_ds_mgr_2(TYPE(NAME='mgr'))";
- CreateDatabaseDiscoveryTypeStatement distSQLStatement =
(CreateDatabaseDiscoveryTypeStatement) getDistSQLStatement(sql);
- assertThat(distSQLStatement.getProviders().size(), is(2));
- assertAlgorithmSegment(distSQLStatement.getProviders().iterator());
- }
-
- @Test
- public void assertAlterDatabaseDiscoveryType() {
- String sql = "ALTER DB_DISCOVERY TYPE
primary_replica_ds_mgr(TYPE(NAME='mgr',PROPERTIES('group-name'='92504d5b'))),primary_replica_ds_mgr_2(TYPE(NAME='mgr'))";
- AlterDatabaseDiscoveryTypeStatement distSQLStatement =
(AlterDatabaseDiscoveryTypeStatement) getDistSQLStatement(sql);
- assertThat(distSQLStatement.getProviders().size(), is(2));
- assertAlgorithmSegment(distSQLStatement.getProviders().iterator());
- }
-
private void assertDiscoverySegment(final
DatabaseDiscoveryDefinitionSegment discoverySegment) {
assertThat(discoverySegment.getName(), is("db_discovery_group_0"));
assertThat(discoverySegment.getDataSources(), is(Arrays.asList("ds_0",
"ds_1")));
@@ -92,19 +71,6 @@ public class DatabaseDiscoveryDistSQLTest {
assertThat(discoverySegment.getDiscoveryHeartbeat(),
is(heartbeatProps));
}
- private void assertAlgorithmSegment(final
Iterator<DatabaseDiscoveryProviderAlgorithmSegment> iterator) {
- DatabaseDiscoveryProviderAlgorithmSegment providerAlgorithmSegment =
iterator.next();
- Properties properties = new Properties();
- properties.setProperty("group-name", "92504d5b");
- assertThat(providerAlgorithmSegment.getDiscoveryProviderName(),
is("primary_replica_ds_mgr"));
- assertThat(providerAlgorithmSegment.getAlgorithm().getName(),
is("mgr"));
- assertThat(providerAlgorithmSegment.getAlgorithm().getProps(),
is(properties));
- DatabaseDiscoveryProviderAlgorithmSegment providerAlgorithmSegment2 =
iterator.next();
- assertThat(providerAlgorithmSegment2.getDiscoveryProviderName(),
is("primary_replica_ds_mgr_2"));
- assertThat(providerAlgorithmSegment2.getAlgorithm().getName(),
is("mgr"));
- assertThat(providerAlgorithmSegment2.getAlgorithm().getProps(), is(new
Properties()));
- }
-
@SneakyThrows(ReflectiveOperationException.class)
@SuppressWarnings("rawtypes")
private DistSQLStatement getDistSQLStatement(final String sql) {
diff --git
a/features/db-discovery/distsql/statement/src/main/java/org/apache/shardingsphere/dbdiscovery/distsql/parser/segment/DatabaseDiscoveryConstructionSegment.java
b/features/db-discovery/distsql/statement/src/main/java/org/apache/shardingsphere/dbdiscovery/distsql/parser/segment/DatabaseDiscoveryConstructionSegment.java
deleted file mode 100644
index db9a8511b7d..00000000000
---
a/features/db-discovery/distsql/statement/src/main/java/org/apache/shardingsphere/dbdiscovery/distsql/parser/segment/DatabaseDiscoveryConstructionSegment.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.shardingsphere.dbdiscovery.distsql.parser.segment;
-
-import lombok.Getter;
-
-import java.util.Collection;
-
-/**
- * Database discovery rule construction segment.
- */
-@Getter
-public final class DatabaseDiscoveryConstructionSegment extends
AbstractDatabaseDiscoverySegment {
-
- private final String discoveryTypeName;
-
- private final String discoveryHeartbeatName;
-
- public DatabaseDiscoveryConstructionSegment(final String name, final
Collection<String> dataSources, final String discoveryTypeName, final String
discoveryHeartbeatName) {
- super(name, dataSources);
- this.discoveryTypeName = discoveryTypeName;
- this.discoveryHeartbeatName = discoveryHeartbeatName;
- }
-}
diff --git
a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/alter/impl/AlterDatabaseDiscoveryRuleStatementAssert.java
b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/alter/impl/AlterDatabaseDiscoveryRuleStatementAssert.java
index 8e8cf2ce2a2..5c0a8f36841 100644
---
a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/alter/impl/AlterDatabaseDiscoveryRuleStatementAssert.java
+++
b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/alter/impl/AlterDatabaseDiscoveryRuleStatementAssert.java
@@ -20,16 +20,13 @@ package
org.apache.shardingsphere.test.sql.parser.parameterized.asserts.statemen
import lombok.AccessLevel;
import lombok.NoArgsConstructor;
import
org.apache.shardingsphere.dbdiscovery.distsql.parser.segment.AbstractDatabaseDiscoverySegment;
-import
org.apache.shardingsphere.dbdiscovery.distsql.parser.segment.DatabaseDiscoveryConstructionSegment;
import
org.apache.shardingsphere.dbdiscovery.distsql.parser.segment.DatabaseDiscoveryDefinitionSegment;
import
org.apache.shardingsphere.dbdiscovery.distsql.parser.statement.AlterDatabaseDiscoveryRuleStatement;
import
org.apache.shardingsphere.test.sql.parser.parameterized.asserts.SQLCaseAssertContext;
import
org.apache.shardingsphere.test.sql.parser.parameterized.asserts.segment.distsql.AlgorithmAssert;
import
org.apache.shardingsphere.test.sql.parser.parameterized.asserts.segment.distsql.PropertiesAssert;
-import
org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.segment.impl.distsql.rdl.ExpectedDatabaseDiscoveryConstructionRule;
import
org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.segment.impl.distsql.rdl.ExpectedDatabaseDiscoveryDefinitionRule;
import
org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.SQLParserTestCase;
-import
org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.rdl.alter.AlterDatabaseDiscoveryConstructionRuleStatementTestCase;
import
org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.rdl.alter.AlterDatabaseDiscoveryDefinitionRuleStatementTestCase;
import java.util.Collection;
@@ -38,9 +35,9 @@ import java.util.Map;
import java.util.stream.Collectors;
import static org.hamcrest.CoreMatchers.is;
+import static org.hamcrest.MatcherAssert.assertThat;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
-import static org.hamcrest.MatcherAssert.assertThat;
/**
* Alter database discovery rule statement assert.
@@ -66,11 +63,7 @@ public final class AlterDatabaseDiscoveryRuleStatementAssert
{
private static void assertDatabaseDiscoveryRules(final
SQLCaseAssertContext assertContext, final
Collection<AbstractDatabaseDiscoverySegment> actual,
final SQLParserTestCase
expected) {
- if (expected instanceof
AlterDatabaseDiscoveryConstructionRuleStatementTestCase) {
- assertDiscoveryConstructionRule(assertContext, actual,
((AlterDatabaseDiscoveryConstructionRuleStatementTestCase)
expected).getRules());
- } else if (expected instanceof
AlterDatabaseDiscoveryDefinitionRuleStatementTestCase) {
- assertDiscoveryDefinitionRule(assertContext, actual,
((AlterDatabaseDiscoveryDefinitionRuleStatementTestCase) expected).getRules());
- }
+ assertDiscoveryDefinitionRule(assertContext, actual,
((AlterDatabaseDiscoveryDefinitionRuleStatementTestCase) expected).getRules());
}
private static void assertDiscoveryDefinitionRule(final
SQLCaseAssertContext assertContext, final
Collection<AbstractDatabaseDiscoverySegment> actual,
@@ -88,20 +81,4 @@ public final class AlterDatabaseDiscoveryRuleStatementAssert
{
AlgorithmAssert.assertIs(assertContext,
actualSegment.getDiscoveryType(), each.getDiscoveryType());
});
}
-
- private static void assertDiscoveryConstructionRule(final
SQLCaseAssertContext assertContext, final
Collection<AbstractDatabaseDiscoverySegment> actual,
- final
Collection<ExpectedDatabaseDiscoveryConstructionRule> expected) {
- assertThat(assertContext.getText(String.format("Actual database
discovery rule size should be %s , but it was %s", expected.size(),
- actual.size())), actual.size(), is(expected.size()));
- Map<String, DatabaseDiscoveryConstructionSegment> actualMap =
actual.stream().map(each -> (DatabaseDiscoveryConstructionSegment) each)
-
.collect(Collectors.toMap(AbstractDatabaseDiscoverySegment::getName, each ->
each));
- expected.forEach(each -> {
- DatabaseDiscoveryConstructionSegment actualSegment =
actualMap.get(each.getName());
- assertNotNull(actualSegment);
- assertThat(actualSegment.getName(), is(each.getName()));
- assertThat(actualSegment.getDataSources(),
is(each.getDataSources()));
- assertThat(actualSegment.getDiscoveryHeartbeatName(),
is(each.getDiscoveryHeartbeat()));
- assertThat(actualSegment.getDiscoveryTypeName(),
is(each.getDiscoveryType()));
- });
- }
}
diff --git
a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/create/impl/CreateDatabaseDiscoveryRuleStatementAssert.java
b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/create/impl/CreateDatabaseDiscoveryRuleStatementAssert.java
index be4c98cbfcc..7f213a171ec 100644
---
a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/create/impl/CreateDatabaseDiscoveryRuleStatementAssert.java
+++
b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/create/impl/CreateDatabaseDiscoveryRuleStatementAssert.java
@@ -20,16 +20,13 @@ package
org.apache.shardingsphere.test.sql.parser.parameterized.asserts.statemen
import lombok.AccessLevel;
import lombok.NoArgsConstructor;
import
org.apache.shardingsphere.dbdiscovery.distsql.parser.segment.AbstractDatabaseDiscoverySegment;
-import
org.apache.shardingsphere.dbdiscovery.distsql.parser.segment.DatabaseDiscoveryConstructionSegment;
import
org.apache.shardingsphere.dbdiscovery.distsql.parser.segment.DatabaseDiscoveryDefinitionSegment;
import
org.apache.shardingsphere.dbdiscovery.distsql.parser.statement.CreateDatabaseDiscoveryRuleStatement;
import
org.apache.shardingsphere.test.sql.parser.parameterized.asserts.SQLCaseAssertContext;
import
org.apache.shardingsphere.test.sql.parser.parameterized.asserts.segment.distsql.AlgorithmAssert;
import
org.apache.shardingsphere.test.sql.parser.parameterized.asserts.segment.distsql.PropertiesAssert;
-import
org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.segment.impl.distsql.rdl.ExpectedDatabaseDiscoveryConstructionRule;
import
org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.segment.impl.distsql.rdl.ExpectedDatabaseDiscoveryDefinitionRule;
import
org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.SQLParserTestCase;
-import
org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.rdl.create.CreateDatabaseDiscoveryConstructionRuleStatementTestCase;
import
org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.rdl.create.CreateDatabaseDiscoveryDefinitionRuleStatementTestCase;
import java.util.Collection;
@@ -38,9 +35,9 @@ import java.util.Map;
import java.util.stream.Collectors;
import static org.hamcrest.CoreMatchers.is;
+import static org.hamcrest.MatcherAssert.assertThat;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
-import static org.hamcrest.MatcherAssert.assertThat;
/**
* Create database discovery rule statement assert.
@@ -66,11 +63,7 @@ public final class
CreateDatabaseDiscoveryRuleStatementAssert {
private static void assertDatabaseDiscoveryRules(final
SQLCaseAssertContext assertContext, final
Collection<AbstractDatabaseDiscoverySegment> actual,
final SQLParserTestCase
expected) {
- if (expected instanceof
CreateDatabaseDiscoveryConstructionRuleStatementTestCase) {
- assertDiscoveryConstructionRule(assertContext, actual,
((CreateDatabaseDiscoveryConstructionRuleStatementTestCase)
expected).getRules());
- } else if (expected instanceof
CreateDatabaseDiscoveryDefinitionRuleStatementTestCase) {
- assertDiscoveryDefinitionRule(assertContext, actual,
((CreateDatabaseDiscoveryDefinitionRuleStatementTestCase) expected).getRules());
- }
+ assertDiscoveryDefinitionRule(assertContext, actual,
((CreateDatabaseDiscoveryDefinitionRuleStatementTestCase) expected).getRules());
}
private static void assertDiscoveryDefinitionRule(final
SQLCaseAssertContext assertContext, final
Collection<AbstractDatabaseDiscoverySegment> actual,
@@ -87,19 +80,4 @@ public final class
CreateDatabaseDiscoveryRuleStatementAssert {
AlgorithmAssert.assertIs(assertContext,
actualSegment.getDiscoveryType(), each.getDiscoveryType());
});
}
-
- private static void assertDiscoveryConstructionRule(final
SQLCaseAssertContext assertContext, final
Collection<AbstractDatabaseDiscoverySegment> actual,
- final
Collection<ExpectedDatabaseDiscoveryConstructionRule> expected) {
- assertThat(assertContext.getText(String.format("Actual database
discovery rule size should be %s , but it was %s", expected.size(),
- actual.size())), actual.size(), is(expected.size()));
- Map<String, DatabaseDiscoveryConstructionSegment> actualMap =
actual.stream().map(each -> (DatabaseDiscoveryConstructionSegment) each)
-
.collect(Collectors.toMap(AbstractDatabaseDiscoverySegment::getName, each ->
each));
- expected.forEach(each -> {
- DatabaseDiscoveryConstructionSegment actualSegment =
actualMap.get(each.getName());
- assertThat(actualSegment.getName(), is(each.getName()));
- assertThat(actualSegment.getDataSources(),
is(each.getDataSources()));
- assertThat(actualSegment.getDiscoveryHeartbeatName(),
is(each.getDiscoveryHeartbeat()));
- assertThat(actualSegment.getDiscoveryTypeName(),
is(each.getDiscoveryType()));
- });
- }
}
diff --git
a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/SQLParserTestCases.java
b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/SQLParserTestCases.java
index b3818e1158f..6a08593903c 100644
---
a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/SQLParserTestCases.java
+++
b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/SQLParserTestCases.java
@@ -326,10 +326,7 @@ import
org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain
import
org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.ral.migration.StartMigrationStatementTestCase;
import
org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.ral.migration.StopMigrationStatementTestCase;
import
org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.ral.migration.UnregisterMigrationSourceStorageUnitStatementTestCase;
-import
org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.rdl.alter.AlterDatabaseDiscoveryConstructionRuleStatementTestCase;
import
org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.rdl.alter.AlterDatabaseDiscoveryDefinitionRuleStatementTestCase;
-import
org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.rdl.alter.AlterDatabaseDiscoveryHeartbeatStatementTestCase;
-import
org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.rdl.alter.AlterDatabaseDiscoveryTypeStatementTestCase;
import
org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.rdl.alter.AlterDefaultShardingStrategyStatementTestCase;
import
org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.rdl.alter.AlterEncryptRuleStatementTestCase;
import
org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.rdl.alter.AlterReadwriteSplittingRuleStatementTestCase;
@@ -343,10 +340,7 @@ import
org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain
import
org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.rdl.alter.AlterShardingKeyGeneratorStatementTestCase;
import
org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.rdl.alter.AlterShardingTableRuleStatementTestCase;
import
org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.rdl.create.AddResourceStatementTestCase;
-import
org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.rdl.create.CreateDatabaseDiscoveryConstructionRuleStatementTestCase;
import
org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.rdl.create.CreateDatabaseDiscoveryDefinitionRuleStatementTestCase;
-import
org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.rdl.create.CreateDatabaseDiscoveryHeartbeatStatementTestCase;
-import
org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.rdl.create.CreateDatabaseDiscoveryTypeStatementTestCase;
import
org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.rdl.create.CreateDefaultShadowAlgorithmStatementTestCase;
import
org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.rdl.create.CreateDefaultShardingStrategyStatementTestCase;
import
org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.rdl.create.CreateDefaultSingleTableRuleStatementTestCase;
@@ -890,9 +884,6 @@ public final class SQLParserTestCases {
@XmlElement(name = "alter-database-discovery-definition-rule")
private final List<AlterDatabaseDiscoveryDefinitionRuleStatementTestCase>
alterDatabaseDiscoveryDefinitionRuleTestCases = new LinkedList<>();
- @XmlElement(name = "alter-database-discovery-construction-rule")
- private final
List<AlterDatabaseDiscoveryConstructionRuleStatementTestCase>
alterDataBaseDiscoveryConstructionRuleTestCases = new LinkedList<>();
-
@XmlElement(name = "alter-encrypt-rule")
private final List<AlterEncryptRuleStatementTestCase>
alterEncryptRuleTestCases = new LinkedList<>();
@@ -911,21 +902,6 @@ public final class SQLParserTestCases {
@XmlElement(name = "create-database-discovery-definition-rule")
private final List<CreateDatabaseDiscoveryDefinitionRuleStatementTestCase>
createDatabaseDiscoveryDefinitionRuleTestCases = new LinkedList<>();
- @XmlElement(name = "create-database-discovery-construction-rule")
- private final
List<CreateDatabaseDiscoveryConstructionRuleStatementTestCase>
createDataBaseDiscoveryConstructionRuleTestCases = new LinkedList<>();
-
- @XmlElement(name = "create-database-discovery-type")
- private final List<CreateDatabaseDiscoveryTypeStatementTestCase>
createDatabaseDiscoveryTypeTestCases = new LinkedList<>();
-
- @XmlElement(name = "create-database-discovery-heartbeat")
- private final List<CreateDatabaseDiscoveryHeartbeatStatementTestCase>
createDatabaseDiscoveryHeartbeatTestCases = new LinkedList<>();
-
- @XmlElement(name = "alter-database-discovery-heartbeat")
- private final List<AlterDatabaseDiscoveryHeartbeatStatementTestCase>
alterDatabaseDiscoveryHeartbeatTestCases = new LinkedList<>();
-
- @XmlElement(name = "alter-database-discovery-type")
- private final List<AlterDatabaseDiscoveryTypeStatementTestCase>
alterDatabaseDiscoveryTypeTestCases = new LinkedList<>();
-
@XmlElement(name = "create-encrypt-rule")
private final List<CreateEncryptRuleStatementTestCase>
createEncryptRuleTestCases = new LinkedList<>();
diff --git
a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/distsql/rdl/ExpectedDatabaseDiscoveryConstructionRule.java
b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/distsql/rdl/ExpectedDatabaseDiscoveryConstructionRule.java
deleted file mode 100644
index 3e88e5b0ba1..00000000000
---
a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/distsql/rdl/ExpectedDatabaseDiscoveryConstructionRule.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package
org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.segment.impl.distsql.rdl;
-
-import lombok.Getter;
-import lombok.Setter;
-import
org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.segment.AbstractExpectedIdentifierSQLSegment;
-
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlElement;
-import java.util.Collection;
-
-/**
- * Expected database discovery construction rule.
- */
-@Getter
-@Setter
-public final class ExpectedDatabaseDiscoveryConstructionRule extends
AbstractExpectedIdentifierSQLSegment {
-
- @XmlAttribute(name = "rule-name")
- private String name;
-
- @XmlElement(name = "data-source")
- private Collection<String> dataSources;
-
- @XmlAttribute(name = "type")
- private String discoveryType;
-
- @XmlAttribute(name = "heartbeat")
- private String discoveryHeartbeat;
-}
diff --git
a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/rdl/alter/AlterDatabaseDiscoveryConstructionRuleStatementTestCase.java
b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/rdl/alter/AlterDatabaseDiscoveryConstructionRuleStatementTestCase.java
deleted file mode 100644
index 6bd105cd5e8..00000000000
---
a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/rdl/alter/AlterDatabaseDiscoveryConstructionRuleStatementTestCase.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package
org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.rdl.alter;
-
-import lombok.Getter;
-import
org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.segment.impl.distsql.rdl.ExpectedDatabaseDiscoveryConstructionRule;
-import
org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.SQLParserTestCase;
-
-import javax.xml.bind.annotation.XmlElement;
-import java.util.LinkedList;
-import java.util.List;
-
-/**
- * Alter database discovery construction rule statement test case.
- */
-@Getter
-public final class AlterDatabaseDiscoveryConstructionRuleStatementTestCase
extends SQLParserTestCase {
-
- @XmlElement(name = "rule")
- private final List<ExpectedDatabaseDiscoveryConstructionRule> rules = new
LinkedList<>();
-}
diff --git
a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/rdl/create/CreateDatabaseDiscoveryConstructionRuleStatementTestCase.java
b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/rdl/create/CreateDatabaseDiscoveryConstructionRuleStatementTestCase.java
deleted file mode 100644
index 9669fddbc5e..00000000000
---
a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/rdl/create/CreateDatabaseDiscoveryConstructionRuleStatementTestCase.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package
org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.rdl.create;
-
-import lombok.Getter;
-import lombok.Setter;
-import
org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.segment.impl.distsql.rdl.ExpectedDatabaseDiscoveryConstructionRule;
-import
org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.SQLParserTestCase;
-
-import javax.xml.bind.annotation.XmlElement;
-import java.util.LinkedList;
-import java.util.List;
-
-/**
- * Create database discovery construction rule statement test case.
- */
-@Getter
-@Setter
-public final class CreateDatabaseDiscoveryConstructionRuleStatementTestCase
extends SQLParserTestCase {
-
- @XmlElement(name = "rule")
- private final List<ExpectedDatabaseDiscoveryConstructionRule> rules = new
LinkedList<>();
-}
diff --git a/test/parser/src/main/resources/case/rdl/alter.xml
b/test/parser/src/main/resources/case/rdl/alter.xml
index f6c5bdef621..499c2b6bc10 100644
--- a/test/parser/src/main/resources/case/rdl/alter.xml
+++ b/test/parser/src/main/resources/case/rdl/alter.xml
@@ -149,34 +149,6 @@
</heartbeat>
</rule>
</alter-database-discovery-definition-rule>
-
- <alter-database-discovery-construction-rule
sql-case-id="alter-database-discovery-construction-rule">
- <rule rule-name="ha_group_0" type="ha_group_0_mgr"
heartbeat="ha_group_0_heartbeat">
- <data-source>resource0</data-source>
- <data-source>resource1</data-source>
- </rule>
- </alter-database-discovery-construction-rule>
-
- <alter-database-discovery-heartbeat
sql-case-id="alter-database-discovery-heartbeat">
- <rule heartbeat-name="mgr_heartbeat">
- <properties>
- <property key="keepAliveCron" value="0/5 * * * * ?" />
- </properties>
- </rule>
- </alter-database-discovery-heartbeat>
-
- <alter-database-discovery-type sql-case-id="alter-database-discovery-type">
- <type discovery-type-name="primary_replica_ds_mgr">
- <algorithm algorithm-name="mgr">
- <properties>
- <property key="groupName" value="92504d5b-6dec" />
- </properties>
- </algorithm>
- </type>
- <type discovery-type-name="primary_replica_ds_mgr_2">
- <algorithm algorithm-name="mgr" />
- </type>
- </alter-database-discovery-type>
<alter-encrypt-rule sql-case-id="alter-encrypt-rule">
<rule name="t_encrypt">
diff --git a/test/parser/src/main/resources/case/rdl/create.xml
b/test/parser/src/main/resources/case/rdl/create.xml
index b1eb22b61be..9670fef1699 100644
--- a/test/parser/src/main/resources/case/rdl/create.xml
+++ b/test/parser/src/main/resources/case/rdl/create.xml
@@ -235,35 +235,6 @@
</rule>
</create-database-discovery-definition-rule>
- <create-database-discovery-construction-rule
sql-case-id="create-database-discovery-construction-rule">
- <rule rule-name="ha_group_0" type="ha_group_0_mgr"
heartbeat="ha_group_0_heartbeat">
- <data-source>resource0</data-source>
- <data-source>resource1</data-source>
- </rule>
- </create-database-discovery-construction-rule>
-
- <create-database-discovery-type
sql-case-id="create-database-discovery-type">
- <type discovery-type-name="primary_replica_ds_mgr">
- <algorithm algorithm-name="mgr">
- <properties>
- <property key="groupName" value="92504d5b-6dec" />
- </properties>
- </algorithm>
- </type>
- <type discovery-type-name="primary_replica_ds_mgr_2">
- <algorithm algorithm-name="mgr" />
- </type>
- </create-database-discovery-type>
-
-
- <create-database-discovery-heartbeat
sql-case-id="create-database-discovery-heartbeat">
- <rule heartbeat-name="mgr_heartbeat" >
- <properties>
- <property key="keepAliveCron" value="0/5 * * * * ?" />
- </properties>
- </rule>
- </create-database-discovery-heartbeat>
-
<create-database-discovery-definition-rule
sql-case-id="create-database-discovery-rule-with-quota">
<rule rule-name="ha_group_0" type="mgr">
<data-source>resource0</data-source>
diff --git a/test/parser/src/main/resources/sql/supported/rdl/alter.xml
b/test/parser/src/main/resources/sql/supported/rdl/alter.xml
index 2bd812767a7..7f46c7a6a84 100644
--- a/test/parser/src/main/resources/sql/supported/rdl/alter.xml
+++ b/test/parser/src/main/resources/sql/supported/rdl/alter.xml
@@ -31,9 +31,6 @@
<distsql-case id="alter-sharding-binding-table-rules" value="ALTER
SHARDING BINDING TABLE RULES (t_order,t_order_item), (t_1,t_2)" />
<distsql-case id="alter-readwrite-splitting-rule" value="ALTER
READWRITE_SPLITTING RULE ms_group_0 (AUTO_AWARE_RESOURCE=group_0,
TYPE(NAME='random',PROPERTIES('read_weight'='2:1'))), ms_group_1
(WRITE_RESOURCE=primary_ds,
READ_RESOURCES(replica_ds_0,replica_ds_1),TYPE(NAME='random'))" />
<distsql-case id="alter-database-discovery-definition-rule" value="ALTER
DB_DISCOVERY RULE ha_group_0 (RESOURCES(resource0,resource1),
TYPE(NAME='mgr',PROPERTIES('groupName'='92504d5b-6dec')),HEARTBEAT(PROPERTIES('keepAliveCron'='0/5
* * * * ?'))), ha_group_1 (RESOURCES(resource2,resource3),
TYPE(NAME='mgr2',PROPERTIES('groupName'='92504d5b-6dec-2')),HEARTBEAT(PROPERTIES('keepAliveCron'='0/6
* * * * ?')))" />
- <distsql-case id="alter-database-discovery-construction-rule" value="ALTER
DB_DISCOVERY RULE ha_group_0 (RESOURCES(resource0,resource1),
TYPE=ha_group_0_mgr,HEARTBEAT=ha_group_0_heartbeat)" />
- <distsql-case id="alter-database-discovery-heartbeat" value="ALTER
DB_DISCOVERY HEARTBEAT mgr_heartbeat(PROPERTIES('keepAliveCron'='0/5 * * * *
?'))" />
- <distsql-case id="alter-database-discovery-type" value="ALTER DB_DISCOVERY
TYPE
primary_replica_ds_mgr(TYPE(NAME='mgr',PROPERTIES('groupName'='92504d5b-6dec'))),primary_replica_ds_mgr_2(TYPE(NAME='mgr'))"
/>
<distsql-case id="alter-encrypt-rule" value="ALTER ENCRYPT RULE t_encrypt
(RESOURCE=ds_1,
COLUMNS((NAME=user_id,PLAIN=user_plain,CIPHER=user_cipher,TYPE(NAME='AES',PROPERTIES('aes-key-value'='123456abc'))),
(NAME=order_id, CIPHER =order_cipher,TYPE(NAME='MD5'))))" />
<distsql-case id="alter-encrypt-rule-with-assisted-query-column"
value="ALTER ENCRYPT RULE t_encrypt (RESOURCE=ds_1,
COLUMNS((NAME=user_id,PLAIN=user_plain,CIPHER=user_cipher,ASSISTED_QUERY_COLUMN=assisted_column,
TYPE(NAME='AES',PROPERTIES('aes-key-value'='123456abc')), TYPE(NAME='MD5')),
(NAME=order_id, CIPHER =order_cipher,TYPE(NAME='MD5'))))" />
<distsql-case id="alter-encrypt-rule-with-query-with-cipher-column"
value="ALTER ENCRYPT RULE t_encrypt (RESOURCE=ds_1,
COLUMNS((NAME=user_id,PLAIN=user_plain,CIPHER=user_cipher,
TYPE(NAME='AES',PROPERTIES('aes-key-value'='123456abc'))), (NAME=order_id,
CIPHER =order_cipher,TYPE(NAME='MD5'))), QUERY_WITH_CIPHER_COLUMN=false)" />
diff --git a/test/parser/src/main/resources/sql/supported/rdl/create.xml
b/test/parser/src/main/resources/sql/supported/rdl/create.xml
index 95b3ce02f8e..a7d3e5ef879 100644
--- a/test/parser/src/main/resources/sql/supported/rdl/create.xml
+++ b/test/parser/src/main/resources/sql/supported/rdl/create.xml
@@ -33,9 +33,6 @@
<distsql-case id="create-static-readwrite-splitting-rule" value="CREATE
READWRITE_SPLITTING RULE ms_group_0 (WRITE_RESOURCE=primary_ds,
READ_RESOURCES(replica_ds_0,replica_ds_1), TYPE(NAME='random')))" />
<distsql-case id="create-dynamic-readwrite-splitting-rule" value="CREATE
READWRITE_SPLITTING RULE ms_group_1(AUTO_AWARE_RESOURCE=group_0,
TYPE(NAME='random',PROPERTIES('read_weight'='2:1')))" />
<distsql-case id="create-database-discovery-definition-rule" value="CREATE
DB_DISCOVERY RULE ha_group_0 (RESOURCES(resource0,resource1),
TYPE(NAME='mgr',PROPERTIES('groupName'='92504d5b-6dec')),HEARTBEAT(PROPERTIES('keepAliveCron'='0/5
* * * * ?'))), ha_group_1 (RESOURCES(resource2,resource3),
TYPE(NAME='mgr2',PROPERTIES('groupName'='92504d5b-6dec-2')),HEARTBEAT(PROPERTIES('keepAliveCron'='0/6
* * * * ?')))" />
- <distsql-case id="create-database-discovery-construction-rule"
value="CREATE DB_DISCOVERY RULE ha_group_0 (RESOURCES(resource0,resource1),
TYPE=ha_group_0_mgr,HEARTBEAT=ha_group_0_heartbeat)" />
- <distsql-case id="create-database-discovery-type" value="CREATE
DB_DISCOVERY TYPE
primary_replica_ds_mgr(TYPE(NAME='mgr',PROPERTIES('groupName'='92504d5b-6dec'))),primary_replica_ds_mgr_2(TYPE(NAME='mgr'))"
/>
- <distsql-case id="create-database-discovery-heartbeat" value="CREATE
DB_DISCOVERY HEARTBEAT mgr_heartbeat(PROPERTIES('keepAliveCron'='0/5 * * * *
?'))" />
<distsql-case id="create-encrypt-rule" value="CREATE ENCRYPT RULE
t_encrypt (RESOURCE=ds_1,
COLUMNS((NAME=user_id,PLAIN=user_plain,CIPHER=user_cipher,TYPE(NAME='AES',PROPERTIES('aes-key-value'='123456abc'))),
(NAME=order_id, CIPHER =order_cipher,TYPE(NAME='MD5'))))" />
<distsql-case id="create-encrypt-rule-with-assisted-query-column"
value="CREATE ENCRYPT RULE t_encrypt (RESOURCE=ds_1,
COLUMNS((NAME=user_id,PLAIN=user_plain,CIPHER=user_cipher,ASSISTED_QUERY_COLUMN=assisted_column,
TYPE(NAME='AES',PROPERTIES('aes-key-value'='123456abc')), TYPE(NAME='MD5')),
(NAME=order_id, CIPHER =order_cipher,TYPE(NAME='MD5'))))" />
<distsql-case id="create-shadow-rule" value="CREATE SHADOW RULE
shadow_rule(SOURCE=demo_ds,SHADOW=demo_ds_shadow,t_order((TYPE(NAME='REGEX_MATCH',PROPERTIES('operation'='insert','column'='user_id','regex'='[1]'))),(simple_hint_algorithm,TYPE(NAME='SIMPLE_HINT',PROPERTIES('shadow'='true','foo'='bar')))))"
/>