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 e0eb41ac33f Rename JoinConditionsEncryptorComparator (#32274)
e0eb41ac33f is described below

commit e0eb41ac33fba87d1ef4455c217dc8bf946b7662
Author: Liang Zhang <zhangli...@apache.org>
AuthorDate: Fri Jul 26 01:17:16 2024 +0800

    Rename JoinConditionsEncryptorComparator (#32274)
    
    * Rename JoinConditionsEncryptorComparator
    
    * Rename JoinConditionsEncryptorComparator
---
 ...va => InsertSelectColumnsEncryptorComparator.java} | 19 ++++++++++---------
 ...er.java => JoinConditionsEncryptorComparator.java} |  6 +++---
 .../EncryptPredicateColumnTokenGenerator.java         |  4 ++--
 .../insert/EncryptInsertCipherNameTokenGenerator.java |  4 ++--
 .../EncryptInsertDefaultColumnsTokenGenerator.java    |  4 ++--
 5 files changed, 19 insertions(+), 18 deletions(-)

diff --git 
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/comparator/InsertSelectColumnsSameEncryptorUsageChecker.java
 
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/comparator/InsertSelectColumnsEncryptorComparator.java
similarity index 75%
rename from 
features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/comparator/InsertSelectColumnsSameEncryptorUsageChecker.java
rename to 
features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/comparator/InsertSelectColumnsEncryptorComparator.java
index 9cec77b5667..cad76f2942d 100644
--- 
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/comparator/InsertSelectColumnsSameEncryptorUsageChecker.java
+++ 
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/comparator/InsertSelectColumnsEncryptorComparator.java
@@ -31,13 +31,13 @@ import java.util.Collection;
 import java.util.Iterator;
 
 /**
- * Insert select columns same encryptor usage checker.
+ * Insert select columns encryptor comparator.
  */
 @NoArgsConstructor(access = AccessLevel.PRIVATE)
-public final class InsertSelectColumnsSameEncryptorUsageChecker {
+public final class InsertSelectColumnsEncryptorComparator {
     
     /**
-     * Judge whether all insert select columns use same encryptor or not.
+     * Compare whether same encryptor.
      *
      * @param insertColumns insert columns
      * @param projections projections
@@ -48,13 +48,14 @@ public final class 
InsertSelectColumnsSameEncryptorUsageChecker {
         Iterator<ColumnSegment> insertColumnsIterator = 
insertColumns.iterator();
         Iterator<Projection> projectionIterator = projections.iterator();
         while (insertColumnsIterator.hasNext()) {
-            ColumnSegment columnSegment = insertColumnsIterator.next();
-            EncryptAlgorithm columnEncryptor = encryptRule.findQueryEncryptor(
-                    
columnSegment.getColumnBoundInfo().getOriginalTable().getValue(), 
columnSegment.getColumnBoundInfo().getOriginalColumn().getValue()).orElse(null);
+            ColumnSegment insertColumnSegment = insertColumnsIterator.next();
+            EncryptAlgorithm insertColumnEncryptor = 
encryptRule.findQueryEncryptor(
+                    
insertColumnSegment.getColumnBoundInfo().getOriginalTable().getValue(), 
insertColumnSegment.getColumnBoundInfo().getOriginalColumn().getValue()).orElse(null);
             Projection projection = projectionIterator.next();
-            ColumnSegmentBoundInfo columnBoundInfo = 
getColumnSegmentBoundInfo(projection);
-            EncryptAlgorithm projectionEncryptor = 
encryptRule.findQueryEncryptor(columnBoundInfo.getOriginalTable().getValue(), 
columnBoundInfo.getOriginalColumn().getValue()).orElse(null);
-            if (!EncryptorComparator.isSame(columnEncryptor, 
projectionEncryptor)) {
+            ColumnSegmentBoundInfo projectionColumnBoundInfo = 
getColumnSegmentBoundInfo(projection);
+            EncryptAlgorithm projectionEncryptor =
+                    
encryptRule.findQueryEncryptor(projectionColumnBoundInfo.getOriginalTable().getValue(),
 projectionColumnBoundInfo.getOriginalColumn().getValue()).orElse(null);
+            if (!EncryptorComparator.isSame(insertColumnEncryptor, 
projectionEncryptor)) {
                 return false;
             }
         }
diff --git 
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/comparator/JoinConditionsSameEncryptorUsageChecker.java
 
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/comparator/JoinConditionsEncryptorComparator.java
similarity index 93%
rename from 
features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/comparator/JoinConditionsSameEncryptorUsageChecker.java
rename to 
features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/comparator/JoinConditionsEncryptorComparator.java
index e506a4d6970..58dec2588d6 100644
--- 
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/comparator/JoinConditionsSameEncryptorUsageChecker.java
+++ 
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/comparator/JoinConditionsEncryptorComparator.java
@@ -28,13 +28,13 @@ import 
org.apache.shardingsphere.sql.parser.statement.core.segment.generic.bound
 import java.util.Collection;
 
 /**
- * Join conditions same encryptor usage checker.
+ * Join conditions encryptor comparator.
  */
 @NoArgsConstructor(access = AccessLevel.PRIVATE)
-public final class JoinConditionsSameEncryptorUsageChecker {
+public final class JoinConditionsEncryptorComparator {
     
     /**
-     * Judge whether all join conditions use same encryptor or not.
+     * Compare whether same encryptor.
      *
      * @param joinConditions join conditions
      * @param encryptRule encrypt rule
diff --git 
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/EncryptPredicateColumnTokenGenerator.java
 
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/EncryptPredicateColumnTokenGenerator.java
index 69e2e744614..ca56e7c65d9 100644
--- 
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/EncryptPredicateColumnTokenGenerator.java
+++ 
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/EncryptPredicateColumnTokenGenerator.java
@@ -21,7 +21,7 @@ import lombok.Setter;
 import 
org.apache.shardingsphere.encrypt.exception.syntax.UnsupportedEncryptSQLException;
 import org.apache.shardingsphere.encrypt.rewrite.aware.DatabaseTypeAware;
 import org.apache.shardingsphere.encrypt.rewrite.aware.EncryptRuleAware;
-import 
org.apache.shardingsphere.encrypt.rewrite.token.comparator.JoinConditionsSameEncryptorUsageChecker;
+import 
org.apache.shardingsphere.encrypt.rewrite.token.comparator.JoinConditionsEncryptorComparator;
 import org.apache.shardingsphere.encrypt.rule.EncryptRule;
 import org.apache.shardingsphere.encrypt.rule.column.EncryptColumn;
 import org.apache.shardingsphere.encrypt.rule.column.item.LikeQueryColumnItem;
@@ -84,7 +84,7 @@ public final class EncryptPredicateColumnTokenGenerator 
implements CollectionSQL
             whereSegments = ((WhereAvailable) 
sqlStatementContext).getWhereSegments();
             joinConditions = ((WhereAvailable) 
sqlStatementContext).getJoinConditions();
         }
-        
ShardingSpherePreconditions.checkState(JoinConditionsSameEncryptorUsageChecker.isSame(joinConditions,
 encryptRule),
+        
ShardingSpherePreconditions.checkState(JoinConditionsEncryptorComparator.isSame(joinConditions,
 encryptRule),
                 () -> new UnsupportedSQLOperationException("Can not use 
different encryptor in join condition"));
         String defaultSchema = new 
DatabaseTypeRegistry(sqlStatementContext.getDatabaseType()).getDefaultSchemaName(databaseName);
         ShardingSphereSchema schema = ((TableAvailable) 
sqlStatementContext).getTablesContext().getSchemaName().map(schemas::get).orElseGet(()
 -> schemas.get(defaultSchema));
diff --git 
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/insert/EncryptInsertCipherNameTokenGenerator.java
 
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/insert/EncryptInsertCipherNameTokenGenerator.java
index fb3fc973aed..5028d8205db 100644
--- 
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/insert/EncryptInsertCipherNameTokenGenerator.java
+++ 
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/insert/EncryptInsertCipherNameTokenGenerator.java
@@ -20,7 +20,7 @@ package 
org.apache.shardingsphere.encrypt.rewrite.token.generator.insert;
 import com.google.common.base.Preconditions;
 import lombok.Setter;
 import org.apache.shardingsphere.encrypt.rewrite.aware.EncryptRuleAware;
-import 
org.apache.shardingsphere.encrypt.rewrite.token.comparator.InsertSelectColumnsSameEncryptorUsageChecker;
+import 
org.apache.shardingsphere.encrypt.rewrite.token.comparator.InsertSelectColumnsEncryptorComparator;
 import org.apache.shardingsphere.encrypt.rule.EncryptRule;
 import org.apache.shardingsphere.encrypt.rule.table.EncryptTable;
 import 
org.apache.shardingsphere.infra.binder.context.segment.select.projection.Projection;
@@ -65,7 +65,7 @@ public final class EncryptInsertCipherNameTokenGenerator 
implements CollectionSQ
         if (null != insertStatementContext.getInsertSelectContext()) {
             Collection<Projection> projections = 
insertStatementContext.getInsertSelectContext().getSelectStatementContext().getProjectionsContext().getExpandProjections();
             ShardingSpherePreconditions.checkState(insertColumns.size() == 
projections.size(), () -> new UnsupportedSQLOperationException("Column count 
doesn't match value count."));
-            
ShardingSpherePreconditions.checkState(InsertSelectColumnsSameEncryptorUsageChecker.isSame(insertColumns,
 projections, encryptRule),
+            
ShardingSpherePreconditions.checkState(InsertSelectColumnsEncryptorComparator.isSame(insertColumns,
 projections, encryptRule),
                     () -> new UnsupportedSQLOperationException("Can not use 
different encryptor in insert select columns"));
         }
         EncryptTable encryptTable = 
encryptRule.getEncryptTable(insertStatementContext.getSqlStatement().getTable().getTableName().getIdentifier().getValue());
diff --git 
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/insert/EncryptInsertDefaultColumnsTokenGenerator.java
 
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/insert/EncryptInsertDefaultColumnsTokenGenerator.java
index 2f6cdf1c711..28964573e1e 100644
--- 
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/insert/EncryptInsertDefaultColumnsTokenGenerator.java
+++ 
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/insert/EncryptInsertDefaultColumnsTokenGenerator.java
@@ -20,7 +20,7 @@ package 
org.apache.shardingsphere.encrypt.rewrite.token.generator.insert;
 import com.google.common.base.Preconditions;
 import lombok.Setter;
 import org.apache.shardingsphere.encrypt.rewrite.aware.EncryptRuleAware;
-import 
org.apache.shardingsphere.encrypt.rewrite.token.comparator.InsertSelectColumnsSameEncryptorUsageChecker;
+import 
org.apache.shardingsphere.encrypt.rewrite.token.comparator.InsertSelectColumnsEncryptorComparator;
 import org.apache.shardingsphere.encrypt.rule.EncryptRule;
 import org.apache.shardingsphere.encrypt.rule.column.EncryptColumn;
 import org.apache.shardingsphere.encrypt.rule.table.EncryptTable;
@@ -90,7 +90,7 @@ public final class EncryptInsertDefaultColumnsTokenGenerator 
implements Optional
             Collection<ColumnSegment> derivedInsertColumns = 
insertStatementContext.getSqlStatement().getDerivedInsertColumns();
             Collection<Projection> projections = 
insertStatementContext.getInsertSelectContext().getSelectStatementContext().getProjectionsContext().getExpandProjections();
             ShardingSpherePreconditions.checkState(derivedInsertColumns.size() 
== projections.size(), () -> new UnsupportedSQLOperationException("Column count 
doesn't match value count."));
-            
ShardingSpherePreconditions.checkState(InsertSelectColumnsSameEncryptorUsageChecker.isSame(derivedInsertColumns,
 projections, encryptRule),
+            
ShardingSpherePreconditions.checkState(InsertSelectColumnsEncryptorComparator.isSame(derivedInsertColumns,
 projections, encryptRule),
                     () -> new UnsupportedSQLOperationException("Can not use 
different encryptor in insert select columns"));
         }
         return new UseDefaultInsertColumnsToken(

Reply via email to