This is an automated email from the ASF dual-hosted git repository.
tuichenchuxin 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 f3ae9f59730 Optimize show create table decorate logic (#19416)
f3ae9f59730 is described below
commit f3ae9f597302b764f4114c75bd2821b42f660431
Author: Zhengqiang Duan <[email protected]>
AuthorDate: Thu Jul 21 14:38:08 2022 +0800
Optimize show create table decorate logic (#19416)
---
.../merge/dal/show/EncryptShowCreateTableMergedResult.java | 6 +++---
.../dal/show/DecoratedEncryptShowCreateTableMergedResultTest.java | 8 ++++----
.../dal/show/MergedEncryptShowCreateTableMergedResultTest.java | 8 ++++----
3 files changed, 11 insertions(+), 11 deletions(-)
diff --git
a/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-core/src/main/java/org/apache/shardingsphere/encrypt/merge/dal/show/EncryptShowCreateTableMergedResult.java
b/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-core/src/main/java/org/apache/shardingsphere/encrypt/merge/dal/show/EncryptShowCreateTableMergedResult.java
index 1fd5a897c15..6555980741b 100644
---
a/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-core/src/main/java/org/apache/shardingsphere/encrypt/merge/dal/show/EncryptShowCreateTableMergedResult.java
+++
b/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-core/src/main/java/org/apache/shardingsphere/encrypt/merge/dal/show/EncryptShowCreateTableMergedResult.java
@@ -88,12 +88,12 @@ public abstract class EncryptShowCreateTableMergedResult
implements MergedResult
return Optional.empty();
}
Optional<String> plainColumn = encryptColumn.get().getPlainColumn();
- if (plainColumn.isPresent() &&
columnDefinition.contains(plainColumn.get())) {
- return Optional.of(columnDefinition.replace(plainColumn.get(),
logicColumn));
- }
if (columnDefinition.contains(encryptColumn.get().getCipherColumn())) {
return plainColumn.isPresent() ? Optional.empty() :
Optional.of(columnDefinition.replace(encryptColumn.get().getCipherColumn(),
logicColumn));
}
+ if (plainColumn.isPresent() &&
columnDefinition.contains(plainColumn.get())) {
+ return Optional.of(columnDefinition.replace(plainColumn.get(),
logicColumn));
+ }
return Optional.of(columnDefinition);
}
diff --git
a/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-core/src/test/java/org/apache/shardingsphere/encrypt/merge/dal/show/DecoratedEncryptShowCreateTableMergedResultTest.java
b/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-core/src/test/java/org/apache/shardingsphere/encrypt/merge/dal/show/DecoratedEncryptShowCreateTableMergedResultTest.java
index 91a2fb7cacd..672fef35f1a 100644
---
a/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-core/src/test/java/org/apache/shardingsphere/encrypt/merge/dal/show/DecoratedEncryptShowCreateTableMergedResultTest.java
+++
b/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-core/src/test/java/org/apache/shardingsphere/encrypt/merge/dal/show/DecoratedEncryptShowCreateTableMergedResultTest.java
@@ -63,9 +63,9 @@ public final class
DecoratedEncryptShowCreateTableMergedResultTest {
when(mergedResult.next()).thenReturn(true).thenReturn(false);
when(mergedResult.getValue(2, String.class)).thenReturn(
"CREATE TABLE `t_encrypt` (`id` INT NOT NULL, `user_id_cipher`
VARCHAR(100) NOT NULL, "
- + "`user_id_plain` VARCHAR(100) NOT NULL, `order_id`
VARCHAR(30) NOT NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT
CHARSET=utf8mb4;");
+ + "`user_id` VARCHAR(100) NOT NULL, `order_id`
VARCHAR(30) NOT NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT
CHARSET=utf8mb4;");
DecoratedEncryptShowCreateTableMergedResult actual =
-
createDecoratedEncryptShowCreateTableMergedResult(mergedResult,
mockEncryptRule(new EncryptColumn("user_id_cipher", null, "user_id_plain",
null, false)));
+
createDecoratedEncryptShowCreateTableMergedResult(mergedResult,
mockEncryptRule(new EncryptColumn("user_id_cipher", null, "user_id", null,
false)));
assertTrue(actual.next());
assertThat(actual.getValue(2, String.class),
is("CREATE TABLE `t_encrypt` (`id` INT NOT NULL, `user_id`
VARCHAR(100) NOT NULL, `order_id` VARCHAR(30) NOT NULL, PRIMARY KEY (`id`))
ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;"));
@@ -88,10 +88,10 @@ public final class
DecoratedEncryptShowCreateTableMergedResultTest {
public void assertGetValueWhenConfigPlainColumnAndAssistedQueryColumn()
throws SQLException {
when(mergedResult.next()).thenReturn(true).thenReturn(false);
when(mergedResult.getValue(2, String.class)).thenReturn(
- "CREATE TABLE `t_encrypt` (`id` INT NOT NULL, `user_id_cipher`
VARCHAR(100) NOT NULL, `user_id_plain` VARCHAR(100) NOT NULL, "
+ "CREATE TABLE `t_encrypt` (`id` INT NOT NULL, `user_id_cipher`
VARCHAR(100) NOT NULL, `user_id` VARCHAR(100) NOT NULL, "
+ "`user_id_assisted` VARCHAR(100) NOT NULL,
`order_id` VARCHAR(30) NOT NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT
CHARSET=utf8mb4;");
DecoratedEncryptShowCreateTableMergedResult actual =
-
createDecoratedEncryptShowCreateTableMergedResult(mergedResult,
mockEncryptRule(new EncryptColumn("user_id_cipher", "user_id_assisted",
"user_id_plain", null, false)));
+
createDecoratedEncryptShowCreateTableMergedResult(mergedResult,
mockEncryptRule(new EncryptColumn("user_id_cipher", "user_id_assisted",
"user_id", null, false)));
assertTrue(actual.next());
assertThat(actual.getValue(2, String.class),
is("CREATE TABLE `t_encrypt` (`id` INT NOT NULL, `user_id`
VARCHAR(100) NOT NULL, `order_id` VARCHAR(30) NOT NULL, PRIMARY KEY (`id`))
ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;"));
diff --git
a/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-core/src/test/java/org/apache/shardingsphere/encrypt/merge/dal/show/MergedEncryptShowCreateTableMergedResultTest.java
b/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-core/src/test/java/org/apache/shardingsphere/encrypt/merge/dal/show/MergedEncryptShowCreateTableMergedResultTest.java
index 3cd201c17ca..5f12009a73c 100644
---
a/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-core/src/test/java/org/apache/shardingsphere/encrypt/merge/dal/show/MergedEncryptShowCreateTableMergedResultTest.java
+++
b/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-core/src/test/java/org/apache/shardingsphere/encrypt/merge/dal/show/MergedEncryptShowCreateTableMergedResultTest.java
@@ -63,9 +63,9 @@ public final class
MergedEncryptShowCreateTableMergedResultTest {
when(queryResult.next()).thenReturn(true).thenReturn(false);
when(queryResult.getValue(2, String.class)).thenReturn(
"CREATE TABLE `t_encrypt` (`id` INT NOT NULL, `user_id_cipher`
VARCHAR(100) NOT NULL, "
- + "`user_id_plain` VARCHAR(100) NOT NULL, `order_id`
VARCHAR(30) NOT NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT
CHARSET=utf8mb4;");
+ + "`user_id` VARCHAR(100) NOT NULL, `order_id`
VARCHAR(30) NOT NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT
CHARSET=utf8mb4;");
MergedEncryptShowCreateTableMergedResult actual =
- createMergedEncryptShowCreateTableMergedResult(queryResult,
mockEncryptRule(new EncryptColumn("user_id_cipher", null, "user_id_plain",
null, false)));
+ createMergedEncryptShowCreateTableMergedResult(queryResult,
mockEncryptRule(new EncryptColumn("user_id_cipher", null, "user_id", null,
false)));
assertTrue(actual.next());
assertThat(actual.getValue(2, String.class),
is("CREATE TABLE `t_encrypt` (`id` INT NOT NULL, `user_id`
VARCHAR(100) NOT NULL, `order_id` VARCHAR(30) NOT NULL, PRIMARY KEY (`id`))
ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;"));
@@ -88,10 +88,10 @@ public final class
MergedEncryptShowCreateTableMergedResultTest {
public void assertGetValueWhenConfigPlainColumnAndAssistedQueryColumn()
throws SQLException {
when(queryResult.next()).thenReturn(true).thenReturn(false);
when(queryResult.getValue(2, String.class)).thenReturn(
- "CREATE TABLE `t_encrypt` (`id` INT NOT NULL, `user_id_cipher`
VARCHAR(100) NOT NULL, `user_id_plain` VARCHAR(100) NOT NULL, "
+ "CREATE TABLE `t_encrypt` (`id` INT NOT NULL, `user_id_cipher`
VARCHAR(100) NOT NULL, `user_id` VARCHAR(100) NOT NULL, "
+ "`user_id_assisted` VARCHAR(100) NOT NULL,
`order_id` VARCHAR(30) NOT NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT
CHARSET=utf8mb4;");
MergedEncryptShowCreateTableMergedResult actual =
- createMergedEncryptShowCreateTableMergedResult(queryResult,
mockEncryptRule(new EncryptColumn("user_id_cipher", "user_id_assisted",
"user_id_plain", null, false)));
+ createMergedEncryptShowCreateTableMergedResult(queryResult,
mockEncryptRule(new EncryptColumn("user_id_cipher", "user_id_assisted",
"user_id", null, false)));
assertTrue(actual.next());
assertThat(actual.getValue(2, String.class),
is("CREATE TABLE `t_encrypt` (`id` INT NOT NULL, `user_id`
VARCHAR(100) NOT NULL, `order_id` VARCHAR(30) NOT NULL, PRIMARY KEY (`id`))
ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;"));