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

duanzhengqiang 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 bf918cf641f add test case for binding, broadcast , encrypt rules 
(#21648)
bf918cf641f is described below

commit bf918cf641fd8ded4d2fcfbd54451a8dfc4c2b55
Author: tianhao960 <[email protected]>
AuthorDate: Fri Oct 21 14:41:13 2022 +0800

    add test case for binding, broadcast , encrypt rules (#21648)
    
    * add test case for single table rule
    
    * add test case for binding, broadcast , encrypt rules
    
    * resolve conflict and merge master
    
    * refactor to use standard table and add more test cases for postgres
---
 .../rdl_empty_rules/alter_binding_rules.xml        |   2 +-
 ...oadcast_rules.xml => alter_broadcast_rules.xml} |   3 +-
 .../dataset/rdl_empty_rules/alter_encrypt_rule.xml |   2 +-
 .../rdl_empty_rules/alter_sharding_rules.xml       |   2 +-
 .../alter_sharding_rules_show_tables.xml           |   8 +-
 ...able_rules.xml => alter_single_table_rules.xml} |  10 +-
 .../rdl_empty_rules/create_binding_rules.xml       |   2 +-
 .../rdl_empty_rules/create_broadcast_rules.xml     |   2 +-
 .../rdl_empty_rules/create_sharding_rules.xml      |   2 +-
 .../create_sharding_rules_show_tables.xml          |  12 ++-
 .../rdl_empty_rules/create_single_table_rules.xml  |  10 +-
 .../drop_sharding_rules_show_tables.xml            |  16 ++-
 ...table_rules.xml => drop_single_table_rules.xml} |   9 +-
 .../cases/rdl/rdl-integration-test-cases.xml       | 111 +++++++++++++++++----
 .../data/actual/init-sql/mysql/01-actual-init.sql  |  40 ++++++--
 .../actual/init-sql/postgresql/01-actual-init.sql  |  36 ++++++-
 16 files changed, 205 insertions(+), 62 deletions(-)

diff --git 
a/test/integration-test/test-suite/src/test/resources/cases/rdl/dataset/rdl_empty_rules/alter_binding_rules.xml
 
b/test/integration-test/test-suite/src/test/resources/cases/rdl/dataset/rdl_empty_rules/alter_binding_rules.xml
index f3a500325f2..e3e3e5128ad 100644
--- 
a/test/integration-test/test-suite/src/test/resources/cases/rdl/dataset/rdl_empty_rules/alter_binding_rules.xml
+++ 
b/test/integration-test/test-suite/src/test/resources/cases/rdl/dataset/rdl_empty_rules/alter_binding_rules.xml
@@ -19,5 +19,5 @@
     <metadata>
         <column name="sharding_binding_tables" />
     </metadata>
-    <row values="t_user,t_user_item" />
+    <row values="t_order,t_order_item" />
 </dataset>
diff --git 
a/test/integration-test/test-suite/src/test/resources/cases/rdl/dataset/rdl_empty_rules/create_broadcast_rules.xml
 
b/test/integration-test/test-suite/src/test/resources/cases/rdl/dataset/rdl_empty_rules/alter_broadcast_rules.xml
similarity index 92%
copy from 
test/integration-test/test-suite/src/test/resources/cases/rdl/dataset/rdl_empty_rules/create_broadcast_rules.xml
copy to 
test/integration-test/test-suite/src/test/resources/cases/rdl/dataset/rdl_empty_rules/alter_broadcast_rules.xml
index d527d317266..1dfd1c72379 100644
--- 
a/test/integration-test/test-suite/src/test/resources/cases/rdl/dataset/rdl_empty_rules/create_broadcast_rules.xml
+++ 
b/test/integration-test/test-suite/src/test/resources/cases/rdl/dataset/rdl_empty_rules/alter_broadcast_rules.xml
@@ -19,5 +19,6 @@
     <metadata>
         <column name="sharding_broadcast_tables" />
     </metadata>
-    <row values="t_broadcast_table" />
+    <row values="t_country" />
+    <row values="t_product_category" />
 </dataset>
diff --git 
a/test/integration-test/test-suite/src/test/resources/cases/rdl/dataset/rdl_empty_rules/alter_encrypt_rule.xml
 
b/test/integration-test/test-suite/src/test/resources/cases/rdl/dataset/rdl_empty_rules/alter_encrypt_rule.xml
index fd3507681c3..1ad36014694 100644
--- 
a/test/integration-test/test-suite/src/test/resources/cases/rdl/dataset/rdl_empty_rules/alter_encrypt_rule.xml
+++ 
b/test/integration-test/test-suite/src/test/resources/cases/rdl/dataset/rdl_empty_rules/alter_encrypt_rule.xml
@@ -30,5 +30,5 @@
         <column name="encryptor_props" />
         <column name="query_with_cipher_column" />
     </metadata>
-    <row values="t_user| pwd| | pwd_cipher| | pwd_plain| | | | AES| 
aes-key-value=123abc| true" />
+    <row values="t_user| pwd| | pwd_cipher| | pwd_plain| | | | AES| 
aes-key-value=123456abcd| true" />
 </dataset>
diff --git 
a/test/integration-test/test-suite/src/test/resources/cases/rdl/dataset/rdl_empty_rules/alter_sharding_rules.xml
 
b/test/integration-test/test-suite/src/test/resources/cases/rdl/dataset/rdl_empty_rules/alter_sharding_rules.xml
index e7c1cc5a6b4..7e7ca28af32 100644
--- 
a/test/integration-test/test-suite/src/test/resources/cases/rdl/dataset/rdl_empty_rules/alter_sharding_rules.xml
+++ 
b/test/integration-test/test-suite/src/test/resources/cases/rdl/dataset/rdl_empty_rules/alter_sharding_rules.xml
@@ -34,5 +34,5 @@
         <column name="auditor_types" />
         <column name="allow_hint_disable" />
     </metadata>
-    <row values="t_user| ds_0.t_user_${0..3} | | | | | | STANDARD | user_id| 
inline| algorithm-expression=t_user_${user_id % 4} | | | | |" />
+    <row values="t_order| ds_2.t_order_${0..3} | | | | | | STANDARD | 
order_id| inline| algorithm-expression=t_order_${order_id % 4} | | | | |" />
 </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/alter_sharding_rules_show_tables.xml
index 0d0c6d5a217..991d020aefc 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/alter_sharding_rules_show_tables.xml
@@ -20,6 +20,12 @@
         <column name="Tables_in_rdl_empty_rules" />
         <column name="Table_type" />
     </metadata>
-    <row values="t_user_4| BASE TABLE" />
+    <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" />
 </dataset>
diff --git 
a/test/integration-test/test-suite/src/test/resources/cases/rdl/dataset/rdl_empty_rules/create_single_table_rules.xml
 
b/test/integration-test/test-suite/src/test/resources/cases/rdl/dataset/rdl_empty_rules/alter_single_table_rules.xml
similarity index 84%
copy from 
test/integration-test/test-suite/src/test/resources/cases/rdl/dataset/rdl_empty_rules/create_single_table_rules.xml
copy to 
test/integration-test/test-suite/src/test/resources/cases/rdl/dataset/rdl_empty_rules/alter_single_table_rules.xml
index 3844292733d..484357834d2 100644
--- 
a/test/integration-test/test-suite/src/test/resources/cases/rdl/dataset/rdl_empty_rules/create_single_table_rules.xml
+++ 
b/test/integration-test/test-suite/src/test/resources/cases/rdl/dataset/rdl_empty_rules/alter_single_table_rules.xml
@@ -20,9 +20,9 @@
         <column name="table_name" />
         <column name="resource_name" />
     </metadata>
-    <row values="t_user_0| ds_0" />
-    <row values="t_user_4| ds_0" />
-    <row values="t_user_3| ds_0" />
-    <row values="t_user_2| ds_0" />
-    <row values="t_user_1| ds_0" />
+    <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_binding_rules.xml
 
b/test/integration-test/test-suite/src/test/resources/cases/rdl/dataset/rdl_empty_rules/create_binding_rules.xml
index f3a500325f2..e3e3e5128ad 100644
--- 
a/test/integration-test/test-suite/src/test/resources/cases/rdl/dataset/rdl_empty_rules/create_binding_rules.xml
+++ 
b/test/integration-test/test-suite/src/test/resources/cases/rdl/dataset/rdl_empty_rules/create_binding_rules.xml
@@ -19,5 +19,5 @@
     <metadata>
         <column name="sharding_binding_tables" />
     </metadata>
-    <row values="t_user,t_user_item" />
+    <row values="t_order,t_order_item" />
 </dataset>
diff --git 
a/test/integration-test/test-suite/src/test/resources/cases/rdl/dataset/rdl_empty_rules/create_broadcast_rules.xml
 
b/test/integration-test/test-suite/src/test/resources/cases/rdl/dataset/rdl_empty_rules/create_broadcast_rules.xml
index d527d317266..306a7f0aa81 100644
--- 
a/test/integration-test/test-suite/src/test/resources/cases/rdl/dataset/rdl_empty_rules/create_broadcast_rules.xml
+++ 
b/test/integration-test/test-suite/src/test/resources/cases/rdl/dataset/rdl_empty_rules/create_broadcast_rules.xml
@@ -19,5 +19,5 @@
     <metadata>
         <column name="sharding_broadcast_tables" />
     </metadata>
-    <row values="t_broadcast_table" />
+    <row values="t_product_category" />
 </dataset>
diff --git 
a/test/integration-test/test-suite/src/test/resources/cases/rdl/dataset/rdl_empty_rules/create_sharding_rules.xml
 
b/test/integration-test/test-suite/src/test/resources/cases/rdl/dataset/rdl_empty_rules/create_sharding_rules.xml
index b97bf82dde6..3ac65df1c31 100644
--- 
a/test/integration-test/test-suite/src/test/resources/cases/rdl/dataset/rdl_empty_rules/create_sharding_rules.xml
+++ 
b/test/integration-test/test-suite/src/test/resources/cases/rdl/dataset/rdl_empty_rules/create_sharding_rules.xml
@@ -34,5 +34,5 @@
         <column name="auditor_types" />
         <column name="allow_hint_disable" />
     </metadata>
-    <row values="t_user| ds_0.t_user_${0..1} | | | | | | STANDARD | user_id| 
inline| algorithm-expression=t_user_${user_id % 2} | | | | | " />
+    <row values="t_order| ds_2.t_order_${0..1} | | | | | | STANDARD | 
order_id| inline| algorithm-expression=t_order_${order_id % 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/create_sharding_rules_show_tables.xml
index d1e48d75112..c6d50b6379d 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/create_sharding_rules_show_tables.xml
@@ -20,8 +20,14 @@
         <column name="Tables_in_rdl_empty_rules" />
         <column name="Table_type" />
     </metadata>
-    <row values="t_user_4| BASE TABLE" />
-    <row values="t_user_3| BASE TABLE" />
-    <row values="t_user_2| BASE TABLE" />
+    <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_order_2| BASE TABLE" />
+    <row values="t_order_3| BASE TABLE" />
+    <row values="t_product_category| BASE TABLE" />
 </dataset>
diff --git 
a/test/integration-test/test-suite/src/test/resources/cases/rdl/dataset/rdl_empty_rules/create_single_table_rules.xml
 
b/test/integration-test/test-suite/src/test/resources/cases/rdl/dataset/rdl_empty_rules/create_single_table_rules.xml
index 3844292733d..61733b93110 100644
--- 
a/test/integration-test/test-suite/src/test/resources/cases/rdl/dataset/rdl_empty_rules/create_single_table_rules.xml
+++ 
b/test/integration-test/test-suite/src/test/resources/cases/rdl/dataset/rdl_empty_rules/create_single_table_rules.xml
@@ -20,9 +20,9 @@
         <column name="table_name" />
         <column name="resource_name" />
     </metadata>
-    <row values="t_user_0| ds_0" />
-    <row values="t_user_4| ds_0" />
-    <row values="t_user_3| ds_0" />
-    <row values="t_user_2| ds_0" />
-    <row values="t_user_1| ds_0" />
+    <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/drop_sharding_rules_show_tables.xml
index 5b41447eb1d..529b4107329 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/drop_sharding_rules_show_tables.xml
@@ -20,9 +20,15 @@
         <column name="Tables_in_rdl_empty_rules" />
         <column name="Table_type" />
     </metadata>
-    <row values="t_user_4| BASE TABLE" />
-    <row values="t_user_3| BASE TABLE" />
-    <row values="t_user_2| BASE TABLE" />
-    <row values="t_user_1| BASE TABLE" />
-    <row values="t_user_0| BASE TABLE" />
+    <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_user| BASE TABLE" />
+    <row values="t_order_2| BASE TABLE" />
+    <row values="t_order_3| BASE TABLE" />
+    <row values="t_order_0| BASE TABLE" />
+    <row values="t_order_1| BASE TABLE" />
+    <row values="t_product_category| BASE TABLE" />
 </dataset>
diff --git 
a/test/integration-test/test-suite/src/test/resources/cases/rdl/dataset/rdl_empty_rules/create_single_table_rules.xml
 
b/test/integration-test/test-suite/src/test/resources/cases/rdl/dataset/rdl_empty_rules/drop_single_table_rules.xml
similarity index 84%
copy from 
test/integration-test/test-suite/src/test/resources/cases/rdl/dataset/rdl_empty_rules/create_single_table_rules.xml
copy to 
test/integration-test/test-suite/src/test/resources/cases/rdl/dataset/rdl_empty_rules/drop_single_table_rules.xml
index 3844292733d..5fac1318fc5 100644
--- 
a/test/integration-test/test-suite/src/test/resources/cases/rdl/dataset/rdl_empty_rules/create_single_table_rules.xml
+++ 
b/test/integration-test/test-suite/src/test/resources/cases/rdl/dataset/rdl_empty_rules/drop_single_table_rules.xml
@@ -20,9 +20,8 @@
         <column name="table_name" />
         <column name="resource_name" />
     </metadata>
-    <row values="t_user_0| ds_0" />
-    <row values="t_user_4| ds_0" />
-    <row values="t_user_3| ds_0" />
-    <row values="t_user_2| ds_0" />
-    <row values="t_user_1| ds_0" />
+    <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 e94d56527c0..623f4bb376e 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
@@ -31,50 +31,126 @@
 <!--            <assertion-sql sql="SHOW DATABASE RESOURCES" />-->
 <!--        </assertion>-->
 <!--    </test-case>-->
-    <test-case sql="CREATE DEFAULT SINGLE TABLE RULE RESOURCE = ds_0;" 
db-types="MySQL">
-        <assertion expected-data-file="create_single_table_rules.xml">
-            <assertion-sql sql="SHOW SINGLE TABLES;" />
-            <destroy-sql sql="DROP DEFAULT SINGLE TABLE RULE"/>
+    <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>
+            <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>
+    </test-case>
+    <test-case sql="ALTER SHARDING BINDING TABLE RULES (t_order,t_order_item)" 
db-types="MySQL, PostgreSQL">
+        <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>
+            <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>
+    </test-case>
+    <test-case sql="DROP SHARDING BINDING TABLE RULES;" db-types="MySQL, 
PostgreSQL">
+        <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>
+            <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>
     </test-case>
-    <test-case sql="ALTER DEFAULT SINGLE TABLE RULE RESOURCE = ds_0;" 
db-types="MySQL">
+    <test-case sql="CREATE SHARDING BROADCAST TABLE RULES 
(t_product_category);" db-types="MySQL, PostgreSQL">
+        <assertion expected-data-file="create_broadcast_rules.xml">
+            <assertion-sql sql="SHOW SHARDING BROADCAST TABLE RULES;" />
+            <destroy-sql sql="DROP SHARDING BROADCAST TABLE RULES 
(t_product_category); "/>
+        </assertion>
+    </test-case>
+    <test-case sql="ALTER SHARDING BROADCAST TABLE RULES 
(t_product_category,t_country);" db-types="MySQL, PostgreSQL">
+        <assertion expected-data-file="alter_broadcast_rules.xml">
+            <initial-sql sql="CREATE SHARDING BROADCAST TABLE RULES 
(t_product_category);" />
+            <assertion-sql sql="SHOW SHARDING BROADCAST TABLE RULES;" />
+            <destroy-sql sql="DROP SHARDING BROADCAST TABLE RULES 
(t_product_category,t_country); "/>
+        </assertion>
+    </test-case>
+    <test-case sql="DROP SHARDING BROADCAST TABLE RULES (t_country);" 
db-types="MySQL, PostgreSQL">
+        <assertion expected-data-file="drop_broadcast_rules.xml">
+            <initial-sql sql="CREATE SHARDING BROADCAST TABLE RULES 
(t_country);" />
+            <assertion-sql sql="SHOW SHARDING BROADCAST TABLE RULES;" />
+        </assertion>
+    </test-case>
+    <test-case sql="CREATE ENCRYPT RULE t_user 
(COLUMNS((NAME=pwd,PLAIN=pwd_plain,CIPHER=pwd_cipher,TYPE(NAME='AES',PROPERTIES('aes-key-value'='123456abc')))),QUERY_WITH_CIPHER_COLUMN=true);"
 db-types="MySQL, PostgreSQL">
+        <assertion expected-data-file="create_encrypt_rule.xml">
+            <assertion-sql sql="SHOW ENCRYPT TABLE RULE t_user;" />
+            <destroy-sql sql="DROP ENCRYPT RULE t_user "/>
+        </assertion>
+    </test-case>
+    <test-case sql="ALTER ENCRYPT RULE t_user 
(COLUMNS((NAME=pwd,PLAIN=pwd_plain,CIPHER=pwd_cipher,TYPE(NAME='AES',PROPERTIES('aes-key-value'='123456abcd')))),QUERY_WITH_CIPHER_COLUMN=true);"
 db-types="MySQL, PostgreSQL">
+        <assertion expected-data-file="alter_encrypt_rule.xml">
+            <initial-sql sql="CREATE ENCRYPT RULE t_user 
(COLUMNS((NAME=pwd,PLAIN=pwd_plain,CIPHER=pwd_cipher,TYPE(NAME='AES',PROPERTIES('aes-key-value'='123456abc')))),QUERY_WITH_CIPHER_COLUMN=true);"
 />
+            <assertion-sql sql="SHOW ENCRYPT TABLE RULE t_user;" />
+            <destroy-sql sql="DROP ENCRYPT RULE t_user "/>
+        </assertion>
+    </test-case>
+    <test-case sql="DROP ENCRYPT RULE t_user;" db-types="MySQL, PostgreSQL">
+        <assertion expected-data-file="drop_encrypt_rule.xml">
+            <initial-sql sql="CREATE ENCRYPT RULE t_user 
(COLUMNS((NAME=pwd,PLAIN=pwd_plain,CIPHER=pwd_cipher,TYPE(NAME='AES',PROPERTIES('aes-key-value'='123456abc')))),QUERY_WITH_CIPHER_COLUMN=true);"
 />
+            <assertion-sql sql="SHOW ENCRYPT TABLE RULE t_user;" />
+        </assertion>
+    </test-case>
+    <test-case sql="CREATE TABLE temp (country_id INT PRIMARY KEY, 
country_name VARCHAR(50), continent_name VARCHAR(50), creation_date DATE NOT 
NULL);" db-types="MySQL, PostgreSQL">
         <assertion expected-data-file="create_single_table_rules.xml">
-            <initial-sql sql="CREATE DEFAULT SINGLE TABLE RULE RESOURCE = 
ds_1;" />
+            <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}')))));
+            CREATE DEFAULT SINGLE TABLE RULE RESOURCE = ds_1;"></initial-sql>
+            <assertion-sql sql="SHOW SINGLE TABLES ;" />
+            <destroy-sql sql="DROP TABLE temp;DROP DEFAULT SINGLE TABLE 
RULE;DROP SHARDING TABLE RULE t_order;DROP SHARDING TABLE RULE t_order_item;"/>
+        </assertion>
+    </test-case>
+    <test-case sql="CREATE TABLE temp_alter (country_id INT PRIMARY KEY, 
country_name VARCHAR(50), continent_name VARCHAR(50), creation_date DATE NOT 
NULL);" db-types="MySQL, PostgreSQL">
+        <assertion expected-data-file="alter_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}')))));
+            CREATE DEFAULT SINGLE TABLE RULE RESOURCE = ds_1;ALTER DEFAULT 
SINGLE TABLE RULE RESOURCE = ds_0;" />
             <assertion-sql sql="SHOW SINGLE TABLES;" />
-            <destroy-sql sql="DROP DEFAULT SINGLE TABLE RULE"/>
+            <destroy-sql sql="DROP TABLE temp_alter;DROP DEFAULT SINGLE TABLE 
RULE;DROP SHARDING TABLE RULE t_order;DROP SHARDING TABLE RULE t_order_item;"/>
         </assertion>
     </test-case>
-    <test-case sql="DROP DEFAULT SINGLE TABLE RULE" db-types="MySQL">
-        <assertion expected-data-file="create_single_table_rules.xml">
-            <initial-sql sql="CREATE DEFAULT SINGLE TABLE RULE RESOURCE = 
ds_0;" />
+    <test-case sql="DROP DEFAULT SINGLE TABLE RULE" db-types="MySQL, 
PostgreSQL">
+        <assertion expected-data-file="drop_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}')))));
+            CREATE DEFAULT SINGLE TABLE RULE RESOURCE = ds_0;" />
             <assertion-sql sql="SHOW SINGLE TABLES;" />
+            <destroy-sql sql="DROP SHARDING TABLE RULE t_order;DROP SHARDING 
TABLE RULE t_order_item;"/>
         </assertion>
     </test-case>
-    <test-case sql="CREATE SHARDING TABLE RULE t_user 
(DATANODES('ds_0.t_user_${0..1}'),TABLE_STRATEGY(TYPE='standard',SHARDING_COLUMN=user_id,SHARDING_ALGORITHM(TYPE(NAME='inline',PROPERTIES('algorithm-expression'='t_user_${user_id
 % 2}')))))" db-types="MySQL">
+    <test-case 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}')))));" db-types="MySQL">
         <assertion expected-data-file="create_sharding_rules.xml">
             <assertion-sql sql="SHOW SHARDING TABLE RULES;" />
-            <destroy-sql sql="DROP SHARDING TABLE RULE t_user"/>
+            <destroy-sql sql="DROP SHARDING TABLE RULE t_order"/>
         </assertion>
         <assertion expected-data-file="create_sharding_rules_show_tables.xml">
             <assertion-sql sql="SHOW TABLES;" />
+            <destroy-sql sql="DROP SHARDING TABLE RULE t_order"/>
         </assertion>
     </test-case>
-    <test-case sql="ALTER SHARDING TABLE RULE t_user 
(DATANODES('ds_0.t_user_${0..3}'),TABLE_STRATEGY(TYPE='standard',SHARDING_COLUMN=user_id,SHARDING_ALGORITHM(TYPE(NAME='inline',PROPERTIES('algorithm-expression'='t_user_${user_id
 % 4}')))))" db-types="MySQL">
+    <test-case sql="ALTER 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}')))));" db-types="MySQL">
         <assertion expected-data-file="alter_sharding_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}')))));" />
             <assertion-sql sql="SHOW SHARDING TABLE RULES;" />
-            <destroy-sql sql="DROP SHARDING TABLE RULE t_user"/>
+            <destroy-sql sql="DROP SHARDING TABLE RULE t_order"/>
         </assertion>
         <assertion expected-data-file="alter_sharding_rules_show_tables.xml">
-            <initial-sql sql="CREATE SHARDING TABLE RULE t_user 
(DATANODES('ds_0.t_user_${0..1}'),TABLE_STRATEGY(TYPE='standard',SHARDING_COLUMN=user_id,SHARDING_ALGORITHM(TYPE(NAME='inline',PROPERTIES('algorithm-expression'='t_user_${user_id
 % 2}')))))" />
+            <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}')))));" />
             <assertion-sql sql="SHOW TABLES;" />
+            <destroy-sql sql="DROP SHARDING TABLE RULE t_order"/>
         </assertion>
     </test-case>
-    <test-case sql="DROP SHARDING TABLE RULE t_user" db-types="MySQL">
+    <test-case sql="DROP SHARDING TABLE RULE t_order" db-types="MySQL">
         <assertion expected-data-file="drop_sharding_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}')))));" />
             <assertion-sql sql="SHOW SHARDING TABLE RULES;" />
         </assertion>
         <assertion expected-data-file="drop_sharding_rules_show_tables.xml">
-            <initial-sql sql="CREATE SHARDING TABLE RULE t_user 
(DATANODES('ds_0.t_user_${0..1}'),TABLE_STRATEGY(TYPE='standard',SHARDING_COLUMN=user_id,SHARDING_ALGORITHM(TYPE(NAME='inline',PROPERTIES('algorithm-expression'='t_user_${user_id
 % 2}')))))" />
+            <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}')))));" />
             <assertion-sql sql="SHOW TABLES;" />
         </assertion>
     </test-case>
@@ -89,3 +165,4 @@
         </assertion>
     </test-case>
 </integration-test-cases>
+
diff --git 
a/test/integration-test/test-suite/src/test/resources/env/scenario/rdl_empty_rules/data/actual/init-sql/mysql/01-actual-init.sql
 
b/test/integration-test/test-suite/src/test/resources/env/scenario/rdl_empty_rules/data/actual/init-sql/mysql/01-actual-init.sql
index 1f8522d7006..81cd1cad4fa 100644
--- 
a/test/integration-test/test-suite/src/test/resources/env/scenario/rdl_empty_rules/data/actual/init-sql/mysql/01-actual-init.sql
+++ 
b/test/integration-test/test-suite/src/test/resources/env/scenario/rdl_empty_rules/data/actual/init-sql/mysql/01-actual-init.sql
@@ -26,14 +26,32 @@ CREATE DATABASE rdl_ds_0;
 CREATE DATABASE rdl_ds_1;
 CREATE DATABASE rdl_ds_2;
 
-DROP TABLE IF EXISTS rdl_ds_0.t_user_0;
-DROP TABLE IF EXISTS rdl_ds_0.t_user_1;
-DROP TABLE IF EXISTS rdl_ds_0.t_user_2;
-DROP TABLE IF EXISTS rdl_ds_0.t_user_3;
-DROP TABLE IF EXISTS rdl_ds_0.t_user_4;
-
-CREATE TABLE rdl_ds_0.t_user_0 (user_id INT NOT NULL, username VARCHAR(20) NOT 
NULL, phone VARCHAR(20) NULL, PRIMARY KEY (user_id));
-CREATE TABLE rdl_ds_0.t_user_1 (user_id INT NOT NULL, username VARCHAR(20) NOT 
NULL, phone VARCHAR(20) NULL, PRIMARY KEY (user_id));
-CREATE TABLE rdl_ds_0.t_user_2 (user_id INT NOT NULL, username VARCHAR(20) NOT 
NULL, phone VARCHAR(20) NULL, PRIMARY KEY (user_id));
-CREATE TABLE rdl_ds_0.t_user_3 (user_id INT NOT NULL, username VARCHAR(20) NOT 
NULL, phone VARCHAR(20) NULL, PRIMARY KEY (user_id));
-CREATE TABLE rdl_ds_0.t_user_4 (user_id INT NOT NULL, username VARCHAR(20) NOT 
NULL, phone VARCHAR(20) NULL, PRIMARY KEY (user_id));
+DROP TABLE IF EXISTS rdl_ds_0.t_user;
+
+DROP TABLE IF EXISTS rdl_ds_2.t_product_category;
+DROP TABLE IF EXISTS rdl_ds_2.t_country;
+
+DROP TABLE IF EXISTS rdl_ds_2.t_order_0;
+DROP TABLE IF EXISTS rdl_ds_2.t_order_1;
+DROP TABLE IF EXISTS rdl_ds_2.t_order_2;
+DROP TABLE IF EXISTS rdl_ds_2.t_order_3;
+
+DROP TABLE IF EXISTS rdl_ds_2.t_order_item_0;
+DROP TABLE IF EXISTS rdl_ds_2.t_order_item_1;
+DROP TABLE IF EXISTS rdl_ds_2.t_order_item_2;
+DROP TABLE IF EXISTS rdl_ds_2.t_order_item_3;
+
+CREATE TABLE rdl_ds_0.t_user (user_id INT PRIMARY KEY, user_name VARCHAR(50) 
NOT NULL, password VARCHAR(50) NOT NULL, email VARCHAR(50) NOT NULL, telephone 
VARCHAR(50) NOT NULL, creation_date DATE NOT NULL);
+
+CREATE TABLE rdl_ds_2.t_product_category ( category_id INT PRIMARY KEY, 
category_name VARCHAR(50) NOT NULL, parent_id INT NOT NULL, level INT NOT NULL, 
creation_date DATE NOT NULL);
+CREATE TABLE rdl_ds_2.t_country (country_id INT PRIMARY KEY, country_name 
VARCHAR(50), continent_name VARCHAR(50), creation_date DATE NOT NULL);
+
+CREATE TABLE rdl_ds_2.t_order_0 (order_id INT PRIMARY KEY, user_id INT NOT 
NULL, status VARCHAR(50) NOT NULL, merchant_id INT NOT NULL, remark VARCHAR(50) 
NOT NULL, creation_date DATE NOT NULL);
+CREATE TABLE rdl_ds_2.t_order_1 (order_id INT PRIMARY KEY, user_id INT NOT 
NULL, status VARCHAR(50) NOT NULL, merchant_id INT NOT NULL, remark VARCHAR(50) 
NOT NULL, creation_date DATE NOT NULL);
+CREATE TABLE rdl_ds_2.t_order_2 (order_id INT PRIMARY KEY, user_id INT NOT 
NULL, status VARCHAR(50) NOT NULL, merchant_id INT NOT NULL, remark VARCHAR(50) 
NOT NULL, creation_date DATE NOT NULL);
+CREATE TABLE rdl_ds_2.t_order_3 (order_id INT PRIMARY KEY, user_id INT NOT 
NULL, status VARCHAR(50) NOT NULL, merchant_id INT NOT NULL, remark VARCHAR(50) 
NOT NULL, creation_date DATE NOT NULL);
+
+CREATE TABLE rdl_ds_2.t_order_item_0 (item_id INT PRIMARY KEY, order_id INT 
NOT NULL, user_id INT NOT NULL, product_id INT NOT NULL, quantity INT NOT NULL, 
creation_date DATE NOT NULL);
+CREATE TABLE rdl_ds_2.t_order_item_1 (item_id INT PRIMARY KEY, order_id INT 
NOT NULL, user_id INT NOT NULL, product_id INT NOT NULL, quantity INT NOT NULL, 
creation_date DATE NOT NULL);
+CREATE TABLE rdl_ds_2.t_order_item_2 (item_id INT PRIMARY KEY, order_id INT 
NOT NULL, user_id INT NOT NULL, product_id INT NOT NULL, quantity INT NOT NULL, 
creation_date DATE NOT NULL);
+CREATE TABLE rdl_ds_2.t_order_item_3 (item_id INT PRIMARY KEY, order_id INT 
NOT NULL, user_id INT NOT NULL, product_id INT NOT NULL, quantity INT NOT NULL, 
creation_date DATE NOT NULL);
diff --git 
a/test/integration-test/test-suite/src/test/resources/env/scenario/rdl_empty_rules/data/actual/init-sql/postgresql/01-actual-init.sql
 
b/test/integration-test/test-suite/src/test/resources/env/scenario/rdl_empty_rules/data/actual/init-sql/postgresql/01-actual-init.sql
index e95f0293335..19228346bcf 100644
--- 
a/test/integration-test/test-suite/src/test/resources/env/scenario/rdl_empty_rules/data/actual/init-sql/postgresql/01-actual-init.sql
+++ 
b/test/integration-test/test-suite/src/test/resources/env/scenario/rdl_empty_rules/data/actual/init-sql/postgresql/01-actual-init.sql
@@ -15,6 +15,10 @@
 -- limitations under the License.
 --
 
+DROP DATABASE IF EXISTS rdl_ds_0;
+DROP DATABASE IF EXISTS rdl_ds_1;
+DROP DATABASE IF EXISTS rdl_ds_2;
+
 CREATE DATABASE rdl_ds_0;
 CREATE DATABASE rdl_ds_1;
 CREATE DATABASE rdl_ds_2;
@@ -26,7 +30,33 @@ GRANT ALL PRIVILEGES ON DATABASE rdl_ds_2 TO test_user;
 \c rdl_ds_0
 
 DROP TABLE IF EXISTS t_user_0;
-DROP TABLE IF EXISTS t_user_1;
 
-CREATE TABLE t_user_0 (user_id INT NOT NULL, username VARCHAR(20) NOT NULL, 
phone VARCHAR(20) NULL, PRIMARY KEY (user_id));
-CREATE TABLE t_user_1 (user_id INT NOT NULL, username VARCHAR(20) NOT NULL, 
phone VARCHAR(20) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user (user_id INT PRIMARY KEY, user_name VARCHAR(50) NOT NULL, 
password VARCHAR(50) NOT NULL, email VARCHAR(50) NOT NULL, telephone 
VARCHAR(50) NOT NULL, creation_date DATE NOT NULL);
+
+\c rdl_ds_2
+
+DROP TABLE IF EXISTS t_product_category;
+DROP TABLE IF EXISTS rdl_ds_2.t_country;
+
+DROP TABLE IF EXISTS t_order_0;
+DROP TABLE IF EXISTS t_order_1;
+DROP TABLE IF EXISTS t_order_2;
+DROP TABLE IF EXISTS t_order_3;
+
+DROP TABLE IF EXISTS t_order_item_0;
+DROP TABLE IF EXISTS t_order_item_1;
+DROP TABLE IF EXISTS t_order_item_2;
+DROP TABLE IF EXISTS t_order_item_3;
+
+CREATE TABLE t_product_category ( category_id INT PRIMARY KEY, category_name 
VARCHAR(50) NOT NULL, parent_id INT NOT NULL, level INT NOT NULL, creation_date 
DATE NOT NULL);
+CREATE TABLE t_country (country_id INT PRIMARY KEY, country_name VARCHAR(50), 
continent_name VARCHAR(50), creation_date DATE NOT NULL);
+
+CREATE TABLE t_order_0 (order_id INT PRIMARY KEY, user_id INT NOT NULL, status 
VARCHAR(50) NOT NULL, merchant_id INT NOT NULL, remark VARCHAR(50) NOT NULL, 
creation_date DATE NOT NULL);
+CREATE TABLE t_order_1 (order_id INT PRIMARY KEY, user_id INT NOT NULL, status 
VARCHAR(50) NOT NULL, merchant_id INT NOT NULL, remark VARCHAR(50) NOT NULL, 
creation_date DATE NOT NULL);
+CREATE TABLE t_order_2 (order_id INT PRIMARY KEY, user_id INT NOT NULL, status 
VARCHAR(50) NOT NULL, merchant_id INT NOT NULL, remark VARCHAR(50) NOT NULL, 
creation_date DATE NOT NULL);
+CREATE TABLE t_order_3 (order_id INT PRIMARY KEY, user_id INT NOT NULL, status 
VARCHAR(50) NOT NULL, merchant_id INT NOT NULL, remark VARCHAR(50) NOT NULL, 
creation_date DATE NOT NULL);
+
+CREATE TABLE t_order_item_0 (item_id INT PRIMARY KEY, order_id INT NOT NULL, 
user_id INT NOT NULL, product_id INT NOT NULL, quantity INT NOT NULL, 
creation_date DATE NOT NULL);
+CREATE TABLE t_order_item_1 (item_id INT PRIMARY KEY, order_id INT NOT NULL, 
user_id INT NOT NULL, product_id INT NOT NULL, quantity INT NOT NULL, 
creation_date DATE NOT NULL);
+CREATE TABLE t_order_item_2 (item_id INT PRIMARY KEY, order_id INT NOT NULL, 
user_id INT NOT NULL, product_id INT NOT NULL, quantity INT NOT NULL, 
creation_date DATE NOT NULL);
+CREATE TABLE t_order_item_3 (item_id INT PRIMARY KEY, order_id INT NOT NULL, 
user_id INT NOT NULL, product_id INT NOT NULL, quantity INT NOT NULL, 
creation_date DATE NOT NULL);


Reply via email to