You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by pa...@apache.org on 2022/09/30 05:43:13 UTC

[shardingsphere] branch master updated: Add openGauss integration test with single rule and multi rule (#21277)

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

panjuan 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 c12776aa862 Add openGauss integration test with single rule and multi rule (#21277)
c12776aa862 is described below

commit c12776aa8624a152534048eb3e5db95ffcd1defc
Author: Zhengqiang Duan <du...@apache.org>
AuthorDate: Fri Sep 30 13:43:04 2022 +0800

    Add openGauss integration test with single rule and multi rule (#21277)
---
 .github/workflows/it.yml                           |    4 +-
 .../env/runtime/DataSourceEnvironment.java         |    2 +-
 .../opengauss/show_resources.xml                   |   53 +
 .../opengauss/show_resources.xml                   |   53 +
 .../opengauss/show_resources.xml                   |   35 +
 .../opengauss/show_resources.xml                   |   43 +
 .../dbtbl_with_readwrite_splitting/authority.xml   |    2 +-
 .../actual/init-sql/opengauss/01-actual-init.sql   | 1206 ++++++++++++++++++++
 .../init-sql/opengauss/01-expected-init.sql        |   71 ++
 .../config-dbtbl-with-readwrite-splitting.yaml     |  343 ++++++
 .../authority.xml                                  |    2 +-
 .../actual/init-sql/opengauss/01-actual-init.sql   | 1183 +++++++++++++++++++
 .../init-sql/opengauss/01-expected-init.sql        |   79 ++
 ...dbtbl-with-readwrite-splitting-and-encrypt.yaml |  395 +++++++
 .../encrypt_and_readwrite_splitting/authority.xml  |    2 +-
 .../actual/init-sql/opengauss/01-actual-init.sql   |   72 ++
 .../init-sql/opengauss/01-expected-init.sql        |   79 ++
 .../config-encrypt-readwrite-splitting.yaml        |   88 ++
 .../env/scenario/encrypt_shadow/authority.xml      |    2 +-
 .../actual/init-sql/opengauss/01-actual-init.sql   |   38 +
 .../expected/init-sql/opengauss/expected-init.sql  |   41 +
 .../conf/opengauss/config-encrypt-shadow.yaml      |   97 ++
 .../readwrite_splitting_and_shadow/authority.xml   |    2 +-
 .../actual/init-sql/opengauss/01-actual-init.sql   |   58 +
 .../expected/init-sql/opengauss/expected-init.sql  |   53 +
 .../proxy/conf/opengauss/config-shadow.yaml        |  111 ++
 .../scenario/sharding_and_encrypt/authority.xml    |    2 +-
 .../actual/init-sql/opengauss/01-actual-init.sql   |  600 ++++++++++
 .../init-sql/opengauss/01-expected-init.sql        |   53 +
 .../opengauss/config-sharding-and-encrypt.yaml     |  239 ++++
 .../env/scenario/sharding_and_shadow/authority.xml |    2 +-
 .../actual/init-sql/opengauss/01-actual-init.sql   |  938 +++++++++++++++
 .../expected/init-sql/opengauss/expected-init.sql  |   41 +
 .../conf/opengauss/config-sharding-and-shadow.yaml |  299 +++++
 .../scenario/sharding_encrypt_shadow/authority.xml |    2 +-
 .../actual/init-sql/opengauss/01-actual-init.sql   |  938 +++++++++++++++
 .../expected/init-sql/opengauss/expected-init.sql  |   41 +
 .../opengauss/config-sharding-encrypt-shadow.yaml  |  313 +++++
 38 files changed, 7571 insertions(+), 11 deletions(-)

diff --git a/.github/workflows/it.yml b/.github/workflows/it.yml
index 5c2a826ba29..b106cc19f91 100644
--- a/.github/workflows/it.yml
+++ b/.github/workflows/it.yml
@@ -140,7 +140,7 @@ jobs:
       matrix:
         adapter: [ proxy, jdbc ]
         mode: [ Standalone, Cluster ]
-        database: [ MySQL, PostgreSQL ]
+        database: [ MySQL, PostgreSQL, openGauss ]
         scenario: [ db, tbl, encrypt, readwrite_splitting, shadow ]
         exclude:
           - adapter: jdbc
@@ -179,7 +179,7 @@ jobs:
       matrix:
         adapter: [ proxy, jdbc ]
         mode: [ Standalone, Cluster ]
-        database: [ MySQL, PostgreSQL ]
+        database: [ MySQL, PostgreSQL, openGauss ]
         scenario: [ dbtbl_with_readwrite_splitting, dbtbl_with_readwrite_splitting_and_encrypt, sharding_and_encrypt, encrypt_and_readwrite_splitting, encrypt_shadow, readwrite_splitting_and_shadow, sharding_and_shadow, sharding_encrypt_shadow ]
         exclude:
           - adapter: jdbc
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-env/src/test/java/org/apache/shardingsphere/test/integration/env/runtime/DataSourceEnvironment.java b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-env/src/test/java/org/apache/shardingsphere/test/integration/env/runtime/DataSourceEnvironment.java
index 7b45da302fb..eb006855a13 100644
--- a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-env/src/test/java/org/apache/shardingsphere/test/integration/env/runtime/DataSourceEnvironment.java
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-env/src/test/java/org/apache/shardingsphere/test/integration/env/runtime/DataSourceEnvironment.java
@@ -99,7 +99,7 @@ public final class DataSourceEnvironment {
             case "Oracle":
                 return String.format("jdbc:oracle:thin:@%s:%s/%s", host, port, dataSourceName);
             case "openGauss":
-                return String.format("jdbc:opengauss://%s:%s/%s", host, port, dataSourceName);
+                return String.format("jdbc:opengauss://%s:%s/%s?batchMode=OFF", host, port, dataSourceName);
             default:
                 throw new UnsupportedOperationException(databaseType.getType());
         }
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/cases/rql/dataset/dbtbl_with_readwrite_splitting/opengauss/show_resources.xml b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/cases/rql/dataset/dbtbl_with_readwrite_splitting/opengauss/show_resources.xml
new file mode 100644
index 00000000000..1d8a12faa44
--- /dev/null
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/cases/rql/dataset/dbtbl_with_readwrite_splitting/opengauss/show_resources.xml
@@ -0,0 +1,53 @@
+<!--
+  ~ Licensed to the Apache Software Foundation (ASF) under one or more
+  ~ contributor license agreements.  See the NOTICE file distributed with
+  ~ this work for additional information regarding copyright ownership.
+  ~ The ASF licenses this file to You under the Apache License, Version 2.0
+  ~ (the "License"); you may not use this file except in compliance with
+  ~ the License.  You may obtain a copy of the License at
+  ~
+  ~     http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+  -->
+
+<dataset>
+    <metadata>
+        <column name="name" />
+        <column name="type" />
+        <column name="host" />
+        <column name="port" />
+        <column name="db" />
+        <column name="connection_timeout_milliseconds" />
+        <column name="idle_timeout_milliseconds" />
+        <column name="max_lifetime_milliseconds" />
+        <column name="max_pool_size" />
+        <column name="min_pool_size" />
+        <column name="read_only" />
+        <column name="other_attributes" />
+    </metadata>
+    <row values="write_ds_0| openGauss| opengauss.dbtbl_with_readwrite_splitting.host| 5432| write_ds_0| 30000| 60000| 1800000| 2| 2| false| &#123;&quot;dataSourceProperties&quot;&#58;&#123;&#125;&#44;&quot;healthCheckProperties&quot;&#58;&#123;&#125;&#44;&quot;initializationFailTimeout&quot;&#58;1&#44;&quot;validationTimeout&quot;&#58;5000&#44;&quot;leakDetectionThreshold&quot;&#58;0&#44;&quot;registerMbeans&quot;&#58;false&#44;&quot;allowPoolSuspension&quot;&#58;false&#44;&quot;autoCom [...]
+    <row values="write_ds_1| openGauss| opengauss.dbtbl_with_readwrite_splitting.host| 5432| write_ds_1| 30000| 60000| 1800000| 2| 2| false| &#123;&quot;dataSourceProperties&quot;&#58;&#123;&#125;&#44;&quot;healthCheckProperties&quot;&#58;&#123;&#125;&#44;&quot;initializationFailTimeout&quot;&#58;1&#44;&quot;validationTimeout&quot;&#58;5000&#44;&quot;leakDetectionThreshold&quot;&#58;0&#44;&quot;registerMbeans&quot;&#58;false&#44;&quot;allowPoolSuspension&quot;&#58;false&#44;&quot;autoCom [...]
+    <row values="write_ds_2| openGauss| opengauss.dbtbl_with_readwrite_splitting.host| 5432| write_ds_2| 30000| 60000| 1800000| 2| 2| false| &#123;&quot;dataSourceProperties&quot;&#58;&#123;&#125;&#44;&quot;healthCheckProperties&quot;&#58;&#123;&#125;&#44;&quot;initializationFailTimeout&quot;&#58;1&#44;&quot;validationTimeout&quot;&#58;5000&#44;&quot;leakDetectionThreshold&quot;&#58;0&#44;&quot;registerMbeans&quot;&#58;false&#44;&quot;allowPoolSuspension&quot;&#58;false&#44;&quot;autoCom [...]
+    <row values="write_ds_3| openGauss| opengauss.dbtbl_with_readwrite_splitting.host| 5432| write_ds_3| 30000| 60000| 1800000| 2| 2| false| &#123;&quot;dataSourceProperties&quot;&#58;&#123;&#125;&#44;&quot;healthCheckProperties&quot;&#58;&#123;&#125;&#44;&quot;initializationFailTimeout&quot;&#58;1&#44;&quot;validationTimeout&quot;&#58;5000&#44;&quot;leakDetectionThreshold&quot;&#58;0&#44;&quot;registerMbeans&quot;&#58;false&#44;&quot;allowPoolSuspension&quot;&#58;false&#44;&quot;autoCom [...]
+    <row values="write_ds_4| openGauss| opengauss.dbtbl_with_readwrite_splitting.host| 5432| write_ds_4| 30000| 60000| 1800000| 2| 2| false| &#123;&quot;dataSourceProperties&quot;&#58;&#123;&#125;&#44;&quot;healthCheckProperties&quot;&#58;&#123;&#125;&#44;&quot;initializationFailTimeout&quot;&#58;1&#44;&quot;validationTimeout&quot;&#58;5000&#44;&quot;leakDetectionThreshold&quot;&#58;0&#44;&quot;registerMbeans&quot;&#58;false&#44;&quot;allowPoolSuspension&quot;&#58;false&#44;&quot;autoCom [...]
+    <row values="write_ds_5| openGauss| opengauss.dbtbl_with_readwrite_splitting.host| 5432| write_ds_5| 30000| 60000| 1800000| 2| 2| false| &#123;&quot;dataSourceProperties&quot;&#58;&#123;&#125;&#44;&quot;healthCheckProperties&quot;&#58;&#123;&#125;&#44;&quot;initializationFailTimeout&quot;&#58;1&#44;&quot;validationTimeout&quot;&#58;5000&#44;&quot;leakDetectionThreshold&quot;&#58;0&#44;&quot;registerMbeans&quot;&#58;false&#44;&quot;allowPoolSuspension&quot;&#58;false&#44;&quot;autoCom [...]
+    <row values="write_ds_6| openGauss| opengauss.dbtbl_with_readwrite_splitting.host| 5432| write_ds_6| 30000| 60000| 1800000| 2| 2| false| &#123;&quot;dataSourceProperties&quot;&#58;&#123;&#125;&#44;&quot;healthCheckProperties&quot;&#58;&#123;&#125;&#44;&quot;initializationFailTimeout&quot;&#58;1&#44;&quot;validationTimeout&quot;&#58;5000&#44;&quot;leakDetectionThreshold&quot;&#58;0&#44;&quot;registerMbeans&quot;&#58;false&#44;&quot;allowPoolSuspension&quot;&#58;false&#44;&quot;autoCom [...]
+    <row values="write_ds_7| openGauss| opengauss.dbtbl_with_readwrite_splitting.host| 5432| write_ds_7| 30000| 60000| 1800000| 2| 2| false| &#123;&quot;dataSourceProperties&quot;&#58;&#123;&#125;&#44;&quot;healthCheckProperties&quot;&#58;&#123;&#125;&#44;&quot;initializationFailTimeout&quot;&#58;1&#44;&quot;validationTimeout&quot;&#58;5000&#44;&quot;leakDetectionThreshold&quot;&#58;0&#44;&quot;registerMbeans&quot;&#58;false&#44;&quot;allowPoolSuspension&quot;&#58;false&#44;&quot;autoCom [...]
+    <row values="write_ds_8| openGauss| opengauss.dbtbl_with_readwrite_splitting.host| 5432| write_ds_8| 30000| 60000| 1800000| 2| 2| false| &#123;&quot;dataSourceProperties&quot;&#58;&#123;&#125;&#44;&quot;healthCheckProperties&quot;&#58;&#123;&#125;&#44;&quot;initializationFailTimeout&quot;&#58;1&#44;&quot;validationTimeout&quot;&#58;5000&#44;&quot;leakDetectionThreshold&quot;&#58;0&#44;&quot;registerMbeans&quot;&#58;false&#44;&quot;allowPoolSuspension&quot;&#58;false&#44;&quot;autoCom [...]
+    <row values="write_ds_9| openGauss| opengauss.dbtbl_with_readwrite_splitting.host| 5432| write_ds_9| 30000| 60000| 1800000| 2| 2| false| &#123;&quot;dataSourceProperties&quot;&#58;&#123;&#125;&#44;&quot;healthCheckProperties&quot;&#58;&#123;&#125;&#44;&quot;initializationFailTimeout&quot;&#58;1&#44;&quot;validationTimeout&quot;&#58;5000&#44;&quot;leakDetectionThreshold&quot;&#58;0&#44;&quot;registerMbeans&quot;&#58;false&#44;&quot;allowPoolSuspension&quot;&#58;false&#44;&quot;autoCom [...]
+    <row values="read_ds_0| openGauss| opengauss.dbtbl_with_readwrite_splitting.host| 5432| read_ds_0| 30000| 60000| 1800000| 2| 2| false| &#123;&quot;dataSourceProperties&quot;&#58;&#123;&#125;&#44;&quot;healthCheckProperties&quot;&#58;&#123;&#125;&#44;&quot;initializationFailTimeout&quot;&#58;1&#44;&quot;validationTimeout&quot;&#58;5000&#44;&quot;leakDetectionThreshold&quot;&#58;0&#44;&quot;registerMbeans&quot;&#58;false&#44;&quot;allowPoolSuspension&quot;&#58;false&#44;&quot;autoCommi [...]
+    <row values="read_ds_1| openGauss| opengauss.dbtbl_with_readwrite_splitting.host| 5432| read_ds_1| 30000| 60000| 1800000| 2| 2| false| &#123;&quot;dataSourceProperties&quot;&#58;&#123;&#125;&#44;&quot;healthCheckProperties&quot;&#58;&#123;&#125;&#44;&quot;initializationFailTimeout&quot;&#58;1&#44;&quot;validationTimeout&quot;&#58;5000&#44;&quot;leakDetectionThreshold&quot;&#58;0&#44;&quot;registerMbeans&quot;&#58;false&#44;&quot;allowPoolSuspension&quot;&#58;false&#44;&quot;autoCommi [...]
+    <row values="read_ds_2| openGauss| opengauss.dbtbl_with_readwrite_splitting.host| 5432| read_ds_2| 30000| 60000| 1800000| 2| 2| false| &#123;&quot;dataSourceProperties&quot;&#58;&#123;&#125;&#44;&quot;healthCheckProperties&quot;&#58;&#123;&#125;&#44;&quot;initializationFailTimeout&quot;&#58;1&#44;&quot;validationTimeout&quot;&#58;5000&#44;&quot;leakDetectionThreshold&quot;&#58;0&#44;&quot;registerMbeans&quot;&#58;false&#44;&quot;allowPoolSuspension&quot;&#58;false&#44;&quot;autoCommi [...]
+    <row values="read_ds_3| openGauss| opengauss.dbtbl_with_readwrite_splitting.host| 5432| read_ds_3| 30000| 60000| 1800000| 2| 2| false| &#123;&quot;dataSourceProperties&quot;&#58;&#123;&#125;&#44;&quot;healthCheckProperties&quot;&#58;&#123;&#125;&#44;&quot;initializationFailTimeout&quot;&#58;1&#44;&quot;validationTimeout&quot;&#58;5000&#44;&quot;leakDetectionThreshold&quot;&#58;0&#44;&quot;registerMbeans&quot;&#58;false&#44;&quot;allowPoolSuspension&quot;&#58;false&#44;&quot;autoCommi [...]
+    <row values="read_ds_4| openGauss| opengauss.dbtbl_with_readwrite_splitting.host| 5432| read_ds_4| 30000| 60000| 1800000| 2| 2| false| &#123;&quot;dataSourceProperties&quot;&#58;&#123;&#125;&#44;&quot;healthCheckProperties&quot;&#58;&#123;&#125;&#44;&quot;initializationFailTimeout&quot;&#58;1&#44;&quot;validationTimeout&quot;&#58;5000&#44;&quot;leakDetectionThreshold&quot;&#58;0&#44;&quot;registerMbeans&quot;&#58;false&#44;&quot;allowPoolSuspension&quot;&#58;false&#44;&quot;autoCommi [...]
+    <row values="read_ds_5| openGauss| opengauss.dbtbl_with_readwrite_splitting.host| 5432| read_ds_5| 30000| 60000| 1800000| 2| 2| false| &#123;&quot;dataSourceProperties&quot;&#58;&#123;&#125;&#44;&quot;healthCheckProperties&quot;&#58;&#123;&#125;&#44;&quot;initializationFailTimeout&quot;&#58;1&#44;&quot;validationTimeout&quot;&#58;5000&#44;&quot;leakDetectionThreshold&quot;&#58;0&#44;&quot;registerMbeans&quot;&#58;false&#44;&quot;allowPoolSuspension&quot;&#58;false&#44;&quot;autoCommi [...]
+    <row values="read_ds_6| openGauss| opengauss.dbtbl_with_readwrite_splitting.host| 5432| read_ds_6| 30000| 60000| 1800000| 2| 2| false| &#123;&quot;dataSourceProperties&quot;&#58;&#123;&#125;&#44;&quot;healthCheckProperties&quot;&#58;&#123;&#125;&#44;&quot;initializationFailTimeout&quot;&#58;1&#44;&quot;validationTimeout&quot;&#58;5000&#44;&quot;leakDetectionThreshold&quot;&#58;0&#44;&quot;registerMbeans&quot;&#58;false&#44;&quot;allowPoolSuspension&quot;&#58;false&#44;&quot;autoCommi [...]
+    <row values="read_ds_7| openGauss| opengauss.dbtbl_with_readwrite_splitting.host| 5432| read_ds_7| 30000| 60000| 1800000| 2| 2| false| &#123;&quot;dataSourceProperties&quot;&#58;&#123;&#125;&#44;&quot;healthCheckProperties&quot;&#58;&#123;&#125;&#44;&quot;initializationFailTimeout&quot;&#58;1&#44;&quot;validationTimeout&quot;&#58;5000&#44;&quot;leakDetectionThreshold&quot;&#58;0&#44;&quot;registerMbeans&quot;&#58;false&#44;&quot;allowPoolSuspension&quot;&#58;false&#44;&quot;autoCommi [...]
+    <row values="read_ds_8| openGauss| opengauss.dbtbl_with_readwrite_splitting.host| 5432| read_ds_8| 30000| 60000| 1800000| 2| 2| false| &#123;&quot;dataSourceProperties&quot;&#58;&#123;&#125;&#44;&quot;healthCheckProperties&quot;&#58;&#123;&#125;&#44;&quot;initializationFailTimeout&quot;&#58;1&#44;&quot;validationTimeout&quot;&#58;5000&#44;&quot;leakDetectionThreshold&quot;&#58;0&#44;&quot;registerMbeans&quot;&#58;false&#44;&quot;allowPoolSuspension&quot;&#58;false&#44;&quot;autoCommi [...]
+    <row values="read_ds_9| openGauss| opengauss.dbtbl_with_readwrite_splitting.host| 5432| read_ds_9| 30000| 60000| 1800000| 2| 2| false| &#123;&quot;dataSourceProperties&quot;&#58;&#123;&#125;&#44;&quot;healthCheckProperties&quot;&#58;&#123;&#125;&#44;&quot;initializationFailTimeout&quot;&#58;1&#44;&quot;validationTimeout&quot;&#58;5000&#44;&quot;leakDetectionThreshold&quot;&#58;0&#44;&quot;registerMbeans&quot;&#58;false&#44;&quot;allowPoolSuspension&quot;&#58;false&#44;&quot;autoCommi [...]
+</dataset>
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/cases/rql/dataset/dbtbl_with_readwrite_splitting_and_encrypt/opengauss/show_resources.xml b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/cases/rql/dataset/dbtbl_with_readwrite_splitting_and_encrypt/opengauss/show_resources.xml
new file mode 100644
index 00000000000..737e4448247
--- /dev/null
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/cases/rql/dataset/dbtbl_with_readwrite_splitting_and_encrypt/opengauss/show_resources.xml
@@ -0,0 +1,53 @@
+<!--
+  ~ Licensed to the Apache Software Foundation (ASF) under one or more
+  ~ contributor license agreements.  See the NOTICE file distributed with
+  ~ this work for additional information regarding copyright ownership.
+  ~ The ASF licenses this file to You under the Apache License, Version 2.0
+  ~ (the "License"); you may not use this file except in compliance with
+  ~ the License.  You may obtain a copy of the License at
+  ~
+  ~     http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+  -->
+
+<dataset>
+    <metadata>
+        <column name="name" />
+        <column name="type" />
+        <column name="host" />
+        <column name="port" />
+        <column name="db" />
+        <column name="connection_timeout_milliseconds" />
+        <column name="idle_timeout_milliseconds" />
+        <column name="max_lifetime_milliseconds" />
+        <column name="max_pool_size" />
+        <column name="min_pool_size" />
+        <column name="read_only" />
+        <column name="other_attributes" />
+    </metadata>
+    <row values="encrypt_write_ds_0| openGauss| opengauss.dbtbl_with_readwrite_splitting_and_encrypt.host| 5432| encrypt_write_ds_0| 30000| 60000| 1800000| 2| 2| false| &#123;&quot;dataSourceProperties&quot;&#58;&#123;&#125;&#44;&quot;healthCheckProperties&quot;&#58;&#123;&#125;&#44;&quot;initializationFailTimeout&quot;&#58;1&#44;&quot;validationTimeout&quot;&#58;5000&#44;&quot;leakDetectionThreshold&quot;&#58;0&#44;&quot;registerMbeans&quot;&#58;false&#44;&quot;allowPoolSuspension&quot; [...]
+    <row values="encrypt_write_ds_1| openGauss| opengauss.dbtbl_with_readwrite_splitting_and_encrypt.host| 5432| encrypt_write_ds_1| 30000| 60000| 1800000| 2| 2| false| &#123;&quot;dataSourceProperties&quot;&#58;&#123;&#125;&#44;&quot;healthCheckProperties&quot;&#58;&#123;&#125;&#44;&quot;initializationFailTimeout&quot;&#58;1&#44;&quot;validationTimeout&quot;&#58;5000&#44;&quot;leakDetectionThreshold&quot;&#58;0&#44;&quot;registerMbeans&quot;&#58;false&#44;&quot;allowPoolSuspension&quot; [...]
+    <row values="encrypt_write_ds_2| openGauss| opengauss.dbtbl_with_readwrite_splitting_and_encrypt.host| 5432| encrypt_write_ds_2| 30000| 60000| 1800000| 2| 2| false| &#123;&quot;dataSourceProperties&quot;&#58;&#123;&#125;&#44;&quot;healthCheckProperties&quot;&#58;&#123;&#125;&#44;&quot;initializationFailTimeout&quot;&#58;1&#44;&quot;validationTimeout&quot;&#58;5000&#44;&quot;leakDetectionThreshold&quot;&#58;0&#44;&quot;registerMbeans&quot;&#58;false&#44;&quot;allowPoolSuspension&quot; [...]
+    <row values="encrypt_write_ds_3| openGauss| opengauss.dbtbl_with_readwrite_splitting_and_encrypt.host| 5432| encrypt_write_ds_3| 30000| 60000| 1800000| 2| 2| false| &#123;&quot;dataSourceProperties&quot;&#58;&#123;&#125;&#44;&quot;healthCheckProperties&quot;&#58;&#123;&#125;&#44;&quot;initializationFailTimeout&quot;&#58;1&#44;&quot;validationTimeout&quot;&#58;5000&#44;&quot;leakDetectionThreshold&quot;&#58;0&#44;&quot;registerMbeans&quot;&#58;false&#44;&quot;allowPoolSuspension&quot; [...]
+    <row values="encrypt_write_ds_4| openGauss| opengauss.dbtbl_with_readwrite_splitting_and_encrypt.host| 5432| encrypt_write_ds_4| 30000| 60000| 1800000| 2| 2| false| &#123;&quot;dataSourceProperties&quot;&#58;&#123;&#125;&#44;&quot;healthCheckProperties&quot;&#58;&#123;&#125;&#44;&quot;initializationFailTimeout&quot;&#58;1&#44;&quot;validationTimeout&quot;&#58;5000&#44;&quot;leakDetectionThreshold&quot;&#58;0&#44;&quot;registerMbeans&quot;&#58;false&#44;&quot;allowPoolSuspension&quot; [...]
+    <row values="encrypt_write_ds_5| openGauss| opengauss.dbtbl_with_readwrite_splitting_and_encrypt.host| 5432| encrypt_write_ds_5| 30000| 60000| 1800000| 2| 2| false| &#123;&quot;dataSourceProperties&quot;&#58;&#123;&#125;&#44;&quot;healthCheckProperties&quot;&#58;&#123;&#125;&#44;&quot;initializationFailTimeout&quot;&#58;1&#44;&quot;validationTimeout&quot;&#58;5000&#44;&quot;leakDetectionThreshold&quot;&#58;0&#44;&quot;registerMbeans&quot;&#58;false&#44;&quot;allowPoolSuspension&quot; [...]
+    <row values="encrypt_write_ds_6| openGauss| opengauss.dbtbl_with_readwrite_splitting_and_encrypt.host| 5432| encrypt_write_ds_6| 30000| 60000| 1800000| 2| 2| false| &#123;&quot;dataSourceProperties&quot;&#58;&#123;&#125;&#44;&quot;healthCheckProperties&quot;&#58;&#123;&#125;&#44;&quot;initializationFailTimeout&quot;&#58;1&#44;&quot;validationTimeout&quot;&#58;5000&#44;&quot;leakDetectionThreshold&quot;&#58;0&#44;&quot;registerMbeans&quot;&#58;false&#44;&quot;allowPoolSuspension&quot; [...]
+    <row values="encrypt_write_ds_7| openGauss| opengauss.dbtbl_with_readwrite_splitting_and_encrypt.host| 5432| encrypt_write_ds_7| 30000| 60000| 1800000| 2| 2| false| &#123;&quot;dataSourceProperties&quot;&#58;&#123;&#125;&#44;&quot;healthCheckProperties&quot;&#58;&#123;&#125;&#44;&quot;initializationFailTimeout&quot;&#58;1&#44;&quot;validationTimeout&quot;&#58;5000&#44;&quot;leakDetectionThreshold&quot;&#58;0&#44;&quot;registerMbeans&quot;&#58;false&#44;&quot;allowPoolSuspension&quot; [...]
+    <row values="encrypt_write_ds_8| openGauss| opengauss.dbtbl_with_readwrite_splitting_and_encrypt.host| 5432| encrypt_write_ds_8| 30000| 60000| 1800000| 2| 2| false| &#123;&quot;dataSourceProperties&quot;&#58;&#123;&#125;&#44;&quot;healthCheckProperties&quot;&#58;&#123;&#125;&#44;&quot;initializationFailTimeout&quot;&#58;1&#44;&quot;validationTimeout&quot;&#58;5000&#44;&quot;leakDetectionThreshold&quot;&#58;0&#44;&quot;registerMbeans&quot;&#58;false&#44;&quot;allowPoolSuspension&quot; [...]
+    <row values="encrypt_write_ds_9| openGauss| opengauss.dbtbl_with_readwrite_splitting_and_encrypt.host| 5432| encrypt_write_ds_9| 30000| 60000| 1800000| 2| 2| false| &#123;&quot;dataSourceProperties&quot;&#58;&#123;&#125;&#44;&quot;healthCheckProperties&quot;&#58;&#123;&#125;&#44;&quot;initializationFailTimeout&quot;&#58;1&#44;&quot;validationTimeout&quot;&#58;5000&#44;&quot;leakDetectionThreshold&quot;&#58;0&#44;&quot;registerMbeans&quot;&#58;false&#44;&quot;allowPoolSuspension&quot; [...]
+    <row values="encrypt_read_ds_0| openGauss| opengauss.dbtbl_with_readwrite_splitting_and_encrypt.host| 5432| encrypt_read_ds_0| 30000| 60000| 1800000| 2| 2| false| &#123;&quot;dataSourceProperties&quot;&#58;&#123;&#125;&#44;&quot;healthCheckProperties&quot;&#58;&#123;&#125;&#44;&quot;initializationFailTimeout&quot;&#58;1&#44;&quot;validationTimeout&quot;&#58;5000&#44;&quot;leakDetectionThreshold&quot;&#58;0&#44;&quot;registerMbeans&quot;&#58;false&#44;&quot;allowPoolSuspension&quot;&# [...]
+    <row values="encrypt_read_ds_1| openGauss| opengauss.dbtbl_with_readwrite_splitting_and_encrypt.host| 5432| encrypt_read_ds_1| 30000| 60000| 1800000| 2| 2| false| &#123;&quot;dataSourceProperties&quot;&#58;&#123;&#125;&#44;&quot;healthCheckProperties&quot;&#58;&#123;&#125;&#44;&quot;initializationFailTimeout&quot;&#58;1&#44;&quot;validationTimeout&quot;&#58;5000&#44;&quot;leakDetectionThreshold&quot;&#58;0&#44;&quot;registerMbeans&quot;&#58;false&#44;&quot;allowPoolSuspension&quot;&# [...]
+    <row values="encrypt_read_ds_2| openGauss| opengauss.dbtbl_with_readwrite_splitting_and_encrypt.host| 5432| encrypt_read_ds_2| 30000| 60000| 1800000| 2| 2| false| &#123;&quot;dataSourceProperties&quot;&#58;&#123;&#125;&#44;&quot;healthCheckProperties&quot;&#58;&#123;&#125;&#44;&quot;initializationFailTimeout&quot;&#58;1&#44;&quot;validationTimeout&quot;&#58;5000&#44;&quot;leakDetectionThreshold&quot;&#58;0&#44;&quot;registerMbeans&quot;&#58;false&#44;&quot;allowPoolSuspension&quot;&# [...]
+    <row values="encrypt_read_ds_3| openGauss| opengauss.dbtbl_with_readwrite_splitting_and_encrypt.host| 5432| encrypt_read_ds_3| 30000| 60000| 1800000| 2| 2| false| &#123;&quot;dataSourceProperties&quot;&#58;&#123;&#125;&#44;&quot;healthCheckProperties&quot;&#58;&#123;&#125;&#44;&quot;initializationFailTimeout&quot;&#58;1&#44;&quot;validationTimeout&quot;&#58;5000&#44;&quot;leakDetectionThreshold&quot;&#58;0&#44;&quot;registerMbeans&quot;&#58;false&#44;&quot;allowPoolSuspension&quot;&# [...]
+    <row values="encrypt_read_ds_4| openGauss| opengauss.dbtbl_with_readwrite_splitting_and_encrypt.host| 5432| encrypt_read_ds_4| 30000| 60000| 1800000| 2| 2| false| &#123;&quot;dataSourceProperties&quot;&#58;&#123;&#125;&#44;&quot;healthCheckProperties&quot;&#58;&#123;&#125;&#44;&quot;initializationFailTimeout&quot;&#58;1&#44;&quot;validationTimeout&quot;&#58;5000&#44;&quot;leakDetectionThreshold&quot;&#58;0&#44;&quot;registerMbeans&quot;&#58;false&#44;&quot;allowPoolSuspension&quot;&# [...]
+    <row values="encrypt_read_ds_5| openGauss| opengauss.dbtbl_with_readwrite_splitting_and_encrypt.host| 5432| encrypt_read_ds_5| 30000| 60000| 1800000| 2| 2| false| &#123;&quot;dataSourceProperties&quot;&#58;&#123;&#125;&#44;&quot;healthCheckProperties&quot;&#58;&#123;&#125;&#44;&quot;initializationFailTimeout&quot;&#58;1&#44;&quot;validationTimeout&quot;&#58;5000&#44;&quot;leakDetectionThreshold&quot;&#58;0&#44;&quot;registerMbeans&quot;&#58;false&#44;&quot;allowPoolSuspension&quot;&# [...]
+    <row values="encrypt_read_ds_6| openGauss| opengauss.dbtbl_with_readwrite_splitting_and_encrypt.host| 5432| encrypt_read_ds_6| 30000| 60000| 1800000| 2| 2| false| &#123;&quot;dataSourceProperties&quot;&#58;&#123;&#125;&#44;&quot;healthCheckProperties&quot;&#58;&#123;&#125;&#44;&quot;initializationFailTimeout&quot;&#58;1&#44;&quot;validationTimeout&quot;&#58;5000&#44;&quot;leakDetectionThreshold&quot;&#58;0&#44;&quot;registerMbeans&quot;&#58;false&#44;&quot;allowPoolSuspension&quot;&# [...]
+    <row values="encrypt_read_ds_7| openGauss| opengauss.dbtbl_with_readwrite_splitting_and_encrypt.host| 5432| encrypt_read_ds_7| 30000| 60000| 1800000| 2| 2| false| &#123;&quot;dataSourceProperties&quot;&#58;&#123;&#125;&#44;&quot;healthCheckProperties&quot;&#58;&#123;&#125;&#44;&quot;initializationFailTimeout&quot;&#58;1&#44;&quot;validationTimeout&quot;&#58;5000&#44;&quot;leakDetectionThreshold&quot;&#58;0&#44;&quot;registerMbeans&quot;&#58;false&#44;&quot;allowPoolSuspension&quot;&# [...]
+    <row values="encrypt_read_ds_8| openGauss| opengauss.dbtbl_with_readwrite_splitting_and_encrypt.host| 5432| encrypt_read_ds_8| 30000| 60000| 1800000| 2| 2| false| &#123;&quot;dataSourceProperties&quot;&#58;&#123;&#125;&#44;&quot;healthCheckProperties&quot;&#58;&#123;&#125;&#44;&quot;initializationFailTimeout&quot;&#58;1&#44;&quot;validationTimeout&quot;&#58;5000&#44;&quot;leakDetectionThreshold&quot;&#58;0&#44;&quot;registerMbeans&quot;&#58;false&#44;&quot;allowPoolSuspension&quot;&# [...]
+    <row values="encrypt_read_ds_9| openGauss| opengauss.dbtbl_with_readwrite_splitting_and_encrypt.host| 5432| encrypt_read_ds_9| 30000| 60000| 1800000| 2| 2| false| &#123;&quot;dataSourceProperties&quot;&#58;&#123;&#125;&#44;&quot;healthCheckProperties&quot;&#58;&#123;&#125;&#44;&quot;initializationFailTimeout&quot;&#58;1&#44;&quot;validationTimeout&quot;&#58;5000&#44;&quot;leakDetectionThreshold&quot;&#58;0&#44;&quot;registerMbeans&quot;&#58;false&#44;&quot;allowPoolSuspension&quot;&# [...]
+</dataset>
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/cases/rql/dataset/encrypt_and_readwrite_splitting/opengauss/show_resources.xml b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/cases/rql/dataset/encrypt_and_readwrite_splitting/opengauss/show_resources.xml
new file mode 100644
index 00000000000..def40d4bc31
--- /dev/null
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/cases/rql/dataset/encrypt_and_readwrite_splitting/opengauss/show_resources.xml
@@ -0,0 +1,35 @@
+<!--
+  ~ Licensed to the Apache Software Foundation (ASF) under one or more
+  ~ contributor license agreements.  See the NOTICE file distributed with
+  ~ this work for additional information regarding copyright ownership.
+  ~ The ASF licenses this file to You under the Apache License, Version 2.0
+  ~ (the "License"); you may not use this file except in compliance with
+  ~ the License.  You may obtain a copy of the License at
+  ~
+  ~     http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+  -->
+
+<dataset>
+    <metadata>
+        <column name="name" />
+        <column name="type" />
+        <column name="host" />
+        <column name="port" />
+        <column name="db" />
+        <column name="connection_timeout_milliseconds" />
+        <column name="idle_timeout_milliseconds" />
+        <column name="max_lifetime_milliseconds" />
+        <column name="max_pool_size" />
+        <column name="min_pool_size" />
+        <column name="read_only" />
+        <column name="other_attributes" />
+    </metadata>
+    <row values="encrypt_write_ds| openGauss| opengauss.encrypt_and_readwrite_splitting.host| 5432| encrypt_write_ds| 30000| 60000| 1800000| 2| 2| false| &#123;&quot;dataSourceProperties&quot;&#58;&#123;&#125;&#44;&quot;healthCheckProperties&quot;&#58;&#123;&#125;&#44;&quot;initializationFailTimeout&quot;&#58;1&#44;&quot;validationTimeout&quot;&#58;5000&#44;&quot;leakDetectionThreshold&quot;&#58;0&#44;&quot;registerMbeans&quot;&#58;false&#44;&quot;allowPoolSuspension&quot;&#58;false&#44; [...]
+    <row values="encrypt_read_ds| openGauss| opengauss.encrypt_and_readwrite_splitting.host| 5432| encrypt_read_ds| 30000| 60000| 1800000| 2| 2| false| &#123;&quot;dataSourceProperties&quot;&#58;&#123;&#125;&#44;&quot;healthCheckProperties&quot;&#58;&#123;&#125;&#44;&quot;initializationFailTimeout&quot;&#58;1&#44;&quot;validationTimeout&quot;&#58;5000&#44;&quot;leakDetectionThreshold&quot;&#58;0&#44;&quot;registerMbeans&quot;&#58;false&#44;&quot;allowPoolSuspension&quot;&#58;false&#44;&q [...]
+</dataset>
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/cases/rql/dataset/sharding_and_encrypt/opengauss/show_resources.xml b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/cases/rql/dataset/sharding_and_encrypt/opengauss/show_resources.xml
new file mode 100644
index 00000000000..d4694c65974
--- /dev/null
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/cases/rql/dataset/sharding_and_encrypt/opengauss/show_resources.xml
@@ -0,0 +1,43 @@
+<!--
+  ~ Licensed to the Apache Software Foundation (ASF) under one or more
+  ~ contributor license agreements.  See the NOTICE file distributed with
+  ~ this work for additional information regarding copyright ownership.
+  ~ The ASF licenses this file to You under the Apache License, Version 2.0
+  ~ (the "License"); you may not use this file except in compliance with
+  ~ the License.  You may obtain a copy of the License at
+  ~
+  ~     http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+  -->
+
+<dataset>
+    <metadata>
+        <column name="name" />
+        <column name="type" />
+        <column name="host" />
+        <column name="port" />
+        <column name="db" />
+        <column name="connection_timeout_milliseconds" />
+        <column name="idle_timeout_milliseconds" />
+        <column name="max_lifetime_milliseconds" />
+        <column name="max_pool_size" />
+        <column name="min_pool_size" />
+        <column name="read_only" />
+        <column name="other_attributes" />
+    </metadata>
+    <row values="encrypt_ds_0| openGauss| opengauss.sharding_and_encrypt.host| 5432| encrypt_ds_0| 30000| 60000| 1800000| 2| 2| false| &#123;&quot;dataSourceProperties&quot;&#58;&#123;&#125;&#44;&quot;healthCheckProperties&quot;&#58;&#123;&#125;&#44;&quot;initializationFailTimeout&quot;&#58;1&#44;&quot;validationTimeout&quot;&#58;5000&#44;&quot;leakDetectionThreshold&quot;&#58;0&#44;&quot;registerMbeans&quot;&#58;false&#44;&quot;allowPoolSuspension&quot;&#58;false&#44;&quot;autoCommit&qu [...]
+    <row values="encrypt_ds_1| openGauss| opengauss.sharding_and_encrypt.host| 5432| encrypt_ds_1| 30000| 60000| 1800000| 2| 2| false| &#123;&quot;dataSourceProperties&quot;&#58;&#123;&#125;&#44;&quot;healthCheckProperties&quot;&#58;&#123;&#125;&#44;&quot;initializationFailTimeout&quot;&#58;1&#44;&quot;validationTimeout&quot;&#58;5000&#44;&quot;leakDetectionThreshold&quot;&#58;0&#44;&quot;registerMbeans&quot;&#58;false&#44;&quot;allowPoolSuspension&quot;&#58;false&#44;&quot;autoCommit&qu [...]
+    <row values="encrypt_ds_2| openGauss| opengauss.sharding_and_encrypt.host| 5432| encrypt_ds_2| 30000| 60000| 1800000| 2| 2| false| &#123;&quot;dataSourceProperties&quot;&#58;&#123;&#125;&#44;&quot;healthCheckProperties&quot;&#58;&#123;&#125;&#44;&quot;initializationFailTimeout&quot;&#58;1&#44;&quot;validationTimeout&quot;&#58;5000&#44;&quot;leakDetectionThreshold&quot;&#58;0&#44;&quot;registerMbeans&quot;&#58;false&#44;&quot;allowPoolSuspension&quot;&#58;false&#44;&quot;autoCommit&qu [...]
+    <row values="encrypt_ds_3| openGauss| opengauss.sharding_and_encrypt.host| 5432| encrypt_ds_3| 30000| 60000| 1800000| 2| 2| false| &#123;&quot;dataSourceProperties&quot;&#58;&#123;&#125;&#44;&quot;healthCheckProperties&quot;&#58;&#123;&#125;&#44;&quot;initializationFailTimeout&quot;&#58;1&#44;&quot;validationTimeout&quot;&#58;5000&#44;&quot;leakDetectionThreshold&quot;&#58;0&#44;&quot;registerMbeans&quot;&#58;false&#44;&quot;allowPoolSuspension&quot;&#58;false&#44;&quot;autoCommit&qu [...]
+    <row values="encrypt_ds_4| openGauss| opengauss.sharding_and_encrypt.host| 5432| encrypt_ds_4| 30000| 60000| 1800000| 2| 2| false| &#123;&quot;dataSourceProperties&quot;&#58;&#123;&#125;&#44;&quot;healthCheckProperties&quot;&#58;&#123;&#125;&#44;&quot;initializationFailTimeout&quot;&#58;1&#44;&quot;validationTimeout&quot;&#58;5000&#44;&quot;leakDetectionThreshold&quot;&#58;0&#44;&quot;registerMbeans&quot;&#58;false&#44;&quot;allowPoolSuspension&quot;&#58;false&#44;&quot;autoCommit&qu [...]
+    <row values="encrypt_ds_5| openGauss| opengauss.sharding_and_encrypt.host| 5432| encrypt_ds_5| 30000| 60000| 1800000| 2| 2| false| &#123;&quot;dataSourceProperties&quot;&#58;&#123;&#125;&#44;&quot;healthCheckProperties&quot;&#58;&#123;&#125;&#44;&quot;initializationFailTimeout&quot;&#58;1&#44;&quot;validationTimeout&quot;&#58;5000&#44;&quot;leakDetectionThreshold&quot;&#58;0&#44;&quot;registerMbeans&quot;&#58;false&#44;&quot;allowPoolSuspension&quot;&#58;false&#44;&quot;autoCommit&qu [...]
+    <row values="encrypt_ds_6| openGauss| opengauss.sharding_and_encrypt.host| 5432| encrypt_ds_6| 30000| 60000| 1800000| 2| 2| false| &#123;&quot;dataSourceProperties&quot;&#58;&#123;&#125;&#44;&quot;healthCheckProperties&quot;&#58;&#123;&#125;&#44;&quot;initializationFailTimeout&quot;&#58;1&#44;&quot;validationTimeout&quot;&#58;5000&#44;&quot;leakDetectionThreshold&quot;&#58;0&#44;&quot;registerMbeans&quot;&#58;false&#44;&quot;allowPoolSuspension&quot;&#58;false&#44;&quot;autoCommit&qu [...]
+    <row values="encrypt_ds_7| openGauss| opengauss.sharding_and_encrypt.host| 5432| encrypt_ds_7| 30000| 60000| 1800000| 2| 2| false| &#123;&quot;dataSourceProperties&quot;&#58;&#123;&#125;&#44;&quot;healthCheckProperties&quot;&#58;&#123;&#125;&#44;&quot;initializationFailTimeout&quot;&#58;1&#44;&quot;validationTimeout&quot;&#58;5000&#44;&quot;leakDetectionThreshold&quot;&#58;0&#44;&quot;registerMbeans&quot;&#58;false&#44;&quot;allowPoolSuspension&quot;&#58;false&#44;&quot;autoCommit&qu [...]
+    <row values="encrypt_ds_8| openGauss| opengauss.sharding_and_encrypt.host| 5432| encrypt_ds_8| 30000| 60000| 1800000| 2| 2| false| &#123;&quot;dataSourceProperties&quot;&#58;&#123;&#125;&#44;&quot;healthCheckProperties&quot;&#58;&#123;&#125;&#44;&quot;initializationFailTimeout&quot;&#58;1&#44;&quot;validationTimeout&quot;&#58;5000&#44;&quot;leakDetectionThreshold&quot;&#58;0&#44;&quot;registerMbeans&quot;&#58;false&#44;&quot;allowPoolSuspension&quot;&#58;false&#44;&quot;autoCommit&qu [...]
+    <row values="encrypt_ds_9| openGauss| opengauss.sharding_and_encrypt.host| 5432| encrypt_ds_9| 30000| 60000| 1800000| 2| 2| false| &#123;&quot;dataSourceProperties&quot;&#58;&#123;&#125;&#44;&quot;healthCheckProperties&quot;&#58;&#123;&#125;&#44;&quot;initializationFailTimeout&quot;&#58;1&#44;&quot;validationTimeout&quot;&#58;5000&#44;&quot;leakDetectionThreshold&quot;&#58;0&#44;&quot;registerMbeans&quot;&#58;false&#44;&quot;allowPoolSuspension&quot;&#58;false&#44;&quot;autoCommit&qu [...]
+</dataset>
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/scenario/dbtbl_with_readwrite_splitting/authority.xml b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/scenario/dbtbl_with_readwrite_splitting/authority.xml
index e410e85bb21..4319bea481d 100644
--- a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/scenario/dbtbl_with_readwrite_splitting/authority.xml
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/scenario/dbtbl_with_readwrite_splitting/authority.xml
@@ -16,7 +16,7 @@
   -->
 
 <authority>
-    <sqlset db-types="Oracle,SQLServer,PostgreSQL">
+    <sqlset db-types="Oracle,SQLServer,PostgreSQL,openGauss">
         <user-create>
             <sql>CREATE USER default_user</sql>
             <sql>CREATE ROLE default_role</sql>
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/scenario/dbtbl_with_readwrite_splitting/data/actual/init-sql/opengauss/01-actual-init.sql b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/scenario/dbtbl_with_readwrite_splitting/data/actual/init-sql/opengauss/01-actual-init.sql
new file mode 100644
index 00000000000..16d130566d7
--- /dev/null
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/scenario/dbtbl_with_readwrite_splitting/data/actual/init-sql/opengauss/01-actual-init.sql
@@ -0,0 +1,1206 @@
+--
+-- Licensed to the Apache Software Foundation (ASF) under one or more
+-- contributor license agreements.  See the NOTICE file distributed with
+-- this work for additional information regarding copyright ownership.
+-- The ASF licenses this file to You under the Apache License, Version 2.0
+-- (the "License"); you may not use this file except in compliance with
+-- the License.  You may obtain a copy of the License at
+--
+--     http://www.apache.org/licenses/LICENSE-2.0
+--
+-- Unless required by applicable law or agreed to in writing, software
+-- distributed under the License is distributed on an "AS IS" BASIS,
+-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+-- See the License for the specific language governing permissions and
+-- limitations under the License.
+--
+
+CREATE DATABASE write_ds_0;
+CREATE DATABASE write_ds_1;
+CREATE DATABASE write_ds_2;
+CREATE DATABASE write_ds_3;
+CREATE DATABASE write_ds_4;
+CREATE DATABASE write_ds_5;
+CREATE DATABASE write_ds_6;
+CREATE DATABASE write_ds_7;
+CREATE DATABASE write_ds_8;
+CREATE DATABASE write_ds_9;
+CREATE DATABASE read_ds_0;
+CREATE DATABASE read_ds_1;
+CREATE DATABASE read_ds_2;
+CREATE DATABASE read_ds_3;
+CREATE DATABASE read_ds_4;
+CREATE DATABASE read_ds_5;
+CREATE DATABASE read_ds_6;
+CREATE DATABASE read_ds_7;
+CREATE DATABASE read_ds_8;
+CREATE DATABASE read_ds_9;
+
+GRANT ALL PRIVILEGES ON DATABASE write_ds_0 TO test_user;
+GRANT ALL PRIVILEGES ON DATABASE write_ds_1 TO test_user;
+GRANT ALL PRIVILEGES ON DATABASE write_ds_2 TO test_user;
+GRANT ALL PRIVILEGES ON DATABASE write_ds_3 TO test_user;
+GRANT ALL PRIVILEGES ON DATABASE write_ds_4 TO test_user;
+GRANT ALL PRIVILEGES ON DATABASE write_ds_5 TO test_user;
+GRANT ALL PRIVILEGES ON DATABASE write_ds_6 TO test_user;
+GRANT ALL PRIVILEGES ON DATABASE write_ds_7 TO test_user;
+GRANT ALL PRIVILEGES ON DATABASE write_ds_8 TO test_user;
+GRANT ALL PRIVILEGES ON DATABASE write_ds_9 TO test_user;
+GRANT ALL PRIVILEGES ON DATABASE read_ds_0 TO test_user;
+GRANT ALL PRIVILEGES ON DATABASE read_ds_1 TO test_user;
+GRANT ALL PRIVILEGES ON DATABASE read_ds_2 TO test_user;
+GRANT ALL PRIVILEGES ON DATABASE read_ds_3 TO test_user;
+GRANT ALL PRIVILEGES ON DATABASE read_ds_4 TO test_user;
+GRANT ALL PRIVILEGES ON DATABASE read_ds_5 TO test_user;
+GRANT ALL PRIVILEGES ON DATABASE read_ds_6 TO test_user;
+GRANT ALL PRIVILEGES ON DATABASE read_ds_7 TO test_user;
+GRANT ALL PRIVILEGES ON DATABASE read_ds_8 TO test_user;
+GRANT ALL PRIVILEGES ON DATABASE read_ds_9 TO test_user;
+
+\c write_ds_0
+
+DROP TABLE IF EXISTS t_order_0;
+DROP TABLE IF EXISTS t_order_item_0;
+DROP TABLE IF EXISTS t_order_1;
+DROP TABLE IF EXISTS t_order_item_1;
+DROP TABLE IF EXISTS t_order_2;
+DROP TABLE IF EXISTS t_order_item_2;
+DROP TABLE IF EXISTS t_order_3;
+DROP TABLE IF EXISTS t_order_item_3;
+DROP TABLE IF EXISTS t_order_4;
+DROP TABLE IF EXISTS t_order_item_4;
+DROP TABLE IF EXISTS t_order_5;
+DROP TABLE IF EXISTS t_order_item_5;
+DROP TABLE IF EXISTS t_order_6;
+DROP TABLE IF EXISTS t_order_item_6;
+DROP TABLE IF EXISTS t_order_7;
+DROP TABLE IF EXISTS t_order_item_7;
+DROP TABLE IF EXISTS t_order_8;
+DROP TABLE IF EXISTS t_order_item_8;
+DROP TABLE IF EXISTS t_order_9;
+DROP TABLE IF EXISTS t_order_item_9;
+DROP TABLE IF EXISTS t_single_table;
+DROP TABLE IF EXISTS t_broadcast_table;
+DROP TABLE IF EXISTS t_order_federate;
+
+CREATE TABLE t_order_0 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_0 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_1 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_1 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_2 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_2 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_3 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_3 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_4 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_4 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_5 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_5 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_6 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_6 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_7 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_7 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_single_table (single_id INT NOT NULL, id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (single_id));
+CREATE TABLE t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
+CREATE TABLE t_order_federate (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE INDEX order_index_t_order_0 ON t_order_0 (order_id);
+CREATE INDEX order_index_t_order_1 ON t_order_1 (order_id);
+CREATE INDEX order_index_t_order_2 ON t_order_2 (order_id);
+CREATE INDEX order_index_t_order_3 ON t_order_3 (order_id);
+CREATE INDEX order_index_t_order_4 ON t_order_4 (order_id);
+CREATE INDEX order_index_t_order_5 ON t_order_5 (order_id);
+CREATE INDEX order_index_t_order_6 ON t_order_6 (order_id);
+CREATE INDEX order_index_t_order_7 ON t_order_7 (order_id);
+CREATE INDEX order_index_t_order_8 ON t_order_8 (order_id);
+CREATE INDEX order_index_t_order_9 ON t_order_9 (order_id);
+
+\c write_ds_1
+
+DROP TABLE IF EXISTS t_order_0;
+DROP TABLE IF EXISTS t_order_item_0;
+DROP TABLE IF EXISTS t_order_1;
+DROP TABLE IF EXISTS t_order_item_1;
+DROP TABLE IF EXISTS t_order_2;
+DROP TABLE IF EXISTS t_order_item_2;
+DROP TABLE IF EXISTS t_order_3;
+DROP TABLE IF EXISTS t_order_item_3;
+DROP TABLE IF EXISTS t_order_4;
+DROP TABLE IF EXISTS t_order_item_4;
+DROP TABLE IF EXISTS t_order_5;
+DROP TABLE IF EXISTS t_order_item_5;
+DROP TABLE IF EXISTS t_order_6;
+DROP TABLE IF EXISTS t_order_item_6;
+DROP TABLE IF EXISTS t_order_7;
+DROP TABLE IF EXISTS t_order_item_7;
+DROP TABLE IF EXISTS t_order_8;
+DROP TABLE IF EXISTS t_order_item_8;
+DROP TABLE IF EXISTS t_order_9;
+DROP TABLE IF EXISTS t_order_item_9;
+DROP TABLE IF EXISTS t_broadcast_table;
+DROP TABLE IF EXISTS t_order_item_federate;
+DROP TABLE IF EXISTS t_order_item_federate_sharding_0;
+DROP TABLE IF EXISTS t_order_item_federate_sharding_1;
+DROP TABLE IF EXISTS t_order_federate_sharding_0;
+DROP TABLE IF EXISTS t_order_federate_sharding_1;
+
+CREATE TABLE t_order_0 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_0 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_1 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_1 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_2 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_2 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_3 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_3 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_4 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_4 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_5 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_5 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_6 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_6 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_7 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_7 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
+CREATE TABLE t_order_item_federate (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (item_id));
+CREATE TABLE t_order_item_federate_sharding_0 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, remarks VARCHAR(45) NULL, PRIMARY KEY (item_id));
+CREATE TABLE t_order_item_federate_sharding_1 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, remarks VARCHAR(45) NULL, PRIMARY KEY (item_id));
+CREATE TABLE t_order_federate_sharding_0 (order_id_sharding INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id_sharding));
+CREATE TABLE t_order_federate_sharding_1 (order_id_sharding INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id_sharding));
+CREATE INDEX order_index_t_order_0 ON t_order_0 (order_id);
+CREATE INDEX order_index_t_order_1 ON t_order_1 (order_id);
+CREATE INDEX order_index_t_order_2 ON t_order_2 (order_id);
+CREATE INDEX order_index_t_order_3 ON t_order_3 (order_id);
+CREATE INDEX order_index_t_order_4 ON t_order_4 (order_id);
+CREATE INDEX order_index_t_order_5 ON t_order_5 (order_id);
+CREATE INDEX order_index_t_order_6 ON t_order_6 (order_id);
+CREATE INDEX order_index_t_order_7 ON t_order_7 (order_id);
+CREATE INDEX order_index_t_order_8 ON t_order_8 (order_id);
+CREATE INDEX order_index_t_order_9 ON t_order_9 (order_id);
+
+\c write_ds_2
+
+DROP TABLE IF EXISTS t_order_0;
+DROP TABLE IF EXISTS t_order_item_0;
+DROP TABLE IF EXISTS t_order_1;
+DROP TABLE IF EXISTS t_order_item_1;
+DROP TABLE IF EXISTS t_order_2;
+DROP TABLE IF EXISTS t_order_item_2;
+DROP TABLE IF EXISTS t_order_3;
+DROP TABLE IF EXISTS t_order_item_3;
+DROP TABLE IF EXISTS t_order_4;
+DROP TABLE IF EXISTS t_order_item_4;
+DROP TABLE IF EXISTS t_order_5;
+DROP TABLE IF EXISTS t_order_item_5;
+DROP TABLE IF EXISTS t_order_6;
+DROP TABLE IF EXISTS t_order_item_6;
+DROP TABLE IF EXISTS t_order_7;
+DROP TABLE IF EXISTS t_order_item_7;
+DROP TABLE IF EXISTS t_order_8;
+DROP TABLE IF EXISTS t_order_item_8;
+DROP TABLE IF EXISTS t_order_9;
+DROP TABLE IF EXISTS t_order_item_9;
+DROP TABLE IF EXISTS t_broadcast_table;
+
+CREATE TABLE t_order_0 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_0 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_1 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_1 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_2 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_2 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_3 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_3 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_4 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_4 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_5 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_5 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_6 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_6 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_7 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_7 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
+CREATE INDEX order_index_t_order_0 ON t_order_0 (order_id);
+CREATE INDEX order_index_t_order_1 ON t_order_1 (order_id);
+CREATE INDEX order_index_t_order_2 ON t_order_2 (order_id);
+CREATE INDEX order_index_t_order_3 ON t_order_3 (order_id);
+CREATE INDEX order_index_t_order_4 ON t_order_4 (order_id);
+CREATE INDEX order_index_t_order_5 ON t_order_5 (order_id);
+CREATE INDEX order_index_t_order_6 ON t_order_6 (order_id);
+CREATE INDEX order_index_t_order_7 ON t_order_7 (order_id);
+CREATE INDEX order_index_t_order_8 ON t_order_8 (order_id);
+CREATE INDEX order_index_t_order_9 ON t_order_9 (order_id);
+
+\c write_ds_3
+
+DROP TABLE IF EXISTS t_order_0;
+DROP TABLE IF EXISTS t_order_item_0;
+DROP TABLE IF EXISTS t_order_1;
+DROP TABLE IF EXISTS t_order_item_1;
+DROP TABLE IF EXISTS t_order_2;
+DROP TABLE IF EXISTS t_order_item_2;
+DROP TABLE IF EXISTS t_order_3;
+DROP TABLE IF EXISTS t_order_item_3;
+DROP TABLE IF EXISTS t_order_4;
+DROP TABLE IF EXISTS t_order_item_4;
+DROP TABLE IF EXISTS t_order_5;
+DROP TABLE IF EXISTS t_order_item_5;
+DROP TABLE IF EXISTS t_order_6;
+DROP TABLE IF EXISTS t_order_item_6;
+DROP TABLE IF EXISTS t_order_7;
+DROP TABLE IF EXISTS t_order_item_7;
+DROP TABLE IF EXISTS t_order_8;
+DROP TABLE IF EXISTS t_order_item_8;
+DROP TABLE IF EXISTS t_order_9;
+DROP TABLE IF EXISTS t_order_item_9;
+DROP TABLE IF EXISTS t_broadcast_table;
+
+CREATE TABLE t_order_0 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_0 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_1 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_1 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_2 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_2 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_3 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_3 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_4 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_4 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_5 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_5 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_6 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_6 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_7 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_7 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
+CREATE INDEX order_index_t_order_0 ON t_order_0 (order_id);
+CREATE INDEX order_index_t_order_1 ON t_order_1 (order_id);
+CREATE INDEX order_index_t_order_2 ON t_order_2 (order_id);
+CREATE INDEX order_index_t_order_3 ON t_order_3 (order_id);
+CREATE INDEX order_index_t_order_4 ON t_order_4 (order_id);
+CREATE INDEX order_index_t_order_5 ON t_order_5 (order_id);
+CREATE INDEX order_index_t_order_6 ON t_order_6 (order_id);
+CREATE INDEX order_index_t_order_7 ON t_order_7 (order_id);
+CREATE INDEX order_index_t_order_8 ON t_order_8 (order_id);
+CREATE INDEX order_index_t_order_9 ON t_order_9 (order_id);
+
+\c write_ds_4
+
+DROP TABLE IF EXISTS t_order_0;
+DROP TABLE IF EXISTS t_order_item_0;
+DROP TABLE IF EXISTS t_order_1;
+DROP TABLE IF EXISTS t_order_item_1;
+DROP TABLE IF EXISTS t_order_2;
+DROP TABLE IF EXISTS t_order_item_2;
+DROP TABLE IF EXISTS t_order_3;
+DROP TABLE IF EXISTS t_order_item_3;
+DROP TABLE IF EXISTS t_order_4;
+DROP TABLE IF EXISTS t_order_item_4;
+DROP TABLE IF EXISTS t_order_5;
+DROP TABLE IF EXISTS t_order_item_5;
+DROP TABLE IF EXISTS t_order_6;
+DROP TABLE IF EXISTS t_order_item_6;
+DROP TABLE IF EXISTS t_order_7;
+DROP TABLE IF EXISTS t_order_item_7;
+DROP TABLE IF EXISTS t_order_8;
+DROP TABLE IF EXISTS t_order_item_8;
+DROP TABLE IF EXISTS t_order_9;
+DROP TABLE IF EXISTS t_order_item_9;
+DROP TABLE IF EXISTS t_broadcast_table;
+
+CREATE TABLE t_order_0 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_0 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_1 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_1 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_2 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_2 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_3 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_3 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_4 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_4 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_5 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_5 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_6 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_6 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_7 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_7 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
+CREATE INDEX order_index_t_order_0 ON t_order_0 (order_id);
+CREATE INDEX order_index_t_order_1 ON t_order_1 (order_id);
+CREATE INDEX order_index_t_order_2 ON t_order_2 (order_id);
+CREATE INDEX order_index_t_order_3 ON t_order_3 (order_id);
+CREATE INDEX order_index_t_order_4 ON t_order_4 (order_id);
+CREATE INDEX order_index_t_order_5 ON t_order_5 (order_id);
+CREATE INDEX order_index_t_order_6 ON t_order_6 (order_id);
+CREATE INDEX order_index_t_order_7 ON t_order_7 (order_id);
+CREATE INDEX order_index_t_order_8 ON t_order_8 (order_id);
+CREATE INDEX order_index_t_order_9 ON t_order_9 (order_id);
+
+\c write_ds_5
+
+DROP TABLE IF EXISTS t_order_0;
+DROP TABLE IF EXISTS t_order_item_0;
+DROP TABLE IF EXISTS t_order_1;
+DROP TABLE IF EXISTS t_order_item_1;
+DROP TABLE IF EXISTS t_order_2;
+DROP TABLE IF EXISTS t_order_item_2;
+DROP TABLE IF EXISTS t_order_3;
+DROP TABLE IF EXISTS t_order_item_3;
+DROP TABLE IF EXISTS t_order_4;
+DROP TABLE IF EXISTS t_order_item_4;
+DROP TABLE IF EXISTS t_order_5;
+DROP TABLE IF EXISTS t_order_item_5;
+DROP TABLE IF EXISTS t_order_6;
+DROP TABLE IF EXISTS t_order_item_6;
+DROP TABLE IF EXISTS t_order_7;
+DROP TABLE IF EXISTS t_order_item_7;
+DROP TABLE IF EXISTS t_order_8;
+DROP TABLE IF EXISTS t_order_item_8;
+DROP TABLE IF EXISTS t_order_9;
+DROP TABLE IF EXISTS t_order_item_9;
+DROP TABLE IF EXISTS t_broadcast_table;
+
+CREATE TABLE t_order_0 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_0 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_1 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_1 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_2 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_2 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_3 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_3 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_4 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_4 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_5 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_5 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_6 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_6 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_7 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_7 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
+CREATE INDEX order_index_t_order_0 ON t_order_0 (order_id);
+CREATE INDEX order_index_t_order_1 ON t_order_1 (order_id);
+CREATE INDEX order_index_t_order_2 ON t_order_2 (order_id);
+CREATE INDEX order_index_t_order_3 ON t_order_3 (order_id);
+CREATE INDEX order_index_t_order_4 ON t_order_4 (order_id);
+CREATE INDEX order_index_t_order_5 ON t_order_5 (order_id);
+CREATE INDEX order_index_t_order_6 ON t_order_6 (order_id);
+CREATE INDEX order_index_t_order_7 ON t_order_7 (order_id);
+CREATE INDEX order_index_t_order_8 ON t_order_8 (order_id);
+CREATE INDEX order_index_t_order_9 ON t_order_9 (order_id);
+
+\c write_ds_6
+
+DROP TABLE IF EXISTS t_order_0;
+DROP TABLE IF EXISTS t_order_item_0;
+DROP TABLE IF EXISTS t_order_1;
+DROP TABLE IF EXISTS t_order_item_1;
+DROP TABLE IF EXISTS t_order_2;
+DROP TABLE IF EXISTS t_order_item_2;
+DROP TABLE IF EXISTS t_order_3;
+DROP TABLE IF EXISTS t_order_item_3;
+DROP TABLE IF EXISTS t_order_4;
+DROP TABLE IF EXISTS t_order_item_4;
+DROP TABLE IF EXISTS t_order_5;
+DROP TABLE IF EXISTS t_order_item_5;
+DROP TABLE IF EXISTS t_order_6;
+DROP TABLE IF EXISTS t_order_item_6;
+DROP TABLE IF EXISTS t_order_7;
+DROP TABLE IF EXISTS t_order_item_7;
+DROP TABLE IF EXISTS t_order_8;
+DROP TABLE IF EXISTS t_order_item_8;
+DROP TABLE IF EXISTS t_order_9;
+DROP TABLE IF EXISTS t_order_item_9;
+DROP TABLE IF EXISTS t_broadcast_table;
+
+CREATE TABLE t_order_0 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_0 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_1 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_1 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_2 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_2 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_3 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_3 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_4 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_4 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_5 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_5 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_6 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_6 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_7 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_7 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
+CREATE INDEX order_index_t_order_0 ON t_order_0 (order_id);
+CREATE INDEX order_index_t_order_1 ON t_order_1 (order_id);
+CREATE INDEX order_index_t_order_2 ON t_order_2 (order_id);
+CREATE INDEX order_index_t_order_3 ON t_order_3 (order_id);
+CREATE INDEX order_index_t_order_4 ON t_order_4 (order_id);
+CREATE INDEX order_index_t_order_5 ON t_order_5 (order_id);
+CREATE INDEX order_index_t_order_6 ON t_order_6 (order_id);
+CREATE INDEX order_index_t_order_7 ON t_order_7 (order_id);
+CREATE INDEX order_index_t_order_8 ON t_order_8 (order_id);
+CREATE INDEX order_index_t_order_9 ON t_order_9 (order_id);
+
+\c write_ds_7
+
+DROP TABLE IF EXISTS t_order_0;
+DROP TABLE IF EXISTS t_order_item_0;
+DROP TABLE IF EXISTS t_order_1;
+DROP TABLE IF EXISTS t_order_item_1;
+DROP TABLE IF EXISTS t_order_2;
+DROP TABLE IF EXISTS t_order_item_2;
+DROP TABLE IF EXISTS t_order_3;
+DROP TABLE IF EXISTS t_order_item_3;
+DROP TABLE IF EXISTS t_order_4;
+DROP TABLE IF EXISTS t_order_item_4;
+DROP TABLE IF EXISTS t_order_5;
+DROP TABLE IF EXISTS t_order_item_5;
+DROP TABLE IF EXISTS t_order_6;
+DROP TABLE IF EXISTS t_order_item_6;
+DROP TABLE IF EXISTS t_order_7;
+DROP TABLE IF EXISTS t_order_item_7;
+DROP TABLE IF EXISTS t_order_8;
+DROP TABLE IF EXISTS t_order_item_8;
+DROP TABLE IF EXISTS t_order_9;
+DROP TABLE IF EXISTS t_order_item_9;
+DROP TABLE IF EXISTS t_broadcast_table;
+
+CREATE TABLE t_order_0 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_0 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_1 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_1 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_2 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_2 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_3 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_3 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_4 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_4 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_5 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_5 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_6 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_6 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_7 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_7 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
+CREATE INDEX order_index_t_order_0 ON t_order_0 (order_id);
+CREATE INDEX order_index_t_order_1 ON t_order_1 (order_id);
+CREATE INDEX order_index_t_order_2 ON t_order_2 (order_id);
+CREATE INDEX order_index_t_order_3 ON t_order_3 (order_id);
+CREATE INDEX order_index_t_order_4 ON t_order_4 (order_id);
+CREATE INDEX order_index_t_order_5 ON t_order_5 (order_id);
+CREATE INDEX order_index_t_order_6 ON t_order_6 (order_id);
+CREATE INDEX order_index_t_order_7 ON t_order_7 (order_id);
+CREATE INDEX order_index_t_order_8 ON t_order_8 (order_id);
+CREATE INDEX order_index_t_order_9 ON t_order_9 (order_id);
+
+\c write_ds_8
+
+DROP TABLE IF EXISTS t_order_0;
+DROP TABLE IF EXISTS t_order_item_0;
+DROP TABLE IF EXISTS t_order_1;
+DROP TABLE IF EXISTS t_order_item_1;
+DROP TABLE IF EXISTS t_order_2;
+DROP TABLE IF EXISTS t_order_item_2;
+DROP TABLE IF EXISTS t_order_3;
+DROP TABLE IF EXISTS t_order_item_3;
+DROP TABLE IF EXISTS t_order_4;
+DROP TABLE IF EXISTS t_order_item_4;
+DROP TABLE IF EXISTS t_order_5;
+DROP TABLE IF EXISTS t_order_item_5;
+DROP TABLE IF EXISTS t_order_6;
+DROP TABLE IF EXISTS t_order_item_6;
+DROP TABLE IF EXISTS t_order_7;
+DROP TABLE IF EXISTS t_order_item_7;
+DROP TABLE IF EXISTS t_order_8;
+DROP TABLE IF EXISTS t_order_item_8;
+DROP TABLE IF EXISTS t_order_9;
+DROP TABLE IF EXISTS t_order_item_9;
+DROP TABLE IF EXISTS t_broadcast_table;
+
+CREATE TABLE t_order_0 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_0 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_1 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_1 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_2 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_2 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_3 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_3 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_4 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_4 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_5 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_5 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_6 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_6 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_7 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_7 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
+CREATE INDEX order_index_t_order_0 ON t_order_0 (order_id);
+CREATE INDEX order_index_t_order_1 ON t_order_1 (order_id);
+CREATE INDEX order_index_t_order_2 ON t_order_2 (order_id);
+CREATE INDEX order_index_t_order_3 ON t_order_3 (order_id);
+CREATE INDEX order_index_t_order_4 ON t_order_4 (order_id);
+CREATE INDEX order_index_t_order_5 ON t_order_5 (order_id);
+CREATE INDEX order_index_t_order_6 ON t_order_6 (order_id);
+CREATE INDEX order_index_t_order_7 ON t_order_7 (order_id);
+CREATE INDEX order_index_t_order_8 ON t_order_8 (order_id);
+CREATE INDEX order_index_t_order_9 ON t_order_9 (order_id);
+
+\c write_ds_9
+
+DROP TABLE IF EXISTS t_order_0;
+DROP TABLE IF EXISTS t_order_item_0;
+DROP TABLE IF EXISTS t_order_1;
+DROP TABLE IF EXISTS t_order_item_1;
+DROP TABLE IF EXISTS t_order_2;
+DROP TABLE IF EXISTS t_order_item_2;
+DROP TABLE IF EXISTS t_order_3;
+DROP TABLE IF EXISTS t_order_item_3;
+DROP TABLE IF EXISTS t_order_4;
+DROP TABLE IF EXISTS t_order_item_4;
+DROP TABLE IF EXISTS t_order_5;
+DROP TABLE IF EXISTS t_order_item_5;
+DROP TABLE IF EXISTS t_order_6;
+DROP TABLE IF EXISTS t_order_item_6;
+DROP TABLE IF EXISTS t_order_7;
+DROP TABLE IF EXISTS t_order_item_7;
+DROP TABLE IF EXISTS t_order_8;
+DROP TABLE IF EXISTS t_order_item_8;
+DROP TABLE IF EXISTS t_order_9;
+DROP TABLE IF EXISTS t_order_item_9;
+DROP TABLE IF EXISTS t_broadcast_table;
+
+CREATE TABLE t_order_0 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_0 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_1 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_1 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_2 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_2 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_3 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_3 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_4 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_4 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_5 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_5 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_6 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_6 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_7 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_7 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
+CREATE INDEX order_index_t_order_0 ON t_order_0 (order_id);
+CREATE INDEX order_index_t_order_1 ON t_order_1 (order_id);
+CREATE INDEX order_index_t_order_2 ON t_order_2 (order_id);
+CREATE INDEX order_index_t_order_3 ON t_order_3 (order_id);
+CREATE INDEX order_index_t_order_4 ON t_order_4 (order_id);
+CREATE INDEX order_index_t_order_5 ON t_order_5 (order_id);
+CREATE INDEX order_index_t_order_6 ON t_order_6 (order_id);
+CREATE INDEX order_index_t_order_7 ON t_order_7 (order_id);
+CREATE INDEX order_index_t_order_8 ON t_order_8 (order_id);
+CREATE INDEX order_index_t_order_9 ON t_order_9 (order_id);
+
+\c read_ds_0
+
+DROP TABLE IF EXISTS t_order_0;
+DROP TABLE IF EXISTS t_order_item_0;
+DROP TABLE IF EXISTS t_order_1;
+DROP TABLE IF EXISTS t_order_item_1;
+DROP TABLE IF EXISTS t_order_2;
+DROP TABLE IF EXISTS t_order_item_2;
+DROP TABLE IF EXISTS t_order_3;
+DROP TABLE IF EXISTS t_order_item_3;
+DROP TABLE IF EXISTS t_order_4;
+DROP TABLE IF EXISTS t_order_item_4;
+DROP TABLE IF EXISTS t_order_5;
+DROP TABLE IF EXISTS t_order_item_5;
+DROP TABLE IF EXISTS t_order_6;
+DROP TABLE IF EXISTS t_order_item_6;
+DROP TABLE IF EXISTS t_order_7;
+DROP TABLE IF EXISTS t_order_item_7;
+DROP TABLE IF EXISTS t_order_8;
+DROP TABLE IF EXISTS t_order_item_8;
+DROP TABLE IF EXISTS t_order_9;
+DROP TABLE IF EXISTS t_order_item_9;
+DROP TABLE IF EXISTS t_broadcast_table;
+DROP TABLE IF EXISTS t_single_table;
+DROP TABLE IF EXISTS t_order_federate;
+
+CREATE TABLE t_order_0 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_0 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_1 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_1 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_2 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_2 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_3 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_3 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_4 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_4 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_5 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_5 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_6 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_6 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_7 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_7 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_single_table (single_id INT NOT NULL, id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (single_id));
+CREATE TABLE t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
+CREATE TABLE t_order_federate (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE INDEX order_index_t_order_0 ON t_order_0 (order_id);
+CREATE INDEX order_index_t_order_1 ON t_order_1 (order_id);
+CREATE INDEX order_index_t_order_2 ON t_order_2 (order_id);
+CREATE INDEX order_index_t_order_3 ON t_order_3 (order_id);
+CREATE INDEX order_index_t_order_4 ON t_order_4 (order_id);
+CREATE INDEX order_index_t_order_5 ON t_order_5 (order_id);
+CREATE INDEX order_index_t_order_6 ON t_order_6 (order_id);
+CREATE INDEX order_index_t_order_7 ON t_order_7 (order_id);
+CREATE INDEX order_index_t_order_8 ON t_order_8 (order_id);
+CREATE INDEX order_index_t_order_9 ON t_order_9 (order_id);
+
+\c read_ds_1
+
+DROP TABLE IF EXISTS t_order_0;
+DROP TABLE IF EXISTS t_order_item_0;
+DROP TABLE IF EXISTS t_order_1;
+DROP TABLE IF EXISTS t_order_item_1;
+DROP TABLE IF EXISTS t_order_2;
+DROP TABLE IF EXISTS t_order_item_2;
+DROP TABLE IF EXISTS t_order_3;
+DROP TABLE IF EXISTS t_order_item_3;
+DROP TABLE IF EXISTS t_order_4;
+DROP TABLE IF EXISTS t_order_item_4;
+DROP TABLE IF EXISTS t_order_5;
+DROP TABLE IF EXISTS t_order_item_5;
+DROP TABLE IF EXISTS t_order_6;
+DROP TABLE IF EXISTS t_order_item_6;
+DROP TABLE IF EXISTS t_order_7;
+DROP TABLE IF EXISTS t_order_item_7;
+DROP TABLE IF EXISTS t_order_8;
+DROP TABLE IF EXISTS t_order_item_8;
+DROP TABLE IF EXISTS t_order_9;
+DROP TABLE IF EXISTS t_order_item_9;
+DROP TABLE IF EXISTS t_broadcast_table;
+DROP TABLE IF EXISTS t_order_item_federate;
+DROP TABLE IF EXISTS t_order_item_federate_sharding_0;
+DROP TABLE IF EXISTS t_order_item_federate_sharding_1;
+DROP TABLE IF EXISTS t_order_federate_sharding_0;
+DROP TABLE IF EXISTS t_order_federate_sharding_1;
+
+CREATE TABLE t_order_0 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_0 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_1 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_1 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_2 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_2 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_3 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_3 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_4 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_4 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_5 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_5 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_6 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_6 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_7 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_7 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
+CREATE TABLE t_order_item_federate (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (item_id));
+CREATE TABLE t_order_item_federate_sharding_0 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, remarks VARCHAR(45) NULL, PRIMARY KEY (item_id));
+CREATE TABLE t_order_item_federate_sharding_1 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, remarks VARCHAR(45) NULL, PRIMARY KEY (item_id));
+CREATE TABLE t_order_federate_sharding_0 (order_id_sharding INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id_sharding));
+CREATE TABLE t_order_federate_sharding_1 (order_id_sharding INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id_sharding));
+CREATE INDEX order_index_t_order_0 ON t_order_0 (order_id);
+CREATE INDEX order_index_t_order_1 ON t_order_1 (order_id);
+CREATE INDEX order_index_t_order_2 ON t_order_2 (order_id);
+CREATE INDEX order_index_t_order_3 ON t_order_3 (order_id);
+CREATE INDEX order_index_t_order_4 ON t_order_4 (order_id);
+CREATE INDEX order_index_t_order_5 ON t_order_5 (order_id);
+CREATE INDEX order_index_t_order_6 ON t_order_6 (order_id);
+CREATE INDEX order_index_t_order_7 ON t_order_7 (order_id);
+CREATE INDEX order_index_t_order_8 ON t_order_8 (order_id);
+CREATE INDEX order_index_t_order_9 ON t_order_9 (order_id);
+
+\c read_ds_2
+
+DROP TABLE IF EXISTS t_order_0;
+DROP TABLE IF EXISTS t_order_item_0;
+DROP TABLE IF EXISTS t_order_1;
+DROP TABLE IF EXISTS t_order_item_1;
+DROP TABLE IF EXISTS t_order_2;
+DROP TABLE IF EXISTS t_order_item_2;
+DROP TABLE IF EXISTS t_order_3;
+DROP TABLE IF EXISTS t_order_item_3;
+DROP TABLE IF EXISTS t_order_4;
+DROP TABLE IF EXISTS t_order_item_4;
+DROP TABLE IF EXISTS t_order_5;
+DROP TABLE IF EXISTS t_order_item_5;
+DROP TABLE IF EXISTS t_order_6;
+DROP TABLE IF EXISTS t_order_item_6;
+DROP TABLE IF EXISTS t_order_7;
+DROP TABLE IF EXISTS t_order_item_7;
+DROP TABLE IF EXISTS t_order_8;
+DROP TABLE IF EXISTS t_order_item_8;
+DROP TABLE IF EXISTS t_order_9;
+DROP TABLE IF EXISTS t_order_item_9;
+DROP TABLE IF EXISTS t_broadcast_table;
+
+CREATE TABLE t_order_0 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_0 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_1 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_1 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_2 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_2 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_3 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_3 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_4 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_4 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_5 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_5 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_6 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_6 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_7 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_7 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
+CREATE INDEX order_index_t_order_0 ON t_order_0 (order_id);
+CREATE INDEX order_index_t_order_1 ON t_order_1 (order_id);
+CREATE INDEX order_index_t_order_2 ON t_order_2 (order_id);
+CREATE INDEX order_index_t_order_3 ON t_order_3 (order_id);
+CREATE INDEX order_index_t_order_4 ON t_order_4 (order_id);
+CREATE INDEX order_index_t_order_5 ON t_order_5 (order_id);
+CREATE INDEX order_index_t_order_6 ON t_order_6 (order_id);
+CREATE INDEX order_index_t_order_7 ON t_order_7 (order_id);
+CREATE INDEX order_index_t_order_8 ON t_order_8 (order_id);
+CREATE INDEX order_index_t_order_9 ON t_order_9 (order_id);
+
+\c read_ds_3
+
+DROP TABLE IF EXISTS t_order_0;
+DROP TABLE IF EXISTS t_order_item_0;
+DROP TABLE IF EXISTS t_order_1;
+DROP TABLE IF EXISTS t_order_item_1;
+DROP TABLE IF EXISTS t_order_2;
+DROP TABLE IF EXISTS t_order_item_2;
+DROP TABLE IF EXISTS t_order_3;
+DROP TABLE IF EXISTS t_order_item_3;
+DROP TABLE IF EXISTS t_order_4;
+DROP TABLE IF EXISTS t_order_item_4;
+DROP TABLE IF EXISTS t_order_5;
+DROP TABLE IF EXISTS t_order_item_5;
+DROP TABLE IF EXISTS t_order_6;
+DROP TABLE IF EXISTS t_order_item_6;
+DROP TABLE IF EXISTS t_order_7;
+DROP TABLE IF EXISTS t_order_item_7;
+DROP TABLE IF EXISTS t_order_8;
+DROP TABLE IF EXISTS t_order_item_8;
+DROP TABLE IF EXISTS t_order_9;
+DROP TABLE IF EXISTS t_order_item_9;
+DROP TABLE IF EXISTS t_broadcast_table;
+
+CREATE TABLE t_order_0 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_0 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_1 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_1 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_2 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_2 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_3 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_3 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_4 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_4 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_5 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_5 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_6 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_6 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_7 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_7 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
+CREATE INDEX order_index_t_order_0 ON t_order_0 (order_id);
+CREATE INDEX order_index_t_order_1 ON t_order_1 (order_id);
+CREATE INDEX order_index_t_order_2 ON t_order_2 (order_id);
+CREATE INDEX order_index_t_order_3 ON t_order_3 (order_id);
+CREATE INDEX order_index_t_order_4 ON t_order_4 (order_id);
+CREATE INDEX order_index_t_order_5 ON t_order_5 (order_id);
+CREATE INDEX order_index_t_order_6 ON t_order_6 (order_id);
+CREATE INDEX order_index_t_order_7 ON t_order_7 (order_id);
+CREATE INDEX order_index_t_order_8 ON t_order_8 (order_id);
+CREATE INDEX order_index_t_order_9 ON t_order_9 (order_id);
+
+\c read_ds_4
+
+DROP TABLE IF EXISTS t_order_0;
+DROP TABLE IF EXISTS t_order_item_0;
+DROP TABLE IF EXISTS t_order_1;
+DROP TABLE IF EXISTS t_order_item_1;
+DROP TABLE IF EXISTS t_order_2;
+DROP TABLE IF EXISTS t_order_item_2;
+DROP TABLE IF EXISTS t_order_3;
+DROP TABLE IF EXISTS t_order_item_3;
+DROP TABLE IF EXISTS t_order_4;
+DROP TABLE IF EXISTS t_order_item_4;
+DROP TABLE IF EXISTS t_order_5;
+DROP TABLE IF EXISTS t_order_item_5;
+DROP TABLE IF EXISTS t_order_6;
+DROP TABLE IF EXISTS t_order_item_6;
+DROP TABLE IF EXISTS t_order_7;
+DROP TABLE IF EXISTS t_order_item_7;
+DROP TABLE IF EXISTS t_order_8;
+DROP TABLE IF EXISTS t_order_item_8;
+DROP TABLE IF EXISTS t_order_9;
+DROP TABLE IF EXISTS t_order_item_9;
+DROP TABLE IF EXISTS t_broadcast_table;
+
+CREATE TABLE t_order_0 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_0 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_1 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_1 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_2 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_2 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_3 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_3 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_4 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_4 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_5 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_5 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_6 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_6 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_7 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_7 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
+CREATE INDEX order_index_t_order_0 ON t_order_0 (order_id);
+CREATE INDEX order_index_t_order_1 ON t_order_1 (order_id);
+CREATE INDEX order_index_t_order_2 ON t_order_2 (order_id);
+CREATE INDEX order_index_t_order_3 ON t_order_3 (order_id);
+CREATE INDEX order_index_t_order_4 ON t_order_4 (order_id);
+CREATE INDEX order_index_t_order_5 ON t_order_5 (order_id);
+CREATE INDEX order_index_t_order_6 ON t_order_6 (order_id);
+CREATE INDEX order_index_t_order_7 ON t_order_7 (order_id);
+CREATE INDEX order_index_t_order_8 ON t_order_8 (order_id);
+CREATE INDEX order_index_t_order_9 ON t_order_9 (order_id);
+
+\c read_ds_5
+
+DROP TABLE IF EXISTS t_order_0;
+DROP TABLE IF EXISTS t_order_item_0;
+DROP TABLE IF EXISTS t_order_1;
+DROP TABLE IF EXISTS t_order_item_1;
+DROP TABLE IF EXISTS t_order_2;
+DROP TABLE IF EXISTS t_order_item_2;
+DROP TABLE IF EXISTS t_order_3;
+DROP TABLE IF EXISTS t_order_item_3;
+DROP TABLE IF EXISTS t_order_4;
+DROP TABLE IF EXISTS t_order_item_4;
+DROP TABLE IF EXISTS t_order_5;
+DROP TABLE IF EXISTS t_order_item_5;
+DROP TABLE IF EXISTS t_order_6;
+DROP TABLE IF EXISTS t_order_item_6;
+DROP TABLE IF EXISTS t_order_7;
+DROP TABLE IF EXISTS t_order_item_7;
+DROP TABLE IF EXISTS t_order_8;
+DROP TABLE IF EXISTS t_order_item_8;
+DROP TABLE IF EXISTS t_order_9;
+DROP TABLE IF EXISTS t_order_item_9;
+DROP TABLE IF EXISTS t_broadcast_table;
+
+CREATE TABLE t_order_0 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_0 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_1 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_1 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_2 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_2 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_3 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_3 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_4 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_4 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_5 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_5 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_6 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_6 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_7 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_7 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
+CREATE INDEX order_index_t_order_0 ON t_order_0 (order_id);
+CREATE INDEX order_index_t_order_1 ON t_order_1 (order_id);
+CREATE INDEX order_index_t_order_2 ON t_order_2 (order_id);
+CREATE INDEX order_index_t_order_3 ON t_order_3 (order_id);
+CREATE INDEX order_index_t_order_4 ON t_order_4 (order_id);
+CREATE INDEX order_index_t_order_5 ON t_order_5 (order_id);
+CREATE INDEX order_index_t_order_6 ON t_order_6 (order_id);
+CREATE INDEX order_index_t_order_7 ON t_order_7 (order_id);
+CREATE INDEX order_index_t_order_8 ON t_order_8 (order_id);
+CREATE INDEX order_index_t_order_9 ON t_order_9 (order_id);
+
+\c read_ds_6
+
+DROP TABLE IF EXISTS t_order_0;
+DROP TABLE IF EXISTS t_order_item_0;
+DROP TABLE IF EXISTS t_order_1;
+DROP TABLE IF EXISTS t_order_item_1;
+DROP TABLE IF EXISTS t_order_2;
+DROP TABLE IF EXISTS t_order_item_2;
+DROP TABLE IF EXISTS t_order_3;
+DROP TABLE IF EXISTS t_order_item_3;
+DROP TABLE IF EXISTS t_order_4;
+DROP TABLE IF EXISTS t_order_item_4;
+DROP TABLE IF EXISTS t_order_5;
+DROP TABLE IF EXISTS t_order_item_5;
+DROP TABLE IF EXISTS t_order_6;
+DROP TABLE IF EXISTS t_order_item_6;
+DROP TABLE IF EXISTS t_order_7;
+DROP TABLE IF EXISTS t_order_item_7;
+DROP TABLE IF EXISTS t_order_8;
+DROP TABLE IF EXISTS t_order_item_8;
+DROP TABLE IF EXISTS t_order_9;
+DROP TABLE IF EXISTS t_order_item_9;
+DROP TABLE IF EXISTS t_broadcast_table;
+
+CREATE TABLE t_order_0 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_0 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_1 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_1 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_2 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_2 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_3 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_3 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_4 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_4 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_5 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_5 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_6 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_6 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_7 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_7 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
+CREATE INDEX order_index_t_order_0 ON t_order_0 (order_id);
+CREATE INDEX order_index_t_order_1 ON t_order_1 (order_id);
+CREATE INDEX order_index_t_order_2 ON t_order_2 (order_id);
+CREATE INDEX order_index_t_order_3 ON t_order_3 (order_id);
+CREATE INDEX order_index_t_order_4 ON t_order_4 (order_id);
+CREATE INDEX order_index_t_order_5 ON t_order_5 (order_id);
+CREATE INDEX order_index_t_order_6 ON t_order_6 (order_id);
+CREATE INDEX order_index_t_order_7 ON t_order_7 (order_id);
+CREATE INDEX order_index_t_order_8 ON t_order_8 (order_id);
+CREATE INDEX order_index_t_order_9 ON t_order_9 (order_id);
+
+\c read_ds_7
+
+DROP TABLE IF EXISTS t_order_0;
+DROP TABLE IF EXISTS t_order_item_0;
+DROP TABLE IF EXISTS t_order_1;
+DROP TABLE IF EXISTS t_order_item_1;
+DROP TABLE IF EXISTS t_order_2;
+DROP TABLE IF EXISTS t_order_item_2;
+DROP TABLE IF EXISTS t_order_3;
+DROP TABLE IF EXISTS t_order_item_3;
+DROP TABLE IF EXISTS t_order_4;
+DROP TABLE IF EXISTS t_order_item_4;
+DROP TABLE IF EXISTS t_order_5;
+DROP TABLE IF EXISTS t_order_item_5;
+DROP TABLE IF EXISTS t_order_6;
+DROP TABLE IF EXISTS t_order_item_6;
+DROP TABLE IF EXISTS t_order_7;
+DROP TABLE IF EXISTS t_order_item_7;
+DROP TABLE IF EXISTS t_order_8;
+DROP TABLE IF EXISTS t_order_item_8;
+DROP TABLE IF EXISTS t_order_9;
+DROP TABLE IF EXISTS t_order_item_9;
+DROP TABLE IF EXISTS t_broadcast_table;
+
+CREATE TABLE t_order_0 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_0 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_1 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_1 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_2 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_2 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_3 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_3 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_4 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_4 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_5 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_5 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_6 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_6 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_7 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_7 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
+CREATE INDEX order_index_t_order_0 ON t_order_0 (order_id);
+CREATE INDEX order_index_t_order_1 ON t_order_1 (order_id);
+CREATE INDEX order_index_t_order_2 ON t_order_2 (order_id);
+CREATE INDEX order_index_t_order_3 ON t_order_3 (order_id);
+CREATE INDEX order_index_t_order_4 ON t_order_4 (order_id);
+CREATE INDEX order_index_t_order_5 ON t_order_5 (order_id);
+CREATE INDEX order_index_t_order_6 ON t_order_6 (order_id);
+CREATE INDEX order_index_t_order_7 ON t_order_7 (order_id);
+CREATE INDEX order_index_t_order_8 ON t_order_8 (order_id);
+CREATE INDEX order_index_t_order_9 ON t_order_9 (order_id);
+
+\c read_ds_8
+
+DROP TABLE IF EXISTS t_order_0;
+DROP TABLE IF EXISTS t_order_item_0;
+DROP TABLE IF EXISTS t_order_1;
+DROP TABLE IF EXISTS t_order_item_1;
+DROP TABLE IF EXISTS t_order_2;
+DROP TABLE IF EXISTS t_order_item_2;
+DROP TABLE IF EXISTS t_order_3;
+DROP TABLE IF EXISTS t_order_item_3;
+DROP TABLE IF EXISTS t_order_4;
+DROP TABLE IF EXISTS t_order_item_4;
+DROP TABLE IF EXISTS t_order_5;
+DROP TABLE IF EXISTS t_order_item_5;
+DROP TABLE IF EXISTS t_order_6;
+DROP TABLE IF EXISTS t_order_item_6;
+DROP TABLE IF EXISTS t_order_7;
+DROP TABLE IF EXISTS t_order_item_7;
+DROP TABLE IF EXISTS t_order_8;
+DROP TABLE IF EXISTS t_order_item_8;
+DROP TABLE IF EXISTS t_order_9;
+DROP TABLE IF EXISTS t_order_item_9;
+DROP TABLE IF EXISTS t_broadcast_table;
+
+CREATE TABLE t_order_0 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_0 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_1 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_1 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_2 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_2 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_3 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_3 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_4 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_4 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_5 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_5 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_6 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_6 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_7 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_7 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
+CREATE INDEX order_index_t_order_0 ON t_order_0 (order_id);
+CREATE INDEX order_index_t_order_1 ON t_order_1 (order_id);
+CREATE INDEX order_index_t_order_2 ON t_order_2 (order_id);
+CREATE INDEX order_index_t_order_3 ON t_order_3 (order_id);
+CREATE INDEX order_index_t_order_4 ON t_order_4 (order_id);
+CREATE INDEX order_index_t_order_5 ON t_order_5 (order_id);
+CREATE INDEX order_index_t_order_6 ON t_order_6 (order_id);
+CREATE INDEX order_index_t_order_7 ON t_order_7 (order_id);
+CREATE INDEX order_index_t_order_8 ON t_order_8 (order_id);
+CREATE INDEX order_index_t_order_9 ON t_order_9 (order_id);
+
+\c read_ds_9
+
+DROP TABLE IF EXISTS t_order_0;
+DROP TABLE IF EXISTS t_order_item_0;
+DROP TABLE IF EXISTS t_order_1;
+DROP TABLE IF EXISTS t_order_item_1;
+DROP TABLE IF EXISTS t_order_2;
+DROP TABLE IF EXISTS t_order_item_2;
+DROP TABLE IF EXISTS t_order_3;
+DROP TABLE IF EXISTS t_order_item_3;
+DROP TABLE IF EXISTS t_order_4;
+DROP TABLE IF EXISTS t_order_item_4;
+DROP TABLE IF EXISTS t_order_5;
+DROP TABLE IF EXISTS t_order_item_5;
+DROP TABLE IF EXISTS t_order_6;
+DROP TABLE IF EXISTS t_order_item_6;
+DROP TABLE IF EXISTS t_order_7;
+DROP TABLE IF EXISTS t_order_item_7;
+DROP TABLE IF EXISTS t_order_8;
+DROP TABLE IF EXISTS t_order_item_8;
+DROP TABLE IF EXISTS t_order_9;
+DROP TABLE IF EXISTS t_order_item_9;
+DROP TABLE IF EXISTS t_broadcast_table;
+
+CREATE TABLE t_order_0 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_0 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_1 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_1 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_2 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_2 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_3 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_3 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_4 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_4 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_5 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_5 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_6 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_6 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_7 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_7 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
+CREATE INDEX order_index_t_order_0 ON t_order_0 (order_id);
+CREATE INDEX order_index_t_order_1 ON t_order_1 (order_id);
+CREATE INDEX order_index_t_order_2 ON t_order_2 (order_id);
+CREATE INDEX order_index_t_order_3 ON t_order_3 (order_id);
+CREATE INDEX order_index_t_order_4 ON t_order_4 (order_id);
+CREATE INDEX order_index_t_order_5 ON t_order_5 (order_id);
+CREATE INDEX order_index_t_order_6 ON t_order_6 (order_id);
+CREATE INDEX order_index_t_order_7 ON t_order_7 (order_id);
+CREATE INDEX order_index_t_order_8 ON t_order_8 (order_id);
+CREATE INDEX order_index_t_order_9 ON t_order_9 (order_id);
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/scenario/dbtbl_with_readwrite_splitting/data/expected/init-sql/opengauss/01-expected-init.sql b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/scenario/dbtbl_with_readwrite_splitting/data/expected/init-sql/opengauss/01-expected-init.sql
new file mode 100644
index 00000000000..6a0f3545d8d
--- /dev/null
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/scenario/dbtbl_with_readwrite_splitting/data/expected/init-sql/opengauss/01-expected-init.sql
@@ -0,0 +1,71 @@
+--
+-- Licensed to the Apache Software Foundation (ASF) under one or more
+-- contributor license agreements.  See the NOTICE file distributed with
+-- this work for additional information regarding copyright ownership.
+-- The ASF licenses this file to You under the Apache License, Version 2.0
+-- (the "License"); you may not use this file except in compliance with
+-- the License.  You may obtain a copy of the License at
+--
+--     http://www.apache.org/licenses/LICENSE-2.0
+--
+-- Unless required by applicable law or agreed to in writing, software
+-- distributed under the License is distributed on an "AS IS" BASIS,
+-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+-- See the License for the specific language governing permissions and
+-- limitations under the License.
+--
+
+DROP DATABASE IF EXISTS write_dataset;
+CREATE DATABASE write_dataset;
+
+GRANT ALL PRIVILEGES ON DATABASE write_dataset TO test_user;
+
+\c write_dataset;
+
+DROP TABLE IF EXISTS t_order;
+DROP TABLE IF EXISTS t_order_item;
+DROP TABLE IF EXISTS t_single_table;
+DROP TABLE IF EXISTS t_broadcast_table;
+DROP TABLE IF EXISTS t_order_federate;
+DROP TABLE IF EXISTS t_order_item_federate;
+DROP TABLE IF EXISTS t_order_federate_sharding;
+DROP TABLE IF EXISTS t_order_item_federate_sharding;
+
+CREATE TABLE t_order (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_single_table (single_id INT NOT NULL, id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (single_id));
+CREATE TABLE t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
+CREATE TABLE t_order_federate (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_federate (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (item_id));
+CREATE TABLE t_order_federate_sharding (order_id_sharding INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id_sharding));
+CREATE TABLE t_order_item_federate_sharding (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, remarks VARCHAR(45) NULL, PRIMARY KEY (item_id));
+
+CREATE INDEX order_index_t_order ON t_order (order_id);
+
+
+DROP DATABASE IF EXISTS read_dataset;
+CREATE DATABASE read_dataset;
+
+GRANT ALL PRIVILEGES ON DATABASE read_dataset TO test_user;
+
+\c read_dataset;
+
+DROP TABLE IF EXISTS t_order;
+DROP TABLE IF EXISTS t_order_item;
+DROP TABLE IF EXISTS t_single_table;
+DROP TABLE IF EXISTS t_broadcast_table;
+DROP TABLE IF EXISTS t_order_federate;
+DROP TABLE IF EXISTS t_order_item_federate;
+DROP TABLE IF EXISTS t_order_federate_sharding;
+DROP TABLE IF EXISTS t_order_item_federate_sharding;
+
+CREATE TABLE t_order (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_single_table (single_id INT NOT NULL, id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (single_id));
+CREATE TABLE t_broadcast_table (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id));
+CREATE TABLE t_order_federate (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_federate (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (item_id));
+CREATE TABLE t_order_federate_sharding (order_id_sharding INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id_sharding));
+CREATE TABLE t_order_item_federate_sharding (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, remarks VARCHAR(45) NULL, PRIMARY KEY (item_id));
+
+CREATE INDEX order_index_t_order ON t_order (order_id);
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/scenario/dbtbl_with_readwrite_splitting/proxy/conf/opengauss/config-dbtbl-with-readwrite-splitting.yaml b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/scenario/dbtbl_with_readwrite_splitting/proxy/conf/opengauss/config-dbtbl-with-readwrite-splitting.yaml
new file mode 100644
index 00000000000..5cd4280c240
--- /dev/null
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/scenario/dbtbl_with_readwrite_splitting/proxy/conf/opengauss/config-dbtbl-with-readwrite-splitting.yaml
@@ -0,0 +1,343 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+databaseName: dbtbl_with_readwrite_splitting
+
+dataSources:
+  write_ds_0:
+    url: jdbc:opengauss://opengauss.dbtbl_with_readwrite_splitting.host:5432/write_ds_0
+    username: test_user
+    password: Test@123
+    connectionTimeoutMilliseconds: 30000
+    idleTimeoutMilliseconds: 60000
+    maxLifetimeMilliseconds: 1800000
+    maxPoolSize: 2
+    minPoolSize: 2
+  write_ds_1:
+    url: jdbc:opengauss://opengauss.dbtbl_with_readwrite_splitting.host:5432/write_ds_1
+    username: test_user
+    password: Test@123
+    connectionTimeoutMilliseconds: 30000
+    idleTimeoutMilliseconds: 60000
+    maxLifetimeMilliseconds: 1800000
+    maxPoolSize: 2
+    minPoolSize: 2
+  write_ds_2:
+    url: jdbc:opengauss://opengauss.dbtbl_with_readwrite_splitting.host:5432/write_ds_2
+    username: test_user
+    password: Test@123
+    connectionTimeoutMilliseconds: 30000
+    idleTimeoutMilliseconds: 60000
+    maxLifetimeMilliseconds: 1800000
+    maxPoolSize: 2
+    minPoolSize: 2
+  write_ds_3:
+    url: jdbc:opengauss://opengauss.dbtbl_with_readwrite_splitting.host:5432/write_ds_3
+    username: test_user
+    password: Test@123
+    connectionTimeoutMilliseconds: 30000
+    idleTimeoutMilliseconds: 60000
+    maxLifetimeMilliseconds: 1800000
+    maxPoolSize: 2
+    minPoolSize: 2
+  write_ds_4:
+    url: jdbc:opengauss://opengauss.dbtbl_with_readwrite_splitting.host:5432/write_ds_4
+    username: test_user
+    password: Test@123
+    connectionTimeoutMilliseconds: 30000
+    idleTimeoutMilliseconds: 60000
+    maxLifetimeMilliseconds: 1800000
+    maxPoolSize: 2
+    minPoolSize: 2
+  write_ds_5:
+    url: jdbc:opengauss://opengauss.dbtbl_with_readwrite_splitting.host:5432/write_ds_5
+    username: test_user
+    password: Test@123
+    connectionTimeoutMilliseconds: 30000
+    idleTimeoutMilliseconds: 60000
+    maxLifetimeMilliseconds: 1800000
+    maxPoolSize: 2
+    minPoolSize: 2
+  write_ds_6:
+    url: jdbc:opengauss://opengauss.dbtbl_with_readwrite_splitting.host:5432/write_ds_6
+    username: test_user
+    password: Test@123
+    connectionTimeoutMilliseconds: 30000
+    idleTimeoutMilliseconds: 60000
+    maxLifetimeMilliseconds: 1800000
+    maxPoolSize: 2
+    minPoolSize: 2
+  write_ds_7:
+    url: jdbc:opengauss://opengauss.dbtbl_with_readwrite_splitting.host:5432/write_ds_7
+    username: test_user
+    password: Test@123
+    connectionTimeoutMilliseconds: 30000
+    idleTimeoutMilliseconds: 60000
+    maxLifetimeMilliseconds: 1800000
+    maxPoolSize: 2
+    minPoolSize: 2
+  write_ds_8:
+    url: jdbc:opengauss://opengauss.dbtbl_with_readwrite_splitting.host:5432/write_ds_8
+    username: test_user
+    password: Test@123
+    connectionTimeoutMilliseconds: 30000
+    idleTimeoutMilliseconds: 60000
+    maxLifetimeMilliseconds: 1800000
+    maxPoolSize: 2
+    minPoolSize: 2
+  write_ds_9:
+    url: jdbc:opengauss://opengauss.dbtbl_with_readwrite_splitting.host:5432/write_ds_9
+    username: test_user
+    password: Test@123
+    connectionTimeoutMilliseconds: 30000
+    idleTimeoutMilliseconds: 60000
+    maxLifetimeMilliseconds: 1800000
+    maxPoolSize: 2
+    minPoolSize: 2
+  read_ds_0:
+    url: jdbc:opengauss://opengauss.dbtbl_with_readwrite_splitting.host:5432/read_ds_0
+    username: test_user
+    password: Test@123
+    connectionTimeoutMilliseconds: 30000
+    idleTimeoutMilliseconds: 60000
+    maxLifetimeMilliseconds: 1800000
+    maxPoolSize: 2
+    minPoolSize: 2
+  read_ds_1:
+    url: jdbc:opengauss://opengauss.dbtbl_with_readwrite_splitting.host:5432/read_ds_1
+    username: test_user
+    password: Test@123
+    connectionTimeoutMilliseconds: 30000
+    idleTimeoutMilliseconds: 60000
+    maxLifetimeMilliseconds: 1800000
+    maxPoolSize: 2
+    minPoolSize: 2
+  read_ds_2:
+    url: jdbc:opengauss://opengauss.dbtbl_with_readwrite_splitting.host:5432/read_ds_2
+    username: test_user
+    password: Test@123
+    connectionTimeoutMilliseconds: 30000
+    idleTimeoutMilliseconds: 60000
+    maxLifetimeMilliseconds: 1800000
+    maxPoolSize: 2
+    minPoolSize: 2
+  read_ds_3:
+    url: jdbc:opengauss://opengauss.dbtbl_with_readwrite_splitting.host:5432/read_ds_3
+    username: test_user
+    password: Test@123
+    connectionTimeoutMilliseconds: 30000
+    idleTimeoutMilliseconds: 60000
+    maxLifetimeMilliseconds: 1800000
+    maxPoolSize: 2
+    minPoolSize: 2
+  read_ds_4:
+    url: jdbc:opengauss://opengauss.dbtbl_with_readwrite_splitting.host:5432/read_ds_4
+    username: test_user
+    password: Test@123
+    connectionTimeoutMilliseconds: 30000
+    idleTimeoutMilliseconds: 60000
+    maxLifetimeMilliseconds: 1800000
+    maxPoolSize: 2
+    minPoolSize: 2
+  read_ds_5:
+    url: jdbc:opengauss://opengauss.dbtbl_with_readwrite_splitting.host:5432/read_ds_5
+    username: test_user
+    password: Test@123
+    connectionTimeoutMilliseconds: 30000
+    idleTimeoutMilliseconds: 60000
+    maxLifetimeMilliseconds: 1800000
+    maxPoolSize: 2
+    minPoolSize: 2
+  read_ds_6:
+    url: jdbc:opengauss://opengauss.dbtbl_with_readwrite_splitting.host:5432/read_ds_6
+    username: test_user
+    password: Test@123
+    connectionTimeoutMilliseconds: 30000
+    idleTimeoutMilliseconds: 60000
+    maxLifetimeMilliseconds: 1800000
+    maxPoolSize: 2
+    minPoolSize: 2
+  read_ds_7:
+    url: jdbc:opengauss://opengauss.dbtbl_with_readwrite_splitting.host:5432/read_ds_7
+    username: test_user
+    password: Test@123
+    connectionTimeoutMilliseconds: 30000
+    idleTimeoutMilliseconds: 60000
+    maxLifetimeMilliseconds: 1800000
+    maxPoolSize: 2
+    minPoolSize: 2
+  read_ds_8:
+    url: jdbc:opengauss://opengauss.dbtbl_with_readwrite_splitting.host:5432/read_ds_8
+    username: test_user
+    password: Test@123
+    connectionTimeoutMilliseconds: 30000
+    idleTimeoutMilliseconds: 60000
+    maxLifetimeMilliseconds: 1800000
+    maxPoolSize: 2
+    minPoolSize: 2
+  read_ds_9:
+    url: jdbc:opengauss://opengauss.dbtbl_with_readwrite_splitting.host:5432/read_ds_9
+    username: test_user
+    password: Test@123
+    connectionTimeoutMilliseconds: 30000
+    idleTimeoutMilliseconds: 60000
+    maxLifetimeMilliseconds: 1800000
+    maxPoolSize: 2
+    minPoolSize: 2
+
+rules:
+- !SHARDING
+  tables:
+    t_order:
+      actualDataNodes: readwrite_ds_${0..9}.t_order_${0..9}
+      databaseStrategy:
+        standard:
+          shardingColumn: user_id
+          shardingAlgorithmName: it_standard_fixture
+      tableStrategy:
+        standard:
+          shardingColumn: order_id
+          shardingAlgorithmName: it_standard_fixture
+    t_order_item:
+      actualDataNodes: readwrite_ds_${0..9}.t_order_item_${0..9}
+      databaseStrategy:
+        standard:
+          shardingColumn: user_id
+          shardingAlgorithmName: it_standard_fixture
+      tableStrategy:
+        standard:
+          shardingColumn: order_id
+          shardingAlgorithmName: it_standard_fixture
+      keyGenerateStrategy:
+        column: item_id
+        keyGeneratorName: constant
+      auditStrategy:
+        auditorNames:
+          - auditor_constant
+        allowHintDisable: true
+    t_order_details:
+      actualDataNodes: readwrite_ds_${0..9}.t_order_details_${0..9}
+      databaseStrategy:
+        standard:
+          shardingColumn: user_id
+          shardingAlgorithmName: it_standard_fixture
+      tableStrategy:
+        standard:
+          shardingColumn: order_id
+          shardingAlgorithmName: it_standard_fixture
+    t_order_item_federate_sharding:
+      actualDataNodes: readwrite_ds_1.t_order_item_federate_sharding_${0..1}
+      tableStrategy:
+        standard:
+          shardingColumn: item_id
+          shardingAlgorithmName: table_inline_item_id
+    t_order_federate_sharding:
+      actualDataNodes: readwrite_ds_1.t_order_federate_sharding_${0..1}
+      tableStrategy:
+        standard:
+          shardingColumn: order_id_sharding
+          shardingAlgorithmName: table_inline_order_id
+  bindingTables:
+    - t_order,t_order_item,t_order_details
+  broadcastTables:
+    - t_broadcast_table
+    - t_broadcast_table_for_ddl
+  shardingAlgorithms:
+    it_standard_fixture:
+      type: IT.STANDARD.FIXTURE
+    table_inline_item_id:
+      type: INLINE
+      props:
+        algorithm-expression: t_order_item_federate_sharding_${item_id % 2}
+    table_inline_order_id:
+      type: INLINE
+      props:
+        algorithm-expression: t_order_federate_sharding_${order_id_sharding % 2}
+
+  keyGenerators:
+    constant:
+      type: IT.FIXTURE
+
+  auditors:
+    auditor_constant:
+      type: IT.AUDITOR.FIXTURE
+  
+- !READWRITE_SPLITTING
+  dataSources:
+    readwrite_ds_0:
+      staticStrategy:
+        writeDataSourceName: write_ds_0
+        readDataSourceNames:
+          - read_ds_0
+      loadBalancerName: roundRobin
+    readwrite_ds_1:
+      staticStrategy:
+        writeDataSourceName: write_ds_1
+        readDataSourceNames:
+          - read_ds_1
+      loadBalancerName: roundRobin
+    readwrite_ds_2:
+      staticStrategy:
+        writeDataSourceName: write_ds_2
+        readDataSourceNames:
+          - read_ds_2
+      loadBalancerName: roundRobin
+    readwrite_ds_3:
+      staticStrategy:
+        writeDataSourceName: write_ds_3
+        readDataSourceNames:
+          - read_ds_3
+      loadBalancerName: roundRobin
+    readwrite_ds_4:
+      staticStrategy:
+        writeDataSourceName: write_ds_4
+        readDataSourceNames:
+          - read_ds_4
+      loadBalancerName: roundRobin
+    readwrite_ds_5:
+      staticStrategy:
+        writeDataSourceName: write_ds_5
+        readDataSourceNames:
+          - read_ds_5
+      loadBalancerName: roundRobin
+    readwrite_ds_6:
+      staticStrategy:
+        writeDataSourceName: write_ds_6
+        readDataSourceNames:
+          - read_ds_6
+      loadBalancerName: roundRobin
+    readwrite_ds_7:
+      staticStrategy:
+        writeDataSourceName: write_ds_7
+        readDataSourceNames:
+          - read_ds_7
+      loadBalancerName: roundRobin
+    readwrite_ds_8:
+      staticStrategy:
+        writeDataSourceName: write_ds_8
+        readDataSourceNames:
+          - read_ds_8
+      loadBalancerName: roundRobin
+    readwrite_ds_9:
+      staticStrategy:
+        writeDataSourceName: write_ds_9
+        readDataSourceNames:
+          - read_ds_9
+      loadBalancerName: roundRobin
+  loadBalancers:
+    roundRobin:
+      type: ROUND_ROBIN
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/scenario/dbtbl_with_readwrite_splitting_and_encrypt/authority.xml b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/scenario/dbtbl_with_readwrite_splitting_and_encrypt/authority.xml
index e02da70721c..181a680f7db 100644
--- a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/scenario/dbtbl_with_readwrite_splitting_and_encrypt/authority.xml
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/scenario/dbtbl_with_readwrite_splitting_and_encrypt/authority.xml
@@ -16,7 +16,7 @@
   -->
 
 <authority>
-    <sqlset db-types="Oracle,SQLServer,PostgreSQL">
+    <sqlset db-types="Oracle,SQLServer,PostgreSQL,openGauss">
         <user-create>
             <sql>CREATE USER default_user</sql>
             <sql>CREATE ROLE default_role</sql>
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/scenario/dbtbl_with_readwrite_splitting_and_encrypt/data/actual/init-sql/opengauss/01-actual-init.sql b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/scenario/dbtbl_with_readwrite_splitting_and_encrypt/data/actual/init-sql/opengauss/01-actual-init.sql
new file mode 100644
index 00000000000..394c454824d
--- /dev/null
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/scenario/dbtbl_with_readwrite_splitting_and_encrypt/data/actual/init-sql/opengauss/01-actual-init.sql
@@ -0,0 +1,1183 @@
+--
+-- Licensed to the Apache Software Foundation (ASF) under one or more
+-- contributor license agreements.  See the NOTICE file distributed with
+-- this work for additional information regarding copyright ownership.
+-- The ASF licenses this file to You under the Apache License, Version 2.0
+-- (the "License"); you may not use this file except in compliance with
+-- the License.  You may obtain a copy of the License at
+--
+--     http://www.apache.org/licenses/LICENSE-2.0
+--
+-- Unless required by applicable law or agreed to in writing, software
+-- distributed under the License is distributed on an "AS IS" BASIS,
+-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+-- See the License for the specific language governing permissions and
+-- limitations under the License.
+--
+
+CREATE DATABASE encrypt_write_ds_0;
+CREATE DATABASE encrypt_write_ds_1;
+CREATE DATABASE encrypt_write_ds_2;
+CREATE DATABASE encrypt_write_ds_3;
+CREATE DATABASE encrypt_write_ds_4;
+CREATE DATABASE encrypt_write_ds_5;
+CREATE DATABASE encrypt_write_ds_6;
+CREATE DATABASE encrypt_write_ds_7;
+CREATE DATABASE encrypt_write_ds_8;
+CREATE DATABASE encrypt_write_ds_9;
+CREATE DATABASE encrypt_read_ds_0;
+CREATE DATABASE encrypt_read_ds_1;
+CREATE DATABASE encrypt_read_ds_2;
+CREATE DATABASE encrypt_read_ds_3;
+CREATE DATABASE encrypt_read_ds_4;
+CREATE DATABASE encrypt_read_ds_5;
+CREATE DATABASE encrypt_read_ds_6;
+CREATE DATABASE encrypt_read_ds_7;
+CREATE DATABASE encrypt_read_ds_8;
+CREATE DATABASE encrypt_read_ds_9;
+
+GRANT ALL PRIVILEGES ON DATABASE encrypt_write_ds_0 TO test_user;
+GRANT ALL PRIVILEGES ON DATABASE encrypt_write_ds_1 TO test_user;
+GRANT ALL PRIVILEGES ON DATABASE encrypt_write_ds_2 TO test_user;
+GRANT ALL PRIVILEGES ON DATABASE encrypt_write_ds_3 TO test_user;
+GRANT ALL PRIVILEGES ON DATABASE encrypt_write_ds_4 TO test_user;
+GRANT ALL PRIVILEGES ON DATABASE encrypt_write_ds_5 TO test_user;
+GRANT ALL PRIVILEGES ON DATABASE encrypt_write_ds_6 TO test_user;
+GRANT ALL PRIVILEGES ON DATABASE encrypt_write_ds_7 TO test_user;
+GRANT ALL PRIVILEGES ON DATABASE encrypt_write_ds_8 TO test_user;
+GRANT ALL PRIVILEGES ON DATABASE encrypt_write_ds_9 TO test_user;
+GRANT ALL PRIVILEGES ON DATABASE encrypt_read_ds_0 TO test_user;
+GRANT ALL PRIVILEGES ON DATABASE encrypt_read_ds_1 TO test_user;
+GRANT ALL PRIVILEGES ON DATABASE encrypt_read_ds_2 TO test_user;
+GRANT ALL PRIVILEGES ON DATABASE encrypt_read_ds_3 TO test_user;
+GRANT ALL PRIVILEGES ON DATABASE encrypt_read_ds_4 TO test_user;
+GRANT ALL PRIVILEGES ON DATABASE encrypt_read_ds_5 TO test_user;
+GRANT ALL PRIVILEGES ON DATABASE encrypt_read_ds_6 TO test_user;
+GRANT ALL PRIVILEGES ON DATABASE encrypt_read_ds_7 TO test_user;
+GRANT ALL PRIVILEGES ON DATABASE encrypt_read_ds_8 TO test_user;
+GRANT ALL PRIVILEGES ON DATABASE encrypt_read_ds_9 TO test_user;
+
+\c encrypt_write_ds_0
+
+DROP TABLE IF EXISTS t_user_0;
+DROP TABLE IF EXISTS t_user_item_0;
+DROP TABLE IF EXISTS t_user_1;
+DROP TABLE IF EXISTS t_user_item_1;
+DROP TABLE IF EXISTS t_user_2;
+DROP TABLE IF EXISTS t_user_item_2;
+DROP TABLE IF EXISTS t_user_3;
+DROP TABLE IF EXISTS t_user_item_3;
+DROP TABLE IF EXISTS t_user_4;
+DROP TABLE IF EXISTS t_user_item_4;
+DROP TABLE IF EXISTS t_user_5;
+DROP TABLE IF EXISTS t_user_item_5;
+DROP TABLE IF EXISTS t_user_6;
+DROP TABLE IF EXISTS t_user_item_6;
+DROP TABLE IF EXISTS t_user_7;
+DROP TABLE IF EXISTS t_user_item_7;
+DROP TABLE IF EXISTS t_user_8;
+DROP TABLE IF EXISTS t_user_item_8;
+DROP TABLE IF EXISTS t_user_9;
+DROP TABLE IF EXISTS t_user_item_9;
+DROP TABLE IF EXISTS t_single_table;
+DROP TABLE IF EXISTS t_order_federate;
+
+CREATE TABLE t_user_0 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_0 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_1 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_1 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_2 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_2 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_3 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_3 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_4 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_4 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_5 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_5 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_6 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_6 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_7 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_7 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_8 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_8 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_9 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_9 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_single_table (single_id INT NOT NULL, id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (single_id));
+CREATE TABLE t_order_federate (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE INDEX user_index_t_user_0 ON t_user_0 (user_id);
+CREATE INDEX user_index_t_user_1 ON t_user_1 (user_id);
+CREATE INDEX user_index_t_user_2 ON t_user_2 (user_id);
+CREATE INDEX user_index_t_user_3 ON t_user_3 (user_id);
+CREATE INDEX user_index_t_user_4 ON t_user_4 (user_id);
+CREATE INDEX user_index_t_user_5 ON t_user_5 (user_id);
+CREATE INDEX user_index_t_user_6 ON t_user_6 (user_id);
+CREATE INDEX user_index_t_user_7 ON t_user_7 (user_id);
+CREATE INDEX user_index_t_user_8 ON t_user_8 (user_id);
+CREATE INDEX user_index_t_user_9 ON t_user_9 (user_id);
+
+\c encrypt_write_ds_1
+
+DROP TABLE IF EXISTS t_user_0;
+DROP TABLE IF EXISTS t_user_item_0;
+DROP TABLE IF EXISTS t_user_1;
+DROP TABLE IF EXISTS t_user_item_1;
+DROP TABLE IF EXISTS t_user_2;
+DROP TABLE IF EXISTS t_user_item_2;
+DROP TABLE IF EXISTS t_user_3;
+DROP TABLE IF EXISTS t_user_item_3;
+DROP TABLE IF EXISTS t_user_4;
+DROP TABLE IF EXISTS t_user_item_4;
+DROP TABLE IF EXISTS t_user_5;
+DROP TABLE IF EXISTS t_user_item_5;
+DROP TABLE IF EXISTS t_user_6;
+DROP TABLE IF EXISTS t_user_item_6;
+DROP TABLE IF EXISTS t_user_7;
+DROP TABLE IF EXISTS t_user_item_7;
+DROP TABLE IF EXISTS t_user_8;
+DROP TABLE IF EXISTS t_user_item_8;
+DROP TABLE IF EXISTS t_user_9;
+DROP TABLE IF EXISTS t_user_item_9;
+DROP TABLE IF EXISTS t_order_item_federate;
+DROP TABLE IF EXISTS t_order_item_federate_sharding_0;
+DROP TABLE IF EXISTS t_order_item_federate_sharding_1;
+DROP TABLE IF EXISTS t_order_federate_sharding_0;
+DROP TABLE IF EXISTS t_order_federate_sharding_1;
+DROP TABLE IF EXISTS t_user_encrypt_federate_sharding_0;
+DROP TABLE IF EXISTS t_user_encrypt_federate_sharding_1;
+DROP TABLE IF EXISTS t_user_encrypt_federate;
+DROP TABLE IF EXISTS t_user_info;
+
+CREATE TABLE t_user_0 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_0 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_1 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_1 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_2 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_2 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_3 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_3 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_4 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_4 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_5 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_5 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_6 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_6 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_7 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_7 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_8 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_8 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_9 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_9 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_item_federate (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (item_id));
+CREATE TABLE t_order_item_federate_sharding_0 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, remarks VARCHAR(45) NULL, PRIMARY KEY (item_id));
+CREATE TABLE t_order_item_federate_sharding_1 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, remarks VARCHAR(45) NULL, PRIMARY KEY (item_id));
+CREATE TABLE t_order_federate_sharding_0 (order_id_sharding INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id_sharding));
+CREATE TABLE t_order_federate_sharding_1 (order_id_sharding INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id_sharding));
+CREATE TABLE t_user_encrypt_federate_sharding_0 (user_id INT NOT NULL, plain_pwd VARCHAR(45) NULL, cipher_pwd VARCHAR(45) NULL, username VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_encrypt_federate_sharding_1 (user_id INT NOT NULL, plain_pwd VARCHAR(45) NULL, cipher_pwd VARCHAR(45) NULL, username VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_encrypt_federate (user_id INT NOT NULL, plain_pwd VARCHAR(45) NULL, cipher_pwd VARCHAR(45) NULL, username VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_info (user_id INT NOT NULL, information VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE INDEX user_index_t_user_0 ON t_user_0 (user_id);
+CREATE INDEX user_index_t_user_1 ON t_user_1 (user_id);
+CREATE INDEX user_index_t_user_2 ON t_user_2 (user_id);
+CREATE INDEX user_index_t_user_3 ON t_user_3 (user_id);
+CREATE INDEX user_index_t_user_4 ON t_user_4 (user_id);
+CREATE INDEX user_index_t_user_5 ON t_user_5 (user_id);
+CREATE INDEX user_index_t_user_6 ON t_user_6 (user_id);
+CREATE INDEX user_index_t_user_7 ON t_user_7 (user_id);
+CREATE INDEX user_index_t_user_8 ON t_user_8 (user_id);
+CREATE INDEX user_index_t_user_9 ON t_user_9 (user_id);
+
+\c encrypt_write_ds_2
+
+DROP TABLE IF EXISTS t_user_0;
+DROP TABLE IF EXISTS t_user_item_0;
+DROP TABLE IF EXISTS t_user_1;
+DROP TABLE IF EXISTS t_user_item_1;
+DROP TABLE IF EXISTS t_user_2;
+DROP TABLE IF EXISTS t_user_item_2;
+DROP TABLE IF EXISTS t_user_3;
+DROP TABLE IF EXISTS t_user_item_3;
+DROP TABLE IF EXISTS t_user_4;
+DROP TABLE IF EXISTS t_user_item_4;
+DROP TABLE IF EXISTS t_user_5;
+DROP TABLE IF EXISTS t_user_item_5;
+DROP TABLE IF EXISTS t_user_6;
+DROP TABLE IF EXISTS t_user_item_6;
+DROP TABLE IF EXISTS t_user_7;
+DROP TABLE IF EXISTS t_user_item_7;
+DROP TABLE IF EXISTS t_user_8;
+DROP TABLE IF EXISTS t_user_item_8;
+DROP TABLE IF EXISTS t_user_9;
+DROP TABLE IF EXISTS t_user_item_9;
+
+CREATE TABLE t_user_0 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_0 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_1 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_1 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_2 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_2 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_3 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_3 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_4 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_4 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_5 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_5 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_6 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_6 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_7 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_7 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_8 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_8 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_9 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_9 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE INDEX user_index_t_user_0 ON t_user_0 (user_id);
+CREATE INDEX user_index_t_user_1 ON t_user_1 (user_id);
+CREATE INDEX user_index_t_user_2 ON t_user_2 (user_id);
+CREATE INDEX user_index_t_user_3 ON t_user_3 (user_id);
+CREATE INDEX user_index_t_user_4 ON t_user_4 (user_id);
+CREATE INDEX user_index_t_user_5 ON t_user_5 (user_id);
+CREATE INDEX user_index_t_user_6 ON t_user_6 (user_id);
+CREATE INDEX user_index_t_user_7 ON t_user_7 (user_id);
+CREATE INDEX user_index_t_user_8 ON t_user_8 (user_id);
+CREATE INDEX user_index_t_user_9 ON t_user_9 (user_id);
+
+\c encrypt_write_ds_3
+
+DROP TABLE IF EXISTS t_user_0;
+DROP TABLE IF EXISTS t_user_item_0;
+DROP TABLE IF EXISTS t_user_1;
+DROP TABLE IF EXISTS t_user_item_1;
+DROP TABLE IF EXISTS t_user_2;
+DROP TABLE IF EXISTS t_user_item_2;
+DROP TABLE IF EXISTS t_user_3;
+DROP TABLE IF EXISTS t_user_item_3;
+DROP TABLE IF EXISTS t_user_4;
+DROP TABLE IF EXISTS t_user_item_4;
+DROP TABLE IF EXISTS t_user_5;
+DROP TABLE IF EXISTS t_user_item_5;
+DROP TABLE IF EXISTS t_user_6;
+DROP TABLE IF EXISTS t_user_item_6;
+DROP TABLE IF EXISTS t_user_7;
+DROP TABLE IF EXISTS t_user_item_7;
+DROP TABLE IF EXISTS t_user_8;
+DROP TABLE IF EXISTS t_user_item_8;
+DROP TABLE IF EXISTS t_user_9;
+DROP TABLE IF EXISTS t_user_item_9;
+
+CREATE TABLE t_user_0 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_0 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_1 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_1 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_2 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_2 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_3 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_3 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_4 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_4 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_5 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_5 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_6 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_6 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_7 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_7 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_8 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_8 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_9 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_9 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE INDEX user_index_t_user_0 ON t_user_0 (user_id);
+CREATE INDEX user_index_t_user_1 ON t_user_1 (user_id);
+CREATE INDEX user_index_t_user_2 ON t_user_2 (user_id);
+CREATE INDEX user_index_t_user_3 ON t_user_3 (user_id);
+CREATE INDEX user_index_t_user_4 ON t_user_4 (user_id);
+CREATE INDEX user_index_t_user_5 ON t_user_5 (user_id);
+CREATE INDEX user_index_t_user_6 ON t_user_6 (user_id);
+CREATE INDEX user_index_t_user_7 ON t_user_7 (user_id);
+CREATE INDEX user_index_t_user_8 ON t_user_8 (user_id);
+CREATE INDEX user_index_t_user_9 ON t_user_9 (user_id);
+
+\c encrypt_write_ds_4
+
+DROP TABLE IF EXISTS t_user_0;
+DROP TABLE IF EXISTS t_user_item_0;
+DROP TABLE IF EXISTS t_user_1;
+DROP TABLE IF EXISTS t_user_item_1;
+DROP TABLE IF EXISTS t_user_2;
+DROP TABLE IF EXISTS t_user_item_2;
+DROP TABLE IF EXISTS t_user_3;
+DROP TABLE IF EXISTS t_user_item_3;
+DROP TABLE IF EXISTS t_user_4;
+DROP TABLE IF EXISTS t_user_item_4;
+DROP TABLE IF EXISTS t_user_5;
+DROP TABLE IF EXISTS t_user_item_5;
+DROP TABLE IF EXISTS t_user_6;
+DROP TABLE IF EXISTS t_user_item_6;
+DROP TABLE IF EXISTS t_user_7;
+DROP TABLE IF EXISTS t_user_item_7;
+DROP TABLE IF EXISTS t_user_8;
+DROP TABLE IF EXISTS t_user_item_8;
+DROP TABLE IF EXISTS t_user_9;
+DROP TABLE IF EXISTS t_user_item_9;
+
+CREATE TABLE t_user_0 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_0 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_1 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_1 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_2 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_2 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_3 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_3 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_4 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_4 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_5 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_5 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_6 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_6 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_7 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_7 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_8 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_8 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_9 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_9 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE INDEX user_index_t_user_0 ON t_user_0 (user_id);
+CREATE INDEX user_index_t_user_1 ON t_user_1 (user_id);
+CREATE INDEX user_index_t_user_2 ON t_user_2 (user_id);
+CREATE INDEX user_index_t_user_3 ON t_user_3 (user_id);
+CREATE INDEX user_index_t_user_4 ON t_user_4 (user_id);
+CREATE INDEX user_index_t_user_5 ON t_user_5 (user_id);
+CREATE INDEX user_index_t_user_6 ON t_user_6 (user_id);
+CREATE INDEX user_index_t_user_7 ON t_user_7 (user_id);
+CREATE INDEX user_index_t_user_8 ON t_user_8 (user_id);
+CREATE INDEX user_index_t_user_9 ON t_user_9 (user_id);
+
+\c encrypt_write_ds_5
+
+DROP TABLE IF EXISTS t_user_0;
+DROP TABLE IF EXISTS t_user_item_0;
+DROP TABLE IF EXISTS t_user_1;
+DROP TABLE IF EXISTS t_user_item_1;
+DROP TABLE IF EXISTS t_user_2;
+DROP TABLE IF EXISTS t_user_item_2;
+DROP TABLE IF EXISTS t_user_3;
+DROP TABLE IF EXISTS t_user_item_3;
+DROP TABLE IF EXISTS t_user_4;
+DROP TABLE IF EXISTS t_user_item_4;
+DROP TABLE IF EXISTS t_user_5;
+DROP TABLE IF EXISTS t_user_item_5;
+DROP TABLE IF EXISTS t_user_6;
+DROP TABLE IF EXISTS t_user_item_6;
+DROP TABLE IF EXISTS t_user_7;
+DROP TABLE IF EXISTS t_user_item_7;
+DROP TABLE IF EXISTS t_user_8;
+DROP TABLE IF EXISTS t_user_item_8;
+DROP TABLE IF EXISTS t_user_9;
+DROP TABLE IF EXISTS t_user_item_9;
+
+CREATE TABLE t_user_0 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_0 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_1 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_1 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_2 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_2 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_3 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_3 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_4 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_4 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_5 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_5 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_6 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_6 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_7 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_7 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_8 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_8 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_9 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_9 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE INDEX user_index_t_user_0 ON t_user_0 (user_id);
+CREATE INDEX user_index_t_user_1 ON t_user_1 (user_id);
+CREATE INDEX user_index_t_user_2 ON t_user_2 (user_id);
+CREATE INDEX user_index_t_user_3 ON t_user_3 (user_id);
+CREATE INDEX user_index_t_user_4 ON t_user_4 (user_id);
+CREATE INDEX user_index_t_user_5 ON t_user_5 (user_id);
+CREATE INDEX user_index_t_user_6 ON t_user_6 (user_id);
+CREATE INDEX user_index_t_user_7 ON t_user_7 (user_id);
+CREATE INDEX user_index_t_user_8 ON t_user_8 (user_id);
+CREATE INDEX user_index_t_user_9 ON t_user_9 (user_id);
+
+\c encrypt_write_ds_6
+
+DROP TABLE IF EXISTS t_user_0;
+DROP TABLE IF EXISTS t_user_item_0;
+DROP TABLE IF EXISTS t_user_1;
+DROP TABLE IF EXISTS t_user_item_1;
+DROP TABLE IF EXISTS t_user_2;
+DROP TABLE IF EXISTS t_user_item_2;
+DROP TABLE IF EXISTS t_user_3;
+DROP TABLE IF EXISTS t_user_item_3;
+DROP TABLE IF EXISTS t_user_4;
+DROP TABLE IF EXISTS t_user_item_4;
+DROP TABLE IF EXISTS t_user_5;
+DROP TABLE IF EXISTS t_user_item_5;
+DROP TABLE IF EXISTS t_user_6;
+DROP TABLE IF EXISTS t_user_item_6;
+DROP TABLE IF EXISTS t_user_7;
+DROP TABLE IF EXISTS t_user_item_7;
+DROP TABLE IF EXISTS t_user_8;
+DROP TABLE IF EXISTS t_user_item_8;
+DROP TABLE IF EXISTS t_user_9;
+DROP TABLE IF EXISTS t_user_item_9;
+
+CREATE TABLE t_user_0 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_0 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_1 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_1 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_2 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_2 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_3 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_3 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_4 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_4 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_5 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_5 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_6 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_6 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_7 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_7 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_8 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_8 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_9 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_9 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE INDEX user_index_t_user_0 ON t_user_0 (user_id);
+CREATE INDEX user_index_t_user_1 ON t_user_1 (user_id);
+CREATE INDEX user_index_t_user_2 ON t_user_2 (user_id);
+CREATE INDEX user_index_t_user_3 ON t_user_3 (user_id);
+CREATE INDEX user_index_t_user_4 ON t_user_4 (user_id);
+CREATE INDEX user_index_t_user_5 ON t_user_5 (user_id);
+CREATE INDEX user_index_t_user_6 ON t_user_6 (user_id);
+CREATE INDEX user_index_t_user_7 ON t_user_7 (user_id);
+CREATE INDEX user_index_t_user_8 ON t_user_8 (user_id);
+CREATE INDEX user_index_t_user_9 ON t_user_9 (user_id);
+
+\c encrypt_write_ds_7
+
+DROP TABLE IF EXISTS t_user_0;
+DROP TABLE IF EXISTS t_user_item_0;
+DROP TABLE IF EXISTS t_user_1;
+DROP TABLE IF EXISTS t_user_item_1;
+DROP TABLE IF EXISTS t_user_2;
+DROP TABLE IF EXISTS t_user_item_2;
+DROP TABLE IF EXISTS t_user_3;
+DROP TABLE IF EXISTS t_user_item_3;
+DROP TABLE IF EXISTS t_user_4;
+DROP TABLE IF EXISTS t_user_item_4;
+DROP TABLE IF EXISTS t_user_5;
+DROP TABLE IF EXISTS t_user_item_5;
+DROP TABLE IF EXISTS t_user_6;
+DROP TABLE IF EXISTS t_user_item_6;
+DROP TABLE IF EXISTS t_user_7;
+DROP TABLE IF EXISTS t_user_item_7;
+DROP TABLE IF EXISTS t_user_8;
+DROP TABLE IF EXISTS t_user_item_8;
+DROP TABLE IF EXISTS t_user_9;
+DROP TABLE IF EXISTS t_user_item_9;
+
+CREATE TABLE t_user_0 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_0 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_1 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_1 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_2 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_2 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_3 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_3 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_4 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_4 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_5 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_5 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_6 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_6 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_7 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_7 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_8 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_8 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_9 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_9 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE INDEX user_index_t_user_0 ON t_user_0 (user_id);
+CREATE INDEX user_index_t_user_1 ON t_user_1 (user_id);
+CREATE INDEX user_index_t_user_2 ON t_user_2 (user_id);
+CREATE INDEX user_index_t_user_3 ON t_user_3 (user_id);
+CREATE INDEX user_index_t_user_4 ON t_user_4 (user_id);
+CREATE INDEX user_index_t_user_5 ON t_user_5 (user_id);
+CREATE INDEX user_index_t_user_6 ON t_user_6 (user_id);
+CREATE INDEX user_index_t_user_7 ON t_user_7 (user_id);
+CREATE INDEX user_index_t_user_8 ON t_user_8 (user_id);
+CREATE INDEX user_index_t_user_9 ON t_user_9 (user_id);
+
+\c encrypt_write_ds_8
+
+DROP TABLE IF EXISTS t_user_0;
+DROP TABLE IF EXISTS t_user_item_0;
+DROP TABLE IF EXISTS t_user_1;
+DROP TABLE IF EXISTS t_user_item_1;
+DROP TABLE IF EXISTS t_user_2;
+DROP TABLE IF EXISTS t_user_item_2;
+DROP TABLE IF EXISTS t_user_3;
+DROP TABLE IF EXISTS t_user_item_3;
+DROP TABLE IF EXISTS t_user_4;
+DROP TABLE IF EXISTS t_user_item_4;
+DROP TABLE IF EXISTS t_user_5;
+DROP TABLE IF EXISTS t_user_item_5;
+DROP TABLE IF EXISTS t_user_6;
+DROP TABLE IF EXISTS t_user_item_6;
+DROP TABLE IF EXISTS t_user_7;
+DROP TABLE IF EXISTS t_user_item_7;
+DROP TABLE IF EXISTS t_user_8;
+DROP TABLE IF EXISTS t_user_item_8;
+DROP TABLE IF EXISTS t_user_9;
+DROP TABLE IF EXISTS t_user_item_9;
+
+CREATE TABLE t_user_0 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_0 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_1 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_1 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_2 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_2 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_3 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_3 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_4 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_4 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_5 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_5 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_6 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_6 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_7 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_7 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_8 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_8 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_9 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_9 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE INDEX user_index_t_user_0 ON t_user_0 (user_id);
+CREATE INDEX user_index_t_user_1 ON t_user_1 (user_id);
+CREATE INDEX user_index_t_user_2 ON t_user_2 (user_id);
+CREATE INDEX user_index_t_user_3 ON t_user_3 (user_id);
+CREATE INDEX user_index_t_user_4 ON t_user_4 (user_id);
+CREATE INDEX user_index_t_user_5 ON t_user_5 (user_id);
+CREATE INDEX user_index_t_user_6 ON t_user_6 (user_id);
+CREATE INDEX user_index_t_user_7 ON t_user_7 (user_id);
+CREATE INDEX user_index_t_user_8 ON t_user_8 (user_id);
+CREATE INDEX user_index_t_user_9 ON t_user_9 (user_id);
+
+\c encrypt_write_ds_9
+
+DROP TABLE IF EXISTS t_user_0;
+DROP TABLE IF EXISTS t_user_item_0;
+DROP TABLE IF EXISTS t_user_1;
+DROP TABLE IF EXISTS t_user_item_1;
+DROP TABLE IF EXISTS t_user_2;
+DROP TABLE IF EXISTS t_user_item_2;
+DROP TABLE IF EXISTS t_user_3;
+DROP TABLE IF EXISTS t_user_item_3;
+DROP TABLE IF EXISTS t_user_4;
+DROP TABLE IF EXISTS t_user_item_4;
+DROP TABLE IF EXISTS t_user_5;
+DROP TABLE IF EXISTS t_user_item_5;
+DROP TABLE IF EXISTS t_user_6;
+DROP TABLE IF EXISTS t_user_item_6;
+DROP TABLE IF EXISTS t_user_7;
+DROP TABLE IF EXISTS t_user_item_7;
+DROP TABLE IF EXISTS t_user_8;
+DROP TABLE IF EXISTS t_user_item_8;
+DROP TABLE IF EXISTS t_user_9;
+DROP TABLE IF EXISTS t_user_item_9;
+
+CREATE TABLE t_user_0 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_0 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_1 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_1 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_2 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_2 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_3 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_3 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_4 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_4 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_5 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_5 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_6 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_6 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_7 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_7 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_8 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_8 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_9 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_9 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE INDEX user_index_t_user_0 ON t_user_0 (user_id);
+CREATE INDEX user_index_t_user_1 ON t_user_1 (user_id);
+CREATE INDEX user_index_t_user_2 ON t_user_2 (user_id);
+CREATE INDEX user_index_t_user_3 ON t_user_3 (user_id);
+CREATE INDEX user_index_t_user_4 ON t_user_4 (user_id);
+CREATE INDEX user_index_t_user_5 ON t_user_5 (user_id);
+CREATE INDEX user_index_t_user_6 ON t_user_6 (user_id);
+CREATE INDEX user_index_t_user_7 ON t_user_7 (user_id);
+CREATE INDEX user_index_t_user_8 ON t_user_8 (user_id);
+CREATE INDEX user_index_t_user_9 ON t_user_9 (user_id);
+
+\c encrypt_read_ds_0
+
+DROP TABLE IF EXISTS t_user_0;
+DROP TABLE IF EXISTS t_user_item_0;
+DROP TABLE IF EXISTS t_user_1;
+DROP TABLE IF EXISTS t_user_item_1;
+DROP TABLE IF EXISTS t_user_2;
+DROP TABLE IF EXISTS t_user_item_2;
+DROP TABLE IF EXISTS t_user_3;
+DROP TABLE IF EXISTS t_user_item_3;
+DROP TABLE IF EXISTS t_user_4;
+DROP TABLE IF EXISTS t_user_item_4;
+DROP TABLE IF EXISTS t_user_5;
+DROP TABLE IF EXISTS t_user_item_5;
+DROP TABLE IF EXISTS t_user_6;
+DROP TABLE IF EXISTS t_user_item_6;
+DROP TABLE IF EXISTS t_user_7;
+DROP TABLE IF EXISTS t_user_item_7;
+DROP TABLE IF EXISTS t_user_8;
+DROP TABLE IF EXISTS t_user_item_8;
+DROP TABLE IF EXISTS t_user_9;
+DROP TABLE IF EXISTS t_user_item_9;
+DROP TABLE IF EXISTS t_single_table;
+DROP TABLE IF EXISTS t_order_federate;
+
+CREATE TABLE t_user_0 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_0 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_1 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_1 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_2 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_2 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_3 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_3 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_4 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_4 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_5 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_5 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_6 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_6 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_7 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_7 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_8 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_8 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_9 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_9 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_single_table (single_id INT NOT NULL, id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (single_id));
+CREATE TABLE t_order_federate (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE INDEX user_index_t_user_0 ON t_user_0 (user_id);
+CREATE INDEX user_index_t_user_1 ON t_user_1 (user_id);
+CREATE INDEX user_index_t_user_2 ON t_user_2 (user_id);
+CREATE INDEX user_index_t_user_3 ON t_user_3 (user_id);
+CREATE INDEX user_index_t_user_4 ON t_user_4 (user_id);
+CREATE INDEX user_index_t_user_5 ON t_user_5 (user_id);
+CREATE INDEX user_index_t_user_6 ON t_user_6 (user_id);
+CREATE INDEX user_index_t_user_7 ON t_user_7 (user_id);
+CREATE INDEX user_index_t_user_8 ON t_user_8 (user_id);
+CREATE INDEX user_index_t_user_9 ON t_user_9 (user_id);
+
+\c encrypt_read_ds_1
+
+DROP TABLE IF EXISTS t_user_0;
+DROP TABLE IF EXISTS t_user_item_0;
+DROP TABLE IF EXISTS t_user_1;
+DROP TABLE IF EXISTS t_user_item_1;
+DROP TABLE IF EXISTS t_user_2;
+DROP TABLE IF EXISTS t_user_item_2;
+DROP TABLE IF EXISTS t_user_3;
+DROP TABLE IF EXISTS t_user_item_3;
+DROP TABLE IF EXISTS t_user_4;
+DROP TABLE IF EXISTS t_user_item_4;
+DROP TABLE IF EXISTS t_user_5;
+DROP TABLE IF EXISTS t_user_item_5;
+DROP TABLE IF EXISTS t_user_6;
+DROP TABLE IF EXISTS t_user_item_6;
+DROP TABLE IF EXISTS t_user_7;
+DROP TABLE IF EXISTS t_user_item_7;
+DROP TABLE IF EXISTS t_user_8;
+DROP TABLE IF EXISTS t_user_item_8;
+DROP TABLE IF EXISTS t_user_9;
+DROP TABLE IF EXISTS t_user_item_9;
+DROP TABLE IF EXISTS t_order_item_federate;
+DROP TABLE IF EXISTS t_order_item_federate_sharding_0;
+DROP TABLE IF EXISTS t_order_item_federate_sharding_1;
+DROP TABLE IF EXISTS t_order_federate_sharding_0;
+DROP TABLE IF EXISTS t_order_federate_sharding_1;
+DROP TABLE IF EXISTS t_user_encrypt_federate_sharding_0;
+DROP TABLE IF EXISTS t_user_encrypt_federate_sharding_1;
+DROP TABLE IF EXISTS t_user_encrypt_federate;
+DROP TABLE IF EXISTS t_user_info;
+
+
+CREATE TABLE t_user_0 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_0 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_1 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_1 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_2 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_2 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_3 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_3 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_4 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_4 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_5 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_5 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_6 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_6 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_7 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_7 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_8 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_8 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_9 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_9 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_item_federate (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (item_id));
+CREATE TABLE t_order_item_federate_sharding_0 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, remarks VARCHAR(45) NULL, PRIMARY KEY (item_id));
+CREATE TABLE t_order_item_federate_sharding_1 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, remarks VARCHAR(45) NULL, PRIMARY KEY (item_id));
+CREATE TABLE t_order_federate_sharding_0 (order_id_sharding INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id_sharding));
+CREATE TABLE t_order_federate_sharding_1 (order_id_sharding INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id_sharding));
+CREATE TABLE t_user_encrypt_federate_sharding_0 (user_id INT NOT NULL, plain_pwd VARCHAR(45) NULL, cipher_pwd VARCHAR(45) NULL, username VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_encrypt_federate_sharding_1 (user_id INT NOT NULL, plain_pwd VARCHAR(45) NULL, cipher_pwd VARCHAR(45) NULL, username VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_encrypt_federate (user_id INT NOT NULL, plain_pwd VARCHAR(45) NULL, cipher_pwd VARCHAR(45) NULL, username VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_info (user_id INT NOT NULL, information VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE INDEX user_index_t_user_0 ON t_user_0 (user_id);
+CREATE INDEX user_index_t_user_1 ON t_user_1 (user_id);
+CREATE INDEX user_index_t_user_2 ON t_user_2 (user_id);
+CREATE INDEX user_index_t_user_3 ON t_user_3 (user_id);
+CREATE INDEX user_index_t_user_4 ON t_user_4 (user_id);
+CREATE INDEX user_index_t_user_5 ON t_user_5 (user_id);
+CREATE INDEX user_index_t_user_6 ON t_user_6 (user_id);
+CREATE INDEX user_index_t_user_7 ON t_user_7 (user_id);
+CREATE INDEX user_index_t_user_8 ON t_user_8 (user_id);
+CREATE INDEX user_index_t_user_9 ON t_user_9 (user_id);
+
+\c encrypt_read_ds_2
+
+DROP TABLE IF EXISTS t_user_0;
+DROP TABLE IF EXISTS t_user_item_0;
+DROP TABLE IF EXISTS t_user_1;
+DROP TABLE IF EXISTS t_user_item_1;
+DROP TABLE IF EXISTS t_user_2;
+DROP TABLE IF EXISTS t_user_item_2;
+DROP TABLE IF EXISTS t_user_3;
+DROP TABLE IF EXISTS t_user_item_3;
+DROP TABLE IF EXISTS t_user_4;
+DROP TABLE IF EXISTS t_user_item_4;
+DROP TABLE IF EXISTS t_user_5;
+DROP TABLE IF EXISTS t_user_item_5;
+DROP TABLE IF EXISTS t_user_6;
+DROP TABLE IF EXISTS t_user_item_6;
+DROP TABLE IF EXISTS t_user_7;
+DROP TABLE IF EXISTS t_user_item_7;
+DROP TABLE IF EXISTS t_user_8;
+DROP TABLE IF EXISTS t_user_item_8;
+DROP TABLE IF EXISTS t_user_9;
+DROP TABLE IF EXISTS t_user_item_9;
+
+CREATE TABLE t_user_0 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_0 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_1 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_1 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_2 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_2 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_3 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_3 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_4 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_4 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_5 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_5 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_6 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_6 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_7 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_7 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_8 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_8 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_9 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_9 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE INDEX user_index_t_user_0 ON t_user_0 (user_id);
+CREATE INDEX user_index_t_user_1 ON t_user_1 (user_id);
+CREATE INDEX user_index_t_user_2 ON t_user_2 (user_id);
+CREATE INDEX user_index_t_user_3 ON t_user_3 (user_id);
+CREATE INDEX user_index_t_user_4 ON t_user_4 (user_id);
+CREATE INDEX user_index_t_user_5 ON t_user_5 (user_id);
+CREATE INDEX user_index_t_user_6 ON t_user_6 (user_id);
+CREATE INDEX user_index_t_user_7 ON t_user_7 (user_id);
+CREATE INDEX user_index_t_user_8 ON t_user_8 (user_id);
+CREATE INDEX user_index_t_user_9 ON t_user_9 (user_id);
+
+\c encrypt_read_ds_3
+
+DROP TABLE IF EXISTS t_user_0;
+DROP TABLE IF EXISTS t_user_item_0;
+DROP TABLE IF EXISTS t_user_1;
+DROP TABLE IF EXISTS t_user_item_1;
+DROP TABLE IF EXISTS t_user_2;
+DROP TABLE IF EXISTS t_user_item_2;
+DROP TABLE IF EXISTS t_user_3;
+DROP TABLE IF EXISTS t_user_item_3;
+DROP TABLE IF EXISTS t_user_4;
+DROP TABLE IF EXISTS t_user_item_4;
+DROP TABLE IF EXISTS t_user_5;
+DROP TABLE IF EXISTS t_user_item_5;
+DROP TABLE IF EXISTS t_user_6;
+DROP TABLE IF EXISTS t_user_item_6;
+DROP TABLE IF EXISTS t_user_7;
+DROP TABLE IF EXISTS t_user_item_7;
+DROP TABLE IF EXISTS t_user_8;
+DROP TABLE IF EXISTS t_user_item_8;
+DROP TABLE IF EXISTS t_user_9;
+DROP TABLE IF EXISTS t_user_item_9;
+
+CREATE TABLE t_user_0 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_0 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_1 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_1 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_2 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_2 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_3 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_3 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_4 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_4 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_5 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_5 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_6 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_6 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_7 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_7 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_8 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_8 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_9 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_9 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE INDEX user_index_t_user_0 ON t_user_0 (user_id);
+CREATE INDEX user_index_t_user_1 ON t_user_1 (user_id);
+CREATE INDEX user_index_t_user_2 ON t_user_2 (user_id);
+CREATE INDEX user_index_t_user_3 ON t_user_3 (user_id);
+CREATE INDEX user_index_t_user_4 ON t_user_4 (user_id);
+CREATE INDEX user_index_t_user_5 ON t_user_5 (user_id);
+CREATE INDEX user_index_t_user_6 ON t_user_6 (user_id);
+CREATE INDEX user_index_t_user_7 ON t_user_7 (user_id);
+CREATE INDEX user_index_t_user_8 ON t_user_8 (user_id);
+CREATE INDEX user_index_t_user_9 ON t_user_9 (user_id);
+
+\c encrypt_read_ds_4
+
+DROP TABLE IF EXISTS t_user_0;
+DROP TABLE IF EXISTS t_user_item_0;
+DROP TABLE IF EXISTS t_user_1;
+DROP TABLE IF EXISTS t_user_item_1;
+DROP TABLE IF EXISTS t_user_2;
+DROP TABLE IF EXISTS t_user_item_2;
+DROP TABLE IF EXISTS t_user_3;
+DROP TABLE IF EXISTS t_user_item_3;
+DROP TABLE IF EXISTS t_user_4;
+DROP TABLE IF EXISTS t_user_item_4;
+DROP TABLE IF EXISTS t_user_5;
+DROP TABLE IF EXISTS t_user_item_5;
+DROP TABLE IF EXISTS t_user_6;
+DROP TABLE IF EXISTS t_user_item_6;
+DROP TABLE IF EXISTS t_user_7;
+DROP TABLE IF EXISTS t_user_item_7;
+DROP TABLE IF EXISTS t_user_8;
+DROP TABLE IF EXISTS t_user_item_8;
+DROP TABLE IF EXISTS t_user_9;
+DROP TABLE IF EXISTS t_user_item_9;
+
+CREATE TABLE t_user_0 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_0 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_1 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_1 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_2 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_2 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_3 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_3 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_4 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_4 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_5 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_5 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_6 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_6 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_7 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_7 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_8 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_8 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_9 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_9 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE INDEX user_index_t_user_0 ON t_user_0 (user_id);
+CREATE INDEX user_index_t_user_1 ON t_user_1 (user_id);
+CREATE INDEX user_index_t_user_2 ON t_user_2 (user_id);
+CREATE INDEX user_index_t_user_3 ON t_user_3 (user_id);
+CREATE INDEX user_index_t_user_4 ON t_user_4 (user_id);
+CREATE INDEX user_index_t_user_5 ON t_user_5 (user_id);
+CREATE INDEX user_index_t_user_6 ON t_user_6 (user_id);
+CREATE INDEX user_index_t_user_7 ON t_user_7 (user_id);
+CREATE INDEX user_index_t_user_8 ON t_user_8 (user_id);
+CREATE INDEX user_index_t_user_9 ON t_user_9 (user_id);
+
+\c encrypt_read_ds_5
+
+DROP TABLE IF EXISTS t_user_0;
+DROP TABLE IF EXISTS t_user_item_0;
+DROP TABLE IF EXISTS t_user_1;
+DROP TABLE IF EXISTS t_user_item_1;
+DROP TABLE IF EXISTS t_user_2;
+DROP TABLE IF EXISTS t_user_item_2;
+DROP TABLE IF EXISTS t_user_3;
+DROP TABLE IF EXISTS t_user_item_3;
+DROP TABLE IF EXISTS t_user_4;
+DROP TABLE IF EXISTS t_user_item_4;
+DROP TABLE IF EXISTS t_user_5;
+DROP TABLE IF EXISTS t_user_item_5;
+DROP TABLE IF EXISTS t_user_6;
+DROP TABLE IF EXISTS t_user_item_6;
+DROP TABLE IF EXISTS t_user_7;
+DROP TABLE IF EXISTS t_user_item_7;
+DROP TABLE IF EXISTS t_user_8;
+DROP TABLE IF EXISTS t_user_item_8;
+DROP TABLE IF EXISTS t_user_9;
+DROP TABLE IF EXISTS t_user_item_9;
+
+CREATE TABLE t_user_0 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_0 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_1 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_1 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_2 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_2 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_3 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_3 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_4 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_4 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_5 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_5 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_6 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_6 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_7 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_7 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_8 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_8 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_9 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_9 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE INDEX user_index_t_user_0 ON t_user_0 (user_id);
+CREATE INDEX user_index_t_user_1 ON t_user_1 (user_id);
+CREATE INDEX user_index_t_user_2 ON t_user_2 (user_id);
+CREATE INDEX user_index_t_user_3 ON t_user_3 (user_id);
+CREATE INDEX user_index_t_user_4 ON t_user_4 (user_id);
+CREATE INDEX user_index_t_user_5 ON t_user_5 (user_id);
+CREATE INDEX user_index_t_user_6 ON t_user_6 (user_id);
+CREATE INDEX user_index_t_user_7 ON t_user_7 (user_id);
+CREATE INDEX user_index_t_user_8 ON t_user_8 (user_id);
+CREATE INDEX user_index_t_user_9 ON t_user_9 (user_id);
+
+\c encrypt_read_ds_6
+
+DROP TABLE IF EXISTS t_user_0;
+DROP TABLE IF EXISTS t_user_item_0;
+DROP TABLE IF EXISTS t_user_1;
+DROP TABLE IF EXISTS t_user_item_1;
+DROP TABLE IF EXISTS t_user_2;
+DROP TABLE IF EXISTS t_user_item_2;
+DROP TABLE IF EXISTS t_user_3;
+DROP TABLE IF EXISTS t_user_item_3;
+DROP TABLE IF EXISTS t_user_4;
+DROP TABLE IF EXISTS t_user_item_4;
+DROP TABLE IF EXISTS t_user_5;
+DROP TABLE IF EXISTS t_user_item_5;
+DROP TABLE IF EXISTS t_user_6;
+DROP TABLE IF EXISTS t_user_item_6;
+DROP TABLE IF EXISTS t_user_7;
+DROP TABLE IF EXISTS t_user_item_7;
+DROP TABLE IF EXISTS t_user_8;
+DROP TABLE IF EXISTS t_user_item_8;
+DROP TABLE IF EXISTS t_user_9;
+DROP TABLE IF EXISTS t_user_item_9;
+
+CREATE TABLE t_user_0 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_0 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_1 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_1 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_2 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_2 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_3 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_3 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_4 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_4 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_5 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_5 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_6 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_6 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_7 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_7 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_8 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_8 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_9 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_9 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE INDEX user_index_t_user_0 ON t_user_0 (user_id);
+CREATE INDEX user_index_t_user_1 ON t_user_1 (user_id);
+CREATE INDEX user_index_t_user_2 ON t_user_2 (user_id);
+CREATE INDEX user_index_t_user_3 ON t_user_3 (user_id);
+CREATE INDEX user_index_t_user_4 ON t_user_4 (user_id);
+CREATE INDEX user_index_t_user_5 ON t_user_5 (user_id);
+CREATE INDEX user_index_t_user_6 ON t_user_6 (user_id);
+CREATE INDEX user_index_t_user_7 ON t_user_7 (user_id);
+CREATE INDEX user_index_t_user_8 ON t_user_8 (user_id);
+CREATE INDEX user_index_t_user_9 ON t_user_9 (user_id);
+
+\c encrypt_read_ds_7
+
+DROP TABLE IF EXISTS t_user_0;
+DROP TABLE IF EXISTS t_user_item_0;
+DROP TABLE IF EXISTS t_user_1;
+DROP TABLE IF EXISTS t_user_item_1;
+DROP TABLE IF EXISTS t_user_2;
+DROP TABLE IF EXISTS t_user_item_2;
+DROP TABLE IF EXISTS t_user_3;
+DROP TABLE IF EXISTS t_user_item_3;
+DROP TABLE IF EXISTS t_user_4;
+DROP TABLE IF EXISTS t_user_item_4;
+DROP TABLE IF EXISTS t_user_5;
+DROP TABLE IF EXISTS t_user_item_5;
+DROP TABLE IF EXISTS t_user_6;
+DROP TABLE IF EXISTS t_user_item_6;
+DROP TABLE IF EXISTS t_user_7;
+DROP TABLE IF EXISTS t_user_item_7;
+DROP TABLE IF EXISTS t_user_8;
+DROP TABLE IF EXISTS t_user_item_8;
+DROP TABLE IF EXISTS t_user_9;
+DROP TABLE IF EXISTS t_user_item_9;
+
+CREATE TABLE t_user_0 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_0 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_1 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_1 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_2 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_2 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_3 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_3 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_4 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_4 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_5 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_5 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_6 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_6 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_7 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_7 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_8 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_8 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_9 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_9 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE INDEX user_index_t_user_0 ON t_user_0 (user_id);
+CREATE INDEX user_index_t_user_1 ON t_user_1 (user_id);
+CREATE INDEX user_index_t_user_2 ON t_user_2 (user_id);
+CREATE INDEX user_index_t_user_3 ON t_user_3 (user_id);
+CREATE INDEX user_index_t_user_4 ON t_user_4 (user_id);
+CREATE INDEX user_index_t_user_5 ON t_user_5 (user_id);
+CREATE INDEX user_index_t_user_6 ON t_user_6 (user_id);
+CREATE INDEX user_index_t_user_7 ON t_user_7 (user_id);
+CREATE INDEX user_index_t_user_8 ON t_user_8 (user_id);
+CREATE INDEX user_index_t_user_9 ON t_user_9 (user_id);
+
+\c encrypt_read_ds_8
+
+DROP TABLE IF EXISTS t_user_0;
+DROP TABLE IF EXISTS t_user_item_0;
+DROP TABLE IF EXISTS t_user_1;
+DROP TABLE IF EXISTS t_user_item_1;
+DROP TABLE IF EXISTS t_user_2;
+DROP TABLE IF EXISTS t_user_item_2;
+DROP TABLE IF EXISTS t_user_3;
+DROP TABLE IF EXISTS t_user_item_3;
+DROP TABLE IF EXISTS t_user_4;
+DROP TABLE IF EXISTS t_user_item_4;
+DROP TABLE IF EXISTS t_user_5;
+DROP TABLE IF EXISTS t_user_item_5;
+DROP TABLE IF EXISTS t_user_6;
+DROP TABLE IF EXISTS t_user_item_6;
+DROP TABLE IF EXISTS t_user_7;
+DROP TABLE IF EXISTS t_user_item_7;
+DROP TABLE IF EXISTS t_user_8;
+DROP TABLE IF EXISTS t_user_item_8;
+DROP TABLE IF EXISTS t_user_9;
+DROP TABLE IF EXISTS t_user_item_9;
+
+CREATE TABLE t_user_0 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_0 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_1 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_1 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_2 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_2 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_3 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_3 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_4 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_4 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_5 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_5 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_6 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_6 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_7 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_7 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_8 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_8 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_9 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_9 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE INDEX user_index_t_user_0 ON t_user_0 (user_id);
+CREATE INDEX user_index_t_user_1 ON t_user_1 (user_id);
+CREATE INDEX user_index_t_user_2 ON t_user_2 (user_id);
+CREATE INDEX user_index_t_user_3 ON t_user_3 (user_id);
+CREATE INDEX user_index_t_user_4 ON t_user_4 (user_id);
+CREATE INDEX user_index_t_user_5 ON t_user_5 (user_id);
+CREATE INDEX user_index_t_user_6 ON t_user_6 (user_id);
+CREATE INDEX user_index_t_user_7 ON t_user_7 (user_id);
+CREATE INDEX user_index_t_user_8 ON t_user_8 (user_id);
+CREATE INDEX user_index_t_user_9 ON t_user_9 (user_id);
+
+\c encrypt_read_ds_9
+
+DROP TABLE IF EXISTS t_user_0;
+DROP TABLE IF EXISTS t_user_item_0;
+DROP TABLE IF EXISTS t_user_1;
+DROP TABLE IF EXISTS t_user_item_1;
+DROP TABLE IF EXISTS t_user_2;
+DROP TABLE IF EXISTS t_user_item_2;
+DROP TABLE IF EXISTS t_user_3;
+DROP TABLE IF EXISTS t_user_item_3;
+DROP TABLE IF EXISTS t_user_4;
+DROP TABLE IF EXISTS t_user_item_4;
+DROP TABLE IF EXISTS t_user_5;
+DROP TABLE IF EXISTS t_user_item_5;
+DROP TABLE IF EXISTS t_user_6;
+DROP TABLE IF EXISTS t_user_item_6;
+DROP TABLE IF EXISTS t_user_7;
+DROP TABLE IF EXISTS t_user_item_7;
+DROP TABLE IF EXISTS t_user_8;
+DROP TABLE IF EXISTS t_user_item_8;
+DROP TABLE IF EXISTS t_user_9;
+DROP TABLE IF EXISTS t_user_item_9;
+
+CREATE TABLE t_user_0 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_0 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_1 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_1 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_2 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_2 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_3 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_3 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_4 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_4 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_5 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_5 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_6 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_6 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_7 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_7 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_8 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_8 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_9 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_9 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE INDEX user_index_t_user_0 ON t_user_0 (user_id);
+CREATE INDEX user_index_t_user_1 ON t_user_1 (user_id);
+CREATE INDEX user_index_t_user_2 ON t_user_2 (user_id);
+CREATE INDEX user_index_t_user_3 ON t_user_3 (user_id);
+CREATE INDEX user_index_t_user_4 ON t_user_4 (user_id);
+CREATE INDEX user_index_t_user_5 ON t_user_5 (user_id);
+CREATE INDEX user_index_t_user_6 ON t_user_6 (user_id);
+CREATE INDEX user_index_t_user_7 ON t_user_7 (user_id);
+CREATE INDEX user_index_t_user_8 ON t_user_8 (user_id);
+CREATE INDEX user_index_t_user_9 ON t_user_9 (user_id);
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/scenario/dbtbl_with_readwrite_splitting_and_encrypt/data/expected/init-sql/opengauss/01-expected-init.sql b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/scenario/dbtbl_with_readwrite_splitting_and_encrypt/data/expected/init-sql/opengauss/01-expected-init.sql
new file mode 100644
index 00000000000..15ebba010e8
--- /dev/null
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/scenario/dbtbl_with_readwrite_splitting_and_encrypt/data/expected/init-sql/opengauss/01-expected-init.sql
@@ -0,0 +1,79 @@
+--
+-- Licensed to the Apache Software Foundation (ASF) under one or more
+-- contributor license agreements.  See the NOTICE file distributed with
+-- this work for additional information regarding copyright ownership.
+-- The ASF licenses this file to You under the Apache License, Version 2.0
+-- (the "License"); you may not use this file except in compliance with
+-- the License.  You may obtain a copy of the License at
+--
+--     http://www.apache.org/licenses/LICENSE-2.0
+--
+-- Unless required by applicable law or agreed to in writing, software
+-- distributed under the License is distributed on an "AS IS" BASIS,
+-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+-- See the License for the specific language governing permissions and
+-- limitations under the License.
+--
+
+DROP DATABASE IF EXISTS write_dataset;
+CREATE DATABASE write_dataset;
+
+GRANT ALL PRIVILEGES ON DATABASE write_dataset TO test_user;
+
+\c write_dataset;
+
+DROP TABLE IF EXISTS t_single_table;
+DROP TABLE IF EXISTS t_order_federate;
+DROP TABLE IF EXISTS t_order_item_federate;
+DROP TABLE IF EXISTS t_order_federate_sharding;
+DROP TABLE IF EXISTS t_order_item_federate_sharding;
+DROP TABLE IF EXISTS t_user;
+DROP TABLE IF EXISTS t_user_item;
+DROP TABLE IF EXISTS t_user_encrypt_federate;
+DROP TABLE IF EXISTS t_user_encrypt_federate_sharding;
+DROP TABLE IF EXISTS t_user_info;
+
+CREATE TABLE t_single_table (single_id INT NOT NULL, id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (single_id));
+CREATE TABLE t_order_federate (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_federate (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (item_id));
+CREATE TABLE t_order_federate_sharding (order_id_sharding INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id_sharding));
+CREATE TABLE t_order_item_federate_sharding (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, remarks VARCHAR(45) NULL, PRIMARY KEY (item_id));
+CREATE TABLE t_user (user_id INT NOT NULL, address_id INT NOT NULL, pwd VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_encrypt_federate (user_id INT NOT NULL, pwd VARCHAR(45) NULL, username VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_encrypt_federate_sharding (user_id INT NOT NULL, pwd VARCHAR(45) NULL, username VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_info (user_id INT NOT NULL, information VARCHAR(45) NULL, PRIMARY KEY (user_id));
+
+CREATE INDEX user_index_t_user ON t_user (user_id);
+
+
+DROP DATABASE IF EXISTS read_dataset;
+CREATE DATABASE read_dataset;
+
+GRANT ALL PRIVILEGES ON DATABASE read_dataset TO test_user;
+
+\c read_dataset;
+
+DROP TABLE IF EXISTS t_single_table;
+DROP TABLE IF EXISTS t_order_federate;
+DROP TABLE IF EXISTS t_order_item_federate;
+DROP TABLE IF EXISTS t_order_federate_sharding;
+DROP TABLE IF EXISTS t_order_item_federate_sharding;
+DROP TABLE IF EXISTS t_user;
+DROP TABLE IF EXISTS t_user_item;
+DROP TABLE IF EXISTS t_user_encrypt_federate;
+DROP TABLE IF EXISTS t_user_encrypt_federate_sharding;
+DROP TABLE IF EXISTS t_user_info;
+
+CREATE TABLE t_single_table (single_id INT NOT NULL, id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (single_id));
+CREATE TABLE t_order_federate (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_federate (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (item_id));
+CREATE TABLE t_order_federate_sharding (order_id_sharding INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id_sharding));
+CREATE TABLE t_order_item_federate_sharding (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, remarks VARCHAR(45) NULL, PRIMARY KEY (item_id));
+CREATE TABLE t_user (user_id INT NOT NULL, address_id INT NOT NULL, pwd VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_encrypt_federate (user_id INT NOT NULL, pwd VARCHAR(45) NULL, username VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_encrypt_federate_sharding (user_id INT NOT NULL, pwd VARCHAR(45) NULL, username VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_info (user_id INT NOT NULL, information VARCHAR(45) NULL, PRIMARY KEY (user_id));
+
+CREATE INDEX user_index_t_user ON t_user (user_id);
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/scenario/dbtbl_with_readwrite_splitting_and_encrypt/proxy/conf/opengauss/config-dbtbl-with-readwrite-splitting-and-encrypt.yaml b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/scenario/dbtbl_with_readwrite_splitting_and_encrypt/proxy/conf/opengauss/config-dbtbl-with-readwrite-splitting-and-encrypt.yaml
new file mode 100644
index 00000000000..7a98e0cf945
--- /dev/null
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/scenario/dbtbl_with_readwrite_splitting_and_encrypt/proxy/conf/opengauss/config-dbtbl-with-readwrite-splitting-and-encrypt.yaml
@@ -0,0 +1,395 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+databaseName: dbtbl_with_readwrite_splitting_and_encrypt
+
+dataSources:
+  encrypt_write_ds_0:
+    url: jdbc:opengauss://opengauss.dbtbl_with_readwrite_splitting_and_encrypt.host:5432/encrypt_write_ds_0
+    username: test_user
+    password: Test@123
+    connectionTimeoutMilliseconds: 30000
+    idleTimeoutMilliseconds: 60000
+    maxLifetimeMilliseconds: 1800000
+    maxPoolSize: 2
+    minPoolSize: 2
+  encrypt_write_ds_1:
+    url: jdbc:opengauss://opengauss.dbtbl_with_readwrite_splitting_and_encrypt.host:5432/encrypt_write_ds_1
+    username: test_user
+    password: Test@123
+    connectionTimeoutMilliseconds: 30000
+    idleTimeoutMilliseconds: 60000
+    maxLifetimeMilliseconds: 1800000
+    maxPoolSize: 2
+    minPoolSize: 2
+  encrypt_write_ds_2:
+    url: jdbc:opengauss://opengauss.dbtbl_with_readwrite_splitting_and_encrypt.host:5432/encrypt_write_ds_2
+    username: test_user
+    password: Test@123
+    connectionTimeoutMilliseconds: 30000
+    idleTimeoutMilliseconds: 60000
+    maxLifetimeMilliseconds: 1800000
+    maxPoolSize: 2
+    minPoolSize: 2
+  encrypt_write_ds_3:
+    url: jdbc:opengauss://opengauss.dbtbl_with_readwrite_splitting_and_encrypt.host:5432/encrypt_write_ds_3
+    username: test_user
+    password: Test@123
+    connectionTimeoutMilliseconds: 30000
+    idleTimeoutMilliseconds: 60000
+    maxLifetimeMilliseconds: 1800000
+    maxPoolSize: 2
+    minPoolSize: 2
+  encrypt_write_ds_4:
+    url: jdbc:opengauss://opengauss.dbtbl_with_readwrite_splitting_and_encrypt.host:5432/encrypt_write_ds_4
+    username: test_user
+    password: Test@123
+    connectionTimeoutMilliseconds: 30000
+    idleTimeoutMilliseconds: 60000
+    maxLifetimeMilliseconds: 1800000
+    maxPoolSize: 2
+    minPoolSize: 2
+  encrypt_write_ds_5:
+    url: jdbc:opengauss://opengauss.dbtbl_with_readwrite_splitting_and_encrypt.host:5432/encrypt_write_ds_5
+    username: test_user
+    password: Test@123
+    connectionTimeoutMilliseconds: 30000
+    idleTimeoutMilliseconds: 60000
+    maxLifetimeMilliseconds: 1800000
+    maxPoolSize: 2
+    minPoolSize: 2
+  encrypt_write_ds_6:
+    url: jdbc:opengauss://opengauss.dbtbl_with_readwrite_splitting_and_encrypt.host:5432/encrypt_write_ds_6
+    username: test_user
+    password: Test@123
+    connectionTimeoutMilliseconds: 30000
+    idleTimeoutMilliseconds: 60000
+    maxLifetimeMilliseconds: 1800000
+    maxPoolSize: 2
+    minPoolSize: 2
+  encrypt_write_ds_7:
+    url: jdbc:opengauss://opengauss.dbtbl_with_readwrite_splitting_and_encrypt.host:5432/encrypt_write_ds_7
+    username: test_user
+    password: Test@123
+    connectionTimeoutMilliseconds: 30000
+    idleTimeoutMilliseconds: 60000
+    maxLifetimeMilliseconds: 1800000
+    maxPoolSize: 2
+    minPoolSize: 2
+  encrypt_write_ds_8:
+    url: jdbc:opengauss://opengauss.dbtbl_with_readwrite_splitting_and_encrypt.host:5432/encrypt_write_ds_8
+    username: test_user
+    password: Test@123
+    connectionTimeoutMilliseconds: 30000
+    idleTimeoutMilliseconds: 60000
+    maxLifetimeMilliseconds: 1800000
+    maxPoolSize: 2
+    minPoolSize: 2
+  encrypt_write_ds_9:
+    url: jdbc:opengauss://opengauss.dbtbl_with_readwrite_splitting_and_encrypt.host:5432/encrypt_write_ds_9
+    username: test_user
+    password: Test@123
+    connectionTimeoutMilliseconds: 30000
+    idleTimeoutMilliseconds: 60000
+    maxLifetimeMilliseconds: 1800000
+    maxPoolSize: 2
+    minPoolSize: 2
+  encrypt_read_ds_0:
+    url: jdbc:opengauss://opengauss.dbtbl_with_readwrite_splitting_and_encrypt.host:5432/encrypt_read_ds_0
+    username: test_user
+    password: Test@123
+    connectionTimeoutMilliseconds: 30000
+    idleTimeoutMilliseconds: 60000
+    maxLifetimeMilliseconds: 1800000
+    maxPoolSize: 2
+    minPoolSize: 2
+  encrypt_read_ds_1:
+    url: jdbc:opengauss://opengauss.dbtbl_with_readwrite_splitting_and_encrypt.host:5432/encrypt_read_ds_1
+    username: test_user
+    password: Test@123
+    connectionTimeoutMilliseconds: 30000
+    idleTimeoutMilliseconds: 60000
+    maxLifetimeMilliseconds: 1800000
+    maxPoolSize: 2
+    minPoolSize: 2
+  encrypt_read_ds_2:
+    url: jdbc:opengauss://opengauss.dbtbl_with_readwrite_splitting_and_encrypt.host:5432/encrypt_read_ds_2
+    username: test_user
+    password: Test@123
+    connectionTimeoutMilliseconds: 30000
+    idleTimeoutMilliseconds: 60000
+    maxLifetimeMilliseconds: 1800000
+    maxPoolSize: 2
+    minPoolSize: 2
+  encrypt_read_ds_3:
+    url: jdbc:opengauss://opengauss.dbtbl_with_readwrite_splitting_and_encrypt.host:5432/encrypt_read_ds_3
+    username: test_user
+    password: Test@123
+    connectionTimeoutMilliseconds: 30000
+    idleTimeoutMilliseconds: 60000
+    maxLifetimeMilliseconds: 1800000
+    maxPoolSize: 2
+    minPoolSize: 2
+  encrypt_read_ds_4:
+    url: jdbc:opengauss://opengauss.dbtbl_with_readwrite_splitting_and_encrypt.host:5432/encrypt_read_ds_4
+    username: test_user
+    password: Test@123
+    connectionTimeoutMilliseconds: 30000
+    idleTimeoutMilliseconds: 60000
+    maxLifetimeMilliseconds: 1800000
+    maxPoolSize: 2
+    minPoolSize: 2
+  encrypt_read_ds_5:
+    url: jdbc:opengauss://opengauss.dbtbl_with_readwrite_splitting_and_encrypt.host:5432/encrypt_read_ds_5
+    username: test_user
+    password: Test@123
+    connectionTimeoutMilliseconds: 30000
+    idleTimeoutMilliseconds: 60000
+    maxLifetimeMilliseconds: 1800000
+    maxPoolSize: 2
+    minPoolSize: 2
+  encrypt_read_ds_6:
+    url: jdbc:opengauss://opengauss.dbtbl_with_readwrite_splitting_and_encrypt.host:5432/encrypt_read_ds_6
+    username: test_user
+    password: Test@123
+    connectionTimeoutMilliseconds: 30000
+    idleTimeoutMilliseconds: 60000
+    maxLifetimeMilliseconds: 1800000
+    maxPoolSize: 2
+    minPoolSize: 2
+  encrypt_read_ds_7:
+    url: jdbc:opengauss://opengauss.dbtbl_with_readwrite_splitting_and_encrypt.host:5432/encrypt_read_ds_7
+    username: test_user
+    password: Test@123
+    connectionTimeoutMilliseconds: 30000
+    idleTimeoutMilliseconds: 60000
+    maxLifetimeMilliseconds: 1800000
+    maxPoolSize: 2
+    minPoolSize: 2
+  encrypt_read_ds_8:
+    url: jdbc:opengauss://opengauss.dbtbl_with_readwrite_splitting_and_encrypt.host:5432/encrypt_read_ds_8
+    username: test_user
+    password: Test@123
+    connectionTimeoutMilliseconds: 30000
+    idleTimeoutMilliseconds: 60000
+    maxLifetimeMilliseconds: 1800000
+    maxPoolSize: 2
+    minPoolSize: 2
+  encrypt_read_ds_9:
+    url: jdbc:opengauss://opengauss.dbtbl_with_readwrite_splitting_and_encrypt.host:5432/encrypt_read_ds_9
+    username: test_user
+    password: Test@123
+    connectionTimeoutMilliseconds: 30000
+    idleTimeoutMilliseconds: 60000
+    maxLifetimeMilliseconds: 1800000
+    maxPoolSize: 2
+    minPoolSize: 2
+
+rules:
+- !SHARDING
+  tables:
+    t_user_item:
+      actualDataNodes: readwrite_ds_${0..9}.t_user_item_${0..9}
+      databaseStrategy:
+        standard:
+          shardingColumn: user_id
+          shardingAlgorithmName: it_standard_fixture
+      tableStrategy:
+        standard:
+          shardingColumn: item_id
+          shardingAlgorithmName: it_standard_fixture
+      keyGenerateStrategy:
+        column: item_id
+        keyGeneratorName: constant
+      auditStrategy:
+        auditorNames:
+          - auditor_constant
+        allowHintDisable: true
+    t_user:
+      actualDataNodes: readwrite_ds_${0..9}.t_user_${0..9}
+      databaseStrategy:
+        standard:
+          shardingColumn: address_id
+          shardingAlgorithmName: it_standard_fixture
+      tableStrategy:
+        standard:
+          shardingColumn: user_id
+          shardingAlgorithmName: it_standard_fixture
+      keyGenerateStrategy:
+        column: user_id
+        keyGeneratorName: constant
+      auditStrategy:
+        auditorNames:
+          - auditor_constant
+        allowHintDisable: true
+    t_user_details:
+      actualDataNodes: readwrite_ds_${0..9}.t_user_details_${0..9}
+      databaseStrategy:
+        standard:
+          shardingColumn: address_id
+          shardingAlgorithmName: it_standard_fixture
+      tableStrategy:
+        standard:
+          shardingColumn: user_id
+          shardingAlgorithmName: it_standard_fixture
+    t_order_item_federate_sharding:
+      actualDataNodes: readwrite_ds_1.t_order_item_federate_sharding_${0..1}
+      tableStrategy:
+        standard:
+          shardingColumn: item_id
+          shardingAlgorithmName: table_inline_item_id
+    t_order_federate_sharding:
+      actualDataNodes: readwrite_ds_1.t_order_federate_sharding_${0..1}
+      tableStrategy:
+        standard:
+          shardingColumn: order_id_sharding
+          shardingAlgorithmName: table_inline_order_id
+    t_user_encrypt_federate_sharding:
+      actualDataNodes: readwrite_ds_1.t_user_encrypt_federate_sharding_${0..1}
+      tableStrategy:
+        standard:
+          shardingColumn: user_id
+          shardingAlgorithmName: table_inline_user_id
+  bindingTables:
+    - t_user,t_user_item,t_user_details
+
+  shardingAlgorithms:
+    it_standard_fixture:
+      type: IT.STANDARD.FIXTURE
+    table_inline_item_id:
+      type: INLINE
+      props:
+        algorithm-expression: t_order_item_federate_sharding_${item_id % 2}
+    table_inline_order_id:
+      type: INLINE
+      props:
+        algorithm-expression: t_order_federate_sharding_${order_id_sharding % 2}
+    table_inline_user_id:
+      type: INLINE
+      props:
+        algorithm-expression: t_user_encrypt_federate_sharding_${user_id % 2}
+        allow-range-query-with-inline-sharding: true
+
+  keyGenerators:
+    constant:
+      type: IT.FIXTURE
+
+  auditors:
+    auditor_constant:
+      type: IT.AUDITOR.FIXTURE
+
+- !READWRITE_SPLITTING
+  dataSources:
+    readwrite_ds_0:
+      staticStrategy:
+        writeDataSourceName: encrypt_write_ds_0
+        readDataSourceNames:
+          - encrypt_read_ds_0
+      loadBalancerName: roundRobin
+    readwrite_ds_1:
+      staticStrategy:
+        writeDataSourceName: encrypt_write_ds_1
+        readDataSourceNames:
+          - encrypt_read_ds_1
+      loadBalancerName: roundRobin
+    readwrite_ds_2:
+      staticStrategy:
+        writeDataSourceName: encrypt_write_ds_2
+        readDataSourceNames:
+          - encrypt_read_ds_2
+      loadBalancerName: roundRobin
+    readwrite_ds_3:
+      staticStrategy:
+        writeDataSourceName: encrypt_write_ds_3
+        readDataSourceNames:
+          - encrypt_read_ds_3
+      loadBalancerName: roundRobin
+    readwrite_ds_4:
+      staticStrategy:
+        writeDataSourceName: encrypt_write_ds_4
+        readDataSourceNames:
+          - encrypt_read_ds_4
+      loadBalancerName: roundRobin
+    readwrite_ds_5:
+      staticStrategy:
+        writeDataSourceName: encrypt_write_ds_5
+        readDataSourceNames:
+          - encrypt_read_ds_5
+      loadBalancerName: roundRobin
+    readwrite_ds_6:
+      staticStrategy:
+        writeDataSourceName: encrypt_write_ds_6
+        readDataSourceNames:
+          - encrypt_read_ds_6
+      loadBalancerName: roundRobin
+    readwrite_ds_7:
+      staticStrategy:
+        writeDataSourceName: encrypt_write_ds_7
+        readDataSourceNames:
+          - encrypt_read_ds_7
+      loadBalancerName: roundRobin
+    readwrite_ds_8:
+      staticStrategy:
+        writeDataSourceName: encrypt_write_ds_8
+        readDataSourceNames:
+          - encrypt_read_ds_8
+      loadBalancerName: roundRobin
+    readwrite_ds_9:
+      staticStrategy:
+        writeDataSourceName: encrypt_write_ds_9
+        readDataSourceNames:
+          - encrypt_read_ds_9
+      loadBalancerName: roundRobin
+  loadBalancers:
+    roundRobin:
+      type: ROUND_ROBIN
+
+- !ENCRYPT
+  encryptors:
+    aes_encryptor:
+      type: AES
+      props:
+        aes-key-value: 123456abc
+  tables:
+    t_user:
+      columns:
+        pwd:
+          plainColumn: pwd_plain
+          cipherColumn: pwd_cipher
+          encryptorName: aes_encryptor
+    t_user_details:
+      columns:
+        number:
+          plainColumn: number_plain
+          cipherColumn: number_cipher
+          encryptorName: aes_encryptor
+        number_new:
+          plainColumn: number_new_plain
+          cipherColumn: number_new_cipher
+          encryptorName: aes_encryptor
+    t_user_encrypt_federate:
+      columns:
+        pwd:
+          plainColumn: plain_pwd
+          cipherColumn: cipher_pwd
+          encryptorName: aes_encryptor
+    t_user_encrypt_federate_sharding:
+      columns:
+        pwd:
+          plainColumn: plain_pwd
+          cipherColumn: cipher_pwd
+          encryptorName: aes_encryptor
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/scenario/encrypt_and_readwrite_splitting/authority.xml b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/scenario/encrypt_and_readwrite_splitting/authority.xml
index d1796ec5c12..6c62daa7948 100644
--- a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/scenario/encrypt_and_readwrite_splitting/authority.xml
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/scenario/encrypt_and_readwrite_splitting/authority.xml
@@ -16,7 +16,7 @@
   -->
 
 <authority>
-    <sqlset db-types="Oracle,SQLServer,PostgreSQL">
+    <sqlset db-types="Oracle,SQLServer,PostgreSQL,openGauss">
         <user-create>
             <sql>CREATE USER default_user</sql>
             <sql>CREATE ROLE default_role</sql>
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/scenario/encrypt_and_readwrite_splitting/data/actual/init-sql/opengauss/01-actual-init.sql b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/scenario/encrypt_and_readwrite_splitting/data/actual/init-sql/opengauss/01-actual-init.sql
new file mode 100644
index 00000000000..5243f7ca48c
--- /dev/null
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/scenario/encrypt_and_readwrite_splitting/data/actual/init-sql/opengauss/01-actual-init.sql
@@ -0,0 +1,72 @@
+--
+-- Licensed to the Apache Software Foundation (ASF) under one or more
+-- contributor license agreements.  See the NOTICE file distributed with
+-- this work for additional information regarding copyright ownership.
+-- The ASF licenses this file to You under the Apache License, Version 2.0
+-- (the "License"); you may not use this file except in compliance with
+-- the License.  You may obtain a copy of the License at
+--
+--     http://www.apache.org/licenses/LICENSE-2.0
+--
+-- Unless required by applicable law or agreed to in writing, software
+-- distributed under the License is distributed on an "AS IS" BASIS,
+-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+-- See the License for the specific language governing permissions and
+-- limitations under the License.
+--
+
+CREATE DATABASE encrypt_write_ds;
+CREATE DATABASE encrypt_read_ds;
+
+GRANT ALL PRIVILEGES ON DATABASE encrypt_write_ds TO test_user;
+GRANT ALL PRIVILEGES ON DATABASE encrypt_read_ds TO test_user;
+
+\c encrypt_write_ds
+
+DROP TABLE IF EXISTS t_user;
+DROP TABLE IF EXISTS t_user_item;
+DROP TABLE IF EXISTS t_single_table;
+DROP TABLE IF EXISTS t_order_federate;
+DROP TABLE IF EXISTS t_order_item_federate;
+DROP TABLE IF EXISTS t_order_item_federate_sharding;
+DROP TABLE IF EXISTS t_order_federate_sharding;
+DROP TABLE IF EXISTS t_user_encrypt_federate_sharding;
+DROP TABLE IF EXISTS t_user_encrypt_federate;
+DROP TABLE IF EXISTS t_user_info;
+
+CREATE TABLE t_user (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_single_table (single_id INT NOT NULL, id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (single_id));
+CREATE TABLE t_order_federate (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_federate (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (item_id));
+CREATE TABLE t_order_item_federate_sharding (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, remarks VARCHAR(45) NULL, PRIMARY KEY (item_id));
+CREATE TABLE t_order_federate_sharding (order_id_sharding INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id_sharding));
+CREATE TABLE t_user_encrypt_federate_sharding (user_id INT NOT NULL, plain_pwd VARCHAR(45) NULL, cipher_pwd VARCHAR(45) NULL, username VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_encrypt_federate (user_id INT NOT NULL, plain_pwd VARCHAR(45) NULL, cipher_pwd VARCHAR(45) NULL, username VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_info (user_id INT NOT NULL, information VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE INDEX user_index_t_user ON t_user (user_id);
+
+\c encrypt_read_ds
+
+DROP TABLE IF EXISTS t_user;
+DROP TABLE IF EXISTS t_user_item;
+DROP TABLE IF EXISTS t_single_table;
+DROP TABLE IF EXISTS t_order_federate;
+DROP TABLE IF EXISTS t_order_item_federate;
+DROP TABLE IF EXISTS t_order_item_federate_sharding;
+DROP TABLE IF EXISTS t_order_federate_sharding;
+DROP TABLE IF EXISTS t_user_encrypt_federate_sharding;
+DROP TABLE IF EXISTS t_user_encrypt_federate;
+DROP TABLE IF EXISTS t_user_info;
+
+CREATE TABLE t_user (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_single_table (single_id INT NOT NULL, id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (single_id));
+CREATE TABLE t_order_federate (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_federate (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (item_id));
+CREATE TABLE t_order_item_federate_sharding (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, remarks VARCHAR(45) NULL, PRIMARY KEY (item_id));
+CREATE TABLE t_order_federate_sharding (order_id_sharding INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id_sharding));
+CREATE TABLE t_user_encrypt_federate_sharding (user_id INT NOT NULL, plain_pwd VARCHAR(45) NULL, cipher_pwd VARCHAR(45) NULL, username VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_encrypt_federate (user_id INT NOT NULL, plain_pwd VARCHAR(45) NULL, cipher_pwd VARCHAR(45) NULL, username VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_info (user_id INT NOT NULL, information VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE INDEX user_index_t_user ON t_user (user_id);
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/scenario/encrypt_and_readwrite_splitting/data/expected/init-sql/opengauss/01-expected-init.sql b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/scenario/encrypt_and_readwrite_splitting/data/expected/init-sql/opengauss/01-expected-init.sql
new file mode 100644
index 00000000000..15ebba010e8
--- /dev/null
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/scenario/encrypt_and_readwrite_splitting/data/expected/init-sql/opengauss/01-expected-init.sql
@@ -0,0 +1,79 @@
+--
+-- Licensed to the Apache Software Foundation (ASF) under one or more
+-- contributor license agreements.  See the NOTICE file distributed with
+-- this work for additional information regarding copyright ownership.
+-- The ASF licenses this file to You under the Apache License, Version 2.0
+-- (the "License"); you may not use this file except in compliance with
+-- the License.  You may obtain a copy of the License at
+--
+--     http://www.apache.org/licenses/LICENSE-2.0
+--
+-- Unless required by applicable law or agreed to in writing, software
+-- distributed under the License is distributed on an "AS IS" BASIS,
+-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+-- See the License for the specific language governing permissions and
+-- limitations under the License.
+--
+
+DROP DATABASE IF EXISTS write_dataset;
+CREATE DATABASE write_dataset;
+
+GRANT ALL PRIVILEGES ON DATABASE write_dataset TO test_user;
+
+\c write_dataset;
+
+DROP TABLE IF EXISTS t_single_table;
+DROP TABLE IF EXISTS t_order_federate;
+DROP TABLE IF EXISTS t_order_item_federate;
+DROP TABLE IF EXISTS t_order_federate_sharding;
+DROP TABLE IF EXISTS t_order_item_federate_sharding;
+DROP TABLE IF EXISTS t_user;
+DROP TABLE IF EXISTS t_user_item;
+DROP TABLE IF EXISTS t_user_encrypt_federate;
+DROP TABLE IF EXISTS t_user_encrypt_federate_sharding;
+DROP TABLE IF EXISTS t_user_info;
+
+CREATE TABLE t_single_table (single_id INT NOT NULL, id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (single_id));
+CREATE TABLE t_order_federate (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_federate (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (item_id));
+CREATE TABLE t_order_federate_sharding (order_id_sharding INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id_sharding));
+CREATE TABLE t_order_item_federate_sharding (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, remarks VARCHAR(45) NULL, PRIMARY KEY (item_id));
+CREATE TABLE t_user (user_id INT NOT NULL, address_id INT NOT NULL, pwd VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_encrypt_federate (user_id INT NOT NULL, pwd VARCHAR(45) NULL, username VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_encrypt_federate_sharding (user_id INT NOT NULL, pwd VARCHAR(45) NULL, username VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_info (user_id INT NOT NULL, information VARCHAR(45) NULL, PRIMARY KEY (user_id));
+
+CREATE INDEX user_index_t_user ON t_user (user_id);
+
+
+DROP DATABASE IF EXISTS read_dataset;
+CREATE DATABASE read_dataset;
+
+GRANT ALL PRIVILEGES ON DATABASE read_dataset TO test_user;
+
+\c read_dataset;
+
+DROP TABLE IF EXISTS t_single_table;
+DROP TABLE IF EXISTS t_order_federate;
+DROP TABLE IF EXISTS t_order_item_federate;
+DROP TABLE IF EXISTS t_order_federate_sharding;
+DROP TABLE IF EXISTS t_order_item_federate_sharding;
+DROP TABLE IF EXISTS t_user;
+DROP TABLE IF EXISTS t_user_item;
+DROP TABLE IF EXISTS t_user_encrypt_federate;
+DROP TABLE IF EXISTS t_user_encrypt_federate_sharding;
+DROP TABLE IF EXISTS t_user_info;
+
+CREATE TABLE t_single_table (single_id INT NOT NULL, id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (single_id));
+CREATE TABLE t_order_federate (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_federate (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (item_id));
+CREATE TABLE t_order_federate_sharding (order_id_sharding INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id_sharding));
+CREATE TABLE t_order_item_federate_sharding (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, remarks VARCHAR(45) NULL, PRIMARY KEY (item_id));
+CREATE TABLE t_user (user_id INT NOT NULL, address_id INT NOT NULL, pwd VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_encrypt_federate (user_id INT NOT NULL, pwd VARCHAR(45) NULL, username VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_encrypt_federate_sharding (user_id INT NOT NULL, pwd VARCHAR(45) NULL, username VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_info (user_id INT NOT NULL, information VARCHAR(45) NULL, PRIMARY KEY (user_id));
+
+CREATE INDEX user_index_t_user ON t_user (user_id);
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/scenario/encrypt_and_readwrite_splitting/proxy/conf/opengauss/config-encrypt-readwrite-splitting.yaml b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/scenario/encrypt_and_readwrite_splitting/proxy/conf/opengauss/config-encrypt-readwrite-splitting.yaml
new file mode 100644
index 00000000000..fdfcda6b9d4
--- /dev/null
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/scenario/encrypt_and_readwrite_splitting/proxy/conf/opengauss/config-encrypt-readwrite-splitting.yaml
@@ -0,0 +1,88 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+databaseName: encrypt_and_readwrite_splitting
+
+dataSources:
+  encrypt_write_ds:
+    url: jdbc:opengauss://opengauss.encrypt_and_readwrite_splitting.host:5432/encrypt_write_ds
+    username: test_user
+    password: Test@123
+    connectionTimeoutMilliseconds: 30000
+    idleTimeoutMilliseconds: 60000
+    maxLifetimeMilliseconds: 1800000
+    maxPoolSize: 2
+    minPoolSize: 2
+  encrypt_read_ds:
+    url: jdbc:opengauss://opengauss.encrypt_and_readwrite_splitting.host:5432/encrypt_read_ds
+    username: test_user
+    password: Test@123
+    connectionTimeoutMilliseconds: 30000
+    idleTimeoutMilliseconds: 60000
+    maxLifetimeMilliseconds: 1800000
+    maxPoolSize: 2
+    minPoolSize: 2
+
+rules:
+
+- !READWRITE_SPLITTING
+  dataSources:
+    readwrite_ds:
+      staticStrategy:
+        writeDataSourceName: encrypt_write_ds
+        readDataSourceNames:
+          - encrypt_read_ds
+      loadBalancerName: roundRobin
+  loadBalancers:
+    roundRobin:
+      type: ROUND_ROBIN
+
+- !ENCRYPT
+  encryptors:
+    aes_encryptor:
+      type: AES
+      props:
+        aes-key-value: 123456abc
+  tables:
+    t_user:
+      columns:
+        pwd:
+          plainColumn: pwd_plain
+          cipherColumn: pwd_cipher
+          encryptorName: aes_encryptor
+    t_user_details:
+      columns:
+        number:
+          plainColumn: number_plain
+          cipherColumn: number_cipher
+          encryptorName: aes_encryptor
+        number_new:
+          plainColumn: number_new_plain
+          cipherColumn: number_new_cipher
+          encryptorName: aes_encryptor
+    t_user_encrypt_federate:
+      columns:
+        pwd:
+          plainColumn: plain_pwd
+          cipherColumn: cipher_pwd
+          encryptorName: aes_encryptor
+    t_user_encrypt_federate_sharding:
+      columns:
+        pwd:
+          plainColumn: plain_pwd
+          cipherColumn: cipher_pwd
+          encryptorName: aes_encryptor
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/scenario/encrypt_shadow/authority.xml b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/scenario/encrypt_shadow/authority.xml
index 34a53503f0e..192441cecaf 100644
--- a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/scenario/encrypt_shadow/authority.xml
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/scenario/encrypt_shadow/authority.xml
@@ -16,7 +16,7 @@
   -->
 
 <authority>
-    <sqlset db-types="Oracle,SQLServer,PostgreSQL">
+    <sqlset db-types="Oracle,SQLServer,PostgreSQL,openGauss">
         <user-create>
             <sql>CREATE USER default_user</sql>
             <sql>CREATE ROLE default_role</sql>
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/scenario/encrypt_shadow/data/actual/init-sql/opengauss/01-actual-init.sql b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/scenario/encrypt_shadow/data/actual/init-sql/opengauss/01-actual-init.sql
new file mode 100644
index 00000000000..e6067b58c20
--- /dev/null
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/scenario/encrypt_shadow/data/actual/init-sql/opengauss/01-actual-init.sql
@@ -0,0 +1,38 @@
+--
+-- Licensed to the Apache Software Foundation (ASF) under one or more
+-- contributor license agreements.  See the NOTICE file distributed with
+-- this work for additional information regarding copyright ownership.
+-- The ASF licenses this file to You under the Apache License, Version 2.0
+-- (the "License"); you may not use this file except in compliance with
+-- the License.  You may obtain a copy of the License at
+--
+--     http://www.apache.org/licenses/LICENSE-2.0
+--
+-- Unless required by applicable law or agreed to in writing, software
+-- distributed under the License is distributed on an "AS IS" BASIS,
+-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+-- See the License for the specific language governing permissions and
+-- limitations under the License.
+--
+
+CREATE DATABASE db;
+CREATE DATABASE encrypt_shadow_db;
+
+GRANT ALL PRIVILEGES ON DATABASE db TO test_user;
+GRANT ALL PRIVILEGES ON DATABASE encrypt_shadow_db TO test_user;
+
+\c db
+
+DROP TABLE IF EXISTS t_shadow;
+
+CREATE TYPE season AS ENUM ('spring', 'summer', 'autumn', 'winter');
+
+CREATE TABLE t_shadow (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+\c encrypt_shadow_db
+
+DROP TABLE IF EXISTS t_shadow;
+
+CREATE TYPE season AS ENUM ('spring', 'summer', 'autumn', 'winter');
+
+CREATE TABLE t_shadow (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/scenario/encrypt_shadow/data/expected/init-sql/opengauss/expected-init.sql b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/scenario/encrypt_shadow/data/expected/init-sql/opengauss/expected-init.sql
new file mode 100644
index 00000000000..85e2a4a734c
--- /dev/null
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/scenario/encrypt_shadow/data/expected/init-sql/opengauss/expected-init.sql
@@ -0,0 +1,41 @@
+--
+-- Licensed to the Apache Software Foundation (ASF) under one or more
+-- contributor license agreements.  See the NOTICE file distributed with
+-- this work for additional information regarding copyright ownership.
+-- The ASF licenses this file to You under the Apache License, Version 2.0
+-- (the "License"); you may not use this file except in compliance with
+-- the License.  You may obtain a copy of the License at
+--
+--     http://www.apache.org/licenses/LICENSE-2.0
+--
+-- Unless required by applicable law or agreed to in writing, software
+-- distributed under the License is distributed on an "AS IS" BASIS,
+-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+-- See the License for the specific language governing permissions and
+-- limitations under the License.
+--
+
+DROP DATABASE IF EXISTS prod_dataset;
+CREATE DATABASE prod_dataset;
+
+GRANT ALL PRIVILEGES ON DATABASE prod_dataset TO test_user;
+
+\c prod_dataset;
+
+DROP TABLE IF EXISTS t_shadow;
+
+CREATE TYPE season AS ENUM ('spring', 'summer', 'autumn', 'winter');
+CREATE TABLE t_shadow (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+
+DROP DATABASE IF EXISTS encrypt_shadow_dataset;
+CREATE DATABASE encrypt_shadow_dataset;
+
+GRANT ALL PRIVILEGES ON DATABASE encrypt_shadow_dataset TO test_user;
+
+\c encrypt_shadow_dataset;
+
+DROP TABLE IF EXISTS t_shadow;
+
+CREATE TYPE season AS ENUM ('spring', 'summer', 'autumn', 'winter');
+CREATE TABLE t_shadow (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/scenario/encrypt_shadow/proxy/conf/opengauss/config-encrypt-shadow.yaml b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/scenario/encrypt_shadow/proxy/conf/opengauss/config-encrypt-shadow.yaml
new file mode 100644
index 00000000000..1af5218c76b
--- /dev/null
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/scenario/encrypt_shadow/proxy/conf/opengauss/config-encrypt-shadow.yaml
@@ -0,0 +1,97 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+databaseName: encrypt_shadow
+
+dataSources:
+  db:
+    url: jdbc:opengauss://opengauss.encrypt_shadow.host:5432/db
+    username: test_user
+    password: Test@123
+    connectionTimeoutMilliseconds: 30000
+    idleTimeoutMilliseconds: 60000
+    maxLifetimeMilliseconds: 1800000
+    maxPoolSize: 2
+    minPoolSize: 2
+  encrypt_shadow_db:
+    url: jdbc:opengauss://opengauss.encrypt_shadow.host:5432/encrypt_shadow_db
+    username: test_user
+    password: Test@123
+    connectionTimeoutMilliseconds: 30000
+    idleTimeoutMilliseconds: 60000
+    maxLifetimeMilliseconds: 1800000
+    maxPoolSize: 2
+    minPoolSize: 2
+
+rules:
+- !SHADOW
+  dataSources:
+    shadowDataSource:
+      productionDataSourceName: db
+      shadowDataSourceName: encrypt_shadow_db
+  tables:
+    t_shadow:
+      dataSourceNames:
+        - shadowDataSource
+      shadowAlgorithmNames:
+        - user-id-insert-match-algorithm
+        - user-id-update-match-algorithm
+        - user-id-delete-match-algorithm
+        - user-id-select-match-algorithm
+        - simple-hint-algorithm
+  shadowAlgorithms:
+    user-id-insert-match-algorithm:
+      type: VALUE_MATCH
+      props:
+        operation: insert
+        column: user_id
+        value: 0
+    user-id-update-match-algorithm:
+      type: VALUE_MATCH
+      props:
+        operation: update
+        column: user_id
+        value: 0
+    user-id-delete-match-algorithm:
+      type: VALUE_MATCH
+      props:
+        operation: delete
+        column: user_id
+        value: 0
+    user-id-select-match-algorithm:
+      type: VALUE_MATCH
+      props:
+        operation: select
+        column: user_id
+        value: 0
+    simple-hint-algorithm:
+      type: SIMPLE_HINT
+      props:
+        foo: bar
+- !ENCRYPT
+  encryptors:
+    aes_encryptor:
+      type: AES
+      props:
+        aes-key-value: 123456abc
+  tables:
+    t_shadow:
+      columns:
+        order_name:
+          plainColumn: order_name_plain
+          cipherColumn: order_name_cipher
+          encryptorName: aes_encryptor
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/scenario/readwrite_splitting_and_shadow/authority.xml b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/scenario/readwrite_splitting_and_shadow/authority.xml
index 9716123ad15..7714c14e972 100644
--- a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/scenario/readwrite_splitting_and_shadow/authority.xml
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/scenario/readwrite_splitting_and_shadow/authority.xml
@@ -16,7 +16,7 @@
   -->
 
 <authority>
-    <sqlset db-types="Oracle,SQLServer,PostgreSQL">
+    <sqlset db-types="Oracle,SQLServer,PostgreSQL,openGauss">
         <user-create>
             <sql>CREATE USER default_user</sql>
             <sql>CREATE ROLE default_role</sql>
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/scenario/readwrite_splitting_and_shadow/data/actual/init-sql/opengauss/01-actual-init.sql b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/scenario/readwrite_splitting_and_shadow/data/actual/init-sql/opengauss/01-actual-init.sql
new file mode 100644
index 00000000000..12eb096297f
--- /dev/null
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/scenario/readwrite_splitting_and_shadow/data/actual/init-sql/opengauss/01-actual-init.sql
@@ -0,0 +1,58 @@
+--
+-- Licensed to the Apache Software Foundation (ASF) under one or more
+-- contributor license agreements.  See the NOTICE file distributed with
+-- this work for additional information regarding copyright ownership.
+-- The ASF licenses this file to You under the Apache License, Version 2.0
+-- (the "License"); you may not use this file except in compliance with
+-- the License.  You may obtain a copy of the License at
+--
+--     http://www.apache.org/licenses/LICENSE-2.0
+--
+-- Unless required by applicable law or agreed to in writing, software
+-- distributed under the License is distributed on an "AS IS" BASIS,
+-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+-- See the License for the specific language governing permissions and
+-- limitations under the License.
+--
+
+CREATE DATABASE write_db;
+CREATE DATABASE write_db_shadow;
+CREATE DATABASE read_0;
+CREATE DATABASE read_1;
+
+GRANT ALL PRIVILEGES ON DATABASE write_db TO test_user;
+GRANT ALL PRIVILEGES ON DATABASE write_db_shadow TO test_user;
+GRANT ALL PRIVILEGES ON DATABASE read_0 TO test_user;
+GRANT ALL PRIVILEGES ON DATABASE read_1 TO test_user;
+
+\c write_db
+
+DROP TABLE IF EXISTS t_shadow;
+
+CREATE TYPE season AS ENUM ('spring', 'summer', 'autumn', 'winter');
+
+CREATE TABLE t_shadow (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+\c write_db_shadow
+
+DROP TABLE IF EXISTS t_shadow;
+
+CREATE TYPE season AS ENUM ('spring', 'summer', 'autumn', 'winter');
+
+CREATE TABLE t_shadow (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+\c read_0
+
+DROP TABLE IF EXISTS t_shadow;
+
+CREATE TYPE season AS ENUM ('spring', 'summer', 'autumn', 'winter');
+
+CREATE TABLE t_shadow (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+\c read_1
+
+DROP TABLE IF EXISTS t_shadow;
+
+CREATE TYPE season AS ENUM ('spring', 'summer', 'autumn', 'winter');
+
+CREATE TABLE t_shadow (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/scenario/readwrite_splitting_and_shadow/data/expected/init-sql/opengauss/expected-init.sql b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/scenario/readwrite_splitting_and_shadow/data/expected/init-sql/opengauss/expected-init.sql
new file mode 100644
index 00000000000..c2fcb46241a
--- /dev/null
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/scenario/readwrite_splitting_and_shadow/data/expected/init-sql/opengauss/expected-init.sql
@@ -0,0 +1,53 @@
+--
+-- Licensed to the Apache Software Foundation (ASF) under one or more
+-- contributor license agreements.  See the NOTICE file distributed with
+-- this work for additional information regarding copyright ownership.
+-- The ASF licenses this file to You under the Apache License, Version 2.0
+-- (the "License"); you may not use this file except in compliance with
+-- the License.  You may obtain a copy of the License at
+--
+--     http://www.apache.org/licenses/LICENSE-2.0
+--
+-- Unless required by applicable law or agreed to in writing, software
+-- distributed under the License is distributed on an "AS IS" BASIS,
+-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+-- See the License for the specific language governing permissions and
+-- limitations under the License.
+--
+
+DROP DATABASE IF EXISTS write_dataset;
+CREATE DATABASE write_dataset;
+
+GRANT ALL PRIVILEGES ON DATABASE write_dataset TO test_user;
+
+\c write_dataset;
+
+DROP TABLE IF EXISTS t_shadow;
+
+CREATE TYPE season AS ENUM ('spring', 'summer', 'autumn', 'winter');
+CREATE TABLE t_shadow (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+
+DROP DATABASE IF EXISTS write_shadow_dataset;
+CREATE DATABASE write_shadow_dataset;
+
+GRANT ALL PRIVILEGES ON DATABASE write_shadow_dataset TO test_user;
+
+\c write_shadow_dataset;
+
+DROP TABLE IF EXISTS t_shadow;
+
+CREATE TYPE season AS ENUM ('spring', 'summer', 'autumn', 'winter');
+CREATE TABLE t_shadow (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP DATABASE IF EXISTS read_dataset;
+CREATE DATABASE read_dataset;
+
+GRANT ALL PRIVILEGES ON DATABASE read_dataset TO test_user;
+
+\c read_dataset;
+
+DROP TABLE IF EXISTS t_shadow;
+
+CREATE TYPE season AS ENUM ('spring', 'summer', 'autumn', 'winter');
+CREATE TABLE t_shadow (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/scenario/readwrite_splitting_and_shadow/proxy/conf/opengauss/config-shadow.yaml b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/scenario/readwrite_splitting_and_shadow/proxy/conf/opengauss/config-shadow.yaml
new file mode 100644
index 00000000000..8847930b3cb
--- /dev/null
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/scenario/readwrite_splitting_and_shadow/proxy/conf/opengauss/config-shadow.yaml
@@ -0,0 +1,111 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+databaseName: readwrite_splitting_and_shadow
+
+dataSources:
+  write_db:
+    url: jdbc:opengauss://opengauss.readwrite_splitting_and_shadow.host:5432/write_db
+    username: test_user
+    password: Test@123
+    connectionTimeoutMilliseconds: 30000
+    idleTimeoutMilliseconds: 60000
+    maxLifetimeMilliseconds: 1800000
+    maxPoolSize: 2
+    minPoolSize: 2
+  write_db_shadow:
+    url: jdbc:opengauss://opengauss.readwrite_splitting_and_shadow.host:5432/write_db_shadow
+    username: test_user
+    password: Test@123
+    connectionTimeoutMilliseconds: 30000
+    idleTimeoutMilliseconds: 60000
+    maxLifetimeMilliseconds: 1800000
+    maxPoolSize: 2
+    minPoolSize: 2
+  read_0:
+    url: jdbc:opengauss://opengauss.readwrite_splitting_and_shadow.host:5432/read_0
+    username: test_user
+    password: Test@123
+    connectionTimeoutMilliseconds: 30000
+    idleTimeoutMilliseconds: 60000
+    maxLifetimeMilliseconds: 1800000
+    maxPoolSize: 2
+    minPoolSize: 2
+  read_1:
+    url: jdbc:opengauss://opengauss.readwrite_splitting_and_shadow.host:5432/read_1
+    username: test_user
+    password: Test@123
+    connectionTimeoutMilliseconds: 30000
+    idleTimeoutMilliseconds: 60000
+    maxLifetimeMilliseconds: 1800000
+    maxPoolSize: 2
+    minPoolSize: 2
+
+rules:
+  - !READWRITE_SPLITTING
+    dataSources:
+      write-read-ds:
+        staticStrategy:
+          writeDataSourceName: shadowDataSource
+          readDataSourceNames:
+            - read_0
+            - read_1
+
+  - !SHADOW
+    dataSources:
+      shadowDataSource:
+        productionDataSourceName: write_db
+        shadowDataSourceName: write_db_shadow
+    tables:
+      t_shadow:
+        dataSourceNames:
+          - shadowDataSource
+        shadowAlgorithmNames:
+          - user-id-insert-match-algorithm
+          - user-id-update-match-algorithm
+          - user-id-delete-match-algorithm
+          - user-id-select-match-algorithm
+          - simple-hint-algorithm
+    shadowAlgorithms:
+      user-id-insert-match-algorithm:
+        type: VALUE_MATCH
+        props:
+          operation: insert
+          column: user_id
+          value: 0
+      user-id-update-match-algorithm:
+        type: VALUE_MATCH
+        props:
+          operation: update
+          column: user_id
+          value: 0
+      user-id-delete-match-algorithm:
+        type: VALUE_MATCH
+        props:
+          operation: delete
+          column: user_id
+          value: 0
+      user-id-select-match-algorithm:
+        type: VALUE_MATCH
+        props:
+          operation: select
+          column: user_id
+          value: 0
+      simple-hint-algorithm:
+        type: SIMPLE_HINT
+        props:
+          foo: bar
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/scenario/sharding_and_encrypt/authority.xml b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/scenario/sharding_and_encrypt/authority.xml
index 700c6d36650..77538802a58 100644
--- a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/scenario/sharding_and_encrypt/authority.xml
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/scenario/sharding_and_encrypt/authority.xml
@@ -16,7 +16,7 @@
   -->
 
 <authority>
-    <sqlset db-types="Oracle,SQLServer,PostgreSQL">
+    <sqlset db-types="Oracle,SQLServer,PostgreSQL,openGauss">
         <user-create>
             <sql>CREATE USER default_user</sql>
             <sql>CREATE ROLE default_role</sql>
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/scenario/sharding_and_encrypt/data/actual/init-sql/opengauss/01-actual-init.sql b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/scenario/sharding_and_encrypt/data/actual/init-sql/opengauss/01-actual-init.sql
new file mode 100644
index 00000000000..656e48736a9
--- /dev/null
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/scenario/sharding_and_encrypt/data/actual/init-sql/opengauss/01-actual-init.sql
@@ -0,0 +1,600 @@
+--
+-- Licensed to the Apache Software Foundation (ASF) under one or more
+-- contributor license agreements.  See the NOTICE file distributed with
+-- this work for additional information regarding copyright ownership.
+-- The ASF licenses this file to You under the Apache License, Version 2.0
+-- (the "License"); you may not use this file except in compliance with
+-- the License.  You may obtain a copy of the License at
+--
+--     http://www.apache.org/licenses/LICENSE-2.0
+--
+-- Unless required by applicable law or agreed to in writing, software
+-- distributed under the License is distributed on an "AS IS" BASIS,
+-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+-- See the License for the specific language governing permissions and
+-- limitations under the License.
+--
+
+CREATE DATABASE encrypt_ds_0;
+CREATE DATABASE encrypt_ds_1;
+CREATE DATABASE encrypt_ds_2;
+CREATE DATABASE encrypt_ds_3;
+CREATE DATABASE encrypt_ds_4;
+CREATE DATABASE encrypt_ds_5;
+CREATE DATABASE encrypt_ds_6;
+CREATE DATABASE encrypt_ds_7;
+CREATE DATABASE encrypt_ds_8;
+CREATE DATABASE encrypt_ds_9;
+
+GRANT ALL PRIVILEGES ON DATABASE encrypt_ds_0 TO test_user;
+GRANT ALL PRIVILEGES ON DATABASE encrypt_ds_1 TO test_user;
+GRANT ALL PRIVILEGES ON DATABASE encrypt_ds_2 TO test_user;
+GRANT ALL PRIVILEGES ON DATABASE encrypt_ds_3 TO test_user;
+GRANT ALL PRIVILEGES ON DATABASE encrypt_ds_4 TO test_user;
+GRANT ALL PRIVILEGES ON DATABASE encrypt_ds_5 TO test_user;
+GRANT ALL PRIVILEGES ON DATABASE encrypt_ds_6 TO test_user;
+GRANT ALL PRIVILEGES ON DATABASE encrypt_ds_7 TO test_user;
+GRANT ALL PRIVILEGES ON DATABASE encrypt_ds_8 TO test_user;
+GRANT ALL PRIVILEGES ON DATABASE encrypt_ds_9 TO test_user;
+
+\c encrypt_ds_0
+
+DROP TABLE IF EXISTS t_user_0;
+DROP TABLE IF EXISTS t_user_item_0;
+DROP TABLE IF EXISTS t_user_1;
+DROP TABLE IF EXISTS t_user_item_1;
+DROP TABLE IF EXISTS t_user_2;
+DROP TABLE IF EXISTS t_user_item_2;
+DROP TABLE IF EXISTS t_user_3;
+DROP TABLE IF EXISTS t_user_item_3;
+DROP TABLE IF EXISTS t_user_4;
+DROP TABLE IF EXISTS t_user_item_4;
+DROP TABLE IF EXISTS t_user_5;
+DROP TABLE IF EXISTS t_user_item_5;
+DROP TABLE IF EXISTS t_user_6;
+DROP TABLE IF EXISTS t_user_item_6;
+DROP TABLE IF EXISTS t_user_7;
+DROP TABLE IF EXISTS t_user_item_7;
+DROP TABLE IF EXISTS t_user_8;
+DROP TABLE IF EXISTS t_user_item_8;
+DROP TABLE IF EXISTS t_user_9;
+DROP TABLE IF EXISTS t_user_item_9;
+DROP TABLE IF EXISTS t_single_table;
+DROP TABLE IF EXISTS t_order_federate;
+
+CREATE TABLE t_user_0 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_0 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_1 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_1 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_2 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_2 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_3 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_3 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_4 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_4 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_5 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_5 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_6 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_6 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_7 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_7 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_8 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_8 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_9 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_9 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_single_table (single_id INT NOT NULL, id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (single_id));
+CREATE TABLE t_order_federate (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE INDEX user_index_t_user_0 ON t_user_0 (user_id);
+CREATE INDEX user_index_t_user_1 ON t_user_1 (user_id);
+CREATE INDEX user_index_t_user_2 ON t_user_2 (user_id);
+CREATE INDEX user_index_t_user_3 ON t_user_3 (user_id);
+CREATE INDEX user_index_t_user_4 ON t_user_4 (user_id);
+CREATE INDEX user_index_t_user_5 ON t_user_5 (user_id);
+CREATE INDEX user_index_t_user_6 ON t_user_6 (user_id);
+CREATE INDEX user_index_t_user_7 ON t_user_7 (user_id);
+CREATE INDEX user_index_t_user_8 ON t_user_8 (user_id);
+CREATE INDEX user_index_t_user_9 ON t_user_9 (user_id);
+
+\c encrypt_ds_1
+
+DROP TABLE IF EXISTS t_user_0;
+DROP TABLE IF EXISTS t_user_item_0;
+DROP TABLE IF EXISTS t_user_1;
+DROP TABLE IF EXISTS t_user_item_1;
+DROP TABLE IF EXISTS t_user_2;
+DROP TABLE IF EXISTS t_user_item_2;
+DROP TABLE IF EXISTS t_user_3;
+DROP TABLE IF EXISTS t_user_item_3;
+DROP TABLE IF EXISTS t_user_4;
+DROP TABLE IF EXISTS t_user_item_4;
+DROP TABLE IF EXISTS t_user_5;
+DROP TABLE IF EXISTS t_user_item_5;
+DROP TABLE IF EXISTS t_user_6;
+DROP TABLE IF EXISTS t_user_item_6;
+DROP TABLE IF EXISTS t_user_7;
+DROP TABLE IF EXISTS t_user_item_7;
+DROP TABLE IF EXISTS t_user_8;
+DROP TABLE IF EXISTS t_user_item_8;
+DROP TABLE IF EXISTS t_user_9;
+DROP TABLE IF EXISTS t_user_item_9;
+DROP TABLE IF EXISTS t_order_item_federate;
+DROP TABLE IF EXISTS t_order_item_federate_sharding_0;
+DROP TABLE IF EXISTS t_order_item_federate_sharding_1;
+DROP TABLE IF EXISTS t_order_federate_sharding_0;
+DROP TABLE IF EXISTS t_order_federate_sharding_1;
+DROP TABLE IF EXISTS t_user_encrypt_federate_sharding_0;
+DROP TABLE IF EXISTS t_user_encrypt_federate_sharding_1;
+DROP TABLE IF EXISTS t_user_encrypt_federate;
+DROP TABLE IF EXISTS t_user_info;
+
+CREATE TABLE t_user_0 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_0 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_1 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_1 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_2 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_2 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_3 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_3 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_4 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_4 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_5 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_5 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_6 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_6 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_7 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_7 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_8 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_8 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_9 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_9 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_order_item_federate (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (item_id));
+CREATE TABLE t_order_item_federate_sharding_0 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, remarks VARCHAR(45) NULL, PRIMARY KEY (item_id));
+CREATE TABLE t_order_item_federate_sharding_1 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, remarks VARCHAR(45) NULL, PRIMARY KEY (item_id));
+CREATE TABLE t_order_federate_sharding_0 (order_id_sharding INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id_sharding));
+CREATE TABLE t_order_federate_sharding_1 (order_id_sharding INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id_sharding));
+CREATE TABLE t_user_encrypt_federate_sharding_0 (user_id INT NOT NULL, plain_pwd VARCHAR(45) NULL, cipher_pwd VARCHAR(45) NULL, username VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_encrypt_federate_sharding_1 (user_id INT NOT NULL, plain_pwd VARCHAR(45) NULL, cipher_pwd VARCHAR(45) NULL, username VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_encrypt_federate (user_id INT NOT NULL, plain_pwd VARCHAR(45) NULL, cipher_pwd VARCHAR(45) NULL, username VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_info (user_id INT NOT NULL, information VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE INDEX user_index_t_user_0 ON t_user_0 (user_id);
+CREATE INDEX user_index_t_user_1 ON t_user_1 (user_id);
+CREATE INDEX user_index_t_user_2 ON t_user_2 (user_id);
+CREATE INDEX user_index_t_user_3 ON t_user_3 (user_id);
+CREATE INDEX user_index_t_user_4 ON t_user_4 (user_id);
+CREATE INDEX user_index_t_user_5 ON t_user_5 (user_id);
+CREATE INDEX user_index_t_user_6 ON t_user_6 (user_id);
+CREATE INDEX user_index_t_user_7 ON t_user_7 (user_id);
+CREATE INDEX user_index_t_user_8 ON t_user_8 (user_id);
+CREATE INDEX user_index_t_user_9 ON t_user_9 (user_id);
+
+\c encrypt_ds_2
+
+DROP TABLE IF EXISTS t_user_0;
+DROP TABLE IF EXISTS t_user_item_0;
+DROP TABLE IF EXISTS t_user_1;
+DROP TABLE IF EXISTS t_user_item_1;
+DROP TABLE IF EXISTS t_user_2;
+DROP TABLE IF EXISTS t_user_item_2;
+DROP TABLE IF EXISTS t_user_3;
+DROP TABLE IF EXISTS t_user_item_3;
+DROP TABLE IF EXISTS t_user_4;
+DROP TABLE IF EXISTS t_user_item_4;
+DROP TABLE IF EXISTS t_user_5;
+DROP TABLE IF EXISTS t_user_item_5;
+DROP TABLE IF EXISTS t_user_6;
+DROP TABLE IF EXISTS t_user_item_6;
+DROP TABLE IF EXISTS t_user_7;
+DROP TABLE IF EXISTS t_user_item_7;
+DROP TABLE IF EXISTS t_user_8;
+DROP TABLE IF EXISTS t_user_item_8;
+DROP TABLE IF EXISTS t_user_9;
+DROP TABLE IF EXISTS t_user_item_9;
+
+CREATE TABLE t_user_0 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_0 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_1 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_1 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_2 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_2 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_3 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_3 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_4 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_4 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_5 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_5 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_6 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_6 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_7 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_7 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_8 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_8 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_9 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_9 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE INDEX user_index_t_user_0 ON t_user_0 (user_id);
+CREATE INDEX user_index_t_user_1 ON t_user_1 (user_id);
+CREATE INDEX user_index_t_user_2 ON t_user_2 (user_id);
+CREATE INDEX user_index_t_user_3 ON t_user_3 (user_id);
+CREATE INDEX user_index_t_user_4 ON t_user_4 (user_id);
+CREATE INDEX user_index_t_user_5 ON t_user_5 (user_id);
+CREATE INDEX user_index_t_user_6 ON t_user_6 (user_id);
+CREATE INDEX user_index_t_user_7 ON t_user_7 (user_id);
+CREATE INDEX user_index_t_user_8 ON t_user_8 (user_id);
+CREATE INDEX user_index_t_user_9 ON t_user_9 (user_id);
+
+\c encrypt_ds_3
+
+DROP TABLE IF EXISTS t_user_0;
+DROP TABLE IF EXISTS t_user_item_0;
+DROP TABLE IF EXISTS t_user_1;
+DROP TABLE IF EXISTS t_user_item_1;
+DROP TABLE IF EXISTS t_user_2;
+DROP TABLE IF EXISTS t_user_item_2;
+DROP TABLE IF EXISTS t_user_3;
+DROP TABLE IF EXISTS t_user_item_3;
+DROP TABLE IF EXISTS t_user_4;
+DROP TABLE IF EXISTS t_user_item_4;
+DROP TABLE IF EXISTS t_user_5;
+DROP TABLE IF EXISTS t_user_item_5;
+DROP TABLE IF EXISTS t_user_6;
+DROP TABLE IF EXISTS t_user_item_6;
+DROP TABLE IF EXISTS t_user_7;
+DROP TABLE IF EXISTS t_user_item_7;
+DROP TABLE IF EXISTS t_user_8;
+DROP TABLE IF EXISTS t_user_item_8;
+DROP TABLE IF EXISTS t_user_9;
+DROP TABLE IF EXISTS t_user_item_9;
+
+CREATE TABLE t_user_0 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_0 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_1 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_1 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_2 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_2 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_3 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_3 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_4 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_4 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_5 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_5 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_6 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_6 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_7 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_7 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_8 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_8 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_9 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_9 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE INDEX user_index_t_user_0 ON t_user_0 (user_id);
+CREATE INDEX user_index_t_user_1 ON t_user_1 (user_id);
+CREATE INDEX user_index_t_user_2 ON t_user_2 (user_id);
+CREATE INDEX user_index_t_user_3 ON t_user_3 (user_id);
+CREATE INDEX user_index_t_user_4 ON t_user_4 (user_id);
+CREATE INDEX user_index_t_user_5 ON t_user_5 (user_id);
+CREATE INDEX user_index_t_user_6 ON t_user_6 (user_id);
+CREATE INDEX user_index_t_user_7 ON t_user_7 (user_id);
+CREATE INDEX user_index_t_user_8 ON t_user_8 (user_id);
+CREATE INDEX user_index_t_user_9 ON t_user_9 (user_id);
+
+\c encrypt_ds_4
+
+DROP TABLE IF EXISTS t_user_0;
+DROP TABLE IF EXISTS t_user_item_0;
+DROP TABLE IF EXISTS t_user_1;
+DROP TABLE IF EXISTS t_user_item_1;
+DROP TABLE IF EXISTS t_user_2;
+DROP TABLE IF EXISTS t_user_item_2;
+DROP TABLE IF EXISTS t_user_3;
+DROP TABLE IF EXISTS t_user_item_3;
+DROP TABLE IF EXISTS t_user_4;
+DROP TABLE IF EXISTS t_user_item_4;
+DROP TABLE IF EXISTS t_user_5;
+DROP TABLE IF EXISTS t_user_item_5;
+DROP TABLE IF EXISTS t_user_6;
+DROP TABLE IF EXISTS t_user_item_6;
+DROP TABLE IF EXISTS t_user_7;
+DROP TABLE IF EXISTS t_user_item_7;
+DROP TABLE IF EXISTS t_user_8;
+DROP TABLE IF EXISTS t_user_item_8;
+DROP TABLE IF EXISTS t_user_9;
+DROP TABLE IF EXISTS t_user_item_9;
+
+CREATE TABLE t_user_0 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_0 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_1 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_1 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_2 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_2 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_3 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_3 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_4 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_4 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_5 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_5 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_6 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_6 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_7 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_7 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_8 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_8 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_9 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_9 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE INDEX user_index_t_user_0 ON t_user_0 (user_id);
+CREATE INDEX user_index_t_user_1 ON t_user_1 (user_id);
+CREATE INDEX user_index_t_user_2 ON t_user_2 (user_id);
+CREATE INDEX user_index_t_user_3 ON t_user_3 (user_id);
+CREATE INDEX user_index_t_user_4 ON t_user_4 (user_id);
+CREATE INDEX user_index_t_user_5 ON t_user_5 (user_id);
+CREATE INDEX user_index_t_user_6 ON t_user_6 (user_id);
+CREATE INDEX user_index_t_user_7 ON t_user_7 (user_id);
+CREATE INDEX user_index_t_user_8 ON t_user_8 (user_id);
+CREATE INDEX user_index_t_user_9 ON t_user_9 (user_id);
+
+\c encrypt_ds_5
+
+DROP TABLE IF EXISTS t_user_0;
+DROP TABLE IF EXISTS t_user_item_0;
+DROP TABLE IF EXISTS t_user_1;
+DROP TABLE IF EXISTS t_user_item_1;
+DROP TABLE IF EXISTS t_user_2;
+DROP TABLE IF EXISTS t_user_item_2;
+DROP TABLE IF EXISTS t_user_3;
+DROP TABLE IF EXISTS t_user_item_3;
+DROP TABLE IF EXISTS t_user_4;
+DROP TABLE IF EXISTS t_user_item_4;
+DROP TABLE IF EXISTS t_user_5;
+DROP TABLE IF EXISTS t_user_item_5;
+DROP TABLE IF EXISTS t_user_6;
+DROP TABLE IF EXISTS t_user_item_6;
+DROP TABLE IF EXISTS t_user_7;
+DROP TABLE IF EXISTS t_user_item_7;
+DROP TABLE IF EXISTS t_user_8;
+DROP TABLE IF EXISTS t_user_item_8;
+DROP TABLE IF EXISTS t_user_9;
+DROP TABLE IF EXISTS t_user_item_9;
+
+CREATE TABLE t_user_0 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_0 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_1 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_1 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_2 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_2 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_3 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_3 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_4 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_4 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_5 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_5 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_6 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_6 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_7 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_7 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_8 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_8 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_9 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_9 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE INDEX user_index_t_user_0 ON t_user_0 (user_id);
+CREATE INDEX user_index_t_user_1 ON t_user_1 (user_id);
+CREATE INDEX user_index_t_user_2 ON t_user_2 (user_id);
+CREATE INDEX user_index_t_user_3 ON t_user_3 (user_id);
+CREATE INDEX user_index_t_user_4 ON t_user_4 (user_id);
+CREATE INDEX user_index_t_user_5 ON t_user_5 (user_id);
+CREATE INDEX user_index_t_user_6 ON t_user_6 (user_id);
+CREATE INDEX user_index_t_user_7 ON t_user_7 (user_id);
+CREATE INDEX user_index_t_user_8 ON t_user_8 (user_id);
+CREATE INDEX user_index_t_user_9 ON t_user_9 (user_id);
+
+\c encrypt_ds_6
+
+DROP TABLE IF EXISTS t_user_0;
+DROP TABLE IF EXISTS t_user_item_0;
+DROP TABLE IF EXISTS t_user_1;
+DROP TABLE IF EXISTS t_user_item_1;
+DROP TABLE IF EXISTS t_user_2;
+DROP TABLE IF EXISTS t_user_item_2;
+DROP TABLE IF EXISTS t_user_3;
+DROP TABLE IF EXISTS t_user_item_3;
+DROP TABLE IF EXISTS t_user_4;
+DROP TABLE IF EXISTS t_user_item_4;
+DROP TABLE IF EXISTS t_user_5;
+DROP TABLE IF EXISTS t_user_item_5;
+DROP TABLE IF EXISTS t_user_6;
+DROP TABLE IF EXISTS t_user_item_6;
+DROP TABLE IF EXISTS t_user_7;
+DROP TABLE IF EXISTS t_user_item_7;
+DROP TABLE IF EXISTS t_user_8;
+DROP TABLE IF EXISTS t_user_item_8;
+DROP TABLE IF EXISTS t_user_9;
+DROP TABLE IF EXISTS t_user_item_9;
+
+CREATE TABLE t_user_0 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_0 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_1 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_1 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_2 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_2 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_3 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_3 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_4 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_4 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_5 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_5 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_6 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_6 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_7 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_7 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_8 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_8 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_9 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_9 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE INDEX user_index_t_user_0 ON t_user_0 (user_id);
+CREATE INDEX user_index_t_user_1 ON t_user_1 (user_id);
+CREATE INDEX user_index_t_user_2 ON t_user_2 (user_id);
+CREATE INDEX user_index_t_user_3 ON t_user_3 (user_id);
+CREATE INDEX user_index_t_user_4 ON t_user_4 (user_id);
+CREATE INDEX user_index_t_user_5 ON t_user_5 (user_id);
+CREATE INDEX user_index_t_user_6 ON t_user_6 (user_id);
+CREATE INDEX user_index_t_user_7 ON t_user_7 (user_id);
+CREATE INDEX user_index_t_user_8 ON t_user_8 (user_id);
+CREATE INDEX user_index_t_user_9 ON t_user_9 (user_id);
+
+\c encrypt_ds_7
+
+DROP TABLE IF EXISTS t_user_0;
+DROP TABLE IF EXISTS t_user_item_0;
+DROP TABLE IF EXISTS t_user_1;
+DROP TABLE IF EXISTS t_user_item_1;
+DROP TABLE IF EXISTS t_user_2;
+DROP TABLE IF EXISTS t_user_item_2;
+DROP TABLE IF EXISTS t_user_3;
+DROP TABLE IF EXISTS t_user_item_3;
+DROP TABLE IF EXISTS t_user_4;
+DROP TABLE IF EXISTS t_user_item_4;
+DROP TABLE IF EXISTS t_user_5;
+DROP TABLE IF EXISTS t_user_item_5;
+DROP TABLE IF EXISTS t_user_6;
+DROP TABLE IF EXISTS t_user_item_6;
+DROP TABLE IF EXISTS t_user_7;
+DROP TABLE IF EXISTS t_user_item_7;
+DROP TABLE IF EXISTS t_user_8;
+DROP TABLE IF EXISTS t_user_item_8;
+DROP TABLE IF EXISTS t_user_9;
+DROP TABLE IF EXISTS t_user_item_9;
+
+CREATE TABLE t_user_0 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_0 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_1 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_1 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_2 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_2 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_3 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_3 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_4 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_4 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_5 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_5 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_6 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_6 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_7 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_7 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_8 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_8 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_9 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_9 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE INDEX user_index_t_user_0 ON t_user_0 (user_id);
+CREATE INDEX user_index_t_user_1 ON t_user_1 (user_id);
+CREATE INDEX user_index_t_user_2 ON t_user_2 (user_id);
+CREATE INDEX user_index_t_user_3 ON t_user_3 (user_id);
+CREATE INDEX user_index_t_user_4 ON t_user_4 (user_id);
+CREATE INDEX user_index_t_user_5 ON t_user_5 (user_id);
+CREATE INDEX user_index_t_user_6 ON t_user_6 (user_id);
+CREATE INDEX user_index_t_user_7 ON t_user_7 (user_id);
+CREATE INDEX user_index_t_user_8 ON t_user_8 (user_id);
+CREATE INDEX user_index_t_user_9 ON t_user_9 (user_id);
+
+\c encrypt_ds_8
+
+DROP TABLE IF EXISTS t_user_0;
+DROP TABLE IF EXISTS t_user_item_0;
+DROP TABLE IF EXISTS t_user_1;
+DROP TABLE IF EXISTS t_user_item_1;
+DROP TABLE IF EXISTS t_user_2;
+DROP TABLE IF EXISTS t_user_item_2;
+DROP TABLE IF EXISTS t_user_3;
+DROP TABLE IF EXISTS t_user_item_3;
+DROP TABLE IF EXISTS t_user_4;
+DROP TABLE IF EXISTS t_user_item_4;
+DROP TABLE IF EXISTS t_user_5;
+DROP TABLE IF EXISTS t_user_item_5;
+DROP TABLE IF EXISTS t_user_6;
+DROP TABLE IF EXISTS t_user_item_6;
+DROP TABLE IF EXISTS t_user_7;
+DROP TABLE IF EXISTS t_user_item_7;
+DROP TABLE IF EXISTS t_user_8;
+DROP TABLE IF EXISTS t_user_item_8;
+DROP TABLE IF EXISTS t_user_9;
+DROP TABLE IF EXISTS t_user_item_9;
+
+CREATE TABLE t_user_0 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_0 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_1 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_1 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_2 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_2 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_3 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_3 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_4 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_4 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_5 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_5 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_6 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_6 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_7 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_7 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_8 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_8 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_9 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_9 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE INDEX user_index_t_user_0 ON t_user_0 (user_id);
+CREATE INDEX user_index_t_user_1 ON t_user_1 (user_id);
+CREATE INDEX user_index_t_user_2 ON t_user_2 (user_id);
+CREATE INDEX user_index_t_user_3 ON t_user_3 (user_id);
+CREATE INDEX user_index_t_user_4 ON t_user_4 (user_id);
+CREATE INDEX user_index_t_user_5 ON t_user_5 (user_id);
+CREATE INDEX user_index_t_user_6 ON t_user_6 (user_id);
+CREATE INDEX user_index_t_user_7 ON t_user_7 (user_id);
+CREATE INDEX user_index_t_user_8 ON t_user_8 (user_id);
+CREATE INDEX user_index_t_user_9 ON t_user_9 (user_id);
+
+\c encrypt_ds_9
+
+DROP TABLE IF EXISTS t_user_0;
+DROP TABLE IF EXISTS t_user_item_0;
+DROP TABLE IF EXISTS t_user_1;
+DROP TABLE IF EXISTS t_user_item_1;
+DROP TABLE IF EXISTS t_user_2;
+DROP TABLE IF EXISTS t_user_item_2;
+DROP TABLE IF EXISTS t_user_3;
+DROP TABLE IF EXISTS t_user_item_3;
+DROP TABLE IF EXISTS t_user_4;
+DROP TABLE IF EXISTS t_user_item_4;
+DROP TABLE IF EXISTS t_user_5;
+DROP TABLE IF EXISTS t_user_item_5;
+DROP TABLE IF EXISTS t_user_6;
+DROP TABLE IF EXISTS t_user_item_6;
+DROP TABLE IF EXISTS t_user_7;
+DROP TABLE IF EXISTS t_user_item_7;
+DROP TABLE IF EXISTS t_user_8;
+DROP TABLE IF EXISTS t_user_item_8;
+DROP TABLE IF EXISTS t_user_9;
+DROP TABLE IF EXISTS t_user_item_9;
+
+CREATE TABLE t_user_0 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_0 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_1 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_1 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_2 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_2 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_3 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_3 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_4 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_4 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_5 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_5 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_6 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_6 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_7 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_7 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_8 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_8 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_9 (user_id INT NOT NULL, address_id INT NOT NULL, pwd_plain VARCHAR(45) NULL, pwd_cipher VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item_9 (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE INDEX user_index_t_user_0 ON t_user_0 (user_id);
+CREATE INDEX user_index_t_user_1 ON t_user_1 (user_id);
+CREATE INDEX user_index_t_user_2 ON t_user_2 (user_id);
+CREATE INDEX user_index_t_user_3 ON t_user_3 (user_id);
+CREATE INDEX user_index_t_user_4 ON t_user_4 (user_id);
+CREATE INDEX user_index_t_user_5 ON t_user_5 (user_id);
+CREATE INDEX user_index_t_user_6 ON t_user_6 (user_id);
+CREATE INDEX user_index_t_user_7 ON t_user_7 (user_id);
+CREATE INDEX user_index_t_user_8 ON t_user_8 (user_id);
+CREATE INDEX user_index_t_user_9 ON t_user_9 (user_id);
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/scenario/sharding_and_encrypt/data/expected/init-sql/opengauss/01-expected-init.sql b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/scenario/sharding_and_encrypt/data/expected/init-sql/opengauss/01-expected-init.sql
new file mode 100644
index 00000000000..5c2c54b8b23
--- /dev/null
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/scenario/sharding_and_encrypt/data/expected/init-sql/opengauss/01-expected-init.sql
@@ -0,0 +1,53 @@
+--
+-- Licensed to the Apache Software Foundation (ASF) under one or more
+-- contributor license agreements.  See the NOTICE file distributed with
+-- this work for additional information regarding copyright ownership.
+-- The ASF licenses this file to You under the Apache License, Version 2.0
+-- (the "License"); you may not use this file except in compliance with
+-- the License.  You may obtain a copy of the License at
+--
+--     http://www.apache.org/licenses/LICENSE-2.0
+--
+-- Unless required by applicable law or agreed to in writing, software
+-- distributed under the License is distributed on an "AS IS" BASIS,
+-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+-- See the License for the specific language governing permissions and
+-- limitations under the License.
+--
+
+DROP DATABASE IF EXISTS expect_dataset;
+CREATE DATABASE expect_dataset;
+
+GRANT ALL PRIVILEGES ON DATABASE expect_dataset TO test_user;
+
+\c expect_dataset;
+
+DROP TABLE IF EXISTS t_single_table;
+DROP TABLE IF EXISTS t_order_federate;
+DROP TABLE IF EXISTS t_order_item_federate;
+DROP TABLE IF EXISTS t_order_federate_sharding;
+DROP TABLE IF EXISTS t_order_item_federate_sharding;
+DROP TABLE IF EXISTS t_user;
+DROP TABLE IF EXISTS t_user_item;
+DROP TABLE IF EXISTS t_user_encrypt_federate;
+DROP TABLE IF EXISTS t_user_encrypt_federate_sharding;
+DROP TABLE IF EXISTS t_user_info;
+
+CREATE TABLE t_single_table (single_id INT NOT NULL, id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (single_id));
+CREATE TABLE t_order_federate (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
+CREATE TABLE t_order_item_federate (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (item_id));
+CREATE TABLE t_order_federate_sharding (order_id_sharding INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id_sharding));
+CREATE TABLE t_order_item_federate_sharding (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, remarks VARCHAR(45) NULL, PRIMARY KEY (item_id));
+CREATE TABLE t_user (user_id INT NOT NULL, address_id INT NOT NULL, pwd VARCHAR(45) NULL, status VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_item (item_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, creation_date DATE, PRIMARY KEY (item_id));
+CREATE TABLE t_user_encrypt_federate (user_id INT NOT NULL, pwd VARCHAR(45) NULL, username VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_encrypt_federate_sharding (user_id INT NOT NULL, pwd VARCHAR(45) NULL, username VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE t_user_info (user_id INT NOT NULL, information VARCHAR(45) NULL, PRIMARY KEY (user_id));
+
+CREATE INDEX user_index_t_user ON t_user (user_id);
+
+
+DROP DATABASE IF EXISTS read_dataset;
+CREATE DATABASE read_dataset;
+
+GRANT ALL PRIVILEGES ON DATABASE read_dataset TO test_user;
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/scenario/sharding_and_encrypt/proxy/conf/opengauss/config-sharding-and-encrypt.yaml b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/scenario/sharding_and_encrypt/proxy/conf/opengauss/config-sharding-and-encrypt.yaml
new file mode 100644
index 00000000000..81ccfe0194f
--- /dev/null
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/scenario/sharding_and_encrypt/proxy/conf/opengauss/config-sharding-and-encrypt.yaml
@@ -0,0 +1,239 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+databaseName: sharding_and_encrypt
+
+dataSources:
+  encrypt_ds_0:
+    url: jdbc:opengauss://opengauss.sharding_and_encrypt.host:5432/encrypt_ds_0
+    username: test_user
+    password: Test@123
+    connectionTimeoutMilliseconds: 30000
+    idleTimeoutMilliseconds: 60000
+    maxLifetimeMilliseconds: 1800000
+    maxPoolSize: 2
+    minPoolSize: 2
+  encrypt_ds_1:
+    url: jdbc:opengauss://opengauss.sharding_and_encrypt.host:5432/encrypt_ds_1
+    username: test_user
+    password: Test@123
+    connectionTimeoutMilliseconds: 30000
+    idleTimeoutMilliseconds: 60000
+    maxLifetimeMilliseconds: 1800000
+    maxPoolSize: 2
+    minPoolSize: 2
+  encrypt_ds_2:
+    url: jdbc:opengauss://opengauss.sharding_and_encrypt.host:5432/encrypt_ds_2
+    username: test_user
+    password: Test@123
+    connectionTimeoutMilliseconds: 30000
+    idleTimeoutMilliseconds: 60000
+    maxLifetimeMilliseconds: 1800000
+    maxPoolSize: 2
+    minPoolSize: 2
+  encrypt_ds_3:
+    url: jdbc:opengauss://opengauss.sharding_and_encrypt.host:5432/encrypt_ds_3
+    username: test_user
+    password: Test@123
+    connectionTimeoutMilliseconds: 30000
+    idleTimeoutMilliseconds: 60000
+    maxLifetimeMilliseconds: 1800000
+    maxPoolSize: 2
+    minPoolSize: 2
+  encrypt_ds_4:
+    url: jdbc:opengauss://opengauss.sharding_and_encrypt.host:5432/encrypt_ds_4
+    username: test_user
+    password: Test@123
+    connectionTimeoutMilliseconds: 30000
+    idleTimeoutMilliseconds: 60000
+    maxLifetimeMilliseconds: 1800000
+    maxPoolSize: 2
+    minPoolSize: 2
+  encrypt_ds_5:
+    url: jdbc:opengauss://opengauss.sharding_and_encrypt.host:5432/encrypt_ds_5
+    username: test_user
+    password: Test@123
+    connectionTimeoutMilliseconds: 30000
+    idleTimeoutMilliseconds: 60000
+    maxLifetimeMilliseconds: 1800000
+    maxPoolSize: 2
+    minPoolSize: 2
+  encrypt_ds_6:
+    url: jdbc:opengauss://opengauss.sharding_and_encrypt.host:5432/encrypt_ds_6
+    username: test_user
+    password: Test@123
+    connectionTimeoutMilliseconds: 30000
+    idleTimeoutMilliseconds: 60000
+    maxLifetimeMilliseconds: 1800000
+    maxPoolSize: 2
+    minPoolSize: 2
+  encrypt_ds_7:
+    url: jdbc:opengauss://opengauss.sharding_and_encrypt.host:5432/encrypt_ds_7
+    username: test_user
+    password: Test@123
+    connectionTimeoutMilliseconds: 30000
+    idleTimeoutMilliseconds: 60000
+    maxLifetimeMilliseconds: 1800000
+    maxPoolSize: 2
+    minPoolSize: 2
+  encrypt_ds_8:
+    url: jdbc:opengauss://opengauss.sharding_and_encrypt.host:5432/encrypt_ds_8
+    username: test_user
+    password: Test@123
+    connectionTimeoutMilliseconds: 30000
+    idleTimeoutMilliseconds: 60000
+    maxLifetimeMilliseconds: 1800000
+    maxPoolSize: 2
+    minPoolSize: 2
+  encrypt_ds_9:
+    url: jdbc:opengauss://opengauss.sharding_and_encrypt.host:5432/encrypt_ds_9
+    username: test_user
+    password: Test@123
+    connectionTimeoutMilliseconds: 30000
+    idleTimeoutMilliseconds: 60000
+    maxLifetimeMilliseconds: 1800000
+    maxPoolSize: 2
+    minPoolSize: 2
+
+rules:
+- !SHARDING
+  tables:
+    t_user_item:
+      actualDataNodes: encrypt_ds_${0..9}.t_user_item_${0..9}
+      databaseStrategy:
+        standard:
+          shardingColumn: user_id
+          shardingAlgorithmName: it_standard_fixture
+      tableStrategy:
+        standard:
+          shardingColumn: item_id
+          shardingAlgorithmName: it_standard_fixture
+      keyGenerateStrategy:
+        column: item_id
+        keyGeneratorName: constant
+      auditStrategy:
+        auditorNames:
+          - auditor_constant
+        allowHintDisable: true
+    t_user:
+      actualDataNodes: encrypt_ds_${0..9}.t_user_${0..9}
+      databaseStrategy:
+        standard:
+          shardingColumn: address_id
+          shardingAlgorithmName: it_standard_fixture
+      tableStrategy:
+        standard:
+          shardingColumn: user_id
+          shardingAlgorithmName: it_standard_fixture
+      keyGenerateStrategy:
+        column: user_id
+        keyGeneratorName: constant
+      auditStrategy:
+        auditorNames:
+          - auditor_constant
+        allowHintDisable: true
+    t_user_details:
+      actualDataNodes: encrypt_ds_${0..9}.t_user_details_${0..9}
+      databaseStrategy:
+        standard:
+          shardingColumn: address_id
+          shardingAlgorithmName: it_standard_fixture
+      tableStrategy:
+        standard:
+          shardingColumn: user_id
+          shardingAlgorithmName: it_standard_fixture
+    t_order_item_federate_sharding:
+      actualDataNodes: encrypt_ds_1.t_order_item_federate_sharding_${0..1}
+      tableStrategy:
+        standard:
+          shardingColumn: item_id
+          shardingAlgorithmName: table_inline_item_id
+    t_order_federate_sharding:
+      actualDataNodes: encrypt_ds_1.t_order_federate_sharding_${0..1}
+      tableStrategy:
+        standard:
+          shardingColumn: order_id_sharding
+          shardingAlgorithmName: table_inline_order_id
+    t_user_encrypt_federate_sharding:
+      actualDataNodes: encrypt_ds_1.t_user_encrypt_federate_sharding_${0..1}
+      tableStrategy:
+        standard:
+          shardingColumn: user_id
+          shardingAlgorithmName: table_inline_user_id
+  bindingTables:
+    - t_user,t_user_item,t_user_details
+
+  shardingAlgorithms:
+    it_standard_fixture:
+      type: IT.STANDARD.FIXTURE
+    table_inline_item_id:
+      type: INLINE
+      props:
+        algorithm-expression: t_order_item_federate_sharding_${item_id % 2}
+    table_inline_order_id:
+      type: INLINE
+      props:
+        algorithm-expression: t_order_federate_sharding_${order_id_sharding % 2}
+    table_inline_user_id:
+      type: INLINE
+      props:
+        algorithm-expression: t_user_encrypt_federate_sharding_${user_id % 2}
+        allow-range-query-with-inline-sharding: true
+
+  keyGenerators:
+    constant:
+      type: IT.FIXTURE
+
+  auditors:
+    auditor_constant:
+      type: IT.AUDITOR.FIXTURE
+
+- !ENCRYPT
+  encryptors:
+    aes_encryptor:
+      type: AES
+      props:
+        aes-key-value: 123456abc
+  tables:
+    t_user:
+      columns:
+        pwd:
+          plainColumn: pwd_plain
+          cipherColumn: pwd_cipher
+          encryptorName: aes_encryptor
+    t_user_details:
+      columns:
+        number:
+          plainColumn: number_plain
+          cipherColumn: number_cipher
+          encryptorName: aes_encryptor
+        number_new:
+          plainColumn: number_new_plain
+          cipherColumn: number_new_cipher
+          encryptorName: aes_encryptor
+    t_user_encrypt_federate:
+      columns:
+        pwd:
+          plainColumn: plain_pwd
+          cipherColumn: cipher_pwd
+          encryptorName: aes_encryptor
+    t_user_encrypt_federate_sharding:
+      columns:
+        pwd:
+          plainColumn: plain_pwd
+          cipherColumn: cipher_pwd
+          encryptorName: aes_encryptor
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/scenario/sharding_and_shadow/authority.xml b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/scenario/sharding_and_shadow/authority.xml
index 78a86719405..5267478c402 100644
--- a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/scenario/sharding_and_shadow/authority.xml
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/scenario/sharding_and_shadow/authority.xml
@@ -16,7 +16,7 @@
   -->
 
 <authority>
-    <sqlset db-types="Oracle,SQLServer,PostgreSQL">
+    <sqlset db-types="Oracle,SQLServer,PostgreSQL,openGauss">
         <user-create>
             <sql>CREATE USER default_user</sql>
             <sql>CREATE ROLE default_role</sql>
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/scenario/sharding_and_shadow/data/actual/init-sql/opengauss/01-actual-init.sql b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/scenario/sharding_and_shadow/data/actual/init-sql/opengauss/01-actual-init.sql
new file mode 100644
index 00000000000..93d016ca609
--- /dev/null
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/scenario/sharding_and_shadow/data/actual/init-sql/opengauss/01-actual-init.sql
@@ -0,0 +1,938 @@
+--
+-- Licensed to the Apache Software Foundation (ASF) under one or more
+-- contributor license agreements.  See the NOTICE file distributed with
+-- this work for additional information regarding copyright ownership.
+-- The ASF licenses this file to You under the Apache License, Version 2.0
+-- (the "License"); you may not use this file except in compliance with
+-- the License.  You may obtain a copy of the License at
+--
+--     http://www.apache.org/licenses/LICENSE-2.0
+--
+-- Unless required by applicable law or agreed to in writing, software
+-- distributed under the License is distributed on an "AS IS" BASIS,
+-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+-- See the License for the specific language governing permissions and
+-- limitations under the License.
+--
+
+CREATE DATABASE db_0;
+CREATE DATABASE db_1;
+CREATE DATABASE db_2;
+CREATE DATABASE db_3;
+CREATE DATABASE db_4;
+CREATE DATABASE db_5;
+CREATE DATABASE db_6;
+CREATE DATABASE db_7;
+CREATE DATABASE db_8;
+CREATE DATABASE db_9;
+CREATE DATABASE shadow_db_0;
+CREATE DATABASE shadow_db_1;
+CREATE DATABASE shadow_db_2;
+CREATE DATABASE shadow_db_3;
+CREATE DATABASE shadow_db_4;
+CREATE DATABASE shadow_db_5;
+CREATE DATABASE shadow_db_6;
+CREATE DATABASE shadow_db_7;
+CREATE DATABASE shadow_db_8;
+CREATE DATABASE shadow_db_9;
+
+GRANT ALL PRIVILEGES ON DATABASE db_0 TO test_user;
+GRANT ALL PRIVILEGES ON DATABASE db_1 TO test_user;
+GRANT ALL PRIVILEGES ON DATABASE db_2 TO test_user;
+GRANT ALL PRIVILEGES ON DATABASE db_3 TO test_user;
+GRANT ALL PRIVILEGES ON DATABASE db_4 TO test_user;
+GRANT ALL PRIVILEGES ON DATABASE db_5 TO test_user;
+GRANT ALL PRIVILEGES ON DATABASE db_6 TO test_user;
+GRANT ALL PRIVILEGES ON DATABASE db_7 TO test_user;
+GRANT ALL PRIVILEGES ON DATABASE db_8 TO test_user;
+GRANT ALL PRIVILEGES ON DATABASE db_9 TO test_user;
+GRANT ALL PRIVILEGES ON DATABASE shadow_db_0 TO test_user;
+GRANT ALL PRIVILEGES ON DATABASE shadow_db_1 TO test_user;
+GRANT ALL PRIVILEGES ON DATABASE shadow_db_2 TO test_user;
+GRANT ALL PRIVILEGES ON DATABASE shadow_db_3 TO test_user;
+GRANT ALL PRIVILEGES ON DATABASE shadow_db_4 TO test_user;
+GRANT ALL PRIVILEGES ON DATABASE shadow_db_5 TO test_user;
+GRANT ALL PRIVILEGES ON DATABASE shadow_db_6 TO test_user;
+GRANT ALL PRIVILEGES ON DATABASE shadow_db_7 TO test_user;
+GRANT ALL PRIVILEGES ON DATABASE shadow_db_8 TO test_user;
+GRANT ALL PRIVILEGES ON DATABASE shadow_db_9 TO test_user;
+
+\c db_0
+
+CREATE TYPE season AS ENUM ('spring', 'summer', 'autumn', 'winter');
+
+DROP TABLE IF EXISTS t_shadow_0;
+
+CREATE TABLE t_shadow_0 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_1;
+
+CREATE TABLE t_shadow_1 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_2;
+
+CREATE TABLE t_shadow_2 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_3;
+
+CREATE TABLE t_shadow_3 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_4;
+
+CREATE TABLE t_shadow_4 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_5;
+
+CREATE TABLE t_shadow_5 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_6;
+
+CREATE TABLE t_shadow_6 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_7;
+
+CREATE TABLE t_shadow_7 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_8;
+
+CREATE TABLE t_shadow_8 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_9;
+
+CREATE TABLE t_shadow_9 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+\c shadow_db_0
+
+CREATE TYPE season AS ENUM ('spring', 'summer', 'autumn', 'winter');
+
+DROP TABLE IF EXISTS t_shadow_0;
+
+CREATE TABLE t_shadow_0 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_1;
+
+CREATE TABLE t_shadow_1 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_2;
+
+CREATE TABLE t_shadow_2 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_3;
+
+CREATE TABLE t_shadow_3 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_4;
+
+CREATE TABLE t_shadow_4 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_5;
+
+CREATE TABLE t_shadow_5 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_6;
+
+CREATE TABLE t_shadow_6 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_7;
+
+CREATE TABLE t_shadow_7 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_8;
+
+CREATE TABLE t_shadow_8 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_9;
+
+CREATE TABLE t_shadow_9 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+\c db_1
+
+CREATE TYPE season AS ENUM ('spring', 'summer', 'autumn', 'winter');
+
+DROP TABLE IF EXISTS t_shadow_0;
+
+CREATE TABLE t_shadow_0 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_1;
+
+CREATE TABLE t_shadow_1 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_2;
+
+CREATE TABLE t_shadow_2 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_3;
+
+CREATE TABLE t_shadow_3 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_4;
+
+CREATE TABLE t_shadow_4 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_5;
+
+CREATE TABLE t_shadow_5 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_6;
+
+CREATE TABLE t_shadow_6 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_7;
+
+CREATE TABLE t_shadow_7 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_8;
+
+CREATE TABLE t_shadow_8 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_9;
+
+CREATE TABLE t_shadow_9 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+\c shadow_db_1
+
+CREATE TYPE season AS ENUM ('spring', 'summer', 'autumn', 'winter');
+
+DROP TABLE IF EXISTS t_shadow_0;
+
+CREATE TABLE t_shadow_0 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_1;
+
+CREATE TABLE t_shadow_1 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_2;
+
+CREATE TABLE t_shadow_2 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_3;
+
+CREATE TABLE t_shadow_3 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_4;
+
+CREATE TABLE t_shadow_4 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_5;
+
+CREATE TABLE t_shadow_5 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_6;
+
+CREATE TABLE t_shadow_6 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_7;
+
+CREATE TABLE t_shadow_7 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_8;
+
+CREATE TABLE t_shadow_8 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_9;
+
+CREATE TABLE t_shadow_9 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+\c db_2
+
+CREATE TYPE season AS ENUM ('spring', 'summer', 'autumn', 'winter');
+
+DROP TABLE IF EXISTS t_shadow_0;
+
+CREATE TABLE t_shadow_0 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_1;
+
+CREATE TABLE t_shadow_1 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_2;
+
+CREATE TABLE t_shadow_2 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_3;
+
+CREATE TABLE t_shadow_3 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_4;
+
+CREATE TABLE t_shadow_4 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_5;
+
+CREATE TABLE t_shadow_5 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_6;
+
+CREATE TABLE t_shadow_6 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_7;
+
+CREATE TABLE t_shadow_7 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_8;
+
+CREATE TABLE t_shadow_8 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_9;
+
+CREATE TABLE t_shadow_9 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+\c shadow_db_2
+
+CREATE TYPE season AS ENUM ('spring', 'summer', 'autumn', 'winter');
+
+DROP TABLE IF EXISTS t_shadow_0;
+
+CREATE TABLE t_shadow_0 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_1;
+
+CREATE TABLE t_shadow_1 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_2;
+
+CREATE TABLE t_shadow_2 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_3;
+
+CREATE TABLE t_shadow_3 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_4;
+
+CREATE TABLE t_shadow_4 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_5;
+
+CREATE TABLE t_shadow_5 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_6;
+
+CREATE TABLE t_shadow_6 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_7;
+
+CREATE TABLE t_shadow_7 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_8;
+
+CREATE TABLE t_shadow_8 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_9;
+
+CREATE TABLE t_shadow_9 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+\c db_3
+
+CREATE TYPE season AS ENUM ('spring', 'summer', 'autumn', 'winter');
+
+DROP TABLE IF EXISTS t_shadow_0;
+
+CREATE TABLE t_shadow_0 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_1;
+
+CREATE TABLE t_shadow_1 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_2;
+
+CREATE TABLE t_shadow_2 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_3;
+
+CREATE TABLE t_shadow_3 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_4;
+
+CREATE TABLE t_shadow_4 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_5;
+
+CREATE TABLE t_shadow_5 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_6;
+
+CREATE TABLE t_shadow_6 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_7;
+
+CREATE TABLE t_shadow_7 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_8;
+
+CREATE TABLE t_shadow_8 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_9;
+
+CREATE TABLE t_shadow_9 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+\c shadow_db_3
+
+CREATE TYPE season AS ENUM ('spring', 'summer', 'autumn', 'winter');
+
+DROP TABLE IF EXISTS t_shadow_0;
+
+CREATE TABLE t_shadow_0 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_1;
+
+CREATE TABLE t_shadow_1 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_2;
+
+CREATE TABLE t_shadow_2 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_3;
+
+CREATE TABLE t_shadow_3 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_4;
+
+CREATE TABLE t_shadow_4 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_5;
+
+CREATE TABLE t_shadow_5 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_6;
+
+CREATE TABLE t_shadow_6 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_7;
+
+CREATE TABLE t_shadow_7 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_8;
+
+CREATE TABLE t_shadow_8 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_9;
+
+CREATE TABLE t_shadow_9 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+\c db_4
+
+CREATE TYPE season AS ENUM ('spring', 'summer', 'autumn', 'winter');
+
+DROP TABLE IF EXISTS t_shadow_0;
+
+CREATE TABLE t_shadow_0 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_1;
+
+CREATE TABLE t_shadow_1 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_2;
+
+CREATE TABLE t_shadow_2 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_3;
+
+CREATE TABLE t_shadow_3 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_4;
+
+CREATE TABLE t_shadow_4 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_5;
+
+CREATE TABLE t_shadow_5 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_6;
+
+CREATE TABLE t_shadow_6 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_7;
+
+CREATE TABLE t_shadow_7 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_8;
+
+CREATE TABLE t_shadow_8 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_9;
+
+CREATE TABLE t_shadow_9 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+\c shadow_db_4
+
+CREATE TYPE season AS ENUM ('spring', 'summer', 'autumn', 'winter');
+
+DROP TABLE IF EXISTS t_shadow_0;
+
+CREATE TABLE t_shadow_0 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_1;
+
+CREATE TABLE t_shadow_1 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_2;
+
+CREATE TABLE t_shadow_2 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_3;
+
+CREATE TABLE t_shadow_3 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_4;
+
+CREATE TABLE t_shadow_4 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_5;
+
+CREATE TABLE t_shadow_5 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_6;
+
+CREATE TABLE t_shadow_6 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_7;
+
+CREATE TABLE t_shadow_7 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_8;
+
+CREATE TABLE t_shadow_8 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_9;
+
+CREATE TABLE t_shadow_9 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+\c db_5
+
+CREATE TYPE season AS ENUM ('spring', 'summer', 'autumn', 'winter');
+
+DROP TABLE IF EXISTS t_shadow_0;
+
+CREATE TABLE t_shadow_0 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_1;
+
+CREATE TABLE t_shadow_1 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_2;
+
+CREATE TABLE t_shadow_2 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_3;
+
+CREATE TABLE t_shadow_3 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_4;
+
+CREATE TABLE t_shadow_4 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_5;
+
+CREATE TABLE t_shadow_5 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_6;
+
+CREATE TABLE t_shadow_6 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_7;
+
+CREATE TABLE t_shadow_7 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_8;
+
+CREATE TABLE t_shadow_8 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_9;
+
+CREATE TABLE t_shadow_9 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+\c shadow_db_5
+
+CREATE TYPE season AS ENUM ('spring', 'summer', 'autumn', 'winter');
+
+DROP TABLE IF EXISTS t_shadow_0;
+
+CREATE TABLE t_shadow_0 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_1;
+
+CREATE TABLE t_shadow_1 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_2;
+
+CREATE TABLE t_shadow_2 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_3;
+
+CREATE TABLE t_shadow_3 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_4;
+
+CREATE TABLE t_shadow_4 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_5;
+
+CREATE TABLE t_shadow_5 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_6;
+
+CREATE TABLE t_shadow_6 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_7;
+
+CREATE TABLE t_shadow_7 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_8;
+
+CREATE TABLE t_shadow_8 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_9;
+
+CREATE TABLE t_shadow_9 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+\c db_6
+
+CREATE TYPE season AS ENUM ('spring', 'summer', 'autumn', 'winter');
+
+DROP TABLE IF EXISTS t_shadow_0;
+
+CREATE TABLE t_shadow_0 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_1;
+
+CREATE TABLE t_shadow_1 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_2;
+
+CREATE TABLE t_shadow_2 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_3;
+
+CREATE TABLE t_shadow_3 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_4;
+
+CREATE TABLE t_shadow_4 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_5;
+
+CREATE TABLE t_shadow_5 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_6;
+
+CREATE TABLE t_shadow_6 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_7;
+
+CREATE TABLE t_shadow_7 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_8;
+
+CREATE TABLE t_shadow_8 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_9;
+
+CREATE TABLE t_shadow_9 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+\c shadow_db_6
+
+CREATE TYPE season AS ENUM ('spring', 'summer', 'autumn', 'winter');
+
+DROP TABLE IF EXISTS t_shadow_0;
+
+CREATE TABLE t_shadow_0 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_1;
+
+CREATE TABLE t_shadow_1 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_2;
+
+CREATE TABLE t_shadow_2 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_3;
+
+CREATE TABLE t_shadow_3 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_4;
+
+CREATE TABLE t_shadow_4 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_5;
+
+CREATE TABLE t_shadow_5 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_6;
+
+CREATE TABLE t_shadow_6 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_7;
+
+CREATE TABLE t_shadow_7 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_8;
+
+CREATE TABLE t_shadow_8 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_9;
+
+CREATE TABLE t_shadow_9 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+\c db_7
+
+CREATE TYPE season AS ENUM ('spring', 'summer', 'autumn', 'winter');
+
+DROP TABLE IF EXISTS t_shadow_0;
+
+CREATE TABLE t_shadow_0 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_1;
+
+CREATE TABLE t_shadow_1 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_2;
+
+CREATE TABLE t_shadow_2 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_3;
+
+CREATE TABLE t_shadow_3 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_4;
+
+CREATE TABLE t_shadow_4 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_5;
+
+CREATE TABLE t_shadow_5 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_6;
+
+CREATE TABLE t_shadow_6 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_7;
+
+CREATE TABLE t_shadow_7 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_8;
+
+CREATE TABLE t_shadow_8 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_9;
+
+CREATE TABLE t_shadow_9 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+\c shadow_db_7
+
+CREATE TYPE season AS ENUM ('spring', 'summer', 'autumn', 'winter');
+
+DROP TABLE IF EXISTS t_shadow_0;
+
+CREATE TABLE t_shadow_0 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_1;
+
+CREATE TABLE t_shadow_1 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_2;
+
+CREATE TABLE t_shadow_2 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_3;
+
+CREATE TABLE t_shadow_3 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_4;
+
+CREATE TABLE t_shadow_4 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_5;
+
+CREATE TABLE t_shadow_5 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_6;
+
+CREATE TABLE t_shadow_6 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_7;
+
+CREATE TABLE t_shadow_7 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_8;
+
+CREATE TABLE t_shadow_8 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_9;
+
+CREATE TABLE t_shadow_9 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+\c db_8
+
+CREATE TYPE season AS ENUM ('spring', 'summer', 'autumn', 'winter');
+
+DROP TABLE IF EXISTS t_shadow_0;
+
+CREATE TABLE t_shadow_0 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_1;
+
+CREATE TABLE t_shadow_1 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_2;
+
+CREATE TABLE t_shadow_2 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_3;
+
+CREATE TABLE t_shadow_3 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_4;
+
+CREATE TABLE t_shadow_4 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_5;
+
+CREATE TABLE t_shadow_5 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_6;
+
+CREATE TABLE t_shadow_6 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_7;
+
+CREATE TABLE t_shadow_7 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_8;
+
+CREATE TABLE t_shadow_8 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_9;
+
+CREATE TABLE t_shadow_9 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+\c shadow_db_8
+
+CREATE TYPE season AS ENUM ('spring', 'summer', 'autumn', 'winter');
+
+DROP TABLE IF EXISTS t_shadow_0;
+
+CREATE TABLE t_shadow_0 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_1;
+
+CREATE TABLE t_shadow_1 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_2;
+
+CREATE TABLE t_shadow_2 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_3;
+
+CREATE TABLE t_shadow_3 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_4;
+
+CREATE TABLE t_shadow_4 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_5;
+
+CREATE TABLE t_shadow_5 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_6;
+
+CREATE TABLE t_shadow_6 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_7;
+
+CREATE TABLE t_shadow_7 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_8;
+
+CREATE TABLE t_shadow_8 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_9;
+
+CREATE TABLE t_shadow_9 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+\c db_9
+
+CREATE TYPE season AS ENUM ('spring', 'summer', 'autumn', 'winter');
+
+DROP TABLE IF EXISTS t_shadow_0;
+
+CREATE TABLE t_shadow_0 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_1;
+
+CREATE TABLE t_shadow_1 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_2;
+
+CREATE TABLE t_shadow_2 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_3;
+
+CREATE TABLE t_shadow_3 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_4;
+
+CREATE TABLE t_shadow_4 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_5;
+
+CREATE TABLE t_shadow_5 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_6;
+
+CREATE TABLE t_shadow_6 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_7;
+
+CREATE TABLE t_shadow_7 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_8;
+
+CREATE TABLE t_shadow_8 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_9;
+
+CREATE TABLE t_shadow_9 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+\c shadow_db_9
+
+CREATE TYPE season AS ENUM ('spring', 'summer', 'autumn', 'winter');
+
+DROP TABLE IF EXISTS t_shadow_0;
+
+CREATE TABLE t_shadow_0 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_1;
+
+CREATE TABLE t_shadow_1 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_2;
+
+CREATE TABLE t_shadow_2 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_3;
+
+CREATE TABLE t_shadow_3 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_4;
+
+CREATE TABLE t_shadow_4 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_5;
+
+CREATE TABLE t_shadow_5 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_6;
+
+CREATE TABLE t_shadow_6 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_7;
+
+CREATE TABLE t_shadow_7 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_8;
+
+CREATE TABLE t_shadow_8 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_9;
+
+CREATE TABLE t_shadow_9 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/scenario/sharding_and_shadow/data/expected/init-sql/opengauss/expected-init.sql b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/scenario/sharding_and_shadow/data/expected/init-sql/opengauss/expected-init.sql
new file mode 100644
index 00000000000..0c6d3086c4c
--- /dev/null
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/scenario/sharding_and_shadow/data/expected/init-sql/opengauss/expected-init.sql
@@ -0,0 +1,41 @@
+--
+-- Licensed to the Apache Software Foundation (ASF) under one or more
+-- contributor license agreements.  See the NOTICE file distributed with
+-- this work for additional information regarding copyright ownership.
+-- The ASF licenses this file to You under the Apache License, Version 2.0
+-- (the "License"); you may not use this file except in compliance with
+-- the License.  You may obtain a copy of the License at
+--
+--     http://www.apache.org/licenses/LICENSE-2.0
+--
+-- Unless required by applicable law or agreed to in writing, software
+-- distributed under the License is distributed on an "AS IS" BASIS,
+-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+-- See the License for the specific language governing permissions and
+-- limitations under the License.
+--
+
+DROP DATABASE IF EXISTS prod_dataset;
+CREATE DATABASE prod_dataset;
+
+GRANT ALL PRIVILEGES ON DATABASE prod_dataset TO test_user;
+
+\c prod_dataset;
+
+DROP TABLE IF EXISTS t_shadow;
+
+CREATE TYPE season AS ENUM ('spring', 'summer', 'autumn', 'winter');
+CREATE TABLE t_shadow (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+
+DROP DATABASE IF EXISTS shadow_dataset;
+CREATE DATABASE shadow_dataset;
+
+GRANT ALL PRIVILEGES ON DATABASE shadow_dataset TO test_user;
+
+\c shadow_dataset;
+
+DROP TABLE IF EXISTS t_shadow;
+
+CREATE TYPE season AS ENUM ('spring', 'summer', 'autumn', 'winter');
+CREATE TABLE t_shadow (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(32) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/scenario/sharding_and_shadow/proxy/conf/opengauss/config-sharding-and-shadow.yaml b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/scenario/sharding_and_shadow/proxy/conf/opengauss/config-sharding-and-shadow.yaml
new file mode 100644
index 00000000000..21908aae757
--- /dev/null
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/scenario/sharding_and_shadow/proxy/conf/opengauss/config-sharding-and-shadow.yaml
@@ -0,0 +1,299 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+databaseName: sharding_and_shadow
+
+dataSources:
+  db_0:
+    url: jdbc:opengauss://opengauss.sharding_and_shadow.host:5432/db_0
+    username: test_user
+    password: Test@123
+    connectionTimeoutMilliseconds: 30000
+    idleTimeoutMilliseconds: 60000
+    maxLifetimeMilliseconds: 1800000
+    maxPoolSize: 2
+    minPoolSize: 2
+  db_1:
+    url: jdbc:opengauss://opengauss.sharding_and_shadow.host:5432/db_1
+    username: test_user
+    password: Test@123
+    connectionTimeoutMilliseconds: 30000
+    idleTimeoutMilliseconds: 60000
+    maxLifetimeMilliseconds: 1800000
+    maxPoolSize: 2
+    minPoolSize: 2
+  db_2:
+    url: jdbc:opengauss://opengauss.sharding_and_shadow.host:5432/db_2
+    username: test_user
+    password: Test@123
+    connectionTimeoutMilliseconds: 30000
+    idleTimeoutMilliseconds: 60000
+    maxLifetimeMilliseconds: 1800000
+    maxPoolSize: 2
+    minPoolSize: 2
+  db_3:
+    url: jdbc:opengauss://opengauss.sharding_and_shadow.host:5432/db_3
+    username: test_user
+    password: Test@123
+    connectionTimeoutMilliseconds: 30000
+    idleTimeoutMilliseconds: 60000
+    maxLifetimeMilliseconds: 1800000
+    maxPoolSize: 2
+    minPoolSize: 2
+  db_4:
+    url: jdbc:opengauss://opengauss.sharding_and_shadow.host:5432/db_4
+    username: test_user
+    password: Test@123
+    connectionTimeoutMilliseconds: 30000
+    idleTimeoutMilliseconds: 60000
+    maxLifetimeMilliseconds: 1800000
+    maxPoolSize: 2
+    minPoolSize: 2
+  db_5:
+    url: jdbc:opengauss://opengauss.sharding_and_shadow.host:5432/db_5
+    username: test_user
+    password: Test@123
+    connectionTimeoutMilliseconds: 30000
+    idleTimeoutMilliseconds: 60000
+    maxLifetimeMilliseconds: 1800000
+    maxPoolSize: 2
+    minPoolSize: 2
+  db_6:
+    url: jdbc:opengauss://opengauss.sharding_and_shadow.host:5432/db_6
+    username: test_user
+    password: Test@123
+    connectionTimeoutMilliseconds: 30000
+    idleTimeoutMilliseconds: 60000
+    maxLifetimeMilliseconds: 1800000
+    maxPoolSize: 2
+    minPoolSize: 2
+  db_7:
+    url: jdbc:opengauss://opengauss.sharding_and_shadow.host:5432/db_7
+    username: test_user
+    password: Test@123
+    connectionTimeoutMilliseconds: 30000
+    idleTimeoutMilliseconds: 60000
+    maxLifetimeMilliseconds: 1800000
+    maxPoolSize: 2
+    minPoolSize: 2
+  db_8:
+    url: jdbc:opengauss://opengauss.sharding_and_shadow.host:5432/db_8
+    username: test_user
+    password: Test@123
+    connectionTimeoutMilliseconds: 30000
+    idleTimeoutMilliseconds: 60000
+    maxLifetimeMilliseconds: 1800000
+    maxPoolSize: 2
+    minPoolSize: 2
+  db_9:
+    url: jdbc:opengauss://opengauss.sharding_and_shadow.host:5432/db_9
+    username: test_user
+    password: Test@123
+    connectionTimeoutMilliseconds: 30000
+    idleTimeoutMilliseconds: 60000
+    maxLifetimeMilliseconds: 1800000
+    maxPoolSize: 2
+    minPoolSize: 2
+  shadow_db_0:
+    url: jdbc:opengauss://opengauss.sharding_and_shadow.host:5432/shadow_db_0
+    username: test_user
+    password: Test@123
+    connectionTimeoutMilliseconds: 30000
+    idleTimeoutMilliseconds: 60000
+    maxLifetimeMilliseconds: 1800000
+    maxPoolSize: 2
+    minPoolSize: 2
+  shadow_db_1:
+    url: jdbc:opengauss://opengauss.sharding_and_shadow.host:5432/shadow_db_1
+    username: test_user
+    password: Test@123
+    connectionTimeoutMilliseconds: 30000
+    idleTimeoutMilliseconds: 60000
+    maxLifetimeMilliseconds: 1800000
+    maxPoolSize: 2
+    minPoolSize: 2
+  shadow_db_2:
+    url: jdbc:opengauss://opengauss.sharding_and_shadow.host:5432/shadow_db_2
+    username: test_user
+    password: Test@123
+    connectionTimeoutMilliseconds: 30000
+    idleTimeoutMilliseconds: 60000
+    maxLifetimeMilliseconds: 1800000
+    maxPoolSize: 2
+    minPoolSize: 2
+  shadow_db_3:
+    url: jdbc:opengauss://opengauss.sharding_and_shadow.host:5432/shadow_db_3
+    username: test_user
+    password: Test@123
+    connectionTimeoutMilliseconds: 30000
+    idleTimeoutMilliseconds: 60000
+    maxLifetimeMilliseconds: 1800000
+    maxPoolSize: 2
+    minPoolSize: 2
+  shadow_db_4:
+    url: jdbc:opengauss://opengauss.sharding_and_shadow.host:5432/shadow_db_4
+    username: test_user
+    password: Test@123
+    connectionTimeoutMilliseconds: 30000
+    idleTimeoutMilliseconds: 60000
+    maxLifetimeMilliseconds: 1800000
+    maxPoolSize: 2
+    minPoolSize: 2
+  shadow_db_5:
+    url: jdbc:opengauss://opengauss.sharding_and_shadow.host:5432/shadow_db_5
+    username: test_user
+    password: Test@123
+    connectionTimeoutMilliseconds: 30000
+    idleTimeoutMilliseconds: 60000
+    maxLifetimeMilliseconds: 1800000
+    maxPoolSize: 2
+    minPoolSize: 2
+  shadow_db_6:
+    url: jdbc:opengauss://opengauss.sharding_and_shadow.host:5432/shadow_db_6
+    username: test_user
+    password: Test@123
+    connectionTimeoutMilliseconds: 30000
+    idleTimeoutMilliseconds: 60000
+    maxLifetimeMilliseconds: 1800000
+    maxPoolSize: 2
+    minPoolSize: 2
+  shadow_db_7:
+    url: jdbc:opengauss://opengauss.sharding_and_shadow.host:5432/shadow_db_7
+    username: test_user
+    password: Test@123
+    connectionTimeoutMilliseconds: 30000
+    idleTimeoutMilliseconds: 60000
+    maxLifetimeMilliseconds: 1800000
+    maxPoolSize: 2
+    minPoolSize: 2
+  shadow_db_8:
+    url: jdbc:opengauss://opengauss.sharding_and_shadow.host:5432/shadow_db_8
+    username: test_user
+    password: Test@123
+    connectionTimeoutMilliseconds: 30000
+    idleTimeoutMilliseconds: 60000
+    maxLifetimeMilliseconds: 1800000
+    maxPoolSize: 2
+    minPoolSize: 2
+  shadow_db_9:
+    url: jdbc:opengauss://opengauss.sharding_and_shadow.host:5432/shadow_db_9
+    username: test_user
+    password: Test@123
+    connectionTimeoutMilliseconds: 30000
+    idleTimeoutMilliseconds: 60000
+    maxLifetimeMilliseconds: 1800000
+    maxPoolSize: 2
+    minPoolSize: 2
+
+rules:
+  - !SHARDING
+    tables:
+      t_shadow:
+        actualDataNodes: shadowDataSource_${0..9}.t_shadow_${0..9}
+        databaseStrategy:
+          standard:
+            shardingColumn: order_id
+            shardingAlgorithmName: it_standard_fixture
+        tableStrategy:
+          standard:
+            shardingColumn: order_id
+            shardingAlgorithmName: it_standard_fixture
+
+    shardingAlgorithms:
+      it_standard_fixture:
+        type: IT.STANDARD.FIXTURE
+
+  - !SHADOW
+    dataSources:
+      shadowDataSource_0:
+        productionDataSourceName: db_0
+        shadowDataSourceName: shadow_db_0
+      shadowDataSource_1:
+        productionDataSourceName: db_1
+        shadowDataSourceName: shadow_db_1
+      shadowDataSource_2:
+        productionDataSourceName: db_2
+        shadowDataSourceName: shadow_db_2
+      shadowDataSource_3:
+        productionDataSourceName: db_3
+        shadowDataSourceName: shadow_db_3
+      shadowDataSource_4:
+        productionDataSourceName: db_4
+        shadowDataSourceName: shadow_db_4
+      shadowDataSource_5:
+        productionDataSourceName: db_5
+        shadowDataSourceName: shadow_db_5
+      shadowDataSource_6:
+        productionDataSourceName: db_6
+        shadowDataSourceName: shadow_db_6
+      shadowDataSource_7:
+        productionDataSourceName: db_7
+        shadowDataSourceName: shadow_db_7
+      shadowDataSource_8:
+        productionDataSourceName: db_8
+        shadowDataSourceName: shadow_db_8
+      shadowDataSource_9:
+        productionDataSourceName: db_9
+        shadowDataSourceName: shadow_db_9
+    tables:
+      t_shadow:
+        dataSourceNames:
+          - shadowDataSource_0
+          - shadowDataSource_1
+          - shadowDataSource_2
+          - shadowDataSource_3
+          - shadowDataSource_4
+          - shadowDataSource_5
+          - shadowDataSource_6
+          - shadowDataSource_7
+          - shadowDataSource_8
+          - shadowDataSource_9
+        shadowAlgorithmNames:
+          - user-id-insert-match-algorithm
+          - user-id-update-match-algorithm
+          - user-id-delete-match-algorithm
+          - user-id-select-match-algorithm
+          - simple-hint-algorithm
+    shadowAlgorithms:
+      user-id-insert-match-algorithm:
+        type: VALUE_MATCH
+        props:
+          operation: insert
+          column: user_id
+          value: 0
+      user-id-update-match-algorithm:
+        type: VALUE_MATCH
+        props:
+          operation: update
+          column: user_id
+          value: 0
+      user-id-delete-match-algorithm:
+        type: VALUE_MATCH
+        props:
+          operation: delete
+          column: user_id
+          value: 0
+      user-id-select-match-algorithm:
+        type: VALUE_MATCH
+        props:
+          operation: select
+          column: user_id
+          value: 0
+      simple-hint-algorithm:
+        type: SIMPLE_HINT
+        props:
+          foo: bar
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/scenario/sharding_encrypt_shadow/authority.xml b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/scenario/sharding_encrypt_shadow/authority.xml
index 78a86719405..5267478c402 100644
--- a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/scenario/sharding_encrypt_shadow/authority.xml
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/scenario/sharding_encrypt_shadow/authority.xml
@@ -16,7 +16,7 @@
   -->
 
 <authority>
-    <sqlset db-types="Oracle,SQLServer,PostgreSQL">
+    <sqlset db-types="Oracle,SQLServer,PostgreSQL,openGauss">
         <user-create>
             <sql>CREATE USER default_user</sql>
             <sql>CREATE ROLE default_role</sql>
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/scenario/sharding_encrypt_shadow/data/actual/init-sql/opengauss/01-actual-init.sql b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/scenario/sharding_encrypt_shadow/data/actual/init-sql/opengauss/01-actual-init.sql
new file mode 100644
index 00000000000..8db6de179b9
--- /dev/null
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/scenario/sharding_encrypt_shadow/data/actual/init-sql/opengauss/01-actual-init.sql
@@ -0,0 +1,938 @@
+--
+-- Licensed to the Apache Software Foundation (ASF) under one or more
+-- contributor license agreements.  See the NOTICE file distributed with
+-- this work for additional information regarding copyright ownership.
+-- The ASF licenses this file to You under the Apache License, Version 2.0
+-- (the "License"); you may not use this file except in compliance with
+-- the License.  You may obtain a copy of the License at
+--
+--     http://www.apache.org/licenses/LICENSE-2.0
+--
+-- Unless required by applicable law or agreed to in writing, software
+-- distributed under the License is distributed on an "AS IS" BASIS,
+-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+-- See the License for the specific language governing permissions and
+-- limitations under the License.
+--
+
+CREATE DATABASE db_0;
+CREATE DATABASE db_1;
+CREATE DATABASE db_2;
+CREATE DATABASE db_3;
+CREATE DATABASE db_4;
+CREATE DATABASE db_5;
+CREATE DATABASE db_6;
+CREATE DATABASE db_7;
+CREATE DATABASE db_8;
+CREATE DATABASE db_9;
+CREATE DATABASE shadow_db_0;
+CREATE DATABASE shadow_db_1;
+CREATE DATABASE shadow_db_2;
+CREATE DATABASE shadow_db_3;
+CREATE DATABASE shadow_db_4;
+CREATE DATABASE shadow_db_5;
+CREATE DATABASE shadow_db_6;
+CREATE DATABASE shadow_db_7;
+CREATE DATABASE shadow_db_8;
+CREATE DATABASE shadow_db_9;
+
+GRANT ALL PRIVILEGES ON DATABASE db_0 TO test_user;
+GRANT ALL PRIVILEGES ON DATABASE db_1 TO test_user;
+GRANT ALL PRIVILEGES ON DATABASE db_2 TO test_user;
+GRANT ALL PRIVILEGES ON DATABASE db_3 TO test_user;
+GRANT ALL PRIVILEGES ON DATABASE db_4 TO test_user;
+GRANT ALL PRIVILEGES ON DATABASE db_5 TO test_user;
+GRANT ALL PRIVILEGES ON DATABASE db_6 TO test_user;
+GRANT ALL PRIVILEGES ON DATABASE db_7 TO test_user;
+GRANT ALL PRIVILEGES ON DATABASE db_8 TO test_user;
+GRANT ALL PRIVILEGES ON DATABASE db_9 TO test_user;
+GRANT ALL PRIVILEGES ON DATABASE shadow_db_0 TO test_user;
+GRANT ALL PRIVILEGES ON DATABASE shadow_db_1 TO test_user;
+GRANT ALL PRIVILEGES ON DATABASE shadow_db_2 TO test_user;
+GRANT ALL PRIVILEGES ON DATABASE shadow_db_3 TO test_user;
+GRANT ALL PRIVILEGES ON DATABASE shadow_db_4 TO test_user;
+GRANT ALL PRIVILEGES ON DATABASE shadow_db_5 TO test_user;
+GRANT ALL PRIVILEGES ON DATABASE shadow_db_6 TO test_user;
+GRANT ALL PRIVILEGES ON DATABASE shadow_db_7 TO test_user;
+GRANT ALL PRIVILEGES ON DATABASE shadow_db_8 TO test_user;
+GRANT ALL PRIVILEGES ON DATABASE shadow_db_9 TO test_user;
+
+\c db_0
+
+CREATE TYPE season AS ENUM ('spring', 'summer', 'autumn', 'winter');
+
+DROP TABLE IF EXISTS t_shadow_0;
+
+CREATE TABLE t_shadow_0 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_1;
+
+CREATE TABLE t_shadow_1 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_2;
+
+CREATE TABLE t_shadow_2 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_3;
+
+CREATE TABLE t_shadow_3 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_4;
+
+CREATE TABLE t_shadow_4 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_5;
+
+CREATE TABLE t_shadow_5 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_6;
+
+CREATE TABLE t_shadow_6 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_7;
+
+CREATE TABLE t_shadow_7 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_8;
+
+CREATE TABLE t_shadow_8 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_9;
+
+CREATE TABLE t_shadow_9 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+\c shadow_db_0
+
+CREATE TYPE season AS ENUM ('spring', 'summer', 'autumn', 'winter');
+
+DROP TABLE IF EXISTS t_shadow_0;
+
+CREATE TABLE t_shadow_0 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_1;
+
+CREATE TABLE t_shadow_1 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_2;
+
+CREATE TABLE t_shadow_2 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_3;
+
+CREATE TABLE t_shadow_3 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_4;
+
+CREATE TABLE t_shadow_4 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_5;
+
+CREATE TABLE t_shadow_5 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_6;
+
+CREATE TABLE t_shadow_6 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_7;
+
+CREATE TABLE t_shadow_7 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_8;
+
+CREATE TABLE t_shadow_8 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_9;
+
+CREATE TABLE t_shadow_9 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+\c db_1
+
+CREATE TYPE season AS ENUM ('spring', 'summer', 'autumn', 'winter');
+
+DROP TABLE IF EXISTS t_shadow_0;
+
+CREATE TABLE t_shadow_0 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_1;
+
+CREATE TABLE t_shadow_1 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_2;
+
+CREATE TABLE t_shadow_2 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_3;
+
+CREATE TABLE t_shadow_3 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_4;
+
+CREATE TABLE t_shadow_4 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_5;
+
+CREATE TABLE t_shadow_5 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_6;
+
+CREATE TABLE t_shadow_6 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_7;
+
+CREATE TABLE t_shadow_7 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_8;
+
+CREATE TABLE t_shadow_8 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_9;
+
+CREATE TABLE t_shadow_9 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+\c shadow_db_1
+
+CREATE TYPE season AS ENUM ('spring', 'summer', 'autumn', 'winter');
+
+DROP TABLE IF EXISTS t_shadow_0;
+
+CREATE TABLE t_shadow_0 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_1;
+
+CREATE TABLE t_shadow_1 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_2;
+
+CREATE TABLE t_shadow_2 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_3;
+
+CREATE TABLE t_shadow_3 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_4;
+
+CREATE TABLE t_shadow_4 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_5;
+
+CREATE TABLE t_shadow_5 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_6;
+
+CREATE TABLE t_shadow_6 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_7;
+
+CREATE TABLE t_shadow_7 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_8;
+
+CREATE TABLE t_shadow_8 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_9;
+
+CREATE TABLE t_shadow_9 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+\c db_2
+
+CREATE TYPE season AS ENUM ('spring', 'summer', 'autumn', 'winter');
+
+DROP TABLE IF EXISTS t_shadow_0;
+
+CREATE TABLE t_shadow_0 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_1;
+
+CREATE TABLE t_shadow_1 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_2;
+
+CREATE TABLE t_shadow_2 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_3;
+
+CREATE TABLE t_shadow_3 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_4;
+
+CREATE TABLE t_shadow_4 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_5;
+
+CREATE TABLE t_shadow_5 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_6;
+
+CREATE TABLE t_shadow_6 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_7;
+
+CREATE TABLE t_shadow_7 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_8;
+
+CREATE TABLE t_shadow_8 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_9;
+
+CREATE TABLE t_shadow_9 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+\c shadow_db_2
+
+CREATE TYPE season AS ENUM ('spring', 'summer', 'autumn', 'winter');
+
+DROP TABLE IF EXISTS t_shadow_0;
+
+CREATE TABLE t_shadow_0 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_1;
+
+CREATE TABLE t_shadow_1 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_2;
+
+CREATE TABLE t_shadow_2 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_3;
+
+CREATE TABLE t_shadow_3 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_4;
+
+CREATE TABLE t_shadow_4 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_5;
+
+CREATE TABLE t_shadow_5 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_6;
+
+CREATE TABLE t_shadow_6 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_7;
+
+CREATE TABLE t_shadow_7 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_8;
+
+CREATE TABLE t_shadow_8 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_9;
+
+CREATE TABLE t_shadow_9 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+\c db_3
+
+CREATE TYPE season AS ENUM ('spring', 'summer', 'autumn', 'winter');
+
+DROP TABLE IF EXISTS t_shadow_0;
+
+CREATE TABLE t_shadow_0 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_1;
+
+CREATE TABLE t_shadow_1 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_2;
+
+CREATE TABLE t_shadow_2 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_3;
+
+CREATE TABLE t_shadow_3 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_4;
+
+CREATE TABLE t_shadow_4 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_5;
+
+CREATE TABLE t_shadow_5 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_6;
+
+CREATE TABLE t_shadow_6 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_7;
+
+CREATE TABLE t_shadow_7 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_8;
+
+CREATE TABLE t_shadow_8 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_9;
+
+CREATE TABLE t_shadow_9 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+\c shadow_db_3
+
+CREATE TYPE season AS ENUM ('spring', 'summer', 'autumn', 'winter');
+
+DROP TABLE IF EXISTS t_shadow_0;
+
+CREATE TABLE t_shadow_0 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_1;
+
+CREATE TABLE t_shadow_1 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_2;
+
+CREATE TABLE t_shadow_2 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_3;
+
+CREATE TABLE t_shadow_3 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_4;
+
+CREATE TABLE t_shadow_4 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_5;
+
+CREATE TABLE t_shadow_5 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_6;
+
+CREATE TABLE t_shadow_6 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_7;
+
+CREATE TABLE t_shadow_7 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_8;
+
+CREATE TABLE t_shadow_8 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_9;
+
+CREATE TABLE t_shadow_9 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+\c db_4
+
+CREATE TYPE season AS ENUM ('spring', 'summer', 'autumn', 'winter');
+
+DROP TABLE IF EXISTS t_shadow_0;
+
+CREATE TABLE t_shadow_0 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_1;
+
+CREATE TABLE t_shadow_1 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_2;
+
+CREATE TABLE t_shadow_2 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_3;
+
+CREATE TABLE t_shadow_3 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_4;
+
+CREATE TABLE t_shadow_4 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_5;
+
+CREATE TABLE t_shadow_5 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_6;
+
+CREATE TABLE t_shadow_6 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_7;
+
+CREATE TABLE t_shadow_7 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_8;
+
+CREATE TABLE t_shadow_8 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_9;
+
+CREATE TABLE t_shadow_9 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+\c shadow_db_4
+
+CREATE TYPE season AS ENUM ('spring', 'summer', 'autumn', 'winter');
+
+DROP TABLE IF EXISTS t_shadow_0;
+
+CREATE TABLE t_shadow_0 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_1;
+
+CREATE TABLE t_shadow_1 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_2;
+
+CREATE TABLE t_shadow_2 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_3;
+
+CREATE TABLE t_shadow_3 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_4;
+
+CREATE TABLE t_shadow_4 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_5;
+
+CREATE TABLE t_shadow_5 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_6;
+
+CREATE TABLE t_shadow_6 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_7;
+
+CREATE TABLE t_shadow_7 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_8;
+
+CREATE TABLE t_shadow_8 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_9;
+
+CREATE TABLE t_shadow_9 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+\c db_5
+
+CREATE TYPE season AS ENUM ('spring', 'summer', 'autumn', 'winter');
+
+DROP TABLE IF EXISTS t_shadow_0;
+
+CREATE TABLE t_shadow_0 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_1;
+
+CREATE TABLE t_shadow_1 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_2;
+
+CREATE TABLE t_shadow_2 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_3;
+
+CREATE TABLE t_shadow_3 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_4;
+
+CREATE TABLE t_shadow_4 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_5;
+
+CREATE TABLE t_shadow_5 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_6;
+
+CREATE TABLE t_shadow_6 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_7;
+
+CREATE TABLE t_shadow_7 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_8;
+
+CREATE TABLE t_shadow_8 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_9;
+
+CREATE TABLE t_shadow_9 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+\c shadow_db_5
+
+CREATE TYPE season AS ENUM ('spring', 'summer', 'autumn', 'winter');
+
+DROP TABLE IF EXISTS t_shadow_0;
+
+CREATE TABLE t_shadow_0 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_1;
+
+CREATE TABLE t_shadow_1 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_2;
+
+CREATE TABLE t_shadow_2 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_3;
+
+CREATE TABLE t_shadow_3 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_4;
+
+CREATE TABLE t_shadow_4 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_5;
+
+CREATE TABLE t_shadow_5 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_6;
+
+CREATE TABLE t_shadow_6 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_7;
+
+CREATE TABLE t_shadow_7 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_8;
+
+CREATE TABLE t_shadow_8 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_9;
+
+CREATE TABLE t_shadow_9 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+\c db_6
+
+CREATE TYPE season AS ENUM ('spring', 'summer', 'autumn', 'winter');
+
+DROP TABLE IF EXISTS t_shadow_0;
+
+CREATE TABLE t_shadow_0 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_1;
+
+CREATE TABLE t_shadow_1 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_2;
+
+CREATE TABLE t_shadow_2 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_3;
+
+CREATE TABLE t_shadow_3 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_4;
+
+CREATE TABLE t_shadow_4 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_5;
+
+CREATE TABLE t_shadow_5 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_6;
+
+CREATE TABLE t_shadow_6 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_7;
+
+CREATE TABLE t_shadow_7 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_8;
+
+CREATE TABLE t_shadow_8 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_9;
+
+CREATE TABLE t_shadow_9 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+\c shadow_db_6
+
+CREATE TYPE season AS ENUM ('spring', 'summer', 'autumn', 'winter');
+
+DROP TABLE IF EXISTS t_shadow_0;
+
+CREATE TABLE t_shadow_0 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_1;
+
+CREATE TABLE t_shadow_1 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_2;
+
+CREATE TABLE t_shadow_2 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_3;
+
+CREATE TABLE t_shadow_3 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_4;
+
+CREATE TABLE t_shadow_4 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_5;
+
+CREATE TABLE t_shadow_5 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_6;
+
+CREATE TABLE t_shadow_6 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_7;
+
+CREATE TABLE t_shadow_7 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_8;
+
+CREATE TABLE t_shadow_8 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_9;
+
+CREATE TABLE t_shadow_9 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+\c db_7
+
+CREATE TYPE season AS ENUM ('spring', 'summer', 'autumn', 'winter');
+
+DROP TABLE IF EXISTS t_shadow_0;
+
+CREATE TABLE t_shadow_0 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_1;
+
+CREATE TABLE t_shadow_1 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_2;
+
+CREATE TABLE t_shadow_2 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_3;
+
+CREATE TABLE t_shadow_3 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_4;
+
+CREATE TABLE t_shadow_4 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_5;
+
+CREATE TABLE t_shadow_5 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_6;
+
+CREATE TABLE t_shadow_6 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_7;
+
+CREATE TABLE t_shadow_7 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_8;
+
+CREATE TABLE t_shadow_8 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_9;
+
+CREATE TABLE t_shadow_9 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+\c shadow_db_7
+
+CREATE TYPE season AS ENUM ('spring', 'summer', 'autumn', 'winter');
+
+DROP TABLE IF EXISTS t_shadow_0;
+
+CREATE TABLE t_shadow_0 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_1;
+
+CREATE TABLE t_shadow_1 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_2;
+
+CREATE TABLE t_shadow_2 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_3;
+
+CREATE TABLE t_shadow_3 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_4;
+
+CREATE TABLE t_shadow_4 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_5;
+
+CREATE TABLE t_shadow_5 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_6;
+
+CREATE TABLE t_shadow_6 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_7;
+
+CREATE TABLE t_shadow_7 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_8;
+
+CREATE TABLE t_shadow_8 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_9;
+
+CREATE TABLE t_shadow_9 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+\c db_8
+
+CREATE TYPE season AS ENUM ('spring', 'summer', 'autumn', 'winter');
+
+DROP TABLE IF EXISTS t_shadow_0;
+
+CREATE TABLE t_shadow_0 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_1;
+
+CREATE TABLE t_shadow_1 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_2;
+
+CREATE TABLE t_shadow_2 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_3;
+
+CREATE TABLE t_shadow_3 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_4;
+
+CREATE TABLE t_shadow_4 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_5;
+
+CREATE TABLE t_shadow_5 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_6;
+
+CREATE TABLE t_shadow_6 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_7;
+
+CREATE TABLE t_shadow_7 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_8;
+
+CREATE TABLE t_shadow_8 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_9;
+
+CREATE TABLE t_shadow_9 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+\c shadow_db_8
+
+CREATE TYPE season AS ENUM ('spring', 'summer', 'autumn', 'winter');
+
+DROP TABLE IF EXISTS t_shadow_0;
+
+CREATE TABLE t_shadow_0 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_1;
+
+CREATE TABLE t_shadow_1 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_2;
+
+CREATE TABLE t_shadow_2 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_3;
+
+CREATE TABLE t_shadow_3 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_4;
+
+CREATE TABLE t_shadow_4 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_5;
+
+CREATE TABLE t_shadow_5 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_6;
+
+CREATE TABLE t_shadow_6 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_7;
+
+CREATE TABLE t_shadow_7 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_8;
+
+CREATE TABLE t_shadow_8 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_9;
+
+CREATE TABLE t_shadow_9 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+\c db_9
+
+CREATE TYPE season AS ENUM ('spring', 'summer', 'autumn', 'winter');
+
+DROP TABLE IF EXISTS t_shadow_0;
+
+CREATE TABLE t_shadow_0 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_1;
+
+CREATE TABLE t_shadow_1 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_2;
+
+CREATE TABLE t_shadow_2 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_3;
+
+CREATE TABLE t_shadow_3 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_4;
+
+CREATE TABLE t_shadow_4 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_5;
+
+CREATE TABLE t_shadow_5 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_6;
+
+CREATE TABLE t_shadow_6 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_7;
+
+CREATE TABLE t_shadow_7 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_8;
+
+CREATE TABLE t_shadow_8 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_9;
+
+CREATE TABLE t_shadow_9 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+\c shadow_db_9
+
+CREATE TYPE season AS ENUM ('spring', 'summer', 'autumn', 'winter');
+
+DROP TABLE IF EXISTS t_shadow_0;
+
+CREATE TABLE t_shadow_0 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_1;
+
+CREATE TABLE t_shadow_1 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_2;
+
+CREATE TABLE t_shadow_2 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_3;
+
+CREATE TABLE t_shadow_3 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_4;
+
+CREATE TABLE t_shadow_4 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_5;
+
+CREATE TABLE t_shadow_5 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_6;
+
+CREATE TABLE t_shadow_6 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_7;
+
+CREATE TABLE t_shadow_7 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_8;
+
+CREATE TABLE t_shadow_8 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+DROP TABLE IF EXISTS t_shadow_9;
+
+CREATE TABLE t_shadow_9 (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name_cipher VARCHAR(200) NOT NULL, order_name_plain VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/scenario/sharding_encrypt_shadow/data/expected/init-sql/opengauss/expected-init.sql b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/scenario/sharding_encrypt_shadow/data/expected/init-sql/opengauss/expected-init.sql
new file mode 100644
index 00000000000..6dc794a1e96
--- /dev/null
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/scenario/sharding_encrypt_shadow/data/expected/init-sql/opengauss/expected-init.sql
@@ -0,0 +1,41 @@
+--
+-- Licensed to the Apache Software Foundation (ASF) under one or more
+-- contributor license agreements.  See the NOTICE file distributed with
+-- this work for additional information regarding copyright ownership.
+-- The ASF licenses this file to You under the Apache License, Version 2.0
+-- (the "License"); you may not use this file except in compliance with
+-- the License.  You may obtain a copy of the License at
+--
+--     http://www.apache.org/licenses/LICENSE-2.0
+--
+-- Unless required by applicable law or agreed to in writing, software
+-- distributed under the License is distributed on an "AS IS" BASIS,
+-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+-- See the License for the specific language governing permissions and
+-- limitations under the License.
+--
+
+DROP DATABASE IF EXISTS prod_dataset;
+CREATE DATABASE prod_dataset;
+
+GRANT ALL PRIVILEGES ON DATABASE prod_dataset TO test_user;
+
+\c prod_dataset;
+
+DROP TABLE IF EXISTS t_shadow;
+
+CREATE TYPE season AS ENUM ('spring', 'summer', 'autumn', 'winter');
+CREATE TABLE t_shadow (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
+
+
+DROP DATABASE IF EXISTS shadow_dataset;
+CREATE DATABASE shadow_dataset;
+
+GRANT ALL PRIVILEGES ON DATABASE shadow_dataset TO test_user;
+
+\c shadow_dataset;
+
+DROP TABLE IF EXISTS t_shadow;
+
+CREATE TYPE season AS ENUM ('spring', 'summer', 'autumn', 'winter');
+CREATE TABLE t_shadow (order_id BIGINT NOT NULL, user_id INT NOT NULL, order_name VARCHAR(200) NOT NULL, type_char CHAR(1) NOT NULL, type_boolean BOOLEAN NOT NULL, type_smallint SMALLINT NOT NULL, type_enum season DEFAULT 'summer', type_decimal NUMERIC(18,2) DEFAULT NULL, type_date DATE DEFAULT NULL, type_time TIME DEFAULT NULL, type_timestamp TIMESTAMP DEFAULT NULL, PRIMARY KEY (order_id));
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/scenario/sharding_encrypt_shadow/proxy/conf/opengauss/config-sharding-encrypt-shadow.yaml b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/scenario/sharding_encrypt_shadow/proxy/conf/opengauss/config-sharding-encrypt-shadow.yaml
new file mode 100644
index 00000000000..3e8694d4e50
--- /dev/null
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/scenario/sharding_encrypt_shadow/proxy/conf/opengauss/config-sharding-encrypt-shadow.yaml
@@ -0,0 +1,313 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+databaseName: sharding_encrypt_shadow
+
+dataSources:
+  db_0:
+    url: jdbc:opengauss://opengauss.sharding_encrypt_shadow.host:5432/db_0
+    username: test_user
+    password: Test@123
+    connectionTimeoutMilliseconds: 30000
+    idleTimeoutMilliseconds: 60000
+    maxLifetimeMilliseconds: 1800000
+    maxPoolSize: 2
+    minPoolSize: 2
+  db_1:
+    url: jdbc:opengauss://opengauss.sharding_encrypt_shadow.host:5432/db_1
+    username: test_user
+    password: Test@123
+    connectionTimeoutMilliseconds: 30000
+    idleTimeoutMilliseconds: 60000
+    maxLifetimeMilliseconds: 1800000
+    maxPoolSize: 2
+    minPoolSize: 2
+  db_2:
+    url: jdbc:opengauss://opengauss.sharding_encrypt_shadow.host:5432/db_2
+    username: test_user
+    password: Test@123
+    connectionTimeoutMilliseconds: 30000
+    idleTimeoutMilliseconds: 60000
+    maxLifetimeMilliseconds: 1800000
+    maxPoolSize: 2
+    minPoolSize: 2
+  db_3:
+    url: jdbc:opengauss://opengauss.sharding_encrypt_shadow.host:5432/db_3
+    username: test_user
+    password: Test@123
+    connectionTimeoutMilliseconds: 30000
+    idleTimeoutMilliseconds: 60000
+    maxLifetimeMilliseconds: 1800000
+    maxPoolSize: 2
+    minPoolSize: 2
+  db_4:
+    url: jdbc:opengauss://opengauss.sharding_encrypt_shadow.host:5432/db_4
+    username: test_user
+    password: Test@123
+    connectionTimeoutMilliseconds: 30000
+    idleTimeoutMilliseconds: 60000
+    maxLifetimeMilliseconds: 1800000
+    maxPoolSize: 2
+    minPoolSize: 2
+  db_5:
+    url: jdbc:opengauss://opengauss.sharding_encrypt_shadow.host:5432/db_5
+    username: test_user
+    password: Test@123
+    connectionTimeoutMilliseconds: 30000
+    idleTimeoutMilliseconds: 60000
+    maxLifetimeMilliseconds: 1800000
+    maxPoolSize: 2
+    minPoolSize: 2
+  db_6:
+    url: jdbc:opengauss://opengauss.sharding_encrypt_shadow.host:5432/db_6
+    username: test_user
+    password: Test@123
+    connectionTimeoutMilliseconds: 30000
+    idleTimeoutMilliseconds: 60000
+    maxLifetimeMilliseconds: 1800000
+    maxPoolSize: 2
+    minPoolSize: 2
+  db_7:
+    url: jdbc:opengauss://opengauss.sharding_encrypt_shadow.host:5432/db_7
+    username: test_user
+    password: Test@123
+    connectionTimeoutMilliseconds: 30000
+    idleTimeoutMilliseconds: 60000
+    maxLifetimeMilliseconds: 1800000
+    maxPoolSize: 2
+    minPoolSize: 2
+  db_8:
+    url: jdbc:opengauss://opengauss.sharding_encrypt_shadow.host:5432/db_8
+    username: test_user
+    password: Test@123
+    connectionTimeoutMilliseconds: 30000
+    idleTimeoutMilliseconds: 60000
+    maxLifetimeMilliseconds: 1800000
+    maxPoolSize: 2
+    minPoolSize: 2
+  db_9:
+    url: jdbc:opengauss://opengauss.sharding_encrypt_shadow.host:5432/db_9
+    username: test_user
+    password: Test@123
+    connectionTimeoutMilliseconds: 30000
+    idleTimeoutMilliseconds: 60000
+    maxLifetimeMilliseconds: 1800000
+    maxPoolSize: 2
+    minPoolSize: 2
+  shadow_db_0:
+    url: jdbc:opengauss://opengauss.sharding_encrypt_shadow.host:5432/shadow_db_0
+    username: test_user
+    password: Test@123
+    connectionTimeoutMilliseconds: 30000
+    idleTimeoutMilliseconds: 60000
+    maxLifetimeMilliseconds: 1800000
+    maxPoolSize: 2
+    minPoolSize: 2
+  shadow_db_1:
+    url: jdbc:opengauss://opengauss.sharding_encrypt_shadow.host:5432/shadow_db_1
+    username: test_user
+    password: Test@123
+    connectionTimeoutMilliseconds: 30000
+    idleTimeoutMilliseconds: 60000
+    maxLifetimeMilliseconds: 1800000
+    maxPoolSize: 2
+    minPoolSize: 2
+  shadow_db_2:
+    url: jdbc:opengauss://opengauss.sharding_encrypt_shadow.host:5432/shadow_db_2
+    username: test_user
+    password: Test@123
+    connectionTimeoutMilliseconds: 30000
+    idleTimeoutMilliseconds: 60000
+    maxLifetimeMilliseconds: 1800000
+    maxPoolSize: 2
+    minPoolSize: 2
+  shadow_db_3:
+    url: jdbc:opengauss://opengauss.sharding_encrypt_shadow.host:5432/shadow_db_3
+    username: test_user
+    password: Test@123
+    connectionTimeoutMilliseconds: 30000
+    idleTimeoutMilliseconds: 60000
+    maxLifetimeMilliseconds: 1800000
+    maxPoolSize: 2
+    minPoolSize: 2
+  shadow_db_4:
+    url: jdbc:opengauss://opengauss.sharding_encrypt_shadow.host:5432/shadow_db_4
+    username: test_user
+    password: Test@123
+    connectionTimeoutMilliseconds: 30000
+    idleTimeoutMilliseconds: 60000
+    maxLifetimeMilliseconds: 1800000
+    maxPoolSize: 2
+    minPoolSize: 2
+  shadow_db_5:
+    url: jdbc:opengauss://opengauss.sharding_encrypt_shadow.host:5432/shadow_db_5
+    username: test_user
+    password: Test@123
+    connectionTimeoutMilliseconds: 30000
+    idleTimeoutMilliseconds: 60000
+    maxLifetimeMilliseconds: 1800000
+    maxPoolSize: 2
+    minPoolSize: 2
+  shadow_db_6:
+    url: jdbc:opengauss://opengauss.sharding_encrypt_shadow.host:5432/shadow_db_6
+    username: test_user
+    password: Test@123
+    connectionTimeoutMilliseconds: 30000
+    idleTimeoutMilliseconds: 60000
+    maxLifetimeMilliseconds: 1800000
+    maxPoolSize: 2
+    minPoolSize: 2
+  shadow_db_7:
+    url: jdbc:opengauss://opengauss.sharding_encrypt_shadow.host:5432/shadow_db_7
+    username: test_user
+    password: Test@123
+    connectionTimeoutMilliseconds: 30000
+    idleTimeoutMilliseconds: 60000
+    maxLifetimeMilliseconds: 1800000
+    maxPoolSize: 2
+    minPoolSize: 2
+  shadow_db_8:
+    url: jdbc:opengauss://opengauss.sharding_encrypt_shadow.host:5432/shadow_db_8
+    username: test_user
+    password: Test@123
+    connectionTimeoutMilliseconds: 30000
+    idleTimeoutMilliseconds: 60000
+    maxLifetimeMilliseconds: 1800000
+    maxPoolSize: 2
+    minPoolSize: 2
+  shadow_db_9:
+    url: jdbc:opengauss://opengauss.sharding_encrypt_shadow.host:5432/shadow_db_9
+    username: test_user
+    password: Test@123
+    connectionTimeoutMilliseconds: 30000
+    idleTimeoutMilliseconds: 60000
+    maxLifetimeMilliseconds: 1800000
+    maxPoolSize: 2
+    minPoolSize: 2
+
+rules:
+  - !SHARDING
+    tables:
+      t_shadow:
+        actualDataNodes: shadowDataSource_${0..9}.t_shadow_${0..9}
+        databaseStrategy:
+          standard:
+            shardingColumn: order_id
+            shardingAlgorithmName: it_standard_fixture
+        tableStrategy:
+          standard:
+            shardingColumn: order_id
+            shardingAlgorithmName: it_standard_fixture
+
+    shardingAlgorithms:
+      it_standard_fixture:
+        type: IT.STANDARD.FIXTURE
+
+  - !SHADOW
+    dataSources:
+      shadowDataSource_0:
+        productionDataSourceName: db_0
+        shadowDataSourceName: shadow_db_0
+      shadowDataSource_1:
+        productionDataSourceName: db_1
+        shadowDataSourceName: shadow_db_1
+      shadowDataSource_2:
+        productionDataSourceName: db_2
+        shadowDataSourceName: shadow_db_2
+      shadowDataSource_3:
+        productionDataSourceName: db_3
+        shadowDataSourceName: shadow_db_3
+      shadowDataSource_4:
+        productionDataSourceName: db_4
+        shadowDataSourceName: shadow_db_4
+      shadowDataSource_5:
+        productionDataSourceName: db_5
+        shadowDataSourceName: shadow_db_5
+      shadowDataSource_6:
+        productionDataSourceName: db_6
+        shadowDataSourceName: shadow_db_6
+      shadowDataSource_7:
+        productionDataSourceName: db_7
+        shadowDataSourceName: shadow_db_7
+      shadowDataSource_8:
+        productionDataSourceName: db_8
+        shadowDataSourceName: shadow_db_8
+      shadowDataSource_9:
+        productionDataSourceName: db_9
+        shadowDataSourceName: shadow_db_9
+    tables:
+      t_shadow:
+        dataSourceNames:
+          - shadowDataSource_0
+          - shadowDataSource_1
+          - shadowDataSource_2
+          - shadowDataSource_3
+          - shadowDataSource_4
+          - shadowDataSource_5
+          - shadowDataSource_6
+          - shadowDataSource_7
+          - shadowDataSource_8
+          - shadowDataSource_9
+        shadowAlgorithmNames:
+          - user-id-insert-match-algorithm
+          - user-id-update-match-algorithm
+          - user-id-delete-match-algorithm
+          - user-id-select-match-algorithm
+          - simple-hint-algorithm
+    shadowAlgorithms:
+      user-id-insert-match-algorithm:
+        type: VALUE_MATCH
+        props:
+          operation: insert
+          column: user_id
+          value: 0
+      user-id-update-match-algorithm:
+        type: VALUE_MATCH
+        props:
+          operation: update
+          column: user_id
+          value: 0
+      user-id-delete-match-algorithm:
+        type: VALUE_MATCH
+        props:
+          operation: delete
+          column: user_id
+          value: 0
+      user-id-select-match-algorithm:
+        type: VALUE_MATCH
+        props:
+          operation: select
+          column: user_id
+          value: 0
+      simple-hint-algorithm:
+        type: SIMPLE_HINT
+        props:
+          foo: bar
+
+  - !ENCRYPT
+    encryptors:
+      aes_encryptor:
+        type: AES
+        props:
+          aes-key-value: 123456abc
+    tables:
+      t_shadow:
+        columns:
+          order_name:
+            plainColumn: order_name_plain
+            cipherColumn: order_name_cipher
+            encryptorName: aes_encryptor