This is an automated email from the ASF dual-hosted git repository.
duanzhengqiang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git
The following commit(s) were added to refs/heads/master by this push:
new 3a55fb9 Refactor SELECT_SQL_BY_ID_ACROSS_SINGLE_TABLES_WITH_ENCRYPT
statement with shardingsphere-integration-test (#12101)
3a55fb9 is described below
commit 3a55fb92d02ef416d9057f0e5150b6e8688b1703
Author: liguoping <[email protected]>
AuthorDate: Tue Aug 31 18:27:13 2021 +0800
Refactor SELECT_SQL_BY_ID_ACROSS_SINGLE_TABLES_WITH_ENCRYPT statement with
shardingsphere-integration-test (#12101)
* Refactor SELECT_SQL_BY_ID_ACROSS_SINGLE_AND_SHARDING_TABLES_ORDER_BY
statement with shardingsphere-integration-test
* Refactor SELECT_SQL_BY_ID_ACROSS_SINGLE_TABLES_WITH_ENCRYPT statement
with shardingsphere-integration-test
* dataset
---
.../statement/FederatePrepareStatementTest.java | 31 ------------------
.../jdbc/core/statement/FederateStatementTest.java | 37 ----------------------
...sql_by_id_across_single_tables_with_encrypt.xml | 28 ++++++++++++++++
...d_across_single_tables_with_encrypt_user_id.xml | 26 +++++++++++++++
.../cases/dql/dql-integration-test-cases.xml | 10 +++++-
...dbtbl-with-readwrite-splitting-and-encrypt.yaml | 6 ++++
...dbtbl-with-readwrite-splitting-and-encrypt.yaml | 6 ++++
...dbtbl-with-readwrite-splitting-and-encrypt.yaml | 6 ++++
.../dataset.xml | 18 +++++++++++
.../init-sql/h2/init-encrypt_read_ds_1.sql | 2 ++
.../init-sql/h2/init-encrypt_write_ds_1.sql | 2 ++
.../init-sql/mysql/init.sql | 2 ++
.../init-sql/oracle/init.sql | 2 ++
.../init-sql/postgresql/init.sql | 4 +++
.../init-sql/sqlserver/init.sql | 2 ++
.../rules.yaml | 6 ++++
16 files changed, 119 insertions(+), 69 deletions(-)
diff --git
a/shardingsphere-jdbc/shardingsphere-jdbc-core/src/test/java/org/apache/shardingsphere/driver/jdbc/core/statement/FederatePrepareStatementTest.java
b/shardingsphere-jdbc/shardingsphere-jdbc-core/src/test/java/org/apache/shardingsphere/driver/jdbc/core/statement/FederatePrepareStatementTest.java
index 48c9070..39e6689 100644
---
a/shardingsphere-jdbc/shardingsphere-jdbc-core/src/test/java/org/apache/shardingsphere/driver/jdbc/core/statement/FederatePrepareStatementTest.java
+++
b/shardingsphere-jdbc/shardingsphere-jdbc-core/src/test/java/org/apache/shardingsphere/driver/jdbc/core/statement/FederatePrepareStatementTest.java
@@ -42,10 +42,6 @@ public final class FederatePrepareStatementTest extends
AbstractShardingSphereDa
+ "AND t_order_item_federate_sharding.remarks =
't_order_item_federate_sharding' "
+ "AND t_order_item_federate_sharding.user_id = ?";
- private static final String
SELECT_SQL_BY_ID_ACROSS_SINGLE_TABLES_WITH_ENCRYPT =
- "select t_user_encrypt_federate.user_id,
t_user_encrypt_federate.pwd, t_user_info.information from
t_user_encrypt_federate, t_user_info "
- + "where t_user_encrypt_federate.user_id =
t_user_info.user_id and t_user_encrypt_federate.user_id > ? ";
-
@Test
public void
assertQueryWithFederateInSingleAndShardingTableWithAliasByExecuteQuery() throws
SQLException {
assertQueryWithFederateInSingleAndShardingTableWithAlias(true);
@@ -105,32 +101,5 @@ public final class FederatePrepareStatementTest extends
AbstractShardingSphereDa
assertThat(resultSet1.getInt(5), is(10000));
assertFalse(resultSet1.next());
}
-
- @Test
- public void
assertQueryWithFederateInSingleTablesWithEncryptRuleByExecuteQuery() throws
SQLException {
- assertQueryWithFederateInSingleTablesWithEncryptRule(true);
- }
-
- @Test
- public void
assertQueryWithFederateInSingleTablesWithEncryptRuleByExecute() throws
SQLException {
- assertQueryWithFederateInSingleTablesWithEncryptRule(false);
- }
-
- private void assertQueryWithFederateInSingleTablesWithEncryptRule(final
boolean executeQuery) throws SQLException {
- ShardingSpherePreparedStatement preparedStatement =
(ShardingSpherePreparedStatement) getShardingSphereDataSource()
-
.getConnection().prepareStatement(SELECT_SQL_BY_ID_ACROSS_SINGLE_TABLES_WITH_ENCRYPT);
- preparedStatement.setInt(1, 1);
- ResultSet resultSet = getResultSet(preparedStatement, executeQuery);
- assertNotNull(resultSet);
- assertTrue(resultSet.next());
- assertThat(resultSet.getInt(1), is(2));
- assertThat(resultSet.getString(2), is("decryptValue"));
- assertThat(resultSet.getString(3), is("description2"));
- assertTrue(resultSet.next());
- assertThat(resultSet.getInt(1), is(3));
- assertThat(resultSet.getString(2), is("decryptValue"));
- assertThat(resultSet.getString(3), is("description3"));
- assertFalse(resultSet.next());
- }
}
diff --git
a/shardingsphere-jdbc/shardingsphere-jdbc-core/src/test/java/org/apache/shardingsphere/driver/jdbc/core/statement/FederateStatementTest.java
b/shardingsphere-jdbc/shardingsphere-jdbc-core/src/test/java/org/apache/shardingsphere/driver/jdbc/core/statement/FederateStatementTest.java
index 3afe9f9..284adf0 100644
---
a/shardingsphere-jdbc/shardingsphere-jdbc-core/src/test/java/org/apache/shardingsphere/driver/jdbc/core/statement/FederateStatementTest.java
+++
b/shardingsphere-jdbc/shardingsphere-jdbc-core/src/test/java/org/apache/shardingsphere/driver/jdbc/core/statement/FederateStatementTest.java
@@ -40,10 +40,6 @@ public final class FederateStatementTest extends
AbstractShardingSphereDataSourc
+ "where t_order_federate.order_id =
t_order_item_federate_sharding.item_id "
+ "AND t_order_item_federate_sharding.remarks =
't_order_item_federate_sharding'";
- private static final String
SELECT_SQL_BY_ID_ACROSS_SINGLE_TABLES_WITH_ENCRYPT =
- "select t_user_encrypt_federate.user_id,
t_user_encrypt_federate.pwd, t_user_info.information from
t_user_encrypt_federate, t_user_info "
- + "where t_user_encrypt_federate.user_id = t_user_info.user_id ";
-
@Test
public void
assertQueryWithFederateInSingleAndShardingTableWithAliasByExecuteQuery() throws
SQLException {
assertQueryWithFederateInSingleAndShardingTableWithAlias(true);
@@ -102,37 +98,4 @@ public final class FederateStatementTest extends
AbstractShardingSphereDataSourc
assertFalse(resultSet.next());
}
- @Test
- public void
assertQueryWithFederateInSingleTablesWithEncryptRuleByExecuteQuery() throws
SQLException {
- assertQueryWithFederateInSingleTablesWithEncryptRule(true);
- }
-
- @Test
- public void
assertQueryWithFederateInSingleTablesWithEncryptRuleByExecute() throws
SQLException {
- assertQueryWithFederateInSingleTablesWithEncryptRule(false);
- }
-
- private void assertQueryWithFederateInSingleTablesWithEncryptRule(final
boolean executeQuery) throws SQLException {
- ShardingSphereStatement statement = (ShardingSphereStatement)
getShardingSphereDataSource().getConnection().createStatement();
- ResultSet resultSet = getResultSet(statement,
SELECT_SQL_BY_ID_ACROSS_SINGLE_TABLES_WITH_ENCRYPT, executeQuery);
- assertNotNull(resultSet);
- assertTrue(resultSet.next());
- assertThat(resultSet.getInt(1), is(0));
- assertThat(resultSet.getString(2), is("decryptValue"));
- assertThat(resultSet.getString(3), is("description0"));
- assertTrue(resultSet.next());
- assertThat(resultSet.getInt(1), is(1));
- assertThat(resultSet.getString(2), is("decryptValue"));
- assertThat(resultSet.getString(3), is("description1"));
- assertTrue(resultSet.next());
- assertThat(resultSet.getInt(1), is(2));
- assertThat(resultSet.getString(2), is("decryptValue"));
- assertThat(resultSet.getString(3), is("description2"));
- assertTrue(resultSet.next());
- assertThat(resultSet.getInt(1), is(3));
- assertThat(resultSet.getString(2), is("decryptValue"));
- assertThat(resultSet.getString(3), is("description3"));
- assertFalse(resultSet.next());
- }
-
}
diff --git
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/cases/dql/dataset/dbtbl_with_readwrite_splitting_and_encrypt/select_sql_by_id_across_single_tables_with_encrypt.xml
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/cases/dql/dataset/dbtbl_with_readwrite_splitting_and_encrypt/select_sql_by_id_across_single_tables_with_encrypt.xml
new file mode 100644
index 0000000..51a28a5
--- /dev/null
+++
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/cases/dql/dataset/dbtbl_with_readwrite_splitting_and_encrypt/select_sql_by_id_across_single_tables_with_encrypt.xml
@@ -0,0 +1,28 @@
+<!--
+ ~ 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="user_id"/>
+ <column name="pwd" />
+ <column name="information"/>
+ </metadata>
+ <row values="0, decryptValue, description0" />
+ <row values="1, decryptValue, description1" />
+ <row values="2, decryptValue, description2" />
+ <row values="3, decryptValue, description3" />
+</dataset>
diff --git
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/cases/dql/dataset/dbtbl_with_readwrite_splitting_and_encrypt/select_sql_by_id_across_single_tables_with_encrypt_user_id.xml
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/cases/dql/dataset/dbtbl_with_readwrite_splitting_and_encrypt/select_sql_by_id_across_single_tables_with_encrypt_user_id.xml
new file mode 100644
index 0000000..8d730fb
--- /dev/null
+++
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/cases/dql/dataset/dbtbl_with_readwrite_splitting_and_encrypt/select_sql_by_id_across_single_tables_with_encrypt_user_id.xml
@@ -0,0 +1,26 @@
+<!--
+ ~ 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="user_id"/>
+ <column name="pwd" />
+ <column name="information"/>
+ </metadata>
+ <row values="2, decryptValue, description2" />
+ <row values="3, decryptValue, description3" />
+</dataset>
diff --git
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/cases/dql/dql-integration-test-cases.xml
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/cases/dql/dql-integration-test-cases.xml
index 67094e4..4333409 100644
---
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/cases/dql/dql-integration-test-cases.xml
+++
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/cases/dql/dql-integration-test-cases.xml
@@ -595,5 +595,13 @@
<test-case sql="select t_order_federate.* from t_order_federate,
t_order_item_federate_sharding where t_order_federate.order_id =
t_order_item_federate_sharding.item_id ORDER BY
t_order_item_federate_sharding.user_id"
scenario-types="db,dbtbl_with_readwrite_splitting,dbtbl_with_readwrite_splitting_and_encrypt">
<assertion
expected-data-file="select_sql_by_id_across_single_and_sharding_tables_order_by.xml"
/>
</test-case>
-
+
+ <test-case sql="select t_user_encrypt_federate.user_id,
t_user_encrypt_federate.pwd, t_user_info.information from
t_user_encrypt_federate, t_user_info where t_user_encrypt_federate.user_id =
t_user_info.user_id "
scenario-types="dbtbl_with_readwrite_splitting_and_encrypt">
+ <assertion
expected-data-file="select_sql_by_id_across_single_tables_with_encrypt.xml" />
+ </test-case>
+
+ <test-case sql="select t_user_encrypt_federate.user_id,
t_user_encrypt_federate.pwd, t_user_info.information from
t_user_encrypt_federate, t_user_info where t_user_encrypt_federate.user_id =
t_user_info.user_id and t_user_encrypt_federate.user_id > ? "
scenario-types="dbtbl_with_readwrite_splitting_and_encrypt">
+ <assertion parameters="1:int"
expected-data-file="select_sql_by_id_across_single_tables_with_encrypt_user_id.xml"
/>
+ </test-case>
+
</integration-test-cases>
diff --git
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/docker/dbtbl_with_readwrite_splitting_and_encrypt/h2/proxy/conf/config-dbtbl-with-readwrite-splitting-and-encrypt.yaml
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/docker/dbtbl_with_readwrite_splitting_and_encrypt/h2/proxy/conf/config-dbtbl-with-readwrite-splitting-and-encrypt.yaml
index 56e7fd7..c2e2552 100644
---
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/docker/dbtbl_with_readwrite_splitting_and_encrypt/h2/proxy/conf/config-dbtbl-with-readwrite-splitting-and-encrypt.yaml
+++
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/docker/dbtbl_with_readwrite_splitting_and_encrypt/h2/proxy/conf/config-dbtbl-with-readwrite-splitting-and-encrypt.yaml
@@ -355,6 +355,12 @@ rules:
plainColumn: number_plain
cipherColumn: number_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:
diff --git
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/docker/dbtbl_with_readwrite_splitting_and_encrypt/mysql/proxy/conf/config-dbtbl-with-readwrite-splitting-and-encrypt.yaml
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/docker/dbtbl_with_readwrite_splitting_and_encrypt/mysql/proxy/conf/config-dbtbl-with-readwrite-splitting-and-encrypt.yaml
index 56e7fd7..c2e2552 100644
---
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/docker/dbtbl_with_readwrite_splitting_and_encrypt/mysql/proxy/conf/config-dbtbl-with-readwrite-splitting-and-encrypt.yaml
+++
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/docker/dbtbl_with_readwrite_splitting_and_encrypt/mysql/proxy/conf/config-dbtbl-with-readwrite-splitting-and-encrypt.yaml
@@ -355,6 +355,12 @@ rules:
plainColumn: number_plain
cipherColumn: number_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:
diff --git
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/docker/dbtbl_with_readwrite_splitting_and_encrypt/postgresql/proxy/conf/config-dbtbl-with-readwrite-splitting-and-encrypt.yaml
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/docker/dbtbl_with_readwrite_splitting_and_encrypt/postgresql/proxy/conf/config-dbtbl-with-readwrite-splitting-and-encrypt.yaml
index 1d72ec2..bb3856d 100644
---
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/docker/dbtbl_with_readwrite_splitting_and_encrypt/postgresql/proxy/conf/config-dbtbl-with-readwrite-splitting-and-encrypt.yaml
+++
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/docker/dbtbl_with_readwrite_splitting_and_encrypt/postgresql/proxy/conf/config-dbtbl-with-readwrite-splitting-and-encrypt.yaml
@@ -355,6 +355,12 @@ rules:
plainColumn: number_plain
cipherColumn: number_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:
diff --git
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/dbtbl_with_readwrite_splitting_and_encrypt/dataset.xml
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/dbtbl_with_readwrite_splitting_and_encrypt/dataset.xml
index d19a48d..abd4572 100644
---
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/dbtbl_with_readwrite_splitting_and_encrypt/dataset.xml
+++
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/dbtbl_with_readwrite_splitting_and_encrypt/dataset.xml
@@ -63,6 +63,12 @@
<column name="cipher_pwd" type="varchar" />
<column name="user_name" type="varchar" />
</metadata>
+ <metadata
data-nodes="encrypt_write_ds_1.t_user_encrypt_federate,encrypt_read_ds_1.t_user_encrypt_federate">
+ <column name="user_id" type="numeric" />
+ <column name="plain_pwd" type="varchar" />
+ <column name="cipher_pwd" type="varchar" />
+ <column name="user_name" type="varchar" />
+ </metadata>
<metadata
data-nodes="encrypt_write_ds_1.t_user_info,encrypt_read_ds_1.t_user_info">
<column name="user_id" type="numeric" />
<column name="information" type="varchar" />
@@ -295,6 +301,12 @@
<row data-node="encrypt_write_ds_1.t_user_info" values="1, description1" />
<row data-node="encrypt_write_ds_1.t_user_info" values="2, description2" />
<row data-node="encrypt_write_ds_1.t_user_info" values="3, description3" />
+ <row data-node="encrypt_write_ds_1.t_user_encrypt_federate" values="0,
plain password1, uqObdVp9XTGZ4Mnw0LolHg==, Rachel" />
+ <row data-node="encrypt_write_ds_1.t_user_encrypt_federate" values="1,
plain password2, uqObdVp9XTGZ4Mnw0LolHg==, Monica" />
+ <row data-node="encrypt_write_ds_1.t_user_encrypt_federate" values="2,
plain password3, uqObdVp9XTGZ4Mnw0LolHg==, Phoebe" />
+ <row data-node="encrypt_write_ds_1.t_user_encrypt_federate" values="3,
plain password4, uqObdVp9XTGZ4Mnw0LolHg==, Ross" />
+ <row data-node="encrypt_write_ds_1.t_user_encrypt_federate" values="4,
plain password5, uqObdVp9XTGZ4Mnw0LolHg==, Chandler" />
+ <row data-node="encrypt_read_ds_1.t_user_encrypt_federate" values="5,
plain password6, uqObdVp9XTGZ4Mnw0LolHg==, Joey" />
<row data-node="encrypt_read_ds_0.t_single_table" values="1, 0, init_read"
/>
<row data-node="encrypt_read_ds_0.t_single_table" values="2, 11,
init_read" />
<row data-node="encrypt_read_ds_0.t_single_table" values="3, 22,
init_read" />
@@ -523,4 +535,10 @@
<row data-node="encrypt_read_ds_1.t_user_info" values="1, description1" />
<row data-node="encrypt_read_ds_1.t_user_info" values="2, description2" />
<row data-node="encrypt_read_ds_1.t_user_info" values="3, description3" />
+ <row data-node="encrypt_read_ds_1.t_user_encrypt_federate" values="0,
plain password1, uqObdVp9XTGZ4Mnw0LolHg==, Rachel" />
+ <row data-node="encrypt_read_ds_1.t_user_encrypt_federate" values="1,
plain password2, uqObdVp9XTGZ4Mnw0LolHg==, Monica" />
+ <row data-node="encrypt_read_ds_1.t_user_encrypt_federate" values="2,
plain password3, uqObdVp9XTGZ4Mnw0LolHg==, Phoebe" />
+ <row data-node="encrypt_read_ds_1.t_user_encrypt_federate" values="3,
plain password4, uqObdVp9XTGZ4Mnw0LolHg==, Ross" />
+ <row data-node="encrypt_read_ds_1.t_user_encrypt_federate" values="4,
plain password5, uqObdVp9XTGZ4Mnw0LolHg==, Chandler" />
+ <row data-node="encrypt_read_ds_1.t_user_encrypt_federate" values="5,
plain password6, uqObdVp9XTGZ4Mnw0LolHg==, Joey" />
</dataset>
diff --git
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/dbtbl_with_readwrite_splitting_and_encrypt/init-sql/h2/init-encrypt_read_ds_1.sql
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/dbtbl_with_readwrite_splitting_and_encrypt/init-sql/h2/init-encrypt_read_ds_1.sql
index 3f27fe8..f8c6ed5 100644
---
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/dbtbl_with_readwrite_splitting_and_encrypt/init-sql/h2/init-encrypt_read_ds_1.sql
+++
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/dbtbl_with_readwrite_splitting_and_encrypt/init-sql/h2/init-encrypt_read_ds_1.sql
@@ -22,6 +22,7 @@ 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_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));
@@ -31,4 +32,5 @@ CREATE TABLE t_order_federate_sharding_0 (order_id_sharding
INT NOT NULL, user_i
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, user_name 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, user_name 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, user_name 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));
diff --git
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/dbtbl_with_readwrite_splitting_and_encrypt/init-sql/h2/init-encrypt_write_ds_1.sql
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/dbtbl_with_readwrite_splitting_and_encrypt/init-sql/h2/init-encrypt_write_ds_1.sql
index 3f27fe8..f8c6ed5 100644
---
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/dbtbl_with_readwrite_splitting_and_encrypt/init-sql/h2/init-encrypt_write_ds_1.sql
+++
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/dbtbl_with_readwrite_splitting_and_encrypt/init-sql/h2/init-encrypt_write_ds_1.sql
@@ -22,6 +22,7 @@ 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_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));
@@ -31,4 +32,5 @@ CREATE TABLE t_order_federate_sharding_0 (order_id_sharding
INT NOT NULL, user_i
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, user_name 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, user_name 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, user_name 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));
diff --git
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/dbtbl_with_readwrite_splitting_and_encrypt/init-sql/mysql/init.sql
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/dbtbl_with_readwrite_splitting_and_encrypt/init-sql/mysql/init.sql
index d99fe94..8dc4ca9 100644
---
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/dbtbl_with_readwrite_splitting_and_encrypt/init-sql/mysql/init.sql
+++
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/dbtbl_with_readwrite_splitting_and_encrypt/init-sql/mysql/init.sql
@@ -123,6 +123,7 @@ CREATE TABLE encrypt_write_ds_1.t_order_federate_sharding_0
(order_id_sharding I
CREATE TABLE encrypt_write_ds_1.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 encrypt_write_ds_1.t_user_encrypt_federate_sharding_0 (user_id
INT NOT NULL, plain_pwd VARCHAR(45) NULL, cipher_pwd VARCHAR(45) NULL,
user_name VARCHAR(45) NULL, PRIMARY KEY (user_id));
CREATE TABLE encrypt_write_ds_1.t_user_encrypt_federate_sharding_1 (user_id
INT NOT NULL, plain_pwd VARCHAR(45) NULL, cipher_pwd VARCHAR(45) NULL,
user_name VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE encrypt_write_ds_1.t_user_encrypt_federate (user_id INT NOT NULL,
plain_pwd VARCHAR(45) NULL, cipher_pwd VARCHAR(45) NULL, user_name VARCHAR(45)
NULL, PRIMARY KEY (user_id));
CREATE TABLE encrypt_write_ds_1.t_user_info (user_id INT NOT NULL,
information VARCHAR(45) NULL, PRIMARY KEY (user_id));
CREATE INDEX user_index_t_user_0 ON encrypt_write_ds_1.t_user_0 (user_id);
CREATE INDEX user_index_t_user_1 ON encrypt_write_ds_1.t_user_1 (user_id);
@@ -443,6 +444,7 @@ CREATE TABLE encrypt_read_ds_1.t_order_federate_sharding_0
(order_id_sharding IN
CREATE TABLE encrypt_read_ds_1.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 encrypt_read_ds_1.t_user_encrypt_federate_sharding_0 (user_id INT
NOT NULL, plain_pwd VARCHAR(45) NULL, cipher_pwd VARCHAR(45) NULL, user_name
VARCHAR(45) NULL, PRIMARY KEY (user_id));
CREATE TABLE encrypt_read_ds_1.t_user_encrypt_federate_sharding_1 (user_id INT
NOT NULL, plain_pwd VARCHAR(45) NULL, cipher_pwd VARCHAR(45) NULL, user_name
VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE encrypt_read_ds_1.t_user_encrypt_federate (user_id INT NOT NULL,
plain_pwd VARCHAR(45) NULL, cipher_pwd VARCHAR(45) NULL, user_name VARCHAR(45)
NULL, PRIMARY KEY (user_id));
CREATE TABLE encrypt_read_ds_1.t_user_info (user_id INT NOT NULL, information
VARCHAR(45) NULL, PRIMARY KEY (user_id));
CREATE INDEX user_index_t_user_0 ON encrypt_read_ds_1.t_user_0 (user_id);
CREATE INDEX user_index_t_user_1 ON encrypt_read_ds_1.t_user_1 (user_id);
diff --git
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/dbtbl_with_readwrite_splitting_and_encrypt/init-sql/oracle/init.sql
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/dbtbl_with_readwrite_splitting_and_encrypt/init-sql/oracle/init.sql
index 8b84c93..e8cc648 100644
---
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/dbtbl_with_readwrite_splitting_and_encrypt/init-sql/oracle/init.sql
+++
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/dbtbl_with_readwrite_splitting_and_encrypt/init-sql/oracle/init.sql
@@ -120,6 +120,7 @@ CREATE TABLE encrypt_write_ds_1.t_order_federate_sharding_0
(order_id_sharding I
CREATE TABLE encrypt_write_ds_1.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 encrypt_write_ds_1.t_user_encrypt_federate_sharding_0 (user_id
INT NOT NULL, plain_pwd VARCHAR(45) NULL, cipher_pwd VARCHAR(45) NULL,
user_name VARCHAR(45) NULL, PRIMARY KEY (user_id));
CREATE TABLE encrypt_write_ds_1.t_user_encrypt_federate_sharding_1 (user_id
INT NOT NULL, plain_pwd VARCHAR(45) NULL, cipher_pwd VARCHAR(45) NULL,
user_name VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE encrypt_write_ds_1.t_user_encrypt_federate (user_id INT NOT NULL,
plain_pwd VARCHAR(45) NULL, cipher_pwd VARCHAR(45) NULL, user_name VARCHAR(45)
NULL, PRIMARY KEY (user_id));
CREATE TABLE encrypt_write_ds_1.t_user_info (user_id INT NOT NULL,
information VARCHAR(45) NULL, PRIMARY KEY (user_id));
CREATE INDEX user_index_t_user_0 ON encrypt_write_ds_1.t_user_0 (user_id);
CREATE INDEX user_index_t_user_1 ON encrypt_write_ds_1.t_user_1 (user_id);
@@ -440,6 +441,7 @@ CREATE TABLE encrypt_read_ds_1.t_order_federate_sharding_0
(order_id_sharding IN
CREATE TABLE encrypt_read_ds_1.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 encrypt_read_ds_1.t_user_encrypt_federate_sharding_0 (user_id INT
NOT NULL, plain_pwd VARCHAR(45) NULL, cipher_pwd VARCHAR(45) NULL, user_name
VARCHAR(45) NULL, PRIMARY KEY (user_id));
CREATE TABLE encrypt_read_ds_1.t_user_encrypt_federate_sharding_1 (user_id INT
NOT NULL, plain_pwd VARCHAR(45) NULL, cipher_pwd VARCHAR(45) NULL, user_name
VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE encrypt_read_ds_1.t_user_encrypt_federate (user_id INT NOT NULL,
plain_pwd VARCHAR(45) NULL, cipher_pwd VARCHAR(45) NULL, user_name VARCHAR(45)
NULL, PRIMARY KEY (user_id));
CREATE TABLE encrypt_read_ds_1.t_user_info (user_id INT NOT NULL, information
VARCHAR(45) NULL, PRIMARY KEY (user_id));
CREATE INDEX user_index_t_user_0 ON encrypt_read_ds_1.t_user_0 (user_id);
CREATE INDEX user_index_t_user_1 ON encrypt_read_ds_1.t_user_1 (user_id);
diff --git
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/dbtbl_with_readwrite_splitting_and_encrypt/init-sql/postgresql/init.sql
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/dbtbl_with_readwrite_splitting_and_encrypt/init-sql/postgresql/init.sql
index a89a8e6..c9e1e2d 100644
---
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/dbtbl_with_readwrite_splitting_and_encrypt/init-sql/postgresql/init.sql
+++
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/dbtbl_with_readwrite_splitting_and_encrypt/init-sql/postgresql/init.sql
@@ -144,6 +144,7 @@ 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));
@@ -173,6 +174,7 @@ CREATE TABLE t_order_federate_sharding_0 (order_id_sharding
INT NOT NULL, user_i
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, user_name 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, user_name 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, user_name 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);
@@ -704,6 +706,7 @@ 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;
@@ -734,6 +737,7 @@ CREATE TABLE t_order_federate_sharding_0 (order_id_sharding
INT NOT NULL, user_i
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, user_name 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, user_name 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, user_name 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);
diff --git
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/dbtbl_with_readwrite_splitting_and_encrypt/init-sql/sqlserver/init.sql
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/dbtbl_with_readwrite_splitting_and_encrypt/init-sql/sqlserver/init.sql
index d9eecc8..b3a67f7 100644
---
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/dbtbl_with_readwrite_splitting_and_encrypt/init-sql/sqlserver/init.sql
+++
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/dbtbl_with_readwrite_splitting_and_encrypt/init-sql/sqlserver/init.sql
@@ -120,6 +120,7 @@ CREATE TABLE encrypt_write_ds_1.t_order_federate_sharding_0
(order_id_sharding I
CREATE TABLE encrypt_write_ds_1.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 encrypt_write_ds_1.t_user_encrypt_federate_sharding_0 (user_id
INT NOT NULL, plain_pwd VARCHAR(45) NULL, cipher_pwd VARCHAR(45) NULL,
user_name VARCHAR(45) NULL, PRIMARY KEY (user_id));
CREATE TABLE encrypt_write_ds_1.t_user_encrypt_federate_sharding_1 (user_id
INT NOT NULL, plain_pwd VARCHAR(45) NULL, cipher_pwd VARCHAR(45) NULL,
user_name VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE encrypt_write_ds_1.t_user_encrypt_federate (user_id INT NOT NULL,
plain_pwd VARCHAR(45) NULL, cipher_pwd VARCHAR(45) NULL, user_name VARCHAR(45)
NULL, PRIMARY KEY (user_id));
CREATE TABLE encrypt_write_ds_1.t_user_info (user_id INT NOT NULL,
information VARCHAR(45) NULL, PRIMARY KEY (user_id));
CREATE INDEX user_index_t_user_0 ON encrypt_write_ds_1.t_user_0 (user_id);
CREATE INDEX user_index_t_user_1 ON encrypt_write_ds_1.t_user_1 (user_id);
@@ -440,6 +441,7 @@ CREATE TABLE encrypt_read_ds_1.t_order_federate_sharding_0
(order_id_sharding IN
CREATE TABLE encrypt_read_ds_1.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 encrypt_read_ds_1.t_user_encrypt_federate_sharding_0 (user_id INT
NOT NULL, plain_pwd VARCHAR(45) NULL, cipher_pwd VARCHAR(45) NULL, user_name
VARCHAR(45) NULL, PRIMARY KEY (user_id));
CREATE TABLE encrypt_read_ds_1.t_user_encrypt_federate_sharding_1 (user_id INT
NOT NULL, plain_pwd VARCHAR(45) NULL, cipher_pwd VARCHAR(45) NULL, user_name
VARCHAR(45) NULL, PRIMARY KEY (user_id));
+CREATE TABLE encrypt_read_ds_1.t_user_encrypt_federate (user_id INT NOT NULL,
plain_pwd VARCHAR(45) NULL, cipher_pwd VARCHAR(45) NULL, user_name VARCHAR(45)
NULL, PRIMARY KEY (user_id));
CREATE TABLE encrypt_read_ds_1.t_user_info (user_id INT NOT NULL, information
VARCHAR(45) NULL, PRIMARY KEY (user_id));
CREATE INDEX user_index_t_user_0 ON encrypt_read_ds_1.t_user_0 (user_id);
CREATE INDEX user_index_t_user_1 ON encrypt_read_ds_1.t_user_1 (user_id);
diff --git
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/dbtbl_with_readwrite_splitting_and_encrypt/rules.yaml
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/dbtbl_with_readwrite_splitting_and_encrypt/rules.yaml
index 6f8e350..c9695bf 100644
---
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/dbtbl_with_readwrite_splitting_and_encrypt/rules.yaml
+++
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/dbtbl_with_readwrite_splitting_and_encrypt/rules.yaml
@@ -171,6 +171,12 @@ rules:
plainColumn: number_plain
cipherColumn: number_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: