You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by su...@apache.org on 2022/10/25 16:04:30 UTC

[shardingsphere] branch master updated: Refactor dataSource event listener logic and fix it (#21695)

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

sunnianjun 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 d1a095fec13 Refactor dataSource event listener logic and fix it (#21695)
d1a095fec13 is described below

commit d1a095fec13a5de16d4198fb3a080bd5b3d7b159
Author: zhaojinchao <zh...@apache.org>
AuthorDate: Wed Oct 26 00:04:23 2022 +0800

    Refactor dataSource event listener logic and fix it (#21695)
    
    * Fix UNREGISTER STORAGE UNIT fail when has one STORAGE
    
    * Modify logic
    
    * Fix IT
    
    * Adjust xml style
    
    * Replace to LinkedHashMap
---
 .../shardingsphere/mode/manager/ContextManager.java     |  6 ++++--
 .../mode/manager/switcher/ResourceSwitchManager.java    | 15 ++++++++++++++-
 .../manager/switcher/ResourceSwitchManagerTest.java     | 13 +++++++++++++
 .../{ => cluster}/alter_sharding_rules_show_tables.xml  |  0
 .../alter_single_table_rules.xml}                       | 17 +++++++----------
 .../{ => cluster}/create_sharding_rules_show_tables.xml |  0
 .../create_single_table_rules.xml}                      | 17 +++++++----------
 .../{ => cluster}/drop_sharding_rules_show_tables.xml   |  0
 .../drop_single_table_rules.xml}                        | 16 ++++++----------
 .../alter_sharding_rules_show_tables.xml                |  2 +-
 .../alter_single_table_rules.xml}                       | 17 +++++++----------
 .../create_sharding_rules_show_tables.xml               |  2 +-
 .../create_single_table_rules.xml}                      | 17 +++++++----------
 .../drop_sharding_rules_show_tables.xml                 |  2 +-
 .../drop_single_table_rules.xml}                        | 16 ++++++----------
 .../resources/cases/rdl/rdl-integration-test-cases.xml  |  8 ++++----
 16 files changed, 78 insertions(+), 70 deletions(-)

diff --git a/mode/core/src/main/java/org/apache/shardingsphere/mode/manager/ContextManager.java b/mode/core/src/main/java/org/apache/shardingsphere/mode/manager/ContextManager.java
index 6fd285ca250..afdafd45914 100644
--- a/mode/core/src/main/java/org/apache/shardingsphere/mode/manager/ContextManager.java
+++ b/mode/core/src/main/java/org/apache/shardingsphere/mode/manager/ContextManager.java
@@ -307,7 +307,7 @@ public final class ContextManager implements AutoCloseable {
         Map<String, ShardingSphereDatabase> result = new LinkedHashMap<>(1, 1);
         Map<String, DataSource> newDataSource =
                 database.getResourceMetaData().getDataSources().entrySet().stream().filter(entry -> !resource.getStaleDataSources().containsKey(entry.getKey()))
-                        .collect(Collectors.toMap(Entry::getKey, Entry::getValue));
+                        .collect(Collectors.toMap(Entry::getKey, Entry::getValue, (oldValue, currentValue) -> oldValue, LinkedHashMap::new));
         result.put(database.getName().toLowerCase(),
                 new ShardingSphereDatabase(database.getName(), database.getProtocolType(), new ShardingSphereResourceMetaData(database.getName(), newDataSource),
                         database.getRuleMetaData(), database.getSchemas()));
@@ -360,7 +360,9 @@ public final class ContextManager implements AutoCloseable {
         try {
             Collection<ResourceHeldRule> staleResourceHeldRules = getStaleResourceHeldRules(databaseName);
             staleResourceHeldRules.forEach(ResourceHeldRule::closeStaleResource);
-            SwitchingResource switchingResource = new ResourceSwitchManager().create(metaDataContexts.getMetaData().getDatabase(databaseName).getResourceMetaData(), dataSourcePropsMap);
+            SwitchingResource switchingResource =
+                    new ResourceSwitchManager().createByAlterDataSourceProps(metaDataContexts.getMetaData().getDatabase(databaseName).getResourceMetaData(), dataSourcePropsMap);
+            metaDataContexts.getMetaData().getDatabases().putAll(renewDatabase(metaDataContexts.getMetaData().getDatabase(databaseName), switchingResource));
             metaDataContexts = createMetaDataContexts(databaseName, switchingResource, null);
             metaDataContexts.getMetaData().getDatabases().putAll(newShardingSphereDatabase(metaDataContexts.getMetaData().getDatabase(databaseName)));
             switchingResource.closeStaleDataSources();
diff --git a/mode/core/src/main/java/org/apache/shardingsphere/mode/manager/switcher/ResourceSwitchManager.java b/mode/core/src/main/java/org/apache/shardingsphere/mode/manager/switcher/ResourceSwitchManager.java
index 812ee15d1f4..8b26db6c668 100644
--- a/mode/core/src/main/java/org/apache/shardingsphere/mode/manager/switcher/ResourceSwitchManager.java
+++ b/mode/core/src/main/java/org/apache/shardingsphere/mode/manager/switcher/ResourceSwitchManager.java
@@ -46,7 +46,7 @@ public final class ResourceSwitchManager {
     }
     
     /**
-     * Create switching resource.
+     * Create switching resource by drop resource.
      *
      * @param resourceMetaData resource meta data
      * @param toBeDeletedDataSourceProps to be deleted data source properties map
@@ -56,6 +56,19 @@ public final class ResourceSwitchManager {
         return new SwitchingResource(resourceMetaData, Collections.emptyMap(), getStaleDataSources(resourceMetaData.getDataSources(), toBeDeletedDataSourceProps));
     }
     
+    /**
+     * Create switching resource by alter data source props.
+     *
+     * @param resourceMetaData resource meta data
+     * @param toBeChangedDataSourceProps to be changed data source properties map
+     * @return created switching resource
+     */
+    public SwitchingResource createByAlterDataSourceProps(final ShardingSphereResourceMetaData resourceMetaData, final Map<String, DataSourceProperties> toBeChangedDataSourceProps) {
+        Map<String, DataSource> staleDataSources = getStaleDataSources(resourceMetaData, toBeChangedDataSourceProps);
+        staleDataSources.putAll(getToBeDeletedDataSources(resourceMetaData, toBeChangedDataSourceProps));
+        return new SwitchingResource(resourceMetaData, createNewDataSources(resourceMetaData, toBeChangedDataSourceProps), staleDataSources);
+    }
+    
     private Map<String, DataSource> createNewDataSources(final ShardingSphereResourceMetaData resourceMetaData, final Map<String, DataSourceProperties> toBeChangedDataSourceProps) {
         Map<String, DataSource> result = new LinkedHashMap<>(resourceMetaData.getDataSources());
         result.keySet().removeAll(getToBeDeletedDataSources(resourceMetaData, toBeChangedDataSourceProps).keySet());
diff --git a/mode/core/src/test/java/org/apache/shardingsphere/mode/manager/switcher/ResourceSwitchManagerTest.java b/mode/core/src/test/java/org/apache/shardingsphere/mode/manager/switcher/ResourceSwitchManagerTest.java
index 453cfdb992c..f9d9a6cf812 100644
--- a/mode/core/src/test/java/org/apache/shardingsphere/mode/manager/switcher/ResourceSwitchManagerTest.java
+++ b/mode/core/src/test/java/org/apache/shardingsphere/mode/manager/switcher/ResourceSwitchManagerTest.java
@@ -43,6 +43,19 @@ public final class ResourceSwitchManagerTest {
         assertStaleDataSources(dataSourceMap);
     }
     
+    @Test
+    public void assertCreateByAlterDataSourceProps() throws InterruptedException {
+        Map<String, DataSource> dataSourceMap = new HashMap<>(3, 1);
+        dataSourceMap.put("ds_0", new MockedDataSource());
+        dataSourceMap.put("ds_1", new MockedDataSource());
+        SwitchingResource actual = new ResourceSwitchManager().createByAlterDataSourceProps(new ShardingSphereResourceMetaData("sharding_db", dataSourceMap), Collections.emptyMap());
+        assertThat(actual.getNewDataSources().size(), is(0));
+        assertThat(actual.getStaleDataSources().size(), is(2));
+        actual.closeStaleDataSources();
+        assertStaleDataSource((MockedDataSource) dataSourceMap.get("ds_0"));
+        assertStaleDataSource((MockedDataSource) dataSourceMap.get("ds_1"));
+    }
+    
     private Map<String, DataSource> createDataSourceMap() {
         Map<String, DataSource> result = new HashMap<>(3, 1);
         result.put("not_change", new MockedDataSource());
diff --git a/test/integration-test/test-suite/src/test/resources/cases/rdl/dataset/rdl_empty_rules/alter_sharding_rules_show_tables.xml b/test/integration-test/test-suite/src/test/resources/cases/rdl/dataset/rdl_empty_rules/cluster/alter_sharding_rules_show_tables.xml
similarity index 100%
copy from test/integration-test/test-suite/src/test/resources/cases/rdl/dataset/rdl_empty_rules/alter_sharding_rules_show_tables.xml
copy to test/integration-test/test-suite/src/test/resources/cases/rdl/dataset/rdl_empty_rules/cluster/alter_sharding_rules_show_tables.xml
diff --git a/test/integration-test/test-suite/src/test/resources/cases/rdl/dataset/rdl_empty_rules/alter_sharding_rules_show_tables.xml b/test/integration-test/test-suite/src/test/resources/cases/rdl/dataset/rdl_empty_rules/cluster/alter_single_table_rules.xml
similarity index 65%
copy from test/integration-test/test-suite/src/test/resources/cases/rdl/dataset/rdl_empty_rules/alter_sharding_rules_show_tables.xml
copy to test/integration-test/test-suite/src/test/resources/cases/rdl/dataset/rdl_empty_rules/cluster/alter_single_table_rules.xml
index 991d020aefc..484357834d2 100644
--- a/test/integration-test/test-suite/src/test/resources/cases/rdl/dataset/rdl_empty_rules/alter_sharding_rules_show_tables.xml
+++ b/test/integration-test/test-suite/src/test/resources/cases/rdl/dataset/rdl_empty_rules/cluster/alter_single_table_rules.xml
@@ -17,15 +17,12 @@
 
 <dataset>
     <metadata>
-        <column name="Tables_in_rdl_empty_rules" />
-        <column name="Table_type" />
+        <column name="table_name" />
+        <column name="resource_name" />
     </metadata>
-    <row values="t_order_item_2| BASE TABLE" />
-    <row values="t_order_item_3| BASE TABLE" />
-    <row values="t_order_item_0| BASE TABLE" />
-    <row values="t_country| BASE TABLE" />
-    <row values="t_order_item_1| BASE TABLE" />
-    <row values="t_order| BASE TABLE" />
-    <row values="t_user| BASE TABLE" />
-    <row values="t_product_category| BASE TABLE" />
+    <row values="t_country| ds_2" />
+    <row values="t_user| ds_0" />
+    <row values="temp_alter| ds_0" />
+    <row values="t_product_category| ds_2" />
 </dataset>
+
diff --git a/test/integration-test/test-suite/src/test/resources/cases/rdl/dataset/rdl_empty_rules/create_sharding_rules_show_tables.xml b/test/integration-test/test-suite/src/test/resources/cases/rdl/dataset/rdl_empty_rules/cluster/create_sharding_rules_show_tables.xml
similarity index 100%
copy from test/integration-test/test-suite/src/test/resources/cases/rdl/dataset/rdl_empty_rules/create_sharding_rules_show_tables.xml
copy to test/integration-test/test-suite/src/test/resources/cases/rdl/dataset/rdl_empty_rules/cluster/create_sharding_rules_show_tables.xml
diff --git a/test/integration-test/test-suite/src/test/resources/cases/rdl/dataset/rdl_empty_rules/alter_sharding_rules_show_tables.xml b/test/integration-test/test-suite/src/test/resources/cases/rdl/dataset/rdl_empty_rules/cluster/create_single_table_rules.xml
similarity index 65%
copy from test/integration-test/test-suite/src/test/resources/cases/rdl/dataset/rdl_empty_rules/alter_sharding_rules_show_tables.xml
copy to test/integration-test/test-suite/src/test/resources/cases/rdl/dataset/rdl_empty_rules/cluster/create_single_table_rules.xml
index 991d020aefc..61733b93110 100644
--- a/test/integration-test/test-suite/src/test/resources/cases/rdl/dataset/rdl_empty_rules/alter_sharding_rules_show_tables.xml
+++ b/test/integration-test/test-suite/src/test/resources/cases/rdl/dataset/rdl_empty_rules/cluster/create_single_table_rules.xml
@@ -17,15 +17,12 @@
 
 <dataset>
     <metadata>
-        <column name="Tables_in_rdl_empty_rules" />
-        <column name="Table_type" />
+        <column name="table_name" />
+        <column name="resource_name" />
     </metadata>
-    <row values="t_order_item_2| BASE TABLE" />
-    <row values="t_order_item_3| BASE TABLE" />
-    <row values="t_order_item_0| BASE TABLE" />
-    <row values="t_country| BASE TABLE" />
-    <row values="t_order_item_1| BASE TABLE" />
-    <row values="t_order| BASE TABLE" />
-    <row values="t_user| BASE TABLE" />
-    <row values="t_product_category| BASE TABLE" />
+    <row values="temp| ds_1" />
+    <row values="t_country| ds_2" />
+    <row values="t_user| ds_0" />
+    <row values="t_product_category| ds_2" />
 </dataset>
+
diff --git a/test/integration-test/test-suite/src/test/resources/cases/rdl/dataset/rdl_empty_rules/drop_sharding_rules_show_tables.xml b/test/integration-test/test-suite/src/test/resources/cases/rdl/dataset/rdl_empty_rules/cluster/drop_sharding_rules_show_tables.xml
similarity index 100%
copy from test/integration-test/test-suite/src/test/resources/cases/rdl/dataset/rdl_empty_rules/drop_sharding_rules_show_tables.xml
copy to test/integration-test/test-suite/src/test/resources/cases/rdl/dataset/rdl_empty_rules/cluster/drop_sharding_rules_show_tables.xml
diff --git a/test/integration-test/test-suite/src/test/resources/cases/rdl/dataset/rdl_empty_rules/alter_sharding_rules_show_tables.xml b/test/integration-test/test-suite/src/test/resources/cases/rdl/dataset/rdl_empty_rules/cluster/drop_single_table_rules.xml
similarity index 65%
copy from test/integration-test/test-suite/src/test/resources/cases/rdl/dataset/rdl_empty_rules/alter_sharding_rules_show_tables.xml
copy to test/integration-test/test-suite/src/test/resources/cases/rdl/dataset/rdl_empty_rules/cluster/drop_single_table_rules.xml
index 991d020aefc..5fac1318fc5 100644
--- a/test/integration-test/test-suite/src/test/resources/cases/rdl/dataset/rdl_empty_rules/alter_sharding_rules_show_tables.xml
+++ b/test/integration-test/test-suite/src/test/resources/cases/rdl/dataset/rdl_empty_rules/cluster/drop_single_table_rules.xml
@@ -17,15 +17,11 @@
 
 <dataset>
     <metadata>
-        <column name="Tables_in_rdl_empty_rules" />
-        <column name="Table_type" />
+        <column name="table_name" />
+        <column name="resource_name" />
     </metadata>
-    <row values="t_order_item_2| BASE TABLE" />
-    <row values="t_order_item_3| BASE TABLE" />
-    <row values="t_order_item_0| BASE TABLE" />
-    <row values="t_country| BASE TABLE" />
-    <row values="t_order_item_1| BASE TABLE" />
-    <row values="t_order| BASE TABLE" />
-    <row values="t_user| BASE TABLE" />
-    <row values="t_product_category| BASE TABLE" />
+    <row values="t_country| ds_2" />
+    <row values="t_user| ds_0" />
+    <row values="t_product_category| ds_2" />
 </dataset>
+
diff --git a/test/integration-test/test-suite/src/test/resources/cases/rdl/dataset/rdl_empty_rules/alter_sharding_rules_show_tables.xml b/test/integration-test/test-suite/src/test/resources/cases/rdl/dataset/rdl_empty_rules/standalone/alter_sharding_rules_show_tables.xml
similarity index 100%
copy from test/integration-test/test-suite/src/test/resources/cases/rdl/dataset/rdl_empty_rules/alter_sharding_rules_show_tables.xml
copy to test/integration-test/test-suite/src/test/resources/cases/rdl/dataset/rdl_empty_rules/standalone/alter_sharding_rules_show_tables.xml
index 991d020aefc..cba857752a9 100644
--- a/test/integration-test/test-suite/src/test/resources/cases/rdl/dataset/rdl_empty_rules/alter_sharding_rules_show_tables.xml
+++ b/test/integration-test/test-suite/src/test/resources/cases/rdl/dataset/rdl_empty_rules/standalone/alter_sharding_rules_show_tables.xml
@@ -22,8 +22,8 @@
     </metadata>
     <row values="t_order_item_2| BASE TABLE" />
     <row values="t_order_item_3| BASE TABLE" />
-    <row values="t_order_item_0| BASE TABLE" />
     <row values="t_country| BASE TABLE" />
+    <row values="t_order_item_0| BASE TABLE" />
     <row values="t_order_item_1| BASE TABLE" />
     <row values="t_order| BASE TABLE" />
     <row values="t_user| BASE TABLE" />
diff --git a/test/integration-test/test-suite/src/test/resources/cases/rdl/dataset/rdl_empty_rules/alter_sharding_rules_show_tables.xml b/test/integration-test/test-suite/src/test/resources/cases/rdl/dataset/rdl_empty_rules/standalone/alter_single_table_rules.xml
similarity index 65%
copy from test/integration-test/test-suite/src/test/resources/cases/rdl/dataset/rdl_empty_rules/alter_sharding_rules_show_tables.xml
copy to test/integration-test/test-suite/src/test/resources/cases/rdl/dataset/rdl_empty_rules/standalone/alter_single_table_rules.xml
index 991d020aefc..484357834d2 100644
--- a/test/integration-test/test-suite/src/test/resources/cases/rdl/dataset/rdl_empty_rules/alter_sharding_rules_show_tables.xml
+++ b/test/integration-test/test-suite/src/test/resources/cases/rdl/dataset/rdl_empty_rules/standalone/alter_single_table_rules.xml
@@ -17,15 +17,12 @@
 
 <dataset>
     <metadata>
-        <column name="Tables_in_rdl_empty_rules" />
-        <column name="Table_type" />
+        <column name="table_name" />
+        <column name="resource_name" />
     </metadata>
-    <row values="t_order_item_2| BASE TABLE" />
-    <row values="t_order_item_3| BASE TABLE" />
-    <row values="t_order_item_0| BASE TABLE" />
-    <row values="t_country| BASE TABLE" />
-    <row values="t_order_item_1| BASE TABLE" />
-    <row values="t_order| BASE TABLE" />
-    <row values="t_user| BASE TABLE" />
-    <row values="t_product_category| BASE TABLE" />
+    <row values="t_country| ds_2" />
+    <row values="t_user| ds_0" />
+    <row values="temp_alter| ds_0" />
+    <row values="t_product_category| ds_2" />
 </dataset>
+
diff --git a/test/integration-test/test-suite/src/test/resources/cases/rdl/dataset/rdl_empty_rules/create_sharding_rules_show_tables.xml b/test/integration-test/test-suite/src/test/resources/cases/rdl/dataset/rdl_empty_rules/standalone/create_sharding_rules_show_tables.xml
similarity index 100%
rename from test/integration-test/test-suite/src/test/resources/cases/rdl/dataset/rdl_empty_rules/create_sharding_rules_show_tables.xml
rename to test/integration-test/test-suite/src/test/resources/cases/rdl/dataset/rdl_empty_rules/standalone/create_sharding_rules_show_tables.xml
index c6d50b6379d..3f73edff3ed 100644
--- a/test/integration-test/test-suite/src/test/resources/cases/rdl/dataset/rdl_empty_rules/create_sharding_rules_show_tables.xml
+++ b/test/integration-test/test-suite/src/test/resources/cases/rdl/dataset/rdl_empty_rules/standalone/create_sharding_rules_show_tables.xml
@@ -22,8 +22,8 @@
     </metadata>
     <row values="t_order_item_2| BASE TABLE" />
     <row values="t_order_item_3| BASE TABLE" />
-    <row values="t_order_item_0| BASE TABLE" />
     <row values="t_country| BASE TABLE" />
+    <row values="t_order_item_0| BASE TABLE" />
     <row values="t_order_item_1| BASE TABLE" />
     <row values="t_order| BASE TABLE" />
     <row values="t_user| BASE TABLE" />
diff --git a/test/integration-test/test-suite/src/test/resources/cases/rdl/dataset/rdl_empty_rules/alter_sharding_rules_show_tables.xml b/test/integration-test/test-suite/src/test/resources/cases/rdl/dataset/rdl_empty_rules/standalone/create_single_table_rules.xml
similarity index 65%
copy from test/integration-test/test-suite/src/test/resources/cases/rdl/dataset/rdl_empty_rules/alter_sharding_rules_show_tables.xml
copy to test/integration-test/test-suite/src/test/resources/cases/rdl/dataset/rdl_empty_rules/standalone/create_single_table_rules.xml
index 991d020aefc..bbfbe43b33c 100644
--- a/test/integration-test/test-suite/src/test/resources/cases/rdl/dataset/rdl_empty_rules/alter_sharding_rules_show_tables.xml
+++ b/test/integration-test/test-suite/src/test/resources/cases/rdl/dataset/rdl_empty_rules/standalone/create_single_table_rules.xml
@@ -17,15 +17,12 @@
 
 <dataset>
     <metadata>
-        <column name="Tables_in_rdl_empty_rules" />
-        <column name="Table_type" />
+        <column name="table_name" />
+        <column name="resource_name" />
     </metadata>
-    <row values="t_order_item_2| BASE TABLE" />
-    <row values="t_order_item_3| BASE TABLE" />
-    <row values="t_order_item_0| BASE TABLE" />
-    <row values="t_country| BASE TABLE" />
-    <row values="t_order_item_1| BASE TABLE" />
-    <row values="t_order| BASE TABLE" />
-    <row values="t_user| BASE TABLE" />
-    <row values="t_product_category| BASE TABLE" />
+    <row values="t_country| ds_2" />
+    <row values="temp| ds_1" />
+    <row values="t_user| ds_0" />
+    <row values="t_product_category| ds_2" />
 </dataset>
+
diff --git a/test/integration-test/test-suite/src/test/resources/cases/rdl/dataset/rdl_empty_rules/drop_sharding_rules_show_tables.xml b/test/integration-test/test-suite/src/test/resources/cases/rdl/dataset/rdl_empty_rules/standalone/drop_sharding_rules_show_tables.xml
similarity index 100%
rename from test/integration-test/test-suite/src/test/resources/cases/rdl/dataset/rdl_empty_rules/drop_sharding_rules_show_tables.xml
rename to test/integration-test/test-suite/src/test/resources/cases/rdl/dataset/rdl_empty_rules/standalone/drop_sharding_rules_show_tables.xml
index 529b4107329..42639e2cc9c 100644
--- a/test/integration-test/test-suite/src/test/resources/cases/rdl/dataset/rdl_empty_rules/drop_sharding_rules_show_tables.xml
+++ b/test/integration-test/test-suite/src/test/resources/cases/rdl/dataset/rdl_empty_rules/standalone/drop_sharding_rules_show_tables.xml
@@ -22,8 +22,8 @@
     </metadata>
     <row values="t_order_item_2| BASE TABLE" />
     <row values="t_order_item_3| BASE TABLE" />
-    <row values="t_order_item_0| BASE TABLE" />
     <row values="t_country| BASE TABLE" />
+    <row values="t_order_item_0| BASE TABLE" />
     <row values="t_order_item_1| BASE TABLE" />
     <row values="t_user| BASE TABLE" />
     <row values="t_order_2| BASE TABLE" />
diff --git a/test/integration-test/test-suite/src/test/resources/cases/rdl/dataset/rdl_empty_rules/alter_sharding_rules_show_tables.xml b/test/integration-test/test-suite/src/test/resources/cases/rdl/dataset/rdl_empty_rules/standalone/drop_single_table_rules.xml
similarity index 65%
rename from test/integration-test/test-suite/src/test/resources/cases/rdl/dataset/rdl_empty_rules/alter_sharding_rules_show_tables.xml
rename to test/integration-test/test-suite/src/test/resources/cases/rdl/dataset/rdl_empty_rules/standalone/drop_single_table_rules.xml
index 991d020aefc..5fac1318fc5 100644
--- a/test/integration-test/test-suite/src/test/resources/cases/rdl/dataset/rdl_empty_rules/alter_sharding_rules_show_tables.xml
+++ b/test/integration-test/test-suite/src/test/resources/cases/rdl/dataset/rdl_empty_rules/standalone/drop_single_table_rules.xml
@@ -17,15 +17,11 @@
 
 <dataset>
     <metadata>
-        <column name="Tables_in_rdl_empty_rules" />
-        <column name="Table_type" />
+        <column name="table_name" />
+        <column name="resource_name" />
     </metadata>
-    <row values="t_order_item_2| BASE TABLE" />
-    <row values="t_order_item_3| BASE TABLE" />
-    <row values="t_order_item_0| BASE TABLE" />
-    <row values="t_country| BASE TABLE" />
-    <row values="t_order_item_1| BASE TABLE" />
-    <row values="t_order| BASE TABLE" />
-    <row values="t_user| BASE TABLE" />
-    <row values="t_product_category| BASE TABLE" />
+    <row values="t_country| ds_2" />
+    <row values="t_user| ds_0" />
+    <row values="t_product_category| ds_2" />
 </dataset>
+
diff --git a/test/integration-test/test-suite/src/test/resources/cases/rdl/rdl-integration-test-cases.xml b/test/integration-test/test-suite/src/test/resources/cases/rdl/rdl-integration-test-cases.xml
index 5624266f504..68bffede57a 100644
--- a/test/integration-test/test-suite/src/test/resources/cases/rdl/rdl-integration-test-cases.xml
+++ b/test/integration-test/test-suite/src/test/resources/cases/rdl/rdl-integration-test-cases.xml
@@ -34,7 +34,7 @@
     <test-case sql="CREATE SHARDING BINDING TABLE RULES (t_order,t_order_item);" db-types="MySQL, PostgreSQL">
         <assertion expected-data-file="create_binding_rules.xml">
             <initial-sql sql="CREATE SHARDING TABLE RULE t_order (DATANODES('ds_2.t_order_${0..1}'),TABLE_STRATEGY(TYPE='standard',SHARDING_COLUMN=order_id,SHARDING_ALGORITHM(TYPE(NAME='inline',PROPERTIES('algorithm-expression'='t_order_${order_id % 2}')))));
-            CREATE SHARDING TABLE RULE t_order_item (DATANODES('ds_2.t_order_item_${0..1}'),TABLE_STRATEGY(TYPE='standard',SHARDING_COLUMN=order_id,SHARDING_ALGORITHM(TYPE(NAME='inline',PROPERTIES('algorithm-expression'='t_order_item_${order_id % 2}')))));"></initial-sql>
+            CREATE SHARDING TABLE RULE t_order_item (DATANODES('ds_2.t_order_item_${0..1}'),TABLE_STRATEGY(TYPE='standard',SHARDING_COLUMN=order_id,SHARDING_ALGORITHM(TYPE(NAME='inline',PROPERTIES('algorithm-expression'='t_order_item_${order_id % 2}')))));"/>
             <assertion-sql sql="SHOW SHARDING BINDING TABLE RULES;" />
             <destroy-sql sql="DROP SHARDING BINDING TABLE RULES;DROP SHARDING TABLE RULE t_order;DROP SHARDING TABLE RULE t_order_item;"/>
         </assertion>
@@ -43,7 +43,7 @@
         <assertion expected-data-file="alter_binding_rules.xml">
             <initial-sql sql="CREATE SHARDING TABLE RULE t_order (DATANODES('ds_2.t_order_${0..1}'),TABLE_STRATEGY(TYPE='standard',SHARDING_COLUMN=order_id,SHARDING_ALGORITHM(TYPE(NAME='inline',PROPERTIES('algorithm-expression'='t_order_${order_id % 2}')))));
             CREATE SHARDING TABLE RULE t_order_item (DATANODES('ds_2.t_order_item_${0..1}'),TABLE_STRATEGY(TYPE='standard',SHARDING_COLUMN=order_id,SHARDING_ALGORITHM(TYPE(NAME='inline',PROPERTIES('algorithm-expression'='t_order_item_${order_id % 2}')))));
-            CREATE SHARDING BINDING TABLE RULES (t_order,t_order_item);"></initial-sql>
+            CREATE SHARDING BINDING TABLE RULES (t_order,t_order_item);"/>
             <assertion-sql sql="SHOW SHARDING BINDING TABLE RULES;" />
             <destroy-sql sql="DROP SHARDING BINDING TABLE RULES;DROP SHARDING TABLE RULE t_order;DROP SHARDING TABLE RULE t_order_item;"/>
         </assertion>
@@ -52,7 +52,7 @@
         <assertion expected-data-file="drop_binding_rules.xml">
             <initial-sql sql="CREATE SHARDING TABLE RULE t_order (DATANODES('ds_2.t_order_${0..1}'),TABLE_STRATEGY(TYPE='standard',SHARDING_COLUMN=order_id,SHARDING_ALGORITHM(TYPE(NAME='inline',PROPERTIES('algorithm-expression'='t_order_${order_id % 2}')))));
             CREATE SHARDING TABLE RULE t_order_item (DATANODES('ds_2.t_order_item_${0..1}'),TABLE_STRATEGY(TYPE='standard',SHARDING_COLUMN=order_id,SHARDING_ALGORITHM(TYPE(NAME='inline',PROPERTIES('algorithm-expression'='t_order_item_${order_id % 2}')))));
-            CREATE SHARDING BINDING TABLE RULES (t_order,t_order_item);"></initial-sql>
+            CREATE SHARDING BINDING TABLE RULES (t_order,t_order_item);"/>
             <assertion-sql sql="SHOW SHARDING BINDING TABLE RULES;" />
             <destroy-sql sql="DROP SHARDING TABLE RULE t_order;DROP SHARDING TABLE RULE t_order_item;"/>
         </assertion>
@@ -92,7 +92,7 @@
         <assertion expected-data-file="create_single_table_rules.xml">
             <initial-sql sql="CREATE SHARDING TABLE RULE t_order (DATANODES('ds_2.t_order_${0..3}'),TABLE_STRATEGY(TYPE='standard',SHARDING_COLUMN=order_id,SHARDING_ALGORITHM(TYPE(NAME='inline',PROPERTIES('algorithm-expression'='t_order_${order_id % 4}')))));
             CREATE SHARDING TABLE RULE t_order_item (DATANODES('ds_2.t_order_item_${0..3}'),TABLE_STRATEGY(TYPE='standard',SHARDING_COLUMN=order_id,SHARDING_ALGORITHM(TYPE(NAME='inline',PROPERTIES('algorithm-expression'='t_order_item_${order_id % 4}')))));
-            SET DEFAULT SINGLE TABLE STORAGE UNIT = ds_1;"></initial-sql>
+            SET DEFAULT SINGLE TABLE STORAGE UNIT = ds_1;"/>
             <assertion-sql sql="SHOW SINGLE TABLES ;" />
             <destroy-sql sql="DROP TABLE temp;SET DEFAULT SINGLE TABLE STORAGE UNIT = RANDOM;DROP SHARDING TABLE RULE t_order;DROP SHARDING TABLE RULE t_order_item;"/>
         </assertion>