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 a9f2aeb0222 Remove EncryptRule.findEncryptColumn (#26251)
a9f2aeb0222 is described below

commit a9f2aeb022211e1f818bdd96638d6cba809538d8
Author: Liang Zhang <[email protected]>
AuthorDate: Sat Jun 10 17:01:41 2023 +0800

    Remove EncryptRule.findEncryptColumn (#26251)
---
 .../encrypt/rewrite/condition/EncryptConditionEngine.java     |  2 +-
 .../token/generator/EncryptAlterTableTokenGenerator.java      |  2 +-
 .../token/generator/EncryptProjectionTokenGenerator.java      |  6 +++---
 .../org/apache/shardingsphere/encrypt/rule/EncryptRule.java   | 11 -----------
 .../rewrite/impl/EncryptAlterTableTokenGeneratorTest.java     |  4 ++--
 .../rewrite/impl/EncryptProjectionTokenGeneratorTest.java     |  2 +-
 .../org/apache/shardingsphere/sharding/rule/ShardingRule.java |  2 +-
 7 files changed, 9 insertions(+), 20 deletions(-)

diff --git 
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/condition/EncryptConditionEngine.java
 
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/condition/EncryptConditionEngine.java
index 2c67868a7c5..08396319c02 100644
--- 
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/condition/EncryptConditionEngine.java
+++ 
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/condition/EncryptConditionEngine.java
@@ -118,7 +118,7 @@ public final class EncryptConditionEngine {
         }
         for (ColumnSegment each : ColumnExtractor.extract(expression)) {
             String tableName = 
expressionTableNames.getOrDefault(each.getExpression(), "");
-            Optional<EncryptColumn> encryptColumn = 
encryptRule.findEncryptColumn(tableName, each.getIdentifier().getValue());
+            Optional<EncryptColumn> encryptColumn = 
encryptRule.findEncryptTable(tableName).flatMap(optional -> 
optional.findEncryptColumn(each.getIdentifier().getValue()));
             Optional<EncryptCondition> encryptCondition = 
encryptColumn.isPresent() ? createEncryptCondition(expression, tableName) : 
Optional.empty();
             encryptCondition.ifPresent(encryptConditions::add);
         }
diff --git 
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/EncryptAlterTableTokenGenerator.java
 
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/EncryptAlterTableTokenGenerator.java
index 26bf43603f1..53bf8e3c428 100644
--- 
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/EncryptAlterTableTokenGenerator.java
+++ 
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/EncryptAlterTableTokenGenerator.java
@@ -136,7 +136,7 @@ public final class EncryptAlterTableTokenGenerator 
implements CollectionSQLToken
     }
     
     private EncryptColumn getEncryptColumn(final String tableName, final 
String columnName) {
-        return encryptRule.findEncryptColumn(tableName, 
columnName).orElseThrow(() -> new EncryptColumnNotFoundException(tableName, 
columnName));
+        return encryptRule.findEncryptTable(tableName).flatMap(optional -> 
optional.findEncryptColumn(columnName)).orElseThrow(() -> new 
EncryptColumnNotFoundException(tableName, columnName));
     }
     
     @SuppressWarnings("rawtypes")
diff --git 
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/EncryptProjectionTokenGenerator.java
 
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/EncryptProjectionTokenGenerator.java
index 915ba0aa714..a5e55d3e2cd 100644
--- 
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/EncryptProjectionTokenGenerator.java
+++ 
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/EncryptProjectionTokenGenerator.java
@@ -88,7 +88,7 @@ public final class EncryptProjectionTokenGenerator implements 
CollectionSQLToken
                 ColumnProjectionSegment columnSegment = 
(ColumnProjectionSegment) each;
                 ColumnProjection columnProjection = 
buildColumnProjection(columnSegment);
                 String tableName = 
columnTableNames.get(columnProjection.getExpression());
-                if (isEncryptColumn(tableName, columnProjection.getName())) {
+                if (null != tableName && 
encryptRule.findEncryptTable(tableName).flatMap(optional -> 
optional.findEncryptColumn(columnProjection.getName())).isPresent()) {
                     result.add(generateSQLToken(tableName, columnSegment, 
columnProjection, subqueryType));
                 }
             }
@@ -103,7 +103,7 @@ public final class EncryptProjectionTokenGenerator 
implements CollectionSQLToken
     }
     
     private boolean isEncryptColumn(final String tableName, final String 
columnName) {
-        return null != tableName && encryptRule.findEncryptColumn(tableName, 
columnName).isPresent();
+        return null != tableName && 
encryptRule.findEncryptTable(tableName).flatMap(optional -> 
optional.findEncryptColumn(columnName)).isPresent();
     }
     
     private SubstitutableColumnNameToken generateSQLToken(final String 
tableName, final ColumnProjectionSegment columnSegment,
@@ -119,7 +119,7 @@ public final class EncryptProjectionTokenGenerator 
implements CollectionSQLToken
         List<Projection> projections = new LinkedList<>();
         for (Projection each : actualColumns) {
             String tableName = columnTableNames.get(each.getExpression());
-            if (!isEncryptColumn(tableName, each.getColumnLabel())) {
+            if (null == tableName || 
!encryptRule.findEncryptTable(tableName).flatMap(optional -> 
optional.findEncryptColumn(each.getColumnLabel())).isPresent()) {
                 projections.add(each.getAlias().map(optional -> (Projection) 
new ColumnProjection(null, optional, null)).orElse(each));
             } else if (each instanceof ColumnProjection) {
                 projections.addAll(generateProjections(tableName, 
(ColumnProjection) each, subqueryType, true, segment));
diff --git 
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rule/EncryptRule.java
 
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rule/EncryptRule.java
index 7269393de1e..566c923d9ae 100644
--- 
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rule/EncryptRule.java
+++ 
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rule/EncryptRule.java
@@ -125,17 +125,6 @@ public final class EncryptRule implements DatabaseRule, 
TableContainedRule {
         return Optional.ofNullable(tables.get(tableName.toLowerCase()));
     }
     
-    /**
-     * Find encrypt column.
-     * 
-     * @param tableName table name
-     * @param logicColumnName logic column name
-     * @return encrypt column
-     */
-    public Optional<EncryptColumn> findEncryptColumn(final String tableName, 
final String logicColumnName) {
-        return findEncryptTable(tableName).flatMap(optional -> 
optional.findEncryptColumn(logicColumnName));
-    }
-    
     /**
      * Find standard encryptor.
      *
diff --git 
a/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/rewrite/impl/EncryptAlterTableTokenGeneratorTest.java
 
b/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/rewrite/impl/EncryptAlterTableTokenGeneratorTest.java
index 9c366ef13bc..da7f629c485 100644
--- 
a/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/rewrite/impl/EncryptAlterTableTokenGeneratorTest.java
+++ 
b/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/rewrite/impl/EncryptAlterTableTokenGeneratorTest.java
@@ -66,12 +66,12 @@ class EncryptAlterTableTokenGeneratorTest {
         when(result.findLikeQueryColumn("t_encrypt", 
"certificate_number")).thenReturn(Optional.of("like_certificate_number"));
         EncryptTable encryptTable = mock(EncryptTable.class);
         
when(encryptTable.getLogicColumns()).thenReturn(Collections.singleton("t_encrypt"));
+        
when(encryptTable.findEncryptColumn("certificate_number")).thenReturn(Optional.of(mockEncryptColumn()));
+        
when(encryptTable.findEncryptColumn("certificate_number_new")).thenReturn(Optional.of(mockNewEncryptColumn()));
         StandardEncryptAlgorithm<?, ?> encryptAlgorithm = 
mock(StandardEncryptAlgorithm.class);
         when(result.findStandardEncryptor("t_encrypt", 
"certificate_number")).thenReturn(Optional.of(encryptAlgorithm));
         when(result.findStandardEncryptor("t_encrypt", 
"certificate_number_new")).thenReturn(Optional.of(encryptAlgorithm));
         
when(result.findEncryptTable("t_encrypt")).thenReturn(Optional.of(encryptTable));
-        when(result.findEncryptColumn("t_encrypt", 
"certificate_number")).thenReturn(Optional.of(mockEncryptColumn()));
-        when(result.findEncryptColumn("t_encrypt", 
"certificate_number_new")).thenReturn(Optional.of(mockNewEncryptColumn()));
         when(result.getCipherColumn("t_encrypt", 
"certificate_number_new")).thenReturn("cipher_certificate_number_new");
         return result;
     }
diff --git 
a/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/rewrite/impl/EncryptProjectionTokenGeneratorTest.java
 
b/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/rewrite/impl/EncryptProjectionTokenGeneratorTest.java
index eb53ff3f04b..1989dbc902d 100644
--- 
a/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/rewrite/impl/EncryptProjectionTokenGeneratorTest.java
+++ 
b/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/rewrite/impl/EncryptProjectionTokenGeneratorTest.java
@@ -72,7 +72,7 @@ class EncryptProjectionTokenGeneratorTest {
         
when(result.findEncryptTable("doctor1")).thenReturn(Optional.of(encryptTable2));
         EncryptColumn column = new EncryptColumn("mobile", new 
EncryptColumnItem("mobile", "standard_encryptor"));
         column.setLikeQuery(new EncryptColumnItem("mobile", "like_encryptor"));
-        when(result.findEncryptColumn("doctor", 
"mobile")).thenReturn(Optional.of(column));
+        
when(encryptTable1.findEncryptColumn("mobile")).thenReturn(Optional.of(column));
         return result;
     }
     
diff --git 
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rule/ShardingRule.java
 
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rule/ShardingRule.java
index bc6f8c82ed2..eed78d2cc27 100644
--- 
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rule/ShardingRule.java
+++ 
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rule/ShardingRule.java
@@ -715,7 +715,7 @@ public final class ShardingRule implements DatabaseRule, 
DataNodeContainedRule,
         }
         return shardingTableDataNodes.getOrDefault(tableName.toLowerCase(), 
Collections.emptyList());
     }
-
+    
     @Override
     public Optional<String> findFirstActualTable(final String logicTable) {
         return findTableRule(logicTable).map(optional -> 
optional.getActualDataNodes().get(0).getTableName());

Reply via email to