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

chengzhang 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 d7646d7482e Refactor DatabaseRuleCreateExecutor (#29898)
d7646d7482e is described below

commit d7646d7482e5f98692388c6a4788893b8f4355de
Author: Liang Zhang <[email protected]>
AuthorDate: Mon Jan 29 13:13:43 2024 +0800

    Refactor DatabaseRuleCreateExecutor (#29898)
    
    * Refactor GlobalRuleDefinitionExecutor.buildAlteredRuleConfiguration
    
    * Refactor DatabaseRuleCreateExecutor
    
    * Refactor DatabaseRuleCreateExecutor
---
 .../update/CreateBroadcastTableRuleExecutor.java   |  2 +-
 .../CreateBroadcastTableRuleExecutorTest.java      |  2 +-
 .../handler/update/CreateEncryptRuleExecutor.java  |  2 +-
 .../update/CreateEncryptRuleExecutorTest.java      |  2 +-
 .../handler/update/CreateMaskRuleExecutor.java     |  2 +-
 .../handler/update/CreateMaskRuleExecutorTest.java |  6 +++---
 .../CreateReadwriteSplittingRuleExecutor.java      |  5 +++--
 .../CreateReadwriteSplittingRuleExecutorTest.java  |  6 +++---
 .../CreateDefaultShadowAlgorithmExecutor.java      |  2 +-
 .../handler/update/CreateShadowRuleExecutor.java   |  2 +-
 .../CreateDefaultShardingStrategyExecutor.java     |  2 +-
 .../CreateShardingTableReferenceRuleExecutor.java  |  4 ++--
 .../update/CreateShardingTableRuleExecutor.java    |  2 +-
 .../CreateDefaultShardingStrategyExecutorTest.java | 24 +++++++++++-----------
 ...eateShardingTableReferenceRuleExecutorTest.java |  2 +-
 .../CreateShardingTableRuleExecutorTest.java       |  4 ++--
 .../database/type/CreateDatabaseRuleOperator.java  |  2 +-
 .../LegacyDatabaseRuleDefinitionExecuteEngine.java |  2 +-
 .../spi/database/DatabaseRuleCreateExecutor.java   |  4 ++--
 .../handler/update/LoadSingleTableExecutor.java    |  2 +-
 .../SetDefaultSingleTableStorageUnitExecutor.java  |  2 +-
 .../update/LoadSingleTableExecutorTest.java        |  4 ++--
 ...tDefaultSingleTableStorageUnitExecutorTest.java |  6 +++---
 .../fixture/FixtureDatabaseRuleCreateExecutor.java |  2 +-
 24 files changed, 47 insertions(+), 46 deletions(-)

diff --git 
a/features/broadcast/distsql/handler/src/main/java/org/apache/shardingsphere/broadcast/distsql/handler/update/CreateBroadcastTableRuleExecutor.java
 
b/features/broadcast/distsql/handler/src/main/java/org/apache/shardingsphere/broadcast/distsql/handler/update/CreateBroadcastTableRuleExecutor.java
index 4e47807f2aa..70d8d93b9b2 100644
--- 
a/features/broadcast/distsql/handler/src/main/java/org/apache/shardingsphere/broadcast/distsql/handler/update/CreateBroadcastTableRuleExecutor.java
+++ 
b/features/broadcast/distsql/handler/src/main/java/org/apache/shardingsphere/broadcast/distsql/handler/update/CreateBroadcastTableRuleExecutor.java
@@ -46,7 +46,7 @@ public final class CreateBroadcastTableRuleExecutor 
implements DatabaseRuleCreat
     }
     
     @Override
-    public BroadcastRuleConfiguration buildToBeCreatedRuleConfiguration(final 
BroadcastRuleConfiguration currentRuleConfig, final 
CreateBroadcastTableRuleStatement sqlStatement) {
+    public BroadcastRuleConfiguration buildToBeCreatedRuleConfiguration(final 
CreateBroadcastTableRuleStatement sqlStatement, final 
BroadcastRuleConfiguration currentRuleConfig) {
         Collection<String> tables = sqlStatement.getTables();
         if (sqlStatement.isIfNotExists()) {
             Collection<String> duplicatedRuleNames = 
getDuplicatedRuleNames(sqlStatement, currentRuleConfig);
diff --git 
a/features/broadcast/distsql/handler/src/test/java/org/apache/shardingsphere/broadcast/distsql/handler/update/CreateBroadcastTableRuleExecutorTest.java
 
b/features/broadcast/distsql/handler/src/test/java/org/apache/shardingsphere/broadcast/distsql/handler/update/CreateBroadcastTableRuleExecutorTest.java
index b9262cdc682..3a44d0d7175 100644
--- 
a/features/broadcast/distsql/handler/src/test/java/org/apache/shardingsphere/broadcast/distsql/handler/update/CreateBroadcastTableRuleExecutorTest.java
+++ 
b/features/broadcast/distsql/handler/src/test/java/org/apache/shardingsphere/broadcast/distsql/handler/update/CreateBroadcastTableRuleExecutorTest.java
@@ -65,7 +65,7 @@ class CreateBroadcastTableRuleExecutorTest {
         CreateBroadcastTableRuleStatement sqlStatement = new 
CreateBroadcastTableRuleStatement(false, Collections.singleton("t_address"));
         executor.setDatabase(mockShardingSphereDatabase());
         executor.checkBeforeUpdate(sqlStatement, currentConfig);
-        BroadcastRuleConfiguration toBeCreatedRuleConfig = 
executor.buildToBeCreatedRuleConfiguration(currentConfig, sqlStatement);
+        BroadcastRuleConfiguration toBeCreatedRuleConfig = 
executor.buildToBeCreatedRuleConfiguration(sqlStatement, currentConfig);
         executor.updateCurrentRuleConfiguration(currentConfig, 
toBeCreatedRuleConfig);
         assertThat(currentConfig.getTables().size(), is(1));
         assertThat(currentConfig.getTables().iterator().next(), 
is("t_address"));
diff --git 
a/features/encrypt/distsql/handler/src/main/java/org/apache/shardingsphere/encrypt/distsql/handler/update/CreateEncryptRuleExecutor.java
 
b/features/encrypt/distsql/handler/src/main/java/org/apache/shardingsphere/encrypt/distsql/handler/update/CreateEncryptRuleExecutor.java
index f4cd5c976b3..2c3b93feb8c 100644
--- 
a/features/encrypt/distsql/handler/src/main/java/org/apache/shardingsphere/encrypt/distsql/handler/update/CreateEncryptRuleExecutor.java
+++ 
b/features/encrypt/distsql/handler/src/main/java/org/apache/shardingsphere/encrypt/distsql/handler/update/CreateEncryptRuleExecutor.java
@@ -136,7 +136,7 @@ public final class CreateEncryptRuleExecutor implements 
DatabaseRuleCreateExecut
     }
     
     @Override
-    public EncryptRuleConfiguration buildToBeCreatedRuleConfiguration(final 
EncryptRuleConfiguration currentRuleConfig, final CreateEncryptRuleStatement 
sqlStatement) {
+    public EncryptRuleConfiguration buildToBeCreatedRuleConfiguration(final 
CreateEncryptRuleStatement sqlStatement, final EncryptRuleConfiguration 
currentRuleConfig) {
         Collection<EncryptRuleSegment> segments = sqlStatement.getRules();
         if (sqlStatement.isIfNotExists()) {
             Collection<String> duplicatedRuleNames = 
getDuplicatedRuleNames(sqlStatement, currentRuleConfig);
diff --git 
a/features/encrypt/distsql/handler/src/test/java/org/apache/shardingsphere/encrypt/distsql/handler/update/CreateEncryptRuleExecutorTest.java
 
b/features/encrypt/distsql/handler/src/test/java/org/apache/shardingsphere/encrypt/distsql/handler/update/CreateEncryptRuleExecutorTest.java
index 74018f7bc84..44960d09b9c 100644
--- 
a/features/encrypt/distsql/handler/src/test/java/org/apache/shardingsphere/encrypt/distsql/handler/update/CreateEncryptRuleExecutorTest.java
+++ 
b/features/encrypt/distsql/handler/src/test/java/org/apache/shardingsphere/encrypt/distsql/handler/update/CreateEncryptRuleExecutorTest.java
@@ -76,7 +76,7 @@ class CreateEncryptRuleExecutorTest {
         EncryptRuleConfiguration currentRuleConfig = getCurrentRuleConfig();
         CreateEncryptRuleStatement sqlStatement = 
createAESEncryptRuleSQLStatement(true);
         executor.checkBeforeUpdate(sqlStatement, currentRuleConfig);
-        EncryptRuleConfiguration toBeCreatedRuleConfig = 
executor.buildToBeCreatedRuleConfiguration(currentRuleConfig, sqlStatement);
+        EncryptRuleConfiguration toBeCreatedRuleConfig = 
executor.buildToBeCreatedRuleConfiguration(sqlStatement, currentRuleConfig);
         executor.updateCurrentRuleConfiguration(currentRuleConfig, 
toBeCreatedRuleConfig);
         assertThat(currentRuleConfig.getTables().size(), is(2));
         assertTrue(currentRuleConfig.getEncryptors().isEmpty());
diff --git 
a/features/mask/distsql/handler/src/main/java/org/apache/shardingsphere/mask/distsql/handler/update/CreateMaskRuleExecutor.java
 
b/features/mask/distsql/handler/src/main/java/org/apache/shardingsphere/mask/distsql/handler/update/CreateMaskRuleExecutor.java
index 99cd567c8ef..d858397ab1e 100644
--- 
a/features/mask/distsql/handler/src/main/java/org/apache/shardingsphere/mask/distsql/handler/update/CreateMaskRuleExecutor.java
+++ 
b/features/mask/distsql/handler/src/main/java/org/apache/shardingsphere/mask/distsql/handler/update/CreateMaskRuleExecutor.java
@@ -75,7 +75,7 @@ public final class CreateMaskRuleExecutor implements 
DatabaseRuleCreateExecutor<
     }
     
     @Override
-    public MaskRuleConfiguration buildToBeCreatedRuleConfiguration(final 
MaskRuleConfiguration currentRuleConfig, final CreateMaskRuleStatement 
sqlStatement) {
+    public MaskRuleConfiguration buildToBeCreatedRuleConfiguration(final 
CreateMaskRuleStatement sqlStatement, final MaskRuleConfiguration 
currentRuleConfig) {
         return MaskRuleStatementConverter.convert(sqlStatement.getRules());
     }
     
diff --git 
a/features/mask/distsql/handler/src/test/java/org/apache/shardingsphere/mask/distsql/handler/update/CreateMaskRuleExecutorTest.java
 
b/features/mask/distsql/handler/src/test/java/org/apache/shardingsphere/mask/distsql/handler/update/CreateMaskRuleExecutorTest.java
index 4c7de8d4180..abbd8cc2f7a 100644
--- 
a/features/mask/distsql/handler/src/test/java/org/apache/shardingsphere/mask/distsql/handler/update/CreateMaskRuleExecutorTest.java
+++ 
b/features/mask/distsql/handler/src/test/java/org/apache/shardingsphere/mask/distsql/handler/update/CreateMaskRuleExecutorTest.java
@@ -66,7 +66,7 @@ class CreateMaskRuleExecutorTest {
         MaskRuleConfiguration currentRuleConfig = getCurrentRuleConfig();
         CreateMaskRuleStatement sqlStatement = createSQLStatement(false, 
"MD5");
         executor.checkBeforeUpdate(sqlStatement, currentRuleConfig);
-        MaskRuleConfiguration toBeCreatedRuleConfig = 
executor.buildToBeCreatedRuleConfiguration(currentRuleConfig, sqlStatement);
+        MaskRuleConfiguration toBeCreatedRuleConfig = 
executor.buildToBeCreatedRuleConfiguration(sqlStatement, currentRuleConfig);
         executor.updateCurrentRuleConfiguration(currentRuleConfig, 
toBeCreatedRuleConfig);
         assertThat(currentRuleConfig.getTables().size(), is(4));
         
assertTrue(currentRuleConfig.getMaskAlgorithms().containsKey("t_mask_1_user_id_md5"));
@@ -78,11 +78,11 @@ class CreateMaskRuleExecutorTest {
         MaskRuleConfiguration currentRuleConfig = getCurrentRuleConfig();
         CreateMaskRuleStatement sqlStatement = createSQLStatement(false, 
"MD5");
         executor.checkBeforeUpdate(sqlStatement, currentRuleConfig);
-        MaskRuleConfiguration toBeCreatedRuleConfig = 
executor.buildToBeCreatedRuleConfiguration(currentRuleConfig, sqlStatement);
+        MaskRuleConfiguration toBeCreatedRuleConfig = 
executor.buildToBeCreatedRuleConfiguration(sqlStatement, currentRuleConfig);
         executor.updateCurrentRuleConfiguration(currentRuleConfig, 
toBeCreatedRuleConfig);
         sqlStatement = createSQLStatement(true, "MD5");
         executor.checkBeforeUpdate(sqlStatement, currentRuleConfig);
-        toBeCreatedRuleConfig = 
executor.buildToBeCreatedRuleConfiguration(currentRuleConfig, sqlStatement);
+        toBeCreatedRuleConfig = 
executor.buildToBeCreatedRuleConfiguration(sqlStatement, currentRuleConfig);
         executor.updateCurrentRuleConfiguration(currentRuleConfig, 
toBeCreatedRuleConfig);
         assertThat(currentRuleConfig.getTables().size(), is(4));
         
assertTrue(currentRuleConfig.getMaskAlgorithms().containsKey("t_mask_1_user_id_md5"));
diff --git 
a/features/readwrite-splitting/distsql/handler/src/main/java/org/apache/shardingsphere/readwritesplitting/distsql/handler/update/CreateReadwriteSplittingRuleExecutor.java
 
b/features/readwrite-splitting/distsql/handler/src/main/java/org/apache/shardingsphere/readwritesplitting/distsql/handler/update/CreateReadwriteSplittingRuleExecutor.java
index 22a8c6c10f8..e081fd9349e 100644
--- 
a/features/readwrite-splitting/distsql/handler/src/main/java/org/apache/shardingsphere/readwritesplitting/distsql/handler/update/CreateReadwriteSplittingRuleExecutor.java
+++ 
b/features/readwrite-splitting/distsql/handler/src/main/java/org/apache/shardingsphere/readwritesplitting/distsql/handler/update/CreateReadwriteSplittingRuleExecutor.java
@@ -45,8 +45,9 @@ public final class CreateReadwriteSplittingRuleExecutor 
implements DatabaseRuleC
     }
     
     @Override
-    public ReadwriteSplittingRuleConfiguration 
buildToBeCreatedRuleConfiguration(final ReadwriteSplittingRuleConfiguration 
currentRuleConfig,
-                                                                               
  final CreateReadwriteSplittingRuleStatement sqlStatement) {
+    public ReadwriteSplittingRuleConfiguration 
buildToBeCreatedRuleConfiguration(
+                                                                               
  final CreateReadwriteSplittingRuleStatement sqlStatement,
+                                                                               
  final ReadwriteSplittingRuleConfiguration currentRuleConfig) {
         Collection<ReadwriteSplittingRuleSegment> segments = 
sqlStatement.getRules();
         if (sqlStatement.isIfNotExists()) {
             Collection<String> duplicatedRuleNames = 
getDuplicatedRuleNames(currentRuleConfig, sqlStatement.getRules());
diff --git 
a/features/readwrite-splitting/distsql/handler/src/test/java/org/apache/shardingsphere/readwritesplitting/distsql/handler/update/CreateReadwriteSplittingRuleExecutorTest.java
 
b/features/readwrite-splitting/distsql/handler/src/test/java/org/apache/shardingsphere/readwritesplitting/distsql/handler/update/CreateReadwriteSplittingRuleExecutorTest.java
index 3ad886401a0..771b562e8fe 100644
--- 
a/features/readwrite-splitting/distsql/handler/src/test/java/org/apache/shardingsphere/readwritesplitting/distsql/handler/update/CreateReadwriteSplittingRuleExecutorTest.java
+++ 
b/features/readwrite-splitting/distsql/handler/src/test/java/org/apache/shardingsphere/readwritesplitting/distsql/handler/update/CreateReadwriteSplittingRuleExecutorTest.java
@@ -137,11 +137,11 @@ class CreateReadwriteSplittingRuleExecutorTest {
         
when(database.getRuleMetaData().findRules(DataSourceContainedRule.class)).thenReturn(Collections.singleton(dataSourceContainedRule));
         ReadwriteSplittingRuleSegment staticSegment = new 
ReadwriteSplittingRuleSegment("static_rule", "write_ds_0", 
Arrays.asList("read_ds_0", "read_ds_1"),
                 new AlgorithmSegment("TEST", new Properties()));
-        CreateReadwriteSplittingRuleStatement statement = 
createSQLStatement(false, staticSegment);
+        CreateReadwriteSplittingRuleStatement sqlStatement = 
createSQLStatement(false, staticSegment);
         executor.setDatabase(database);
-        executor.checkBeforeUpdate(statement, null);
+        executor.checkBeforeUpdate(sqlStatement, null);
         ReadwriteSplittingRuleConfiguration currentRuleConfig = new 
ReadwriteSplittingRuleConfiguration(new ArrayList<>(), new HashMap<>());
-        ReadwriteSplittingRuleConfiguration toBeCreatedRuleConfig = 
executor.buildToBeCreatedRuleConfiguration(currentRuleConfig, statement);
+        ReadwriteSplittingRuleConfiguration toBeCreatedRuleConfig = 
executor.buildToBeCreatedRuleConfiguration(sqlStatement, currentRuleConfig);
         executor.updateCurrentRuleConfiguration(currentRuleConfig, 
toBeCreatedRuleConfig);
         assertThat(currentRuleConfig.getDataSources().size(), is(1));
     }
diff --git 
a/features/shadow/distsql/handler/src/main/java/org/apache/shardingsphere/shadow/distsql/handler/update/CreateDefaultShadowAlgorithmExecutor.java
 
b/features/shadow/distsql/handler/src/main/java/org/apache/shardingsphere/shadow/distsql/handler/update/CreateDefaultShadowAlgorithmExecutor.java
index a1aa64c740b..4a97ff34a90 100644
--- 
a/features/shadow/distsql/handler/src/main/java/org/apache/shardingsphere/shadow/distsql/handler/update/CreateDefaultShadowAlgorithmExecutor.java
+++ 
b/features/shadow/distsql/handler/src/main/java/org/apache/shardingsphere/shadow/distsql/handler/update/CreateDefaultShadowAlgorithmExecutor.java
@@ -55,7 +55,7 @@ public final class CreateDefaultShadowAlgorithmExecutor 
implements DatabaseRuleC
     }
     
     @Override
-    public ShadowRuleConfiguration buildToBeCreatedRuleConfiguration(final 
ShadowRuleConfiguration currentRuleConfig, final 
CreateDefaultShadowAlgorithmStatement sqlStatement) {
+    public ShadowRuleConfiguration buildToBeCreatedRuleConfiguration(final 
CreateDefaultShadowAlgorithmStatement sqlStatement, final 
ShadowRuleConfiguration currentRuleConfig) {
         ShadowRuleConfiguration result = new ShadowRuleConfiguration();
         if (getDuplicatedRuleNames(currentRuleConfig).isEmpty()) {
             result = new ShadowRuleConfiguration();
diff --git 
a/features/shadow/distsql/handler/src/main/java/org/apache/shardingsphere/shadow/distsql/handler/update/CreateShadowRuleExecutor.java
 
b/features/shadow/distsql/handler/src/main/java/org/apache/shardingsphere/shadow/distsql/handler/update/CreateShadowRuleExecutor.java
index aca2c9151aa..6c7eb779827 100644
--- 
a/features/shadow/distsql/handler/src/main/java/org/apache/shardingsphere/shadow/distsql/handler/update/CreateShadowRuleExecutor.java
+++ 
b/features/shadow/distsql/handler/src/main/java/org/apache/shardingsphere/shadow/distsql/handler/update/CreateShadowRuleExecutor.java
@@ -76,7 +76,7 @@ public final class CreateShadowRuleExecutor implements 
DatabaseRuleCreateExecuto
     }
     
     @Override
-    public ShadowRuleConfiguration buildToBeCreatedRuleConfiguration(final 
ShadowRuleConfiguration currentRuleConfig, final CreateShadowRuleStatement 
sqlStatement) {
+    public ShadowRuleConfiguration buildToBeCreatedRuleConfiguration(final 
CreateShadowRuleStatement sqlStatement, final ShadowRuleConfiguration 
currentRuleConfig) {
         Collection<ShadowRuleSegment> segments = sqlStatement.getRules();
         if (sqlStatement.isIfNotExists()) {
             Collection<String> toBeCreatedRuleNames = 
ShadowRuleStatementSupporter.getRuleNames(sqlStatement.getRules());
diff --git 
a/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/CreateDefaultShardingStrategyExecutor.java
 
b/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/CreateDefaultShardingStrategyExecutor.java
index 7f624a0a8a5..050b41bfce0 100644
--- 
a/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/CreateDefaultShardingStrategyExecutor.java
+++ 
b/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/CreateDefaultShardingStrategyExecutor.java
@@ -82,7 +82,7 @@ public final class CreateDefaultShardingStrategyExecutor 
implements DatabaseRule
     }
     
     @Override
-    public ShardingRuleConfiguration buildToBeCreatedRuleConfiguration(final 
ShardingRuleConfiguration currentRuleConfig, final 
CreateDefaultShardingStrategyStatement sqlStatement) {
+    public ShardingRuleConfiguration buildToBeCreatedRuleConfiguration(final 
CreateDefaultShardingStrategyStatement sqlStatement, final 
ShardingRuleConfiguration currentRuleConfig) {
         ShardingRuleConfiguration result = new ShardingRuleConfiguration();
         if ("none".equalsIgnoreCase(sqlStatement.getStrategyType())) {
             setStrategyConfiguration(result, sqlStatement.getDefaultType(), 
new NoneShardingStrategyConfiguration());
diff --git 
a/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/CreateShardingTableReferenceRuleExecutor.java
 
b/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/CreateShardingTableReferenceRuleExecutor.java
index b68fd66379f..bf524fdf15c 100644
--- 
a/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/CreateShardingTableReferenceRuleExecutor.java
+++ 
b/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/CreateShardingTableReferenceRuleExecutor.java
@@ -86,7 +86,7 @@ public final class CreateShardingTableReferenceRuleExecutor 
implements DatabaseR
     }
     
     private void checkShardingTableReferenceRulesValid(final 
CreateShardingTableReferenceRuleStatement sqlStatement, final 
ShardingRuleConfiguration currentRuleConfig) {
-        Collection<ShardingTableReferenceRuleConfiguration> bindingTableGroups 
= buildToBeCreatedRuleConfiguration(currentRuleConfig, 
sqlStatement).getBindingTableGroups();
+        Collection<ShardingTableReferenceRuleConfiguration> bindingTableGroups 
= buildToBeCreatedRuleConfiguration(sqlStatement, 
currentRuleConfig).getBindingTableGroups();
         Collection<String> names = 
bindingTableGroups.stream().map(ShardingTableReferenceRuleConfiguration::getName).collect(Collectors.toList());
         
ShardingSpherePreconditions.checkState(ShardingTableRuleStatementChecker.isValidBindingTableGroups(bindingTableGroups,
 currentRuleConfig),
                 () -> new InvalidRuleConfigurationException("sharding table", 
names, Collections.singleton("invalid sharding table reference.")));
@@ -101,7 +101,7 @@ public final class CreateShardingTableReferenceRuleExecutor 
implements DatabaseR
     }
     
     @Override
-    public ShardingRuleConfiguration buildToBeCreatedRuleConfiguration(final 
ShardingRuleConfiguration currentRuleConfig, final 
CreateShardingTableReferenceRuleStatement sqlStatement) {
+    public ShardingRuleConfiguration buildToBeCreatedRuleConfiguration(final 
CreateShardingTableReferenceRuleStatement sqlStatement, final 
ShardingRuleConfiguration currentRuleConfig) {
         Collection<TableReferenceRuleSegment> segments = 
sqlStatement.getRules();
         if (sqlStatement.isIfNotExists()) {
             Collection<String> duplicatedRuleNames = 
getDuplicatedRuleNames(sqlStatement, currentRuleConfig);
diff --git 
a/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/CreateShardingTableRuleExecutor.java
 
b/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/CreateShardingTableRuleExecutor.java
index 2ff822e7372..59f2d8965a6 100644
--- 
a/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/CreateShardingTableRuleExecutor.java
+++ 
b/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/CreateShardingTableRuleExecutor.java
@@ -47,7 +47,7 @@ public final class CreateShardingTableRuleExecutor implements 
DatabaseRuleCreate
     }
     
     @Override
-    public ShardingRuleConfiguration buildToBeCreatedRuleConfiguration(final 
ShardingRuleConfiguration currentRuleConfig, final 
CreateShardingTableRuleStatement sqlStatement) {
+    public ShardingRuleConfiguration buildToBeCreatedRuleConfiguration(final 
CreateShardingTableRuleStatement sqlStatement, final ShardingRuleConfiguration 
currentRuleConfig) {
         Collection<AbstractTableRuleSegment> segments = 
sqlStatement.getRules();
         if (sqlStatement.isIfNotExists()) {
             Collection<String> duplicatedRuleNames = 
getDuplicatedRuleNames(sqlStatement, currentRuleConfig);
diff --git 
a/features/sharding/distsql/handler/src/test/java/org/apache/shardingsphere/sharding/distsql/update/CreateDefaultShardingStrategyExecutorTest.java
 
b/features/sharding/distsql/handler/src/test/java/org/apache/shardingsphere/sharding/distsql/update/CreateDefaultShardingStrategyExecutorTest.java
index 22f35e2cba0..998272ca51d 100644
--- 
a/features/sharding/distsql/handler/src/test/java/org/apache/shardingsphere/sharding/distsql/update/CreateDefaultShardingStrategyExecutorTest.java
+++ 
b/features/sharding/distsql/handler/src/test/java/org/apache/shardingsphere/sharding/distsql/update/CreateDefaultShardingStrategyExecutorTest.java
@@ -91,7 +91,7 @@ class CreateDefaultShardingStrategyExecutorTest {
         currentRuleConfig.setDefaultDatabaseShardingStrategy(new 
StandardShardingStrategyConfiguration("order_id", "orderAlgorithm"));
         currentRuleConfig.getShardingAlgorithms().put("order_id_algorithm", 
null);
         executor.checkBeforeUpdate(statement, currentRuleConfig);
-        ShardingRuleConfiguration toBeCreatedRuleConfig = 
executor.buildToBeCreatedRuleConfiguration(currentRuleConfig, statement);
+        ShardingRuleConfiguration toBeCreatedRuleConfig = 
executor.buildToBeCreatedRuleConfiguration(statement, currentRuleConfig);
         executor.updateCurrentRuleConfiguration(currentRuleConfig, 
toBeCreatedRuleConfig);
         StandardShardingStrategyConfiguration defaultTableShardingStrategy = 
(StandardShardingStrategyConfiguration) 
currentRuleConfig.getDefaultTableShardingStrategy();
         assertThat(defaultTableShardingStrategy.getShardingAlgorithmName(), 
is("default_table_order_id_algorithm"));
@@ -104,7 +104,7 @@ class CreateDefaultShardingStrategyExecutorTest {
         CreateDefaultShardingStrategyStatement statement = new 
CreateDefaultShardingStrategyStatement(false, "DATABASE", "standard", 
"user_id", databaseAlgorithmSegment);
         ShardingRuleConfiguration currentRuleConfig = new 
ShardingRuleConfiguration();
         executor.checkBeforeUpdate(statement, currentRuleConfig);
-        ShardingRuleConfiguration toBeCreatedRuleConfig = 
executor.buildToBeCreatedRuleConfiguration(currentRuleConfig, statement);
+        ShardingRuleConfiguration toBeCreatedRuleConfig = 
executor.buildToBeCreatedRuleConfiguration(statement, currentRuleConfig);
         executor.updateCurrentRuleConfiguration(currentRuleConfig, 
toBeCreatedRuleConfig);
         StandardShardingStrategyConfiguration defaultDatabaseShardingStrategy 
= (StandardShardingStrategyConfiguration) 
currentRuleConfig.getDefaultDatabaseShardingStrategy();
         assertThat(defaultDatabaseShardingStrategy.getShardingAlgorithmName(), 
is("default_database_inline"));
@@ -119,12 +119,12 @@ class CreateDefaultShardingStrategyExecutorTest {
         currentRuleConfig.setDefaultDatabaseShardingStrategy(new 
StandardShardingStrategyConfiguration("order_id", "orderAlgorithm"));
         currentRuleConfig.getShardingAlgorithms().put("order_id_algorithm", 
null);
         executor.checkBeforeUpdate(statement, currentRuleConfig);
-        ShardingRuleConfiguration toBeCreatedRuleConfig = 
executor.buildToBeCreatedRuleConfiguration(currentRuleConfig, statement);
+        ShardingRuleConfiguration toBeCreatedRuleConfig = 
executor.buildToBeCreatedRuleConfiguration(statement, currentRuleConfig);
         executor.updateCurrentRuleConfiguration(currentRuleConfig, 
toBeCreatedRuleConfig);
         algorithm = new AlgorithmSegment("user_id_algorithm", new 
Properties());
         CreateDefaultShardingStrategyStatement statementWithIfNotExists = new 
CreateDefaultShardingStrategyStatement(true, "TABLE", "standard", "order_id", 
algorithm);
         executor.checkBeforeUpdate(statementWithIfNotExists, 
currentRuleConfig);
-        toBeCreatedRuleConfig = 
executor.buildToBeCreatedRuleConfiguration(currentRuleConfig, 
statementWithIfNotExists);
+        toBeCreatedRuleConfig = 
executor.buildToBeCreatedRuleConfiguration(statementWithIfNotExists, 
currentRuleConfig);
         executor.updateCurrentRuleConfiguration(currentRuleConfig, 
toBeCreatedRuleConfig);
         StandardShardingStrategyConfiguration defaultTableShardingStrategy = 
(StandardShardingStrategyConfiguration) 
currentRuleConfig.getDefaultTableShardingStrategy();
         assertThat(defaultTableShardingStrategy.getShardingAlgorithmName(), 
is("default_table_order_id_algorithm"));
@@ -137,12 +137,12 @@ class CreateDefaultShardingStrategyExecutorTest {
         CreateDefaultShardingStrategyStatement statement = new 
CreateDefaultShardingStrategyStatement(false, "DATABASE", "standard", 
"user_id", databaseAlgorithmSegment);
         ShardingRuleConfiguration currentRuleConfig = new 
ShardingRuleConfiguration();
         executor.checkBeforeUpdate(statement, currentRuleConfig);
-        ShardingRuleConfiguration toBeCreatedRuleConfig = 
executor.buildToBeCreatedRuleConfiguration(currentRuleConfig, statement);
+        ShardingRuleConfiguration toBeCreatedRuleConfig = 
executor.buildToBeCreatedRuleConfiguration(statement, currentRuleConfig);
         executor.updateCurrentRuleConfiguration(currentRuleConfig, 
toBeCreatedRuleConfig);
         databaseAlgorithmSegment = new AlgorithmSegment("inline", 
PropertiesBuilder.build(new Property("algorithm-expression", "ds_${order_id % 
2}")));
         CreateDefaultShardingStrategyStatement statementWithIfNotExists = new 
CreateDefaultShardingStrategyStatement(true, "TABLE", "standard", "order_id", 
databaseAlgorithmSegment);
         executor.checkBeforeUpdate(statementWithIfNotExists, 
currentRuleConfig);
-        toBeCreatedRuleConfig = 
executor.buildToBeCreatedRuleConfiguration(currentRuleConfig, 
statementWithIfNotExists);
+        toBeCreatedRuleConfig = 
executor.buildToBeCreatedRuleConfiguration(statementWithIfNotExists, 
currentRuleConfig);
         executor.updateCurrentRuleConfiguration(currentRuleConfig, 
toBeCreatedRuleConfig);
         StandardShardingStrategyConfiguration defaultDatabaseShardingStrategy 
= (StandardShardingStrategyConfiguration) 
currentRuleConfig.getDefaultDatabaseShardingStrategy();
         assertThat(defaultDatabaseShardingStrategy.getShardingAlgorithmName(), 
is("default_database_inline"));
@@ -151,12 +151,12 @@ class CreateDefaultShardingStrategyExecutorTest {
     
     @Test
     void 
assertCreateDefaultTableShardingStrategyWithNoneShardingStrategyType() {
-        CreateDefaultShardingStrategyStatement statement = new 
CreateDefaultShardingStrategyStatement(false, "TABLE", "none", null, null);
+        CreateDefaultShardingStrategyStatement sqlStatement = new 
CreateDefaultShardingStrategyStatement(false, "TABLE", "none", null, null);
         ShardingRuleConfiguration currentRuleConfig = new 
ShardingRuleConfiguration();
         currentRuleConfig.setDefaultDatabaseShardingStrategy(new 
StandardShardingStrategyConfiguration("order_id", "orderAlgorithm"));
         currentRuleConfig.getShardingAlgorithms().put("order_id_algorithm", 
null);
-        executor.checkBeforeUpdate(statement, currentRuleConfig);
-        ShardingRuleConfiguration toBeCreatedRuleConfig = 
executor.buildToBeCreatedRuleConfiguration(currentRuleConfig, statement);
+        executor.checkBeforeUpdate(sqlStatement, currentRuleConfig);
+        ShardingRuleConfiguration toBeCreatedRuleConfig = 
executor.buildToBeCreatedRuleConfiguration(sqlStatement, currentRuleConfig);
         executor.updateCurrentRuleConfiguration(currentRuleConfig, 
toBeCreatedRuleConfig);
         NoneShardingStrategyConfiguration defaultTableShardingStrategy = 
(NoneShardingStrategyConfiguration) 
currentRuleConfig.getDefaultTableShardingStrategy();
         assertThat(defaultTableShardingStrategy.getType(), is(""));
@@ -165,10 +165,10 @@ class CreateDefaultShardingStrategyExecutorTest {
     
     @Test
     void 
assertCreateDefaultDatabaseShardingStrategyWithNoneShardingStrategyType() {
-        CreateDefaultShardingStrategyStatement statement = new 
CreateDefaultShardingStrategyStatement(false, "DATABASE", "none", null, null);
+        CreateDefaultShardingStrategyStatement sqlStatement = new 
CreateDefaultShardingStrategyStatement(false, "DATABASE", "none", null, null);
         ShardingRuleConfiguration currentRuleConfig = new 
ShardingRuleConfiguration();
-        executor.checkBeforeUpdate(statement, currentRuleConfig);
-        ShardingRuleConfiguration toBeCreatedRuleConfig = 
executor.buildToBeCreatedRuleConfiguration(currentRuleConfig, statement);
+        executor.checkBeforeUpdate(sqlStatement, currentRuleConfig);
+        ShardingRuleConfiguration toBeCreatedRuleConfig = 
executor.buildToBeCreatedRuleConfiguration(sqlStatement, currentRuleConfig);
         executor.updateCurrentRuleConfiguration(currentRuleConfig, 
toBeCreatedRuleConfig);
         NoneShardingStrategyConfiguration defaultDatabaseShardingStrategy = 
(NoneShardingStrategyConfiguration) 
currentRuleConfig.getDefaultDatabaseShardingStrategy();
         assertThat(defaultDatabaseShardingStrategy.getType(), is(""));
diff --git 
a/features/sharding/distsql/handler/src/test/java/org/apache/shardingsphere/sharding/distsql/update/CreateShardingTableReferenceRuleExecutorTest.java
 
b/features/sharding/distsql/handler/src/test/java/org/apache/shardingsphere/sharding/distsql/update/CreateShardingTableReferenceRuleExecutorTest.java
index db141a74345..81481342680 100644
--- 
a/features/sharding/distsql/handler/src/test/java/org/apache/shardingsphere/sharding/distsql/update/CreateShardingTableReferenceRuleExecutorTest.java
+++ 
b/features/sharding/distsql/handler/src/test/java/org/apache/shardingsphere/sharding/distsql/update/CreateShardingTableReferenceRuleExecutorTest.java
@@ -69,7 +69,7 @@ class CreateShardingTableReferenceRuleExecutorTest {
         CreateShardingTableReferenceRuleStatement sqlStatement = 
createSQLStatement(true, "foo", "t_order,t_order_item");
         ShardingRuleConfiguration currentRuleConfig = getCurrentRuleConfig();
         executor.checkBeforeUpdate(sqlStatement, currentRuleConfig);
-        ShardingRuleConfiguration toBeCreatedRuleConfig = 
executor.buildToBeCreatedRuleConfiguration(currentRuleConfig, sqlStatement);
+        ShardingRuleConfiguration toBeCreatedRuleConfig = 
executor.buildToBeCreatedRuleConfiguration(sqlStatement, currentRuleConfig);
         executor.updateCurrentRuleConfiguration(currentRuleConfig, 
toBeCreatedRuleConfig);
         Collection<ShardingTableReferenceRuleConfiguration> 
referenceRuleConfigs = currentRuleConfig.getBindingTableGroups();
         assertThat(referenceRuleConfigs.size(), is(1));
diff --git 
a/features/sharding/distsql/handler/src/test/java/org/apache/shardingsphere/sharding/distsql/update/CreateShardingTableRuleExecutorTest.java
 
b/features/sharding/distsql/handler/src/test/java/org/apache/shardingsphere/sharding/distsql/update/CreateShardingTableRuleExecutorTest.java
index bc7f66d0813..ed09157c8a8 100644
--- 
a/features/sharding/distsql/handler/src/test/java/org/apache/shardingsphere/sharding/distsql/update/CreateShardingTableRuleExecutorTest.java
+++ 
b/features/sharding/distsql/handler/src/test/java/org/apache/shardingsphere/sharding/distsql/update/CreateShardingTableRuleExecutorTest.java
@@ -88,7 +88,7 @@ class CreateShardingTableRuleExecutorTest {
     void assertUpdate() {
         CreateShardingTableRuleStatement statement = new 
CreateShardingTableRuleStatement(false, 
Arrays.asList(createCompleteAutoTableRule(), createCompleteTableRule()));
         executor.checkBeforeUpdate(statement, currentRuleConfig);
-        ShardingRuleConfiguration toBeCreatedRuleConfig = 
executor.buildToBeCreatedRuleConfiguration(currentRuleConfig, statement);
+        ShardingRuleConfiguration toBeCreatedRuleConfig = 
executor.buildToBeCreatedRuleConfiguration(statement, currentRuleConfig);
         executor.updateCurrentRuleConfiguration(currentRuleConfig, 
toBeCreatedRuleConfig);
         assertThat(currentRuleConfig.getTables().size(), is(2));
         Iterator<ShardingTableRuleConfiguration> tableRuleIterator = 
currentRuleConfig.getTables().iterator();
@@ -197,7 +197,7 @@ class CreateShardingTableRuleExecutorTest {
         segments.add(createCompleteTableRule());
         CreateShardingTableRuleStatement statementWithIfNotExists = new 
CreateShardingTableRuleStatement(true, segments);
         executor.checkBeforeUpdate(statementWithIfNotExists, 
currentRuleConfig);
-        executor.updateCurrentRuleConfiguration(currentRuleConfig, 
executor.buildToBeCreatedRuleConfiguration(currentRuleConfig, 
statementWithIfNotExists));
+        executor.updateCurrentRuleConfiguration(currentRuleConfig, 
executor.buildToBeCreatedRuleConfiguration(statementWithIfNotExists, 
currentRuleConfig));
         assertThat(currentRuleConfig.getTables().size(), is(2));
         Iterator<ShardingTableRuleConfiguration> tableRuleIterator = 
currentRuleConfig.getTables().iterator();
         ShardingTableRuleConfiguration tableRule = tableRuleIterator.next();
diff --git 
a/infra/distsql-handler/src/main/java/org/apache/shardingsphere/distsql/handler/type/rdl/rule/engine/database/type/CreateDatabaseRuleOperator.java
 
b/infra/distsql-handler/src/main/java/org/apache/shardingsphere/distsql/handler/type/rdl/rule/engine/database/type/CreateDatabaseRuleOperator.java
index 6ee5d70b649..c5e691a70c9 100644
--- 
a/infra/distsql-handler/src/main/java/org/apache/shardingsphere/distsql/handler/type/rdl/rule/engine/database/type/CreateDatabaseRuleOperator.java
+++ 
b/infra/distsql-handler/src/main/java/org/apache/shardingsphere/distsql/handler/type/rdl/rule/engine/database/type/CreateDatabaseRuleOperator.java
@@ -48,7 +48,7 @@ public final class CreateDatabaseRuleOperator implements 
DatabaseRuleOperator {
     @Override
     @SuppressWarnings("unchecked")
     public Collection<MetaDataVersion> operate(final RuleDefinitionStatement 
sqlStatement, final ShardingSphereDatabase database, final RuleConfiguration 
currentRuleConfig) {
-        RuleConfiguration toBeCreatedRuleConfig = 
executor.buildToBeCreatedRuleConfiguration(currentRuleConfig, sqlStatement);
+        RuleConfiguration toBeCreatedRuleConfig = 
executor.buildToBeCreatedRuleConfiguration(sqlStatement, currentRuleConfig);
         ModeContextManager modeContextManager = 
contextManager.getInstanceContext().getModeContextManager();
         if (null == currentRuleConfig) {
             return 
modeContextManager.alterRuleConfiguration(database.getName(), 
decorateRuleConfiguration(database, toBeCreatedRuleConfig));
diff --git 
a/infra/distsql-handler/src/main/java/org/apache/shardingsphere/distsql/handler/type/rdl/rule/engine/legacy/LegacyDatabaseRuleDefinitionExecuteEngine.java
 
b/infra/distsql-handler/src/main/java/org/apache/shardingsphere/distsql/handler/type/rdl/rule/engine/legacy/LegacyDatabaseRuleDefinitionExecuteEngine.java
index 3faf0282909..75b3d55ae94 100644
--- 
a/infra/distsql-handler/src/main/java/org/apache/shardingsphere/distsql/handler/type/rdl/rule/engine/legacy/LegacyDatabaseRuleDefinitionExecuteEngine.java
+++ 
b/infra/distsql-handler/src/main/java/org/apache/shardingsphere/distsql/handler/type/rdl/rule/engine/legacy/LegacyDatabaseRuleDefinitionExecuteEngine.java
@@ -102,7 +102,7 @@ public final class 
LegacyDatabaseRuleDefinitionExecuteEngine {
     
     @SuppressWarnings({"rawtypes", "unchecked"})
     private RuleConfiguration processCreate(final RuleDefinitionStatement 
sqlStatement, final DatabaseRuleCreateExecutor executor, final 
RuleConfiguration currentRuleConfig) {
-        RuleConfiguration toBeCreatedRuleConfig = 
executor.buildToBeCreatedRuleConfiguration(currentRuleConfig, sqlStatement);
+        RuleConfiguration toBeCreatedRuleConfig = 
executor.buildToBeCreatedRuleConfiguration(sqlStatement, currentRuleConfig);
         if (null == currentRuleConfig) {
             return toBeCreatedRuleConfig;
         }
diff --git 
a/infra/distsql-handler/src/main/java/org/apache/shardingsphere/distsql/handler/type/rdl/rule/spi/database/DatabaseRuleCreateExecutor.java
 
b/infra/distsql-handler/src/main/java/org/apache/shardingsphere/distsql/handler/type/rdl/rule/spi/database/DatabaseRuleCreateExecutor.java
index 190dfdf4da4..827907e7e47 100644
--- 
a/infra/distsql-handler/src/main/java/org/apache/shardingsphere/distsql/handler/type/rdl/rule/spi/database/DatabaseRuleCreateExecutor.java
+++ 
b/infra/distsql-handler/src/main/java/org/apache/shardingsphere/distsql/handler/type/rdl/rule/spi/database/DatabaseRuleCreateExecutor.java
@@ -31,11 +31,11 @@ public interface DatabaseRuleCreateExecutor<T extends 
SQLStatement, R extends Ru
     /**
      * Build to be created rule configuration.
      *
-     * @param currentRuleConfig current rule configuration to be updated
      * @param sqlStatement SQL statement
+     * @param currentRuleConfig current rule configuration to be updated
      * @return to be created rule configuration
      */
-    R buildToBeCreatedRuleConfiguration(R currentRuleConfig, T sqlStatement);
+    R buildToBeCreatedRuleConfiguration(T sqlStatement, R currentRuleConfig);
     
     /**
      * Update current rule configuration.
diff --git 
a/kernel/single/distsql/handler/src/main/java/org/apache/shardingsphere/single/distsql/handler/update/LoadSingleTableExecutor.java
 
b/kernel/single/distsql/handler/src/main/java/org/apache/shardingsphere/single/distsql/handler/update/LoadSingleTableExecutor.java
index 0d341224af7..f0a7a17cb21 100644
--- 
a/kernel/single/distsql/handler/src/main/java/org/apache/shardingsphere/single/distsql/handler/update/LoadSingleTableExecutor.java
+++ 
b/kernel/single/distsql/handler/src/main/java/org/apache/shardingsphere/single/distsql/handler/update/LoadSingleTableExecutor.java
@@ -148,7 +148,7 @@ public final class LoadSingleTableExecutor implements 
DatabaseRuleCreateExecutor
     }
     
     @Override
-    public SingleRuleConfiguration buildToBeCreatedRuleConfiguration(final 
SingleRuleConfiguration currentRuleConfig, final LoadSingleTableStatement 
sqlStatement) {
+    public SingleRuleConfiguration buildToBeCreatedRuleConfiguration(final 
LoadSingleTableStatement sqlStatement, final SingleRuleConfiguration 
currentRuleConfig) {
         SingleRuleConfiguration result = new SingleRuleConfiguration();
         result.getTables().addAll(currentRuleConfig.getTables());
         result.getTables().addAll(getRequiredTables(currentRuleConfig, 
sqlStatement));
diff --git 
a/kernel/single/distsql/handler/src/main/java/org/apache/shardingsphere/single/distsql/handler/update/SetDefaultSingleTableStorageUnitExecutor.java
 
b/kernel/single/distsql/handler/src/main/java/org/apache/shardingsphere/single/distsql/handler/update/SetDefaultSingleTableStorageUnitExecutor.java
index e2cf32fd7c3..8dce0603066 100644
--- 
a/kernel/single/distsql/handler/src/main/java/org/apache/shardingsphere/single/distsql/handler/update/SetDefaultSingleTableStorageUnitExecutor.java
+++ 
b/kernel/single/distsql/handler/src/main/java/org/apache/shardingsphere/single/distsql/handler/update/SetDefaultSingleTableStorageUnitExecutor.java
@@ -51,7 +51,7 @@ public final class SetDefaultSingleTableStorageUnitExecutor 
implements DatabaseR
     }
     
     @Override
-    public SingleRuleConfiguration buildToBeCreatedRuleConfiguration(final 
SingleRuleConfiguration currentRuleConfig, final 
SetDefaultSingleTableStorageUnitStatement sqlStatement) {
+    public SingleRuleConfiguration buildToBeCreatedRuleConfiguration(final 
SetDefaultSingleTableStorageUnitStatement sqlStatement, final 
SingleRuleConfiguration currentRuleConfig) {
         SingleRuleConfiguration result = new SingleRuleConfiguration();
         result.setDefaultDataSource(sqlStatement.getDefaultStorageUnit());
         result.getTables().addAll(currentRuleConfig.getTables());
diff --git 
a/kernel/single/distsql/handler/src/test/java/org/apache/shardingsphere/single/distsql/handler/update/LoadSingleTableExecutorTest.java
 
b/kernel/single/distsql/handler/src/test/java/org/apache/shardingsphere/single/distsql/handler/update/LoadSingleTableExecutorTest.java
index 3ddd77d97ea..044aabe02fb 100644
--- 
a/kernel/single/distsql/handler/src/test/java/org/apache/shardingsphere/single/distsql/handler/update/LoadSingleTableExecutorTest.java
+++ 
b/kernel/single/distsql/handler/src/test/java/org/apache/shardingsphere/single/distsql/handler/update/LoadSingleTableExecutorTest.java
@@ -83,7 +83,7 @@ class LoadSingleTableExecutorTest {
     @Test
     void assertBuild() {
         LoadSingleTableStatement sqlStatement = new 
LoadSingleTableStatement(Collections.singletonList(new 
SingleTableSegment("ds_0", null, "foo")));
-        SingleRuleConfiguration actual = 
executor.buildToBeCreatedRuleConfiguration(mock(SingleRuleConfiguration.class), 
sqlStatement);
+        SingleRuleConfiguration actual = 
executor.buildToBeCreatedRuleConfiguration(sqlStatement, 
mock(SingleRuleConfiguration.class));
         assertThat(actual.getTables().iterator().next(), is("ds_0.foo"));
     }
     
@@ -92,7 +92,7 @@ class LoadSingleTableExecutorTest {
         Collection<String> currentTables = new 
LinkedList<>(Collections.singletonList("ds_0.foo"));
         SingleRuleConfiguration currentConfig = new 
SingleRuleConfiguration(currentTables, null);
         LoadSingleTableStatement sqlStatement = new 
LoadSingleTableStatement(Collections.singletonList(new 
SingleTableSegment("ds_0", null, "bar")));
-        SingleRuleConfiguration toBeCreatedRuleConfig = 
executor.buildToBeCreatedRuleConfiguration(currentConfig, sqlStatement);
+        SingleRuleConfiguration toBeCreatedRuleConfig = 
executor.buildToBeCreatedRuleConfiguration(sqlStatement, currentConfig);
         executor.updateCurrentRuleConfiguration(currentConfig, 
toBeCreatedRuleConfig);
         Iterator<String> iterator = currentConfig.getTables().iterator();
         assertThat(iterator.next(), is("ds_0.foo"));
diff --git 
a/kernel/single/distsql/handler/src/test/java/org/apache/shardingsphere/single/distsql/handler/update/SetDefaultSingleTableStorageUnitExecutorTest.java
 
b/kernel/single/distsql/handler/src/test/java/org/apache/shardingsphere/single/distsql/handler/update/SetDefaultSingleTableStorageUnitExecutorTest.java
index dbdfba85a6e..877adb13eb7 100644
--- 
a/kernel/single/distsql/handler/src/test/java/org/apache/shardingsphere/single/distsql/handler/update/SetDefaultSingleTableStorageUnitExecutorTest.java
+++ 
b/kernel/single/distsql/handler/src/test/java/org/apache/shardingsphere/single/distsql/handler/update/SetDefaultSingleTableStorageUnitExecutorTest.java
@@ -47,7 +47,7 @@ class SetDefaultSingleTableStorageUnitExecutorTest {
     
     @Test
     void assertBuild() {
-        SingleRuleConfiguration toBeCreatedRuleConfig = 
executor.buildToBeCreatedRuleConfiguration(mock(SingleRuleConfiguration.class), 
new SetDefaultSingleTableStorageUnitStatement("foo_ds"));
+        SingleRuleConfiguration toBeCreatedRuleConfig = 
executor.buildToBeCreatedRuleConfiguration(new 
SetDefaultSingleTableStorageUnitStatement("foo_ds"), 
mock(SingleRuleConfiguration.class));
         assertTrue(toBeCreatedRuleConfig.getDefaultDataSource().isPresent());
         assertThat(toBeCreatedRuleConfig.getDefaultDataSource().get(), 
is("foo_ds"));
     }
@@ -55,7 +55,7 @@ class SetDefaultSingleTableStorageUnitExecutorTest {
     @Test
     void assertUpdate() {
         SingleRuleConfiguration currentConfig = new SingleRuleConfiguration();
-        SingleRuleConfiguration toBeCreatedRuleConfig = 
executor.buildToBeCreatedRuleConfiguration(currentConfig, new 
SetDefaultSingleTableStorageUnitStatement("foo_ds"));
+        SingleRuleConfiguration toBeCreatedRuleConfig = 
executor.buildToBeCreatedRuleConfiguration(new 
SetDefaultSingleTableStorageUnitStatement("foo_ds"), currentConfig);
         executor.updateCurrentRuleConfiguration(currentConfig, 
toBeCreatedRuleConfig);
         assertTrue(currentConfig.getDefaultDataSource().isPresent());
         assertThat(currentConfig.getDefaultDataSource().get(), is("foo_ds"));
@@ -64,7 +64,7 @@ class SetDefaultSingleTableStorageUnitExecutorTest {
     @Test
     void assertRandom() {
         SingleRuleConfiguration currentConfig = new SingleRuleConfiguration();
-        SingleRuleConfiguration toBeCreatedRuleConfig = 
executor.buildToBeCreatedRuleConfiguration(currentConfig, new 
SetDefaultSingleTableStorageUnitStatement(null));
+        SingleRuleConfiguration toBeCreatedRuleConfig = 
executor.buildToBeCreatedRuleConfiguration(new 
SetDefaultSingleTableStorageUnitStatement(null), currentConfig);
         executor.updateCurrentRuleConfiguration(currentConfig, 
toBeCreatedRuleConfig);
         assertFalse(currentConfig.getDefaultDataSource().isPresent());
     }
diff --git 
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/fixture/FixtureDatabaseRuleCreateExecutor.java
 
b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/fixture/FixtureDatabaseRuleCreateExecutor.java
index f6fd5529819..f25c8915a95 100644
--- 
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/fixture/FixtureDatabaseRuleCreateExecutor.java
+++ 
b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/fixture/FixtureDatabaseRuleCreateExecutor.java
@@ -27,7 +27,7 @@ public final class FixtureDatabaseRuleCreateExecutor 
implements DatabaseRuleCrea
     }
     
     @Override
-    public FixtureRuleConfiguration buildToBeCreatedRuleConfiguration(final 
FixtureRuleConfiguration currentRuleConfig, final CreateFixtureRuleStatement 
sqlStatement) {
+    public FixtureRuleConfiguration buildToBeCreatedRuleConfiguration(final 
CreateFixtureRuleStatement sqlStatement, final FixtureRuleConfiguration 
currentRuleConfig) {
         return new FixtureRuleConfiguration();
     }
     


Reply via email to