You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by zh...@apache.org on 2023/06/19 07:36:15 UTC
[shardingsphere] branch master updated: Refactor EncryptForUseDefaultInsertColumnsTokenGenerator and EncryptOrderByItemTokenGenerator (#26430)
This is an automated email from the ASF dual-hosted git repository.
zhangliang 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 60afe727c69 Refactor EncryptForUseDefaultInsertColumnsTokenGenerator and EncryptOrderByItemTokenGenerator (#26430)
60afe727c69 is described below
commit 60afe727c699d163d1d4e5ecccfd7971bcae6e4b
Author: Liang Zhang <zh...@apache.org>
AuthorDate: Mon Jun 19 15:36:07 2023 +0800
Refactor EncryptForUseDefaultInsertColumnsTokenGenerator and EncryptOrderByItemTokenGenerator (#26430)
---
...yptForUseDefaultInsertColumnsTokenGenerator.java | 21 +++++++++++----------
.../generator/EncryptOrderByItemTokenGenerator.java | 2 +-
.../EncryptOrderByItemTokenGeneratorTest.java | 2 +-
3 files changed, 13 insertions(+), 12 deletions(-)
diff --git a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/EncryptForUseDefaultInsertColumnsTokenGenerator.java b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/EncryptForUseDefaultInsertColumnsTokenGenerator.java
index 05c497b8b5b..681e4ba5c1c 100644
--- a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/EncryptForUseDefaultInsertColumnsTokenGenerator.java
+++ b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/EncryptForUseDefaultInsertColumnsTokenGenerator.java
@@ -88,16 +88,17 @@ public final class EncryptForUseDefaultInsertColumnsTokenGenerator implements Op
Iterator<String> descendingColumnNames = sqlStatementContext.getDescendingColumnNames();
while (descendingColumnNames.hasNext()) {
String columnName = descendingColumnNames.next();
- if (encryptTable.findEncryptorName(columnName).isPresent()) {
- int columnIndex = result.indexOf(columnName);
- setCipherColumn(result, encryptTable, columnName, columnIndex);
- if (encryptTable.findAssistedQueryColumn(columnName).isPresent()) {
- addAssistedQueryColumn(result, encryptTable, columnName, columnIndex);
- columnIndex++;
- }
- if (encryptTable.findLikeQueryEncryptorName(columnName).isPresent()) {
- addLikeQueryColumn(result, encryptTable, columnName, columnIndex);
- }
+ if (!encryptTable.isEncryptColumn(columnName)) {
+ continue;
+ }
+ int columnIndex = result.indexOf(columnName);
+ setCipherColumn(result, encryptTable, columnName, columnIndex);
+ if (encryptTable.findAssistedQueryColumn(columnName).isPresent()) {
+ addAssistedQueryColumn(result, encryptTable, columnName, columnIndex);
+ columnIndex++;
+ }
+ if (encryptTable.findLikeQueryEncryptorName(columnName).isPresent()) {
+ addLikeQueryColumn(result, encryptTable, columnName, columnIndex);
}
}
return result;
diff --git a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/EncryptOrderByItemTokenGenerator.java b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/EncryptOrderByItemTokenGenerator.java
index d5973e0591e..e49662969ed 100644
--- a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/EncryptOrderByItemTokenGenerator.java
+++ b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/EncryptOrderByItemTokenGenerator.java
@@ -81,7 +81,7 @@ public final class EncryptOrderByItemTokenGenerator implements CollectionSQLToke
for (ColumnSegment column : columnSegments) {
String tableName = columnTableNames.getOrDefault(column.getExpression(), "");
Optional<EncryptTable> encryptTable = encryptRule.findEncryptTable(tableName);
- if (!encryptTable.isPresent() || !encryptTable.get().findEncryptorName(column.getIdentifier().getValue()).isPresent()) {
+ if (!encryptTable.isPresent() || !encryptTable.get().isEncryptColumn(column.getIdentifier().getValue())) {
continue;
}
int startIndex = column.getOwner().isPresent() ? column.getOwner().get().getStopIndex() + 2 : column.getStartIndex();
diff --git a/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/EncryptOrderByItemTokenGeneratorTest.java b/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/EncryptOrderByItemTokenGeneratorTest.java
index 42a3958a028..4b08bc70fc9 100644
--- a/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/EncryptOrderByItemTokenGeneratorTest.java
+++ b/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/EncryptOrderByItemTokenGeneratorTest.java
@@ -59,7 +59,7 @@ class EncryptOrderByItemTokenGeneratorTest {
private EncryptRule mockEncryptRule() {
EncryptRule result = mock(EncryptRule.class);
EncryptTable encryptTable = mock(EncryptTable.class);
- when(encryptTable.findEncryptorName("certificate_number")).thenReturn(Optional.of("encryptor_name"));
+ when(encryptTable.isEncryptColumn("certificate_number")).thenReturn(true);
when(result.findEncryptTable("t_encrypt")).thenReturn(Optional.of(encryptTable));
return result;
}