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;
     }