This is an automated email from the ASF dual-hosted git repository.

menghaoran 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 58f6806  Replace List and Set with Collection for variable type 
definition. (#14659)
58f6806 is described below

commit 58f68069297912142625a18d7f8444d39412b5d9
Author: Raigor <[email protected]>
AuthorDate: Tue Jan 11 11:22:48 2022 +0800

    Replace List and Set with Collection for variable type definition. (#14659)
---
 ...AlterDatabaseDiscoveryTypeStatementUpdater.java |  3 +--
 ...reateDatabaseDiscoveryTypeStatementUpdater.java |  3 +--
 ...DatabaseDiscoveryHeartbeatStatementUpdater.java |  6 ++----
 .../DropDatabaseDiscoveryRuleStatementUpdater.java |  3 +--
 .../DropDatabaseDiscoveryTypeStatementUpdater.java |  6 ++----
 ...eDatabaseDiscoveryTypeStatementUpdaterTest.java | 13 +++++------
 .../checker/ShadowRuleStatementChecker.java        | 25 ++++++++++++----------
 .../AlterShadowAlgorithmStatementUpdater.java      |  4 ++--
 .../update/AlterShadowRuleStatementUpdater.java    | 11 +++++-----
 .../update/CreateShadowRuleStatementUpdater.java   | 13 ++++++-----
 .../DropShadowAlgorithmStatementUpdater.java       |  7 +++---
 .../update/DropShadowRuleStatementUpdater.java     |  3 +--
 .../CreateShardingAlgorithmStatementUpdater.java   | 11 +++++-----
 ...teShardingBindingTableRuleStatementUpdater.java |  3 +--
 ...CreateShardingKeyGeneratorStatementUpdater.java | 11 +++++-----
 ...opShardingBindingTableRuleStatementUpdater.java |  2 +-
 .../DropShardingKeyGeneratorStatementUpdater.java  |  7 +++---
 ...eateDefaultSingleTableRuleStatementUpdater.java |  4 ++--
 18 files changed, 62 insertions(+), 73 deletions(-)

diff --git 
a/shardingsphere-features/shardingsphere-db-discovery/shardingsphere-db-discovery-distsql/shardingsphere-db-discovery-distsql-handler/src/main/java/org/apache/shardingsphere/dbdiscovery/distsql/handler/update/AlterDatabaseDiscoveryTypeStatementUpdater.java
 
b/shardingsphere-features/shardingsphere-db-discovery/shardingsphere-db-discovery-distsql/shardingsphere-db-discovery-distsql-handler/src/main/java/org/apache/shardingsphere/dbdiscovery/distsql/handler/update/AlterDatabaseDis
 [...]
index 63a387a..4767ccc 100644
--- 
a/shardingsphere-features/shardingsphere-db-discovery/shardingsphere-db-discovery-distsql/shardingsphere-db-discovery-distsql-handler/src/main/java/org/apache/shardingsphere/dbdiscovery/distsql/handler/update/AlterDatabaseDiscoveryTypeStatementUpdater.java
+++ 
b/shardingsphere-features/shardingsphere-db-discovery/shardingsphere-db-discovery-distsql/shardingsphere-db-discovery-distsql-handler/src/main/java/org/apache/shardingsphere/dbdiscovery/distsql/handler/update/AlterDatabaseDiscoveryTypeStatementUpdater.java
@@ -33,7 +33,6 @@ import 
org.apache.shardingsphere.spi.ShardingSphereServiceLoader;
 import org.apache.shardingsphere.spi.typed.TypedSPIRegistry;
 
 import java.util.Collection;
-import java.util.List;
 import java.util.Map.Entry;
 import java.util.Properties;
 import java.util.stream.Collectors;
@@ -84,7 +83,7 @@ public final class AlterDatabaseDiscoveryTypeStatementUpdater 
implements RuleDef
     }
     
     private void checkInvalidDiscoverType(final 
AlterDatabaseDiscoveryTypeStatement sqlStatement) throws DistSQLException {
-        List<String> invalidType = sqlStatement.getTypes().stream().map(each 
-> each.getAlgorithmSegment().getName()).distinct()
+        Collection<String> invalidType = 
sqlStatement.getTypes().stream().map(each -> 
each.getAlgorithmSegment().getName()).distinct()
                 .filter(each -> 
!TypedSPIRegistry.findRegisteredService(DatabaseDiscoveryType.class, each, new 
Properties()).isPresent()).collect(Collectors.toList());
         DistSQLException.predictionThrow(invalidType.isEmpty(), new 
InvalidAlgorithmConfigurationException(RULE_TYPE, invalidType));
     }
diff --git 
a/shardingsphere-features/shardingsphere-db-discovery/shardingsphere-db-discovery-distsql/shardingsphere-db-discovery-distsql-handler/src/main/java/org/apache/shardingsphere/dbdiscovery/distsql/handler/update/CreateDatabaseDiscoveryTypeStatementUpdater.java
 
b/shardingsphere-features/shardingsphere-db-discovery/shardingsphere-db-discovery-distsql/shardingsphere-db-discovery-distsql-handler/src/main/java/org/apache/shardingsphere/dbdiscovery/distsql/handler/update/CreateDatabaseD
 [...]
index a91486c..dbcfbaf 100644
--- 
a/shardingsphere-features/shardingsphere-db-discovery/shardingsphere-db-discovery-distsql/shardingsphere-db-discovery-distsql-handler/src/main/java/org/apache/shardingsphere/dbdiscovery/distsql/handler/update/CreateDatabaseDiscoveryTypeStatementUpdater.java
+++ 
b/shardingsphere-features/shardingsphere-db-discovery/shardingsphere-db-discovery-distsql/shardingsphere-db-discovery-distsql-handler/src/main/java/org/apache/shardingsphere/dbdiscovery/distsql/handler/update/CreateDatabaseDiscoveryTypeStatementUpdater.java
@@ -32,7 +32,6 @@ import 
org.apache.shardingsphere.spi.ShardingSphereServiceLoader;
 import org.apache.shardingsphere.spi.typed.TypedSPIRegistry;
 
 import java.util.Collection;
-import java.util.List;
 import java.util.Map.Entry;
 import java.util.Properties;
 import java.util.stream.Collectors;
@@ -74,7 +73,7 @@ public final class 
CreateDatabaseDiscoveryTypeStatementUpdater implements RuleDe
     }
     
     private void checkInvalidDiscoverType(final 
CreateDatabaseDiscoveryTypeStatement sqlStatement) throws DistSQLException {
-        List<String> invalidType = sqlStatement.getTypes().stream().map(each 
-> each.getAlgorithmSegment().getName()).distinct()
+        Collection<String> invalidType = 
sqlStatement.getTypes().stream().map(each -> 
each.getAlgorithmSegment().getName()).distinct()
                 .filter(each -> 
!TypedSPIRegistry.findRegisteredService(DatabaseDiscoveryType.class, each, new 
Properties()).isPresent()).collect(Collectors.toList());
         DistSQLException.predictionThrow(invalidType.isEmpty(), new 
InvalidAlgorithmConfigurationException(RULE_TYPE, invalidType));
     }
diff --git 
a/shardingsphere-features/shardingsphere-db-discovery/shardingsphere-db-discovery-distsql/shardingsphere-db-discovery-distsql-handler/src/main/java/org/apache/shardingsphere/dbdiscovery/distsql/handler/update/DropDatabaseDiscoveryHeartbeatStatementUpdater.java
 
b/shardingsphere-features/shardingsphere-db-discovery/shardingsphere-db-discovery-distsql/shardingsphere-db-discovery-distsql-handler/src/main/java/org/apache/shardingsphere/dbdiscovery/distsql/handler/update/DropDatabase
 [...]
index f946ad1..d250d63 100644
--- 
a/shardingsphere-features/shardingsphere-db-discovery/shardingsphere-db-discovery-distsql/shardingsphere-db-discovery-distsql-handler/src/main/java/org/apache/shardingsphere/dbdiscovery/distsql/handler/update/DropDatabaseDiscoveryHeartbeatStatementUpdater.java
+++ 
b/shardingsphere-features/shardingsphere-db-discovery/shardingsphere-db-discovery-distsql/shardingsphere-db-discovery-distsql-handler/src/main/java/org/apache/shardingsphere/dbdiscovery/distsql/handler/update/DropDatabaseDiscoveryHeartbeatStatementUpdater.java
@@ -27,8 +27,6 @@ import 
org.apache.shardingsphere.infra.distsql.update.RuleDefinitionDropUpdater;
 import org.apache.shardingsphere.infra.metadata.ShardingSphereMetaData;
 
 import java.util.Collection;
-import java.util.List;
-import java.util.Set;
 import java.util.stream.Collectors;
 
 /**
@@ -60,8 +58,8 @@ public final class 
DropDatabaseDiscoveryHeartbeatStatementUpdater implements Rul
     
     private void checkIsInUse(final String schemaName, final 
DropDatabaseDiscoveryHeartbeatStatement sqlStatement,
                               final DatabaseDiscoveryRuleConfiguration 
currentRuleConfig) throws DistSQLException {
-        Set<String> heartbeatInUse = 
currentRuleConfig.getDataSources().stream().map(DatabaseDiscoveryDataSourceRuleConfiguration::getDiscoveryHeartbeatName).collect(Collectors.toSet());
-        List<String> invalid = 
sqlStatement.getHeartbeatNames().stream().filter(heartbeatInUse::contains).collect(Collectors.toList());
+        Collection<String> heartbeatInUse = 
currentRuleConfig.getDataSources().stream().map(DatabaseDiscoveryDataSourceRuleConfiguration::getDiscoveryHeartbeatName).collect(Collectors.toSet());
+        Collection<String> invalid = 
sqlStatement.getHeartbeatNames().stream().filter(heartbeatInUse::contains).collect(Collectors.toList());
         DistSQLException.predictionThrow(invalid.isEmpty(), new 
RuleInUsedException(RULE_TYPE, schemaName, invalid));
     }
     
diff --git 
a/shardingsphere-features/shardingsphere-db-discovery/shardingsphere-db-discovery-distsql/shardingsphere-db-discovery-distsql-handler/src/main/java/org/apache/shardingsphere/dbdiscovery/distsql/handler/update/DropDatabaseDiscoveryRuleStatementUpdater.java
 
b/shardingsphere-features/shardingsphere-db-discovery/shardingsphere-db-discovery-distsql/shardingsphere-db-discovery-distsql-handler/src/main/java/org/apache/shardingsphere/dbdiscovery/distsql/handler/update/DropDatabaseDisco
 [...]
index e0da70e..30c1089 100644
--- 
a/shardingsphere-features/shardingsphere-db-discovery/shardingsphere-db-discovery-distsql/shardingsphere-db-discovery-distsql-handler/src/main/java/org/apache/shardingsphere/dbdiscovery/distsql/handler/update/DropDatabaseDiscoveryRuleStatementUpdater.java
+++ 
b/shardingsphere-features/shardingsphere-db-discovery/shardingsphere-db-discovery-distsql/shardingsphere-db-discovery-distsql-handler/src/main/java/org/apache/shardingsphere/dbdiscovery/distsql/handler/update/DropDatabaseDiscoveryRuleStatementUpdater.java
@@ -31,7 +31,6 @@ import 
org.apache.shardingsphere.infra.rule.identifier.type.ExportableRule;
 
 import java.util.Collection;
 import java.util.Optional;
-import java.util.Set;
 import java.util.stream.Collectors;
 
 /**
@@ -62,7 +61,7 @@ public final class DropDatabaseDiscoveryRuleStatementUpdater 
implements RuleDefi
     }
     
     private void checkIsInUse(final String schemaName, final 
DropDatabaseDiscoveryRuleStatement sqlStatement, final ShardingSphereMetaData 
shardingSphereMetaData) throws DistSQLException {
-        Set<String> rulesInUse = 
shardingSphereMetaData.getRuleMetaData().findRules(ExportableRule.class).stream().map(ExportableRule::export)
+        Collection<String> rulesInUse = 
shardingSphereMetaData.getRuleMetaData().findRules(ExportableRule.class).stream().map(ExportableRule::export)
                 .filter(each -> 
each.containsKey(ExportableConstants.AUTO_AWARE_DATA_SOURCE_NAME)).map(each -> 
(Collection<String>) each.get(ExportableConstants.AUTO_AWARE_DATA_SOURCE_NAME))
                 .flatMap(Collection::stream).collect(Collectors.toSet());
         Collection<String> invalid = 
sqlStatement.getRuleNames().stream().filter(each -> 
rulesInUse.contains(each)).collect(Collectors.toList());
diff --git 
a/shardingsphere-features/shardingsphere-db-discovery/shardingsphere-db-discovery-distsql/shardingsphere-db-discovery-distsql-handler/src/main/java/org/apache/shardingsphere/dbdiscovery/distsql/handler/update/DropDatabaseDiscoveryTypeStatementUpdater.java
 
b/shardingsphere-features/shardingsphere-db-discovery/shardingsphere-db-discovery-distsql/shardingsphere-db-discovery-distsql-handler/src/main/java/org/apache/shardingsphere/dbdiscovery/distsql/handler/update/DropDatabaseDisco
 [...]
index d4053d8..bfec5bc 100644
--- 
a/shardingsphere-features/shardingsphere-db-discovery/shardingsphere-db-discovery-distsql/shardingsphere-db-discovery-distsql-handler/src/main/java/org/apache/shardingsphere/dbdiscovery/distsql/handler/update/DropDatabaseDiscoveryTypeStatementUpdater.java
+++ 
b/shardingsphere-features/shardingsphere-db-discovery/shardingsphere-db-discovery-distsql/shardingsphere-db-discovery-distsql-handler/src/main/java/org/apache/shardingsphere/dbdiscovery/distsql/handler/update/DropDatabaseDiscoveryTypeStatementUpdater.java
@@ -27,8 +27,6 @@ import 
org.apache.shardingsphere.infra.distsql.update.RuleDefinitionDropUpdater;
 import org.apache.shardingsphere.infra.metadata.ShardingSphereMetaData;
 
 import java.util.Collection;
-import java.util.List;
-import java.util.Set;
 import java.util.stream.Collectors;
 
 /**
@@ -60,8 +58,8 @@ public final class DropDatabaseDiscoveryTypeStatementUpdater 
implements RuleDefi
     
     private void checkIsInUse(final String schemaName, final 
DropDatabaseDiscoveryTypeStatement sqlStatement,
                               final DatabaseDiscoveryRuleConfiguration 
currentRuleConfig) throws DistSQLException {
-        Set<String> heartbeatInUse = 
currentRuleConfig.getDataSources().stream().map(DatabaseDiscoveryDataSourceRuleConfiguration::getDiscoveryTypeName).collect(Collectors.toSet());
-        List<String> invalid = 
sqlStatement.getTypes().stream().filter(heartbeatInUse::contains).collect(Collectors.toList());
+        Collection<String> heartbeatInUse = 
currentRuleConfig.getDataSources().stream().map(DatabaseDiscoveryDataSourceRuleConfiguration::getDiscoveryTypeName).collect(Collectors.toSet());
+        Collection<String> invalid = 
sqlStatement.getTypes().stream().filter(heartbeatInUse::contains).collect(Collectors.toList());
         DistSQLException.predictionThrow(invalid.isEmpty(), new 
RuleInUsedException(RULE_TYPE, schemaName, invalid));
     }
     
diff --git 
a/shardingsphere-features/shardingsphere-db-discovery/shardingsphere-db-discovery-distsql/shardingsphere-db-discovery-distsql-handler/src/test/java/org/apache/shardingsphere/dbdiscovery/distsql/handler/update/CreateDatabaseDiscoveryTypeStatementUpdaterTest.java
 
b/shardingsphere-features/shardingsphere-db-discovery/shardingsphere-db-discovery-distsql/shardingsphere-db-discovery-distsql-handler/src/test/java/org/apache/shardingsphere/dbdiscovery/distsql/handler/update/CreateDatab
 [...]
index d75360c..9b18de2 100644
--- 
a/shardingsphere-features/shardingsphere-db-discovery/shardingsphere-db-discovery-distsql/shardingsphere-db-discovery-distsql-handler/src/test/java/org/apache/shardingsphere/dbdiscovery/distsql/handler/update/CreateDatabaseDiscoveryTypeStatementUpdaterTest.java
+++ 
b/shardingsphere-features/shardingsphere-db-discovery/shardingsphere-db-discovery-distsql/shardingsphere-db-discovery-distsql-handler/src/test/java/org/apache/shardingsphere/dbdiscovery/distsql/handler/update/CreateDatabaseDiscoveryTypeStatementUpdaterTest.java
@@ -35,12 +35,11 @@ import org.mockito.Mock;
 import org.mockito.junit.MockitoJUnitRunner;
 
 import java.util.Arrays;
+import java.util.Collection;
 import java.util.Collections;
 import java.util.LinkedHashMap;
 import java.util.LinkedList;
-import java.util.List;
 import java.util.Properties;
-import java.util.Set;
 
 import static org.hamcrest.CoreMatchers.is;
 import static org.junit.Assert.assertThat;
@@ -60,7 +59,7 @@ public final class 
CreateDatabaseDiscoveryTypeStatementUpdaterTest {
     @Test(expected = DuplicateRuleException.class)
     public void assertCheckSQLStatementWithDuplicate() throws DistSQLException 
{
         DatabaseDiscoveryDataSourceRuleConfiguration dataSourceRuleConfig = 
new DatabaseDiscoveryDataSourceRuleConfiguration("pr_ds", 
Collections.emptyList(), "ha-heartbeat", "test");
-        List<DatabaseDiscoveryTypeSegment> databaseDiscoveryTypeSegments = 
Arrays.asList(
+        Collection<DatabaseDiscoveryTypeSegment> databaseDiscoveryTypeSegments 
= Arrays.asList(
                 new DatabaseDiscoveryTypeSegment("discovery_type", new 
AlgorithmSegment("mgr", new Properties())),
                 new DatabaseDiscoveryTypeSegment("discovery_type", new 
AlgorithmSegment("mgr", new Properties())));
         updater.checkSQLStatement(shardingSphereMetaData, new 
CreateDatabaseDiscoveryTypeStatement(databaseDiscoveryTypeSegments),
@@ -70,7 +69,8 @@ public final class 
CreateDatabaseDiscoveryTypeStatementUpdaterTest {
     @Test(expected = DuplicateRuleException.class)
     public void assertCheckSQLStatementWithExist() throws DistSQLException {
         DatabaseDiscoveryDataSourceRuleConfiguration dataSourceRuleConfig = 
new DatabaseDiscoveryDataSourceRuleConfiguration("pr_ds", 
Collections.emptyList(), "ha-heartbeat", "test");
-        List<DatabaseDiscoveryTypeSegment> databaseDiscoveryTypeSegments = 
Collections.singletonList(new DatabaseDiscoveryTypeSegment("discovery_type", 
new AlgorithmSegment("mgr", new Properties())));
+        Collection<DatabaseDiscoveryTypeSegment> databaseDiscoveryTypeSegments 
= Collections.singletonList(
+                new DatabaseDiscoveryTypeSegment("discovery_type", new 
AlgorithmSegment("mgr", new Properties())));
         updater.checkSQLStatement(shardingSphereMetaData, new 
CreateDatabaseDiscoveryTypeStatement(databaseDiscoveryTypeSegments),
                 new 
DatabaseDiscoveryRuleConfiguration(Collections.singleton(dataSourceRuleConfig), 
Collections.emptyMap(), 
                         Collections.singletonMap("discovery_type", new 
ShardingSphereAlgorithmConfiguration("mgr", new Properties()))));
@@ -78,13 +78,14 @@ public final class 
CreateDatabaseDiscoveryTypeStatementUpdaterTest {
     
     @Test(expected = InvalidAlgorithmConfigurationException.class)
     public void assertCheckSQLStatementWithDatabaseDiscoveryType() throws 
DistSQLException {
-        Set<DatabaseDiscoveryTypeSegment> discoveryTypeSegments = 
Collections.singleton(new DatabaseDiscoveryTypeSegment("discovery_type", new 
AlgorithmSegment("INVALID_TYPE", new Properties())));
+        Collection<DatabaseDiscoveryTypeSegment> discoveryTypeSegments = 
Collections.singleton(
+                new DatabaseDiscoveryTypeSegment("discovery_type", new 
AlgorithmSegment("INVALID_TYPE", new Properties())));
         updater.checkSQLStatement(shardingSphereMetaData, new 
CreateDatabaseDiscoveryTypeStatement(discoveryTypeSegments), null);
     }
     
     @Test
     public void assertBuildAndUpdate() throws DistSQLException {
-        Set<DatabaseDiscoveryTypeSegment> discoveryTypeSegments = 
Collections.singleton(new DatabaseDiscoveryTypeSegment("discovery_type", new 
AlgorithmSegment("MGR", new Properties())));
+        Collection<DatabaseDiscoveryTypeSegment> discoveryTypeSegments = 
Collections.singleton(new DatabaseDiscoveryTypeSegment("discovery_type", new 
AlgorithmSegment("MGR", new Properties())));
         updater.checkSQLStatement(shardingSphereMetaData, new 
CreateDatabaseDiscoveryTypeStatement(discoveryTypeSegments), null);
         DatabaseDiscoveryRuleConfiguration databaseDiscoveryRuleConfiguration
                 = (DatabaseDiscoveryRuleConfiguration) 
updater.buildToBeCreatedRuleConfiguration(new 
CreateDatabaseDiscoveryTypeStatement(discoveryTypeSegments));
diff --git 
a/shardingsphere-features/shardingsphere-shadow/shardingsphere-shadow-distsql/shardingsphere-shadow-distsql-handler/src/main/java/org/apache/shardingsphere/shadow/distsql/handler/checker/ShadowRuleStatementChecker.java
 
b/shardingsphere-features/shardingsphere-shadow/shardingsphere-shadow-distsql/shardingsphere-shadow-distsql-handler/src/main/java/org/apache/shardingsphere/shadow/distsql/handler/checker/ShadowRuleStatementChecker.java
index 6248605..5153ca2 100644
--- 
a/shardingsphere-features/shardingsphere-shadow/shardingsphere-shadow-distsql/shardingsphere-shadow-distsql-handler/src/main/java/org/apache/shardingsphere/shadow/distsql/handler/checker/ShadowRuleStatementChecker.java
+++ 
b/shardingsphere-features/shardingsphere-shadow/shardingsphere-shadow-distsql/shardingsphere-shadow-distsql-handler/src/main/java/org/apache/shardingsphere/shadow/distsql/handler/checker/ShadowRuleStatementChecker.java
@@ -80,7 +80,8 @@ public class ShadowRuleStatementChecker {
      * @param thrower thrower
      * @throws DistSQLException DistSQL exception
      */
-    public static void checkRulesExist(final Collection<String> requireRules, 
final Collection<String> currentRules, final Function<Set<String>, 
DistSQLException> thrower) throws DistSQLException {
+    public static void checkRulesExist(final Collection<String> requireRules, 
final Collection<String> currentRules, 
+                                       final Function<Collection<String>, 
DistSQLException> thrower) throws DistSQLException {
         ShadowRuleStatementChecker.checkAnyDifferent(requireRules, 
currentRules, thrower);
     }
     
@@ -92,7 +93,7 @@ public class ShadowRuleStatementChecker {
      * @throws DistSQLException DistSQL exception
      */
     public static void checkAlgorithmExist(final Collection<String> 
requireAlgorithms, final Collection<String> currentAlgorithms, 
-                                           final Function<Set<String>, 
DistSQLException> thrower) throws DistSQLException {
+                                           final Function<Collection<String>, 
DistSQLException> thrower) throws DistSQLException {
         ShadowRuleStatementChecker.checkAnyDifferent(requireAlgorithms, 
currentAlgorithms, thrower);
     }
     
@@ -102,8 +103,8 @@ public class ShadowRuleStatementChecker {
      * @param thrower exception thrower
      * @throws DistSQLException DistSQL exception
      */
-    public static void checkAnyDuplicate(final Collection<String> rules, final 
Function<Set<String>, DistSQLException> thrower) throws DistSQLException {
-        Set<String> duplicateRequire = getDuplicate(rules);
+    public static void checkAnyDuplicate(final Collection<String> rules, final 
Function<Collection<String>, DistSQLException> thrower) throws DistSQLException 
{
+        Collection<String> duplicateRequire = getDuplicate(rules);
         DistSQLException.predictionThrow(duplicateRequire.isEmpty(), 
thrower.apply(duplicateRequire));
     }
     
@@ -115,8 +116,9 @@ public class ShadowRuleStatementChecker {
      * @param thrower exception thrower
      * @throws DistSQLException DistSQL exception
      */
-    public static void checkAnyDuplicate(final Collection<String> 
requireRules, final Collection<String> currentRules, final 
Function<Set<String>, DistSQLException> thrower) throws DistSQLException {
-        Set<String> identical = getIdentical(requireRules, currentRules);
+    public static void checkAnyDuplicate(final Collection<String> 
requireRules, final Collection<String> currentRules, 
+                                         final Function<Collection<String>, 
DistSQLException> thrower) throws DistSQLException {
+        Collection<String> identical = getIdentical(requireRules, 
currentRules);
         DistSQLException.predictionThrow(identical.isEmpty(), 
thrower.apply(identical));
     }
     
@@ -128,21 +130,22 @@ public class ShadowRuleStatementChecker {
      * @param thrower exception thrower
      * @throws DistSQLException DistSQL exception
      */
-    public static void checkAnyDifferent(final Collection<String> 
requireRules, final Collection<String> currentRules, final 
Function<Set<String>, DistSQLException> thrower) throws DistSQLException {
-        Set<String> different = getDifferent(requireRules, currentRules);
+    public static void checkAnyDifferent(final Collection<String> 
requireRules, final Collection<String> currentRules, 
+                                         final Function<Collection<String>, 
DistSQLException> thrower) throws DistSQLException {
+        Collection<String> different = getDifferent(requireRules, 
currentRules);
         DistSQLException.predictionThrow(different.isEmpty(), 
thrower.apply(different));
     }
     
-    private static Set<String> getDuplicate(final Collection<String> require) {
+    private static Collection<String> getDuplicate(final Collection<String> 
require) {
         return require.stream().collect(Collectors.groupingBy(each -> each, 
Collectors.counting())).entrySet().stream()
                 .filter(each -> each.getValue() > 
1).map(Map.Entry::getKey).collect(Collectors.toSet());
     }
     
-    private static Set<String> getDifferent(final Collection<String> require, 
final Collection<String> current) {
+    private static Collection<String> getDifferent(final Collection<String> 
require, final Collection<String> current) {
         return require.stream().filter(each -> 
!current.contains(each)).collect(Collectors.toSet());
     }
     
-    private static Set<String> getIdentical(final Collection<String> require, 
final Collection<String> current) {
+    private static Collection<String> getIdentical(final Collection<String> 
require, final Collection<String> current) {
         return 
require.stream().filter(current::contains).collect(Collectors.toSet());
     }
 }
diff --git 
a/shardingsphere-features/shardingsphere-shadow/shardingsphere-shadow-distsql/shardingsphere-shadow-distsql-handler/src/main/java/org/apache/shardingsphere/shadow/distsql/handler/update/AlterShadowAlgorithmStatementUpdater.java
 
b/shardingsphere-features/shardingsphere-shadow/shardingsphere-shadow-distsql/shardingsphere-shadow-distsql-handler/src/main/java/org/apache/shardingsphere/shadow/distsql/handler/update/AlterShadowAlgorithmStatementUpdater.java
index a2ed699..fc22ceb 100644
--- 
a/shardingsphere-features/shardingsphere-shadow/shardingsphere-shadow-distsql/shardingsphere-shadow-distsql-handler/src/main/java/org/apache/shardingsphere/shadow/distsql/handler/update/AlterShadowAlgorithmStatementUpdater.java
+++ 
b/shardingsphere-features/shardingsphere-shadow/shardingsphere-shadow-distsql/shardingsphere-shadow-distsql-handler/src/main/java/org/apache/shardingsphere/shadow/distsql/handler/update/AlterShadowAlgorithmStatementUpdater.java
@@ -29,7 +29,7 @@ import 
org.apache.shardingsphere.shadow.distsql.handler.checker.ShadowRuleStatem
 import 
org.apache.shardingsphere.shadow.distsql.parser.segment.ShadowAlgorithmSegment;
 import 
org.apache.shardingsphere.shadow.distsql.parser.statement.AlterShadowAlgorithmStatement;
 
-import java.util.List;
+import java.util.Collection;
 import java.util.Map;
 import java.util.stream.Collectors;
 
@@ -70,7 +70,7 @@ public final class AlterShadowAlgorithmStatementUpdater 
implements RuleDefinitio
     
     private void checkAlgorithms(final String schemaName, final 
AlterShadowAlgorithmStatement sqlStatement, final ShadowRuleConfiguration 
currentRuleConfig) throws DistSQLException {
         
ShadowRuleStatementChecker.checkAlgorithmCompleteness(sqlStatement.getAlgorithms());
-        List<String> requireAlgorithmNames = 
sqlStatement.getAlgorithms().stream().map(ShadowAlgorithmSegment::getAlgorithmName).collect(Collectors.toList());
+        Collection<String> requireAlgorithmNames = 
sqlStatement.getAlgorithms().stream().map(ShadowAlgorithmSegment::getAlgorithmName).collect(Collectors.toList());
         ShadowRuleStatementChecker.checkAnyDuplicate(requireAlgorithmNames, 
duplicate -> new AlgorithmInUsedException(schemaName, duplicate));
         ShadowRuleStatementChecker.checkAlgorithmExist(requireAlgorithmNames, 
currentRuleConfig.getShadowAlgorithms().keySet(), 
             different -> new RequiredAlgorithmMissedException(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/AlterShadowRuleStatementUpdater.java
 
b/shardingsphere-features/shardingsphere-shadow/shardingsphere-shadow-distsql/shardingsphere-shadow-distsql-handler/src/main/java/org/apache/shardingsphere/shadow/distsql/handler/update/AlterShadowRuleStatementUpdater.java
index 0b2320e..7c9f218 100644
--- 
a/shardingsphere-features/shardingsphere-shadow/shardingsphere-shadow-distsql/shardingsphere-shadow-distsql-handler/src/main/java/org/apache/shardingsphere/shadow/distsql/handler/update/AlterShadowRuleStatementUpdater.java
+++ 
b/shardingsphere-features/shardingsphere-shadow/shardingsphere-shadow-distsql/shardingsphere-shadow-distsql-handler/src/main/java/org/apache/shardingsphere/shadow/distsql/handler/update/AlterShadowRuleStatementUpdater.java
@@ -36,7 +36,6 @@ import 
org.apache.shardingsphere.shadow.distsql.parser.segment.ShadowRuleSegment
 import 
org.apache.shardingsphere.shadow.distsql.parser.statement.AlterShadowRuleStatement;
 
 import java.util.Collection;
-import java.util.List;
 import java.util.Map;
 
 /**
@@ -82,21 +81,21 @@ public final class AlterShadowRuleStatementUpdater 
implements RuleDefinitionAlte
     }
     
     private void checkRuleNames(final String schemaName, final 
Collection<ShadowRuleSegment> rules, final ShadowRuleConfiguration 
currentRuleConfig) throws DistSQLException {
-        List<String> currentRuleNames = 
ShadowRuleStatementSupporter.getRuleNames(currentRuleConfig);
-        List<String> requireRuleNames = 
ShadowRuleStatementSupporter.getRuleNames(rules);
+        Collection<String> currentRuleNames = 
ShadowRuleStatementSupporter.getRuleNames(currentRuleConfig);
+        Collection<String> requireRuleNames = 
ShadowRuleStatementSupporter.getRuleNames(rules);
         ShadowRuleStatementChecker.checkAnyDuplicate(requireRuleNames, 
duplicate -> new DuplicateRuleException(SHADOW, schemaName, duplicate));
         ShadowRuleStatementChecker.checkRulesExist(requireRuleNames, 
currentRuleNames, different -> new 
InvalidAlgorithmConfigurationException("shadow rule name ", different));
     }
     
     private void checkResources(final String schemaName, final 
Collection<ShadowRuleSegment> rules, final ShardingSphereMetaData metaData) 
throws DistSQLException {
-        List<String> requireResource = 
ShadowRuleStatementSupporter.getResourceNames(rules);
+        Collection<String> requireResource = 
ShadowRuleStatementSupporter.getResourceNames(rules);
         ShadowRuleStatementChecker.checkResourceExist(requireResource, 
metaData, schemaName);
     }
     
     private void checkAlgorithms(final String schemaName, final 
Collection<ShadowRuleSegment> rules) throws DistSQLException {
-        List<ShadowAlgorithmSegment> shadowAlgorithmSegment = 
ShadowRuleStatementSupporter.getShadowAlgorithmSegment(rules);
+        Collection<ShadowAlgorithmSegment> shadowAlgorithmSegment = 
ShadowRuleStatementSupporter.getShadowAlgorithmSegment(rules);
         
ShadowRuleStatementChecker.checkAlgorithmCompleteness(shadowAlgorithmSegment);
-        List<String> requireAlgorithms = 
ShadowRuleStatementSupporter.getAlgorithmNames(rules);
+        Collection<String> requireAlgorithms = 
ShadowRuleStatementSupporter.getAlgorithmNames(rules);
         ShadowRuleStatementChecker.checkAnyDuplicate(requireAlgorithms, 
duplicate -> new AlgorithmInUsedException(schemaName, duplicate));
     }
     
diff --git 
a/shardingsphere-features/shardingsphere-shadow/shardingsphere-shadow-distsql/shardingsphere-shadow-distsql-handler/src/main/java/org/apache/shardingsphere/shadow/distsql/handler/update/CreateShadowRuleStatementUpdater.java
 
b/shardingsphere-features/shardingsphere-shadow/shardingsphere-shadow-distsql/shardingsphere-shadow-distsql-handler/src/main/java/org/apache/shardingsphere/shadow/distsql/handler/update/CreateShadowRuleStatementUpdater.java
index d63c222..7fb3b61 100644
--- 
a/shardingsphere-features/shardingsphere-shadow/shardingsphere-shadow-distsql/shardingsphere-shadow-distsql-handler/src/main/java/org/apache/shardingsphere/shadow/distsql/handler/update/CreateShadowRuleStatementUpdater.java
+++ 
b/shardingsphere-features/shardingsphere-shadow/shardingsphere-shadow-distsql/shardingsphere-shadow-distsql-handler/src/main/java/org/apache/shardingsphere/shadow/distsql/handler/update/CreateShadowRuleStatementUpdater.java
@@ -32,7 +32,6 @@ import 
org.apache.shardingsphere.shadow.distsql.parser.segment.ShadowRuleSegment
 import 
org.apache.shardingsphere.shadow.distsql.parser.statement.CreateShadowRuleStatement;
 
 import java.util.Collection;
-import java.util.List;
 import java.util.Map;
 
 /**
@@ -70,23 +69,23 @@ public final class CreateShadowRuleStatementUpdater 
implements RuleDefinitionCre
     }
     
     private void checkRuleNames(final String schemaName, final 
Collection<ShadowRuleSegment> rules, final ShadowRuleConfiguration 
currentRuleConfig) throws DistSQLException {
-        List<String> requireRuleNames = 
ShadowRuleStatementSupporter.getRuleNames(rules);
+        Collection<String> requireRuleNames = 
ShadowRuleStatementSupporter.getRuleNames(rules);
         ShadowRuleStatementChecker.checkAnyDuplicate(requireRuleNames, 
duplicate -> new DuplicateRuleException(SHADOW, schemaName, duplicate));
-        List<String> currentRuleName = 
ShadowRuleStatementSupporter.getRuleNames(currentRuleConfig);
+        Collection<String> currentRuleName = 
ShadowRuleStatementSupporter.getRuleNames(currentRuleConfig);
         ShadowRuleStatementChecker.checkAnyDuplicate(requireRuleNames, 
currentRuleName, identical -> new DuplicateRuleException(SHADOW, schemaName, 
identical));
     }
     
     private void checkResources(final String schemaName, final 
Collection<ShadowRuleSegment> rules, final ShardingSphereMetaData metaData) 
throws DistSQLException {
-        List<String> requireResource = 
ShadowRuleStatementSupporter.getResourceNames(rules);
+        Collection<String> requireResource = 
ShadowRuleStatementSupporter.getResourceNames(rules);
         ShadowRuleStatementChecker.checkResourceExist(requireResource, 
metaData, schemaName);
     }
     
     private void checkAlgorithms(final String schemaName, final 
Collection<ShadowRuleSegment> rules, final ShadowRuleConfiguration 
currentRuleConfig) throws DistSQLException {
-        List<ShadowAlgorithmSegment> requireAlgorithms = 
ShadowRuleStatementSupporter.getShadowAlgorithmSegment(rules);
+        Collection<ShadowAlgorithmSegment> requireAlgorithms = 
ShadowRuleStatementSupporter.getShadowAlgorithmSegment(rules);
         
ShadowRuleStatementChecker.checkAlgorithmCompleteness(requireAlgorithms);
-        List<String> requireAlgorithmNames = 
ShadowRuleStatementSupporter.getAlgorithmNames(rules);
+        Collection<String> requireAlgorithmNames = 
ShadowRuleStatementSupporter.getAlgorithmNames(rules);
         ShadowRuleStatementChecker.checkAnyDuplicate(requireAlgorithmNames, 
duplicate -> new DuplicateRuleException(SHADOW, schemaName, duplicate));
-        List<String> currentAlgorithmNames = 
ShadowRuleStatementSupporter.getAlgorithmNames(currentRuleConfig);
+        Collection<String> currentAlgorithmNames = 
ShadowRuleStatementSupporter.getAlgorithmNames(currentRuleConfig);
         ShadowRuleStatementChecker.checkAnyDuplicate(requireAlgorithmNames, 
currentAlgorithmNames, duplicate -> new DuplicateRuleException(SHADOW, 
schemaName, duplicate));
     }
     
diff --git 
a/shardingsphere-features/shardingsphere-shadow/shardingsphere-shadow-distsql/shardingsphere-shadow-distsql-handler/src/main/java/org/apache/shardingsphere/shadow/distsql/handler/update/DropShadowAlgorithmStatementUpdater.java
 
b/shardingsphere-features/shardingsphere-shadow/shardingsphere-shadow-distsql/shardingsphere-shadow-distsql-handler/src/main/java/org/apache/shardingsphere/shadow/distsql/handler/update/DropShadowAlgorithmStatementUpdater.java
index c91df8f..2fe1642 100644
--- 
a/shardingsphere-features/shardingsphere-shadow/shardingsphere-shadow-distsql/shardingsphere-shadow-distsql-handler/src/main/java/org/apache/shardingsphere/shadow/distsql/handler/update/DropShadowAlgorithmStatementUpdater.java
+++ 
b/shardingsphere-features/shardingsphere-shadow/shardingsphere-shadow-distsql/shardingsphere-shadow-distsql-handler/src/main/java/org/apache/shardingsphere/shadow/distsql/handler/update/DropShadowAlgorithmStatementUpdater.java
@@ -33,7 +33,6 @@ import java.util.Collection;
 import java.util.Collections;
 import java.util.Map;
 import java.util.Map.Entry;
-import java.util.Set;
 import java.util.function.Function;
 import java.util.stream.Collectors;
 
@@ -65,11 +64,11 @@ public final class DropShadowAlgorithmStatementUpdater 
implements RuleDefinition
     }
     
     private void checkAlgorithmInUsed(final Collection<String> 
requireAlgorithms, final Collection<String> currentAlgorithms, 
-                                      final Function<Set<String>, 
DistSQLException> thrower) throws DistSQLException {
+                                      final Function<Collection<String>, 
DistSQLException> thrower) throws DistSQLException {
         ShadowRuleStatementChecker.checkAnyDuplicate(requireAlgorithms, 
currentAlgorithms, thrower);
     }
     
-    private Set<String> getAlgorithmInUse(final ShadowRuleConfiguration 
currentRuleConfig) {
+    private Collection<String> getAlgorithmInUse(final ShadowRuleConfiguration 
currentRuleConfig) {
         return currentRuleConfig.getTables().values().stream().filter(each -> 
!each.getDataSourceNames().isEmpty()).map(ShadowTableConfiguration::getShadowAlgorithmNames)
                 .flatMap(Collection::stream).collect(Collectors.toSet());
     }
@@ -83,7 +82,7 @@ public final class DropShadowAlgorithmStatementUpdater 
implements RuleDefinition
         return false;
     }
     
-    private Set<String> getEmptyTableRules(final Map<String, 
ShadowTableConfiguration> tables) {
+    private Collection<String> getEmptyTableRules(final Map<String, 
ShadowTableConfiguration> tables) {
         return tables.entrySet().stream().filter(entry -> 
entry.getValue().getShadowAlgorithmNames().isEmpty() && 
entry.getValue().getDataSourceNames().isEmpty())
                 .map(Entry::getKey).collect(Collectors.toSet());
     }
diff --git 
a/shardingsphere-features/shardingsphere-shadow/shardingsphere-shadow-distsql/shardingsphere-shadow-distsql-handler/src/main/java/org/apache/shardingsphere/shadow/distsql/handler/update/DropShadowRuleStatementUpdater.java
 
b/shardingsphere-features/shardingsphere-shadow/shardingsphere-shadow-distsql/shardingsphere-shadow-distsql-handler/src/main/java/org/apache/shardingsphere/shadow/distsql/handler/update/DropShadowRuleStatementUpdater.java
index 7320223..7c4e259 100644
--- 
a/shardingsphere-features/shardingsphere-shadow/shardingsphere-shadow-distsql/shardingsphere-shadow-distsql-handler/src/main/java/org/apache/shardingsphere/shadow/distsql/handler/update/DropShadowRuleStatementUpdater.java
+++ 
b/shardingsphere-features/shardingsphere-shadow/shardingsphere-shadow-distsql/shardingsphere-shadow-distsql-handler/src/main/java/org/apache/shardingsphere/shadow/distsql/handler/update/DropShadowRuleStatementUpdater.java
@@ -26,7 +26,6 @@ import 
org.apache.shardingsphere.shadow.distsql.handler.checker.ShadowRuleStatem
 import 
org.apache.shardingsphere.shadow.distsql.parser.statement.DropShadowRuleStatement;
 
 import java.util.Collection;
-import java.util.Set;
 
 /**
  * Drop shadow rule statement updater.
@@ -47,7 +46,7 @@ public final class DropShadowRuleStatementUpdater implements 
RuleDefinitionDropU
     }
     
     private void checkRuleNames(final String schemaName, final 
DropShadowRuleStatement sqlStatement, final ShadowRuleConfiguration 
currentRuleConfig) throws DistSQLException {
-        Set<String> currentRuleNames = 
currentRuleConfig.getDataSources().keySet();
+        Collection<String> currentRuleNames = 
currentRuleConfig.getDataSources().keySet();
         ShadowRuleStatementChecker.checkRulesExist(currentRuleNames, 
sqlStatement.getRuleNames(), different -> new 
RequiredRuleMissedException(SHADOW, schemaName, different));
     }
     
diff --git 
a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-distsql/shardingsphere-sharding-distsql-handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/CreateShardingAlgorithmStatementUpdater.java
 
b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-distsql/shardingsphere-sharding-distsql-handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/CreateShardingAlgorithmStatementUpdater.java
index b0cb495..c33e8cb 100644
--- 
a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-distsql/shardingsphere-sharding-distsql-handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/CreateShardingAlgorithmStatementUpdater.java
+++ 
b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-distsql/shardingsphere-sharding-distsql-handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/CreateShardingAlgorithmStatementUpdater.java
@@ -35,7 +35,6 @@ import java.util.Collection;
 import java.util.LinkedList;
 import java.util.Map;
 import java.util.Properties;
-import java.util.Set;
 import java.util.function.Function;
 import java.util.stream.Collectors;
 
@@ -53,7 +52,7 @@ public final class CreateShardingAlgorithmStatementUpdater 
implements RuleDefini
     }
     
     private void checkDuplicate(final String schemaName, final 
CreateShardingAlgorithmStatement sqlStatement, final ShardingRuleConfiguration 
currentRuleConfig) throws DistSQLException {
-        LinkedList<String> shardingAlgorithmNames = 
sqlStatement.getAlgorithmSegments().stream()
+        Collection<String> shardingAlgorithmNames = 
sqlStatement.getAlgorithmSegments().stream()
                 
.map(ShardingAlgorithmSegment::getShardingAlgorithmName).collect(Collectors.toCollection(LinkedList::new));
         checkDuplicateInput(shardingAlgorithmNames, duplicated -> new 
DuplicateRuleException("sharding", schemaName, duplicated));
         if (currentRuleConfig != null) {
@@ -61,14 +60,14 @@ public final class CreateShardingAlgorithmStatementUpdater 
implements RuleDefini
         }
     }
     
-    private void checkDuplicateInput(final Collection<String> rules, final 
Function<Set<String>, DistSQLException> thrower) throws DistSQLException {
-        Set<String> duplicateRequire = 
rules.stream().collect(Collectors.groupingBy(each -> each, 
Collectors.counting())).entrySet().stream()
+    private void checkDuplicateInput(final Collection<String> rules, final 
Function<Collection<String>, DistSQLException> thrower) throws DistSQLException 
{
+        Collection<String> duplicateRequire = 
rules.stream().collect(Collectors.groupingBy(each -> each, 
Collectors.counting())).entrySet().stream()
                 .filter(each -> each.getValue() > 
1).map(Map.Entry::getKey).collect(Collectors.toSet());
         DistSQLException.predictionThrow(duplicateRequire.isEmpty(), 
thrower.apply(duplicateRequire));
     }
     
-    private void checkExist(final Collection<String> requireRules, final 
Collection<String> currentRules, final Function<Set<String>, DistSQLException> 
thrower) throws DistSQLException {
-        Set<String> identical = 
requireRules.stream().filter(currentRules::contains).collect(Collectors.toSet());
+    private void checkExist(final Collection<String> requireRules, final 
Collection<String> currentRules, final Function<Collection<String>, 
DistSQLException> thrower) throws DistSQLException {
+        Collection<String> identical = 
requireRules.stream().filter(currentRules::contains).collect(Collectors.toSet());
         DistSQLException.predictionThrow(identical.isEmpty(), 
thrower.apply(identical));
     }
     
diff --git 
a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-distsql/shardingsphere-sharding-distsql-handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/CreateShardingBindingTableRuleStatementUpdater.java
 
b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-distsql/shardingsphere-sharding-distsql-handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/CreateShardingBindingTableRuleStatementUpd
 [...]
index ddd213c..c72cf56 100644
--- 
a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-distsql/shardingsphere-sharding-distsql-handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/CreateShardingBindingTableRuleStatementUpdater.java
+++ 
b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-distsql/shardingsphere-sharding-distsql-handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/CreateShardingBindingTableRuleStatementUpdater.java
@@ -31,7 +31,6 @@ import 
org.apache.shardingsphere.sharding.distsql.parser.statement.CreateShardin
 import java.util.Arrays;
 import java.util.Collection;
 import java.util.HashSet;
-import java.util.Set;
 import java.util.stream.Collectors;
 
 /**
@@ -57,7 +56,7 @@ public final class 
CreateShardingBindingTableRuleStatementUpdater implements Rul
     private void checkToBeCreatedBindingTables(final String schemaName, final 
CreateShardingBindingTableRulesStatement sqlStatement,
                                                final ShardingRuleConfiguration 
currentRuleConfig) throws DistSQLException {
         Collection<String> currentLogicTables = 
getCurrentLogicTables(currentRuleConfig);
-        Set<String> notExistedBindingTables = 
sqlStatement.getBindingTables().stream().filter(each -> 
!currentLogicTables.contains(each)).collect(Collectors.toSet());
+        Collection<String> notExistedBindingTables = 
sqlStatement.getBindingTables().stream().filter(each -> 
!currentLogicTables.contains(each)).collect(Collectors.toSet());
         DistSQLException.predictionThrow(notExistedBindingTables.isEmpty(), 
new RequiredRuleMissedException("Sharding", schemaName, 
notExistedBindingTables));
     }
     
diff --git 
a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-distsql/shardingsphere-sharding-distsql-handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/CreateShardingKeyGeneratorStatementUpdater.java
 
b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-distsql/shardingsphere-sharding-distsql-handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/CreateShardingKeyGeneratorStatementUpdater.java
index d2e39d7..91533d8 100644
--- 
a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-distsql/shardingsphere-sharding-distsql-handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/CreateShardingKeyGeneratorStatementUpdater.java
+++ 
b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-distsql/shardingsphere-sharding-distsql-handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/CreateShardingKeyGeneratorStatementUpdater.java
@@ -35,7 +35,6 @@ import java.util.Collection;
 import java.util.LinkedList;
 import java.util.Map;
 import java.util.Properties;
-import java.util.Set;
 import java.util.function.Function;
 import java.util.stream.Collectors;
 
@@ -52,7 +51,7 @@ public final class CreateShardingKeyGeneratorStatementUpdater 
implements RuleDef
     }
     
     private void checkDuplicate(final String schemaName, final 
CreateShardingKeyGeneratorStatement sqlStatement, final 
ShardingRuleConfiguration currentRuleConfig) throws DistSQLException {
-        LinkedList<String> keyGeneratorNames = 
sqlStatement.getKeyGeneratorSegments().stream()
+        Collection<String> keyGeneratorNames = 
sqlStatement.getKeyGeneratorSegments().stream()
                 
.map(ShardingKeyGeneratorSegment::getKeyGeneratorName).collect(Collectors.toCollection(LinkedList::new));
         checkDuplicateInput(keyGeneratorNames, duplicated -> new 
DuplicateKeyGeneratorException("sharding", schemaName, duplicated));
         if (null != currentRuleConfig) {
@@ -60,14 +59,14 @@ public final class 
CreateShardingKeyGeneratorStatementUpdater implements RuleDef
         }
     }
     
-    private void checkDuplicateInput(final Collection<String> rules, final 
Function<Set<String>, DistSQLException> thrower) throws DistSQLException {
-        Set<String> duplicateRequire = 
rules.stream().collect(Collectors.groupingBy(each -> each, 
Collectors.counting())).entrySet().stream()
+    private void checkDuplicateInput(final Collection<String> rules, final 
Function<Collection<String>, DistSQLException> thrower) throws DistSQLException 
{
+        Collection<String> duplicateRequire = 
rules.stream().collect(Collectors.groupingBy(each -> each, 
Collectors.counting())).entrySet().stream()
                 .filter(each -> each.getValue() > 
1).map(Map.Entry::getKey).collect(Collectors.toSet());
         DistSQLException.predictionThrow(duplicateRequire.isEmpty(), 
thrower.apply(duplicateRequire));
     }
     
-    private void checkExist(final Collection<String> requireRules, final 
Collection<String> currentRules, final Function<Set<String>, DistSQLException> 
thrower) throws DistSQLException {
-        Set<String> identical = 
requireRules.stream().filter(currentRules::contains).collect(Collectors.toSet());
+    private void checkExist(final Collection<String> requireRules, final 
Collection<String> currentRules, final Function<Collection<String>, 
DistSQLException> thrower) throws DistSQLException {
+        Collection<String> identical = 
requireRules.stream().filter(currentRules::contains).collect(Collectors.toSet());
         DistSQLException.predictionThrow(identical.isEmpty(), 
thrower.apply(identical));
     }
     
diff --git 
a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-distsql/shardingsphere-sharding-distsql-handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/DropShardingBindingTableRuleStatementUpdater.java
 
b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-distsql/shardingsphere-sharding-distsql-handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/DropShardingBindingTableRuleStatementUpdater.java
index 1a0afb9..d21e938 100644
--- 
a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-distsql/shardingsphere-sharding-distsql-handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/DropShardingBindingTableRuleStatementUpdater.java
+++ 
b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-distsql/shardingsphere-sharding-distsql-handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/DropShardingBindingTableRuleStatementUpdater.java
@@ -48,7 +48,7 @@ public final class 
DropShardingBindingTableRuleStatementUpdater implements RuleD
     private void checkBindingTableRuleExist(final String schemaName, final 
DropShardingBindingTableRulesStatement sqlStatement,
                                             final ShardingRuleConfiguration 
currentRuleConfig) throws DistSQLException {
         Collection<String> bindingTableGroups = 
currentRuleConfig.getBindingTableGroups();
-        LinkedList<String> notExistBindingGroup = 
sqlStatement.getBindingGroups().stream().filter(each -> 
!bindingTableGroups.contains(each)).collect(Collectors.toCollection(LinkedList::new));
+        Collection<String> notExistBindingGroup = 
sqlStatement.getBindingGroups().stream().filter(each -> 
!bindingTableGroups.contains(each)).collect(Collectors.toCollection(LinkedList::new));
         DistSQLException.predictionThrow(notExistBindingGroup.isEmpty(), new 
RequiredRuleMissedException("Binding", schemaName, notExistBindingGroup));
     }
     
diff --git 
a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-distsql/shardingsphere-sharding-distsql-handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/DropShardingKeyGeneratorStatementUpdater.java
 
b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-distsql/shardingsphere-sharding-distsql-handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/DropShardingKeyGeneratorStatementUpdater.java
index 5818e22..a84e73c 100644
--- 
a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-distsql/shardingsphere-sharding-distsql-handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/DropShardingKeyGeneratorStatementUpdater.java
+++ 
b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-distsql/shardingsphere-sharding-distsql-handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/DropShardingKeyGeneratorStatementUpdater.java
@@ -28,7 +28,6 @@ import 
org.apache.shardingsphere.sharding.distsql.parser.statement.DropShardingK
 import java.util.Collection;
 import java.util.LinkedList;
 import java.util.Map;
-import java.util.Set;
 import java.util.stream.Collectors;
 
 /**
@@ -40,19 +39,19 @@ public final class DropShardingKeyGeneratorStatementUpdater 
implements RuleDefin
     public void checkSQLStatement(final ShardingSphereMetaData 
shardingSphereMetaData, final DropShardingKeyGeneratorStatement sqlStatement,
                                   final ShardingRuleConfiguration 
currentRuleConfig) throws DistSQLException {
         String schemaName = shardingSphereMetaData.getName();
-        LinkedList<String> keyGeneratorNames = 
sqlStatement.getKeyGeneratorNames().stream().collect(Collectors.toCollection(LinkedList::new));
+        Collection<String> keyGeneratorNames = 
sqlStatement.getKeyGeneratorNames().stream().collect(Collectors.toCollection(LinkedList::new));
         checkDuplicate(schemaName, keyGeneratorNames);
         checkExist(schemaName, keyGeneratorNames, currentRuleConfig);
     }
 
     private void checkDuplicate(final String schemaName, final 
Collection<String> keyGeneratorNames) throws DistSQLException {
-        Set<String> duplicateNames = 
keyGeneratorNames.stream().collect(Collectors.groupingBy(each -> each, 
Collectors.counting())).entrySet().stream()
+        Collection<String> duplicateNames = 
keyGeneratorNames.stream().collect(Collectors.groupingBy(each -> each, 
Collectors.counting())).entrySet().stream()
                 .filter(each -> each.getValue() > 
1).map(Map.Entry::getKey).collect(Collectors.toSet());
         DistSQLException.predictionThrow(duplicateNames.isEmpty(), new 
DuplicateKeyGeneratorException("sharding", schemaName, duplicateNames));
     }
     
     private void checkExist(final String schemaName, final Collection<String> 
keyGeneratorNames, final ShardingRuleConfiguration currentRuleConfig) throws 
DistSQLException {
-        LinkedList<String> notExistKeyGenerators = 
keyGeneratorNames.stream().filter(each -> 
!currentRuleConfig.getKeyGenerators().containsKey(each)).collect(Collectors.toCollection(LinkedList::new));
+        Collection<String> notExistKeyGenerators = 
keyGeneratorNames.stream().filter(each -> 
!currentRuleConfig.getKeyGenerators().containsKey(each)).collect(Collectors.toCollection(LinkedList::new));
         DistSQLException.predictionThrow(notExistKeyGenerators.isEmpty(), new 
RequiredKeyGeneratorMissedException("sharding", schemaName, 
notExistKeyGenerators));
     }
 
diff --git 
a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/rule/CreateDefaultSingleTableRuleStatementUpdater.java
 
b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/rule/CreateDefaultSingleTableRuleStatementUpdater.java
index a8068f9..c0ce135 100644
--- 
a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/rule/CreateDefaultSingleTableRuleStatementUpdater.java
+++ 
b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/rule/CreateDefaultSingleTableRuleStatementUpdater.java
@@ -25,8 +25,8 @@ import 
org.apache.shardingsphere.infra.distsql.update.RuleDefinitionCreateUpdate
 import org.apache.shardingsphere.infra.metadata.ShardingSphereMetaData;
 import 
org.apache.shardingsphere.singletable.config.SingleTableRuleConfiguration;
 
+import java.util.Collection;
 import java.util.Collections;
-import java.util.Set;
 
 /**
  * Create default single table rule statement updater.
@@ -42,7 +42,7 @@ public final class 
CreateDefaultSingleTableRuleStatementUpdater implements RuleD
     }
     
     private void checkResourceExist(final String schemaName, final 
ShardingSphereMetaData metaData, final CreateDefaultSingleTableRuleStatement 
sqlStatement) throws DistSQLException {
-        Set<String> resourceNames = 
metaData.getResource().getDataSources().keySet();
+        Collection<String> resourceNames = 
metaData.getResource().getDataSources().keySet();
         
DistSQLException.predictionThrow(resourceNames.contains(sqlStatement.getDefaultResource()),
                 new RequiredResourceMissedException(schemaName, 
Collections.singleton(sqlStatement.getDefaultResource())));
     }

Reply via email to