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 bc2cefa Support `DROP DEFAULT SHADOW ALGORITHM` syntax. (#15974)
bc2cefa is described below
commit bc2cefa536a538bb66e9317467b9774b95d1db3d
Author: lanchengx <[email protected]>
AuthorDate: Thu Mar 10 20:56:37 2022 +0800
Support `DROP DEFAULT SHADOW ALGORITHM` syntax. (#15974)
---
.../CreateShadowAlgorithmStatementUpdater.java | 3 +
...DropDefaultShadowAlgorithmStatementUpdater.java | 80 ++++++++++++++++++++++
...here.infra.distsql.update.RuleDefinitionUpdater | 1 +
...DefaultShadowAlgorithmStatementUpdaterTest.java | 66 ++++++++++++++++++
.../src/main/antlr4/imports/shadow/RDLStatement.g4 | 4 ++
.../parser/autogen/ShadowDistSQLStatement.g4 | 1 +
.../parser/core/ShadowDistSQLStatementVisitor.java | 7 ++
.../DropDefaultShadowAlgorithmStatement.java} | 30 ++++----
.../src/main/resources/case/rdl/drop.xml | 2 +
.../src/main/resources/sql/supported/rdl/drop.xml | 1 +
10 files changed, 180 insertions(+), 15 deletions(-)
diff --git
a/shardingsphere-features/shardingsphere-shadow/shardingsphere-shadow-distsql/shardingsphere-shadow-distsql-handler/src/main/java/org/apache/shardingsphere/shadow/distsql/handler/update/CreateShadowAlgorithmStatementUpdater.java
b/shardingsphere-features/shardingsphere-shadow/shardingsphere-shadow-distsql/shardingsphere-shadow-distsql-handler/src/main/java/org/apache/shardingsphere/shadow/distsql/handler/update/CreateShadowAlgorithmStatementUpdater.java
index 023c737..af16b32 100644
---
a/shardingsphere-features/shardingsphere-shadow/shardingsphere-shadow-distsql/shardingsphere-shadow-distsql-handler/src/main/java/org/apache/shardingsphere/shadow/distsql/handler/update/CreateShadowAlgorithmStatementUpdater.java
+++
b/shardingsphere-features/shardingsphere-shadow/shardingsphere-shadow-distsql/shardingsphere-shadow-distsql-handler/src/main/java/org/apache/shardingsphere/shadow/distsql/handler/update/CreateShadowAlgorithmStatementUpdater.java
@@ -82,6 +82,9 @@ public final class CreateShadowAlgorithmStatementUpdater
implements RuleDefiniti
}
private void checkExist(final String schemaName, final
CreateShadowAlgorithmStatement sqlStatement, final ShadowRuleConfiguration
currentRuleConfig) throws DistSQLException {
+ if (null == currentRuleConfig) {
+ return;
+ }
Collection<String> requireAlgorithmNames =
sqlStatement.getAlgorithms().stream().map(ShadowAlgorithmSegment::getAlgorithmName).collect(Collectors.toList());
ShadowRuleStatementChecker.checkAnyDuplicate(requireAlgorithmNames,
currentRuleConfig.getShadowAlgorithms().keySet(),
different -> new DuplicateRuleException(SHADOW, schemaName,
different));
diff --git
a/shardingsphere-features/shardingsphere-shadow/shardingsphere-shadow-distsql/shardingsphere-shadow-distsql-handler/src/main/java/org/apache/shardingsphere/shadow/distsql/handler/update/DropDefaultShadowAlgorithmStatementUpdater.java
b/shardingsphere-features/shardingsphere-shadow/shardingsphere-shadow-distsql/shardingsphere-shadow-distsql-handler/src/main/java/org/apache/shardingsphere/shadow/distsql/handler/update/DropDefaultShadowAlgorithmStatementUpdater.java
new file mode 100644
index 0000000..f4f0037
--- /dev/null
+++
b/shardingsphere-features/shardingsphere-shadow/shardingsphere-shadow-distsql/shardingsphere-shadow-distsql-handler/src/main/java/org/apache/shardingsphere/shadow/distsql/handler/update/DropDefaultShadowAlgorithmStatementUpdater.java
@@ -0,0 +1,80 @@
+/*
+ * 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.shadow.distsql.handler.update;
+
+import org.apache.shardingsphere.infra.config.scope.SchemaRuleConfiguration;
+import org.apache.shardingsphere.infra.distsql.exception.DistSQLException;
+import
org.apache.shardingsphere.infra.distsql.exception.rule.RequiredAlgorithmMissedException;
+import
org.apache.shardingsphere.infra.distsql.update.RuleDefinitionDropUpdater;
+import org.apache.shardingsphere.infra.metadata.ShardingSphereMetaData;
+import org.apache.shardingsphere.shadow.api.config.ShadowRuleConfiguration;
+import
org.apache.shardingsphere.shadow.distsql.handler.checker.ShadowRuleStatementChecker;
+import
org.apache.shardingsphere.shadow.distsql.parser.statement.DropDefaultShadowAlgorithmStatement;
+
+import java.util.Collections;
+
+/**
+ * Drop default shadow algorithm statement updater.
+ */
+public final class DropDefaultShadowAlgorithmStatementUpdater implements
RuleDefinitionDropUpdater<DropDefaultShadowAlgorithmStatement,
ShadowRuleConfiguration> {
+
+ private static final String SHADOW = "shadow";
+
+ @Override
+ public void checkSQLStatement(final ShardingSphereMetaData metaData, final
DropDefaultShadowAlgorithmStatement sqlStatement,
+ final ShadowRuleConfiguration
currentRuleConfig) throws DistSQLException {
+ String schemaName = metaData.getName();
+ if (sqlStatement.isContainsExistClause() &&
!isExistRuleConfig(currentRuleConfig)) {
+ return;
+ }
+ checkConfigurationExist(schemaName, currentRuleConfig);
+ checkAlgorithm(schemaName, sqlStatement, currentRuleConfig);
+ }
+
+ private void checkConfigurationExist(final String schemaName, final
SchemaRuleConfiguration currentRuleConfig) throws DistSQLException {
+ ShadowRuleStatementChecker.checkConfigurationExist(schemaName,
currentRuleConfig);
+ }
+
+ private void checkAlgorithm(final String schemaName, final
DropDefaultShadowAlgorithmStatement sqlStatement, final ShadowRuleConfiguration
currentRuleConfig) throws DistSQLException {
+ if (!sqlStatement.isContainsExistClause()) {
+ DistSQLException.predictionThrow(null !=
currentRuleConfig.getDefaultShadowAlgorithmName(),
+ () -> new RequiredAlgorithmMissedException(SHADOW, schemaName,
Collections.singleton("default")));
+ }
+ }
+
+ @Override
+ public boolean hasAnyOneToBeDropped(final
DropDefaultShadowAlgorithmStatement sqlStatement, final ShadowRuleConfiguration
currentRuleConfig) {
+ return null != currentRuleConfig && null !=
currentRuleConfig.getDefaultShadowAlgorithmName();
+ }
+
+ @Override
+ public boolean updateCurrentRuleConfiguration(final
DropDefaultShadowAlgorithmStatement sqlStatement, final ShadowRuleConfiguration
currentRuleConfig) {
+ currentRuleConfig.setDefaultShadowAlgorithmName(null);
+ return false;
+ }
+
+ @Override
+ public Class<ShadowRuleConfiguration> getRuleConfigurationClass() {
+ return ShadowRuleConfiguration.class;
+ }
+
+ @Override
+ public String getType() {
+ return DropDefaultShadowAlgorithmStatement.class.getName();
+ }
+}
diff --git
a/shardingsphere-features/shardingsphere-shadow/shardingsphere-shadow-distsql/shardingsphere-shadow-distsql-handler/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.distsql.update.RuleDefinitionUpdater
b/shardingsphere-features/shardingsphere-shadow/shardingsphere-shadow-distsql/shardingsphere-shadow-distsql-handler/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.distsql.update.RuleDefinitionUpdater
index 98e2d59..6e3d296 100644
---
a/shardingsphere-features/shardingsphere-shadow/shardingsphere-shadow-distsql/shardingsphere-shadow-distsql-handler/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.distsql.update.RuleDefinitionUpdater
+++
b/shardingsphere-features/shardingsphere-shadow/shardingsphere-shadow-distsql/shardingsphere-shadow-distsql-handler/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.distsql.update.RuleDefinitionUpdater
@@ -22,3 +22,4 @@
org.apache.shardingsphere.shadow.distsql.handler.update.AlterShadowRuleStatement
org.apache.shardingsphere.shadow.distsql.handler.update.CreateDefaultShadowAlgorithmStatementUpdater
org.apache.shardingsphere.shadow.distsql.handler.update.AlterShadowAlgorithmStatementUpdater
org.apache.shardingsphere.shadow.distsql.handler.update.CreateShadowAlgorithmStatementUpdater
+org.apache.shardingsphere.shadow.distsql.handler.update.DropDefaultShadowAlgorithmStatementUpdater
diff --git
a/shardingsphere-features/shardingsphere-shadow/shardingsphere-shadow-distsql/shardingsphere-shadow-distsql-handler/src/test/java/org/apache/shardingsphere/shadow/distsql/update/DropDefaultShadowAlgorithmStatementUpdaterTest.java
b/shardingsphere-features/shardingsphere-shadow/shardingsphere-shadow-distsql/shardingsphere-shadow-distsql-handler/src/test/java/org/apache/shardingsphere/shadow/distsql/update/DropDefaultShadowAlgorithmStatementUpdaterTest.java
new file mode 100644
index 0000000..4c8bb98
--- /dev/null
+++
b/shardingsphere-features/shardingsphere-shadow/shardingsphere-shadow-distsql/shardingsphere-shadow-distsql-handler/src/test/java/org/apache/shardingsphere/shadow/distsql/update/DropDefaultShadowAlgorithmStatementUpdaterTest.java
@@ -0,0 +1,66 @@
+/*
+ * 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.shadow.distsql.update;
+
+import org.apache.shardingsphere.infra.distsql.exception.DistSQLException;
+import
org.apache.shardingsphere.infra.distsql.exception.rule.RequiredAlgorithmMissedException;
+import org.apache.shardingsphere.infra.metadata.ShardingSphereMetaData;
+import org.apache.shardingsphere.shadow.api.config.ShadowRuleConfiguration;
+import
org.apache.shardingsphere.shadow.distsql.handler.update.DropDefaultShadowAlgorithmStatementUpdater;
+import
org.apache.shardingsphere.shadow.distsql.parser.statement.DropDefaultShadowAlgorithmStatement;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.junit.MockitoJUnitRunner;
+
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
+
+@RunWith(MockitoJUnitRunner.class)
+public final class DropDefaultShadowAlgorithmStatementUpdaterTest {
+
+ @Mock
+ private ShardingSphereMetaData shardingSphereMetaData;
+
+ @Mock
+ private ShadowRuleConfiguration currentConfiguration;
+
+ private final DropDefaultShadowAlgorithmStatementUpdater updater = new
DropDefaultShadowAlgorithmStatementUpdater();
+
+ @Test(expected = RequiredAlgorithmMissedException.class)
+ public void assertCheckWithoutDefaultAlgorithm() throws DistSQLException {
+ updater.checkSQLStatement(shardingSphereMetaData, new
DropDefaultShadowAlgorithmStatement(), currentConfiguration);
+ }
+
+ @Test
+ public void assertCheckWithIfExists() throws DistSQLException {
+ updater.checkSQLStatement(shardingSphereMetaData, new
DropDefaultShadowAlgorithmStatement(true), currentConfiguration);
+ updater.checkSQLStatement(shardingSphereMetaData, new
DropDefaultShadowAlgorithmStatement(true), null);
+ }
+
+ @Test
+ public void assertUpdate() throws DistSQLException {
+ ShadowRuleConfiguration configuration = new ShadowRuleConfiguration();
+ configuration.setDefaultShadowAlgorithmName("default");
+ DropDefaultShadowAlgorithmStatement statement = new
DropDefaultShadowAlgorithmStatement();
+ updater.checkSQLStatement(shardingSphereMetaData, new
DropDefaultShadowAlgorithmStatement(true), configuration);
+ assertTrue(updater.hasAnyOneToBeDropped(statement, configuration));
+ updater.updateCurrentRuleConfiguration(statement, configuration);
+ assertNull(configuration.getDefaultShadowAlgorithmName());
+ }
+}
diff --git
a/shardingsphere-features/shardingsphere-shadow/shardingsphere-shadow-distsql/shardingsphere-shadow-distsql-parser/src/main/antlr4/imports/shadow/RDLStatement.g4
b/shardingsphere-features/shardingsphere-shadow/shardingsphere-shadow-distsql/shardingsphere-shadow-distsql-parser/src/main/antlr4/imports/shadow/RDLStatement.g4
index a8c0b71..2fbbb86 100644
---
a/shardingsphere-features/shardingsphere-shadow/shardingsphere-shadow-distsql/shardingsphere-shadow-distsql-parser/src/main/antlr4/imports/shadow/RDLStatement.g4
+++
b/shardingsphere-features/shardingsphere-shadow/shardingsphere-shadow-distsql/shardingsphere-shadow-distsql-parser/src/main/antlr4/imports/shadow/RDLStatement.g4
@@ -47,6 +47,10 @@ createDefaultShadowAlgorithm
: CREATE DEFAULT SHADOW ALGORITHM NAME EQ algorithmName
;
+dropDefaultShadowAlgorithm
+ : DROP DEFAULT SHADOW ALGORITHM existClause?
+ ;
+
shadowRuleDefinition
: ruleName LP SOURCE EQ source COMMA SHADOW EQ shadow COMMA
shadowTableRule (COMMA shadowTableRule)* RP
;
diff --git
a/shardingsphere-features/shardingsphere-shadow/shardingsphere-shadow-distsql/shardingsphere-shadow-distsql-parser/src/main/antlr4/org/apache/shardingsphere/distsql/parser/autogen/ShadowDistSQLStatement.g4
b/shardingsphere-features/shardingsphere-shadow/shardingsphere-shadow-distsql/shardingsphere-shadow-distsql-parser/src/main/antlr4/org/apache/shardingsphere/distsql/parser/autogen/ShadowDistSQLStatement.g4
index 0a2e2fc..93e0d0b 100644
---
a/shardingsphere-features/shardingsphere-shadow/shardingsphere-shadow-distsql/shardingsphere-shadow-distsql-parser/src/main/antlr4/org/apache/shardingsphere/distsql/parser/autogen/ShadowDistSQLStatement.g4
+++
b/shardingsphere-features/shardingsphere-shadow/shardingsphere-shadow-distsql/shardingsphere-shadow-distsql-parser/src/main/antlr4/org/apache/shardingsphere/distsql/parser/autogen/ShadowDistSQLStatement.g4
@@ -27,6 +27,7 @@ execute
| showShadowTableRules
| showShadowAlgorithms
| dropShadowAlgorithm
+ | dropDefaultShadowAlgorithm
| createDefaultShadowAlgorithm
| alterShadowAlgorithm
| createShadowAlgorithm
diff --git
a/shardingsphere-features/shardingsphere-shadow/shardingsphere-shadow-distsql/shardingsphere-shadow-distsql-parser/src/main/java/org/apache/shardingsphere/shadow/distsql/parser/core/ShadowDistSQLStatementVisitor.java
b/shardingsphere-features/shardingsphere-shadow/shardingsphere-shadow-distsql/shardingsphere-shadow-distsql-parser/src/main/java/org/apache/shardingsphere/shadow/distsql/parser/core/ShadowDistSQLStatementVisitor.java
index 4804747..5a29f8f 100644
---
a/shardingsphere-features/shardingsphere-shadow/shardingsphere-shadow-distsql/shardingsphere-shadow-distsql-parser/src/main/java/org/apache/shardingsphere/shadow/distsql/parser/core/ShadowDistSQLStatementVisitor.java
+++
b/shardingsphere-features/shardingsphere-shadow/shardingsphere-shadow-distsql/shardingsphere-shadow-distsql-parser/src/main/java/org/apache/shardingsphere/shadow/distsql/parser/core/ShadowDistSQLStatementVisitor.java
@@ -25,6 +25,7 @@ import
org.apache.shardingsphere.distsql.parser.autogen.ShadowDistSQLStatementPa
import
org.apache.shardingsphere.distsql.parser.autogen.ShadowDistSQLStatementParser.CreateDefaultShadowAlgorithmContext;
import
org.apache.shardingsphere.distsql.parser.autogen.ShadowDistSQLStatementParser.CreateShadowAlgorithmContext;
import
org.apache.shardingsphere.distsql.parser.autogen.ShadowDistSQLStatementParser.CreateShadowRuleContext;
+import
org.apache.shardingsphere.distsql.parser.autogen.ShadowDistSQLStatementParser.DropDefaultShadowAlgorithmContext;
import
org.apache.shardingsphere.distsql.parser.autogen.ShadowDistSQLStatementParser.DropShadowAlgorithmContext;
import
org.apache.shardingsphere.distsql.parser.autogen.ShadowDistSQLStatementParser.DropShadowRuleContext;
import
org.apache.shardingsphere.distsql.parser.autogen.ShadowDistSQLStatementParser.SchemaNameContext;
@@ -42,6 +43,7 @@ import
org.apache.shardingsphere.shadow.distsql.parser.statement.AlterShadowRule
import
org.apache.shardingsphere.shadow.distsql.parser.statement.CreateDefaultShadowAlgorithmStatement;
import
org.apache.shardingsphere.shadow.distsql.parser.statement.CreateShadowAlgorithmStatement;
import
org.apache.shardingsphere.shadow.distsql.parser.statement.CreateShadowRuleStatement;
+import
org.apache.shardingsphere.shadow.distsql.parser.statement.DropDefaultShadowAlgorithmStatement;
import
org.apache.shardingsphere.shadow.distsql.parser.statement.DropShadowAlgorithmStatement;
import
org.apache.shardingsphere.shadow.distsql.parser.statement.DropShadowRuleStatement;
import
org.apache.shardingsphere.shadow.distsql.parser.statement.ShowShadowAlgorithmsStatement;
@@ -131,6 +133,11 @@ public final class ShadowDistSQLStatementVisitor extends
ShadowDistSQLStatementB
}
@Override
+ public ASTNode visitDropDefaultShadowAlgorithm(final
DropDefaultShadowAlgorithmContext ctx) {
+ return new DropDefaultShadowAlgorithmStatement(null !=
ctx.existClause());
+ }
+
+ @Override
public ASTNode visitShowShadowRules(final ShowShadowRulesContext ctx) {
String ruleName = null == ctx.shadowRule() ? null :
getIdentifierValue(ctx.shadowRule().ruleName());
SchemaSegment schemaSegment = null == ctx.schemaName() ? null :
(SchemaSegment) visit(ctx.schemaName());
diff --git
a/shardingsphere-features/shardingsphere-shadow/shardingsphere-shadow-distsql/shardingsphere-shadow-distsql-parser/src/main/antlr4/org/apache/shardingsphere/distsql/parser/autogen/ShadowDistSQLStatement.g4
b/shardingsphere-features/shardingsphere-shadow/shardingsphere-shadow-distsql/shardingsphere-shadow-distsql-statement/src/main/java/org/apache/shardingsphere/shadow/distsql/parser/statement/DropDefaultShadowAlgorithmStatement.java
similarity index 60%
copy from
shardingsphere-features/shardingsphere-shadow/shardingsphere-shadow-distsql/shardingsphere-shadow-distsql-parser/src/main/antlr4/org/apache/shardingsphere/distsql/parser/autogen/ShadowDistSQLStatement.g4
copy to
shardingsphere-features/shardingsphere-shadow/shardingsphere-shadow-distsql/shardingsphere-shadow-distsql-statement/src/main/java/org/apache/shardingsphere/shadow/distsql/parser/statement/DropDefaultShadowAlgorithmStatement.java
index 0a2e2fc..a05ed2b 100644
---
a/shardingsphere-features/shardingsphere-shadow/shardingsphere-shadow-distsql/shardingsphere-shadow-distsql-parser/src/main/antlr4/org/apache/shardingsphere/distsql/parser/autogen/ShadowDistSQLStatement.g4
+++
b/shardingsphere-features/shardingsphere-shadow/shardingsphere-shadow-distsql/shardingsphere-shadow-distsql-statement/src/main/java/org/apache/shardingsphere/shadow/distsql/parser/statement/DropDefaultShadowAlgorithmStatement.java
@@ -15,20 +15,20 @@
* limitations under the License.
*/
-grammar ShadowDistSQLStatement;
+package org.apache.shardingsphere.shadow.distsql.parser.statement;
-import Symbol, RDLStatement, RQLStatement;
+import lombok.Getter;
+import lombok.RequiredArgsConstructor;
+import
org.apache.shardingsphere.distsql.parser.statement.rdl.drop.DropRuleStatement;
-execute
- : (createShadowRule
- | alterShadowRule
- | dropShadowRule
- | showShadowRules
- | showShadowTableRules
- | showShadowAlgorithms
- | dropShadowAlgorithm
- | createDefaultShadowAlgorithm
- | alterShadowAlgorithm
- | createShadowAlgorithm
- ) SEMI?
- ;
+/**
+ * Drop default shadow algorithm statement.
+ */
+@RequiredArgsConstructor
+@Getter
+public final class DropDefaultShadowAlgorithmStatement extends
DropRuleStatement {
+
+ public DropDefaultShadowAlgorithmStatement(final boolean
containsExistClause) {
+ setContainsExistClause(containsExistClause);
+ }
+}
diff --git
a/shardingsphere-test/shardingsphere-parser-test/src/main/resources/case/rdl/drop.xml
b/shardingsphere-test/shardingsphere-parser-test/src/main/resources/case/rdl/drop.xml
index dbf7188..4dcd690 100644
---
a/shardingsphere-test/shardingsphere-parser-test/src/main/resources/case/rdl/drop.xml
+++
b/shardingsphere-test/shardingsphere-parser-test/src/main/resources/case/rdl/drop.xml
@@ -130,6 +130,8 @@
<rule>shadow_algorithm_2</rule>
</drop-shadow-algorithm>
+ <drop-shadow-algorithm
sql-case-id="drop-default-shadow-algorithm-if-exists"
contains-exist-clause="true"/>
+
<drop-default-single-table sql-case-id="drop-default-single-table" />
<drop-default-single-table
sql-case-id="drop-default-single-table-if-exists" contains-exist-clause="true"/>
diff --git
a/shardingsphere-test/shardingsphere-parser-test/src/main/resources/sql/supported/rdl/drop.xml
b/shardingsphere-test/shardingsphere-parser-test/src/main/resources/sql/supported/rdl/drop.xml
index cae1f38..3ac3072 100644
---
a/shardingsphere-test/shardingsphere-parser-test/src/main/resources/sql/supported/rdl/drop.xml
+++
b/shardingsphere-test/shardingsphere-parser-test/src/main/resources/sql/supported/rdl/drop.xml
@@ -40,6 +40,7 @@
<distsql-case id="drop-shadow-rule" value="DROP SHADOW RULE
shadow_rule_1,shadow_rule_2" />
<distsql-case id="drop-shadow-rule-if-exists" value="DROP SHADOW RULE IF
EXISTS shadow_rule_1,shadow_rule_2" />
<distsql-case id="drop-shadow-algorithm" value="DROP SHADOW algorithm
shadow_algorithm_1,shadow_algorithm_2" />
+ <distsql-case id="drop-default-shadow-algorithm-if-exists" value="DROP
DEFAULT SHADOW ALGORITHM IF EXISTS" />
<distsql-case id="drop-shadow-algorithm-if-exists" value="DROP SHADOW
ALGORITHM IF EXISTS shadow_algorithm_1,shadow_algorithm_2" />
<distsql-case id="drop-default-single-table" value="DROP DEFAULT SINGLE
TABLE RULE" />
<distsql-case id="drop-default-single-table-if-exists" value="DROP DEFAULT
SINGLE TABLE RULE IF EXISTS" />