This is an automated email from the ASF dual-hosted git repository.

panjuan 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 c160c9c  optimize encrypt community pr logic (#13611)
c160c9c is described below

commit c160c9c0896ececd9078c3ea799aa9640eaee5b7
Author: Zhengqiang Duan <[email protected]>
AuthorDate: Mon Nov 15 16:31:59 2021 +0800

    optimize encrypt community pr logic (#13611)
    
    * refactor EncryptConditionEngine
    
    * refactor EncryptPredicateColumnTokenGenerator
    
    * refactor EncryptProjectionTokenGenerator
---
 .../rewrite/condition/EncryptConditionEngine.java  | 84 +++++++++-------------
 .../impl/EncryptPredicateColumnTokenGenerator.java | 70 +++++++-----------
 .../impl/EncryptProjectionTokenGenerator.java      | 14 ++--
 .../rewrite/token/generator/impl/SubqueryEnum.java |  6 +-
 4 files changed, 65 insertions(+), 109 deletions(-)

diff --git 
a/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/condition/EncryptConditionEngine.java
 
b/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/condition/EncryptConditionEngine.java
index 4b53b0b..0b50a23 100644
--- 
a/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/condition/EncryptConditionEngine.java
+++ 
b/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/condition/EncryptConditionEngine.java
@@ -35,21 +35,21 @@ import 
org.apache.shardingsphere.sql.parser.sql.common.segment.dml.expr.Expressi
 import 
org.apache.shardingsphere.sql.parser.sql.common.segment.dml.expr.InExpression;
 import 
org.apache.shardingsphere.sql.parser.sql.common.segment.dml.expr.simple.SimpleExpressionSegment;
 import 
org.apache.shardingsphere.sql.parser.sql.common.segment.dml.expr.subquery.SubqueryExpressionSegment;
-import 
org.apache.shardingsphere.sql.parser.sql.common.segment.dml.expr.subquery.SubquerySegment;
 import 
org.apache.shardingsphere.sql.parser.sql.common.segment.dml.predicate.AndPredicate;
 import 
org.apache.shardingsphere.sql.parser.sql.common.segment.dml.predicate.WhereSegment;
-import 
org.apache.shardingsphere.sql.parser.sql.common.segment.generic.table.SubqueryTableSegment;
+import 
org.apache.shardingsphere.sql.parser.sql.common.statement.dml.SelectStatement;
 import org.apache.shardingsphere.sql.parser.sql.common.util.ColumnExtractor;
 import 
org.apache.shardingsphere.sql.parser.sql.common.util.ExpressionExtractUtil;
-import 
org.apache.shardingsphere.sql.parser.sql.common.util.SubqueryExtractUtil;
+import org.apache.shardingsphere.sql.parser.sql.common.util.WhereExtractUtil;
 
 import java.util.Collection;
-import java.util.Collections;
 import java.util.HashSet;
 import java.util.LinkedList;
 import java.util.List;
 import java.util.Map;
 import java.util.Optional;
+import java.util.Set;
+import java.util.TreeSet;
 import java.util.stream.Collectors;
 
 /**
@@ -58,42 +58,38 @@ import java.util.stream.Collectors;
 @RequiredArgsConstructor
 public final class EncryptConditionEngine {
     
+    private static final Set<String> LOGICAL_OPERATOR = new 
TreeSet<>(String.CASE_INSENSITIVE_ORDER);
+    
     private final EncryptRule encryptRule;
     
     private final ShardingSphereSchema schema;
     
+    static {
+        LOGICAL_OPERATOR.add("AND");
+        LOGICAL_OPERATOR.add("&&");
+        LOGICAL_OPERATOR.add("OR");
+        LOGICAL_OPERATOR.add("||");
+    }
+    
     /**
      * Create encrypt conditions.
      *
      * @param sqlStatementContext SQL statement context
      * @return encrypt conditions
      */
-    public Collection<EncryptCondition> createEncryptConditions(final 
SQLStatementContext sqlStatementContext) {
+    public Collection<EncryptCondition> createEncryptConditions(final 
SQLStatementContext<?> sqlStatementContext) {
         Collection<EncryptCondition> result = new LinkedList<>();
-        
result.addAll(createEncryptConditionsOnWhereSegment(sqlStatementContext));
-        if (sqlStatementContext instanceof InsertStatementContext && null != 
((InsertStatementContext) sqlStatementContext).getInsertSelectContext()) {
-            SelectStatementContext selectStatementContext = 
((InsertStatementContext) 
sqlStatementContext).getInsertSelectContext().getSelectStatementContext();
-            
result.addAll(createEncryptConditionsOnWhereSegment(selectStatementContext));
-        }
-        if (sqlStatementContext instanceof SelectStatementContext) {
-            SelectStatementContext selectStatementContext = 
(SelectStatementContext) sqlStatementContext;
-            
result.addAll(createEncryptConditionsOnSubquerySegment(selectStatementContext));
+        for (WhereSegment each : getWhereSegments(sqlStatementContext)) {
+            Collection<AndPredicate> andPredicates = 
ExpressionExtractUtil.getAndPredicates(each.getExpr());
+            Map<String, String> columnTableNames = 
getColumnTableNames(sqlStatementContext, andPredicates);
+            String schemaName = 
DMLStatementContextHelper.getSchemaName(sqlStatementContext);
+            for (AndPredicate predicate : andPredicates) {
+                result.addAll(createEncryptConditions(schemaName, 
predicate.getPredicates(), columnTableNames));
+            }
         }
         return result;
     }
     
-    private Collection<EncryptCondition> createEncryptConditions(final 
SelectStatementContext selectStatementContext, final SubquerySegment 
subquerySegment) {
-        SelectStatementContext subSelectStatementContext = new 
SelectStatementContext(selectStatementContext.getMetaDataMap(), 
selectStatementContext.getParameters(), subquerySegment.getSelect(),
-                selectStatementContext.getSchemaName());
-        return createEncryptConditions(subSelectStatementContext);
-    }
-    
-    private Collection<EncryptCondition> createEncryptConditions(final 
SelectStatementContext selectStatementContext, final SubqueryTableSegment 
subqueryTableSegment) {
-        SelectStatementContext subSelectStatementContext = new 
SelectStatementContext(selectStatementContext.getMetaDataMap(), 
selectStatementContext.getParameters(), 
-            subqueryTableSegment.getSubquery().getSelect(), 
selectStatementContext.getSchemaName());
-        return createEncryptConditions(subSelectStatementContext);
-    }
-    
     private Collection<EncryptCondition> createEncryptConditions(final String 
schemaName, final Collection<ExpressionSegment> predicates, final Map<String, 
String> columnTableNames) {
         Collection<EncryptCondition> result = new LinkedList<>();
         Collection<Integer> stopIndexes = new HashSet<>();
@@ -119,13 +115,10 @@ public final class EncryptConditionEngine {
     private Optional<EncryptCondition> createEncryptCondition(final 
ExpressionSegment expression, final String tableName) {
         if (expression instanceof BinaryOperationExpression) {
             String operator = ((BinaryOperationExpression) 
expression).getOperator();
-            boolean logical = "and".equalsIgnoreCase(operator) || 
"&&".equalsIgnoreCase(operator) || "OR".equalsIgnoreCase(operator) || 
"||".equalsIgnoreCase(operator);
-            if (!logical) {
+            if (!LOGICAL_OPERATOR.contains(operator)) {
                 ExpressionSegment rightValue = ((BinaryOperationExpression) 
expression).getRight();
-                return isSupportedOperator(((BinaryOperationExpression) 
expression).getOperator()) ? createCompareEncryptCondition(tableName, 
(BinaryOperationExpression) expression, rightValue)
-                        : Optional.empty();
+                return isSupportedOperator(operator) ? 
createCompareEncryptCondition(tableName, (BinaryOperationExpression) 
expression, rightValue) : Optional.empty();
             }
-            
         }
         if (expression instanceof InExpression) {
             return createInEncryptCondition(tableName, (InExpression) 
expression, ((InExpression) expression).getRight());
@@ -136,30 +129,17 @@ public final class EncryptConditionEngine {
         return Optional.empty();
     }
     
-    private Collection<EncryptCondition> 
createEncryptConditionsOnSubquerySegment(final SelectStatementContext 
selectStatementContext) {
-        if (!selectStatementContext.isContainsSubquery()) {
-            return Collections.emptyList();
+    private Collection<WhereSegment> getWhereSegments(final 
SQLStatementContext<?> sqlStatementContext) {
+        Collection<WhereSegment> result = new LinkedList<>();
+        if (sqlStatementContext instanceof WhereAvailable) {
+            ((WhereAvailable) 
sqlStatementContext).getWhere().ifPresent(result::add);
         }
-        Collection<EncryptCondition> result = new LinkedList<>();
-        
result.addAll(SubqueryExtractUtil.getSubquerySegments(selectStatementContext.getSqlStatement()).stream().map(
-            each -> createEncryptConditions(selectStatementContext, 
each)).flatMap(Collection::stream).collect(Collectors.toList()));
-        return result;
-    }
-    
-    private Collection<EncryptCondition> 
createEncryptConditionsOnWhereSegment(final SQLStatementContext 
sqlStatementContext) {
-        Collection<EncryptCondition> result = new LinkedList<>();
-        if (!(sqlStatementContext instanceof WhereAvailable)) {
-            return Collections.emptyList();
-        }
-        Optional<WhereSegment> whereSegment = ((WhereAvailable) 
sqlStatementContext).getWhere();
-        if (!whereSegment.isPresent()) {
-            return Collections.emptyList();
+        if (sqlStatementContext instanceof SelectStatementContext) {
+            
result.addAll(WhereExtractUtil.getSubqueryWhereSegments((SelectStatement) 
sqlStatementContext.getSqlStatement()));
+            
result.addAll(WhereExtractUtil.getJoinWhereSegments((SelectStatement) 
sqlStatementContext.getSqlStatement()));
         }
-        Collection<AndPredicate> andPredicates = 
ExpressionExtractUtil.getAndPredicates(whereSegment.get().getExpr());
-        Map<String, String> columnTableNames = 
getColumnTableNames(sqlStatementContext, andPredicates);
-        String schemaName = 
DMLStatementContextHelper.getSchemaName(sqlStatementContext);
-        for (AndPredicate each : andPredicates) {
-            result.addAll(createEncryptConditions(schemaName, 
each.getPredicates(), columnTableNames));
+        if (sqlStatementContext instanceof InsertStatementContext && null != 
((InsertStatementContext) sqlStatementContext).getInsertSelectContext()) {
+            result.addAll(getWhereSegments(((InsertStatementContext) 
sqlStatementContext).getInsertSelectContext().getSelectStatementContext()));
         }
         return result;
     }
diff --git 
a/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/impl/EncryptPredicateColumnTokenGenerator.java
 
b/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/impl/EncryptPredicateColumnTokenGenerator.java
index 9f6816e..c9a1af0 100644
--- 
a/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/impl/EncryptPredicateColumnTokenGenerator.java
+++ 
b/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/impl/EncryptPredicateColumnTokenGenerator.java
@@ -35,6 +35,7 @@ import 
org.apache.shardingsphere.sql.parser.sql.common.segment.dml.column.Column
 import 
org.apache.shardingsphere.sql.parser.sql.common.segment.dml.expr.ExpressionSegment;
 import 
org.apache.shardingsphere.sql.parser.sql.common.segment.dml.predicate.AndPredicate;
 import 
org.apache.shardingsphere.sql.parser.sql.common.segment.dml.predicate.WhereSegment;
+import 
org.apache.shardingsphere.sql.parser.sql.common.statement.dml.SelectStatement;
 import org.apache.shardingsphere.sql.parser.sql.common.util.ColumnExtractor;
 import 
org.apache.shardingsphere.sql.parser.sql.common.util.ExpressionExtractUtil;
 import org.apache.shardingsphere.sql.parser.sql.common.util.WhereExtractUtil;
@@ -58,20 +59,27 @@ public final class EncryptPredicateColumnTokenGenerator 
extends BaseEncryptSQLTo
     
     private boolean queryWithCipherColumn;
     
+    @SuppressWarnings("rawtypes")
     @Override
     protected boolean isGenerateSQLTokenForEncrypt(final SQLStatementContext 
sqlStatementContext) {
-        return (sqlStatementContext instanceof WhereAvailable && 
((WhereAvailable) sqlStatementContext).getWhere().isPresent())
-                || (sqlStatementContext instanceof SelectStatementContext && 
(((SelectStatementContext) sqlStatementContext).isContainsJoinQuery()
-                || ((SelectStatementContext) 
sqlStatementContext).isContainsSubquery()))
-                || ((sqlStatementContext instanceof InsertStatementContext) && 
null != ((InsertStatementContext) 
sqlStatementContext).getInsertSelectContext());
+        boolean containsJoinQueryOrSubquery = sqlStatementContext instanceof 
SelectStatementContext 
+                && (((SelectStatementContext) 
sqlStatementContext).isContainsJoinQuery() || ((SelectStatementContext) 
sqlStatementContext).isContainsSubquery());
+        boolean containsInsertSelectContext = (sqlStatementContext instanceof 
InsertStatementContext) && null != ((InsertStatementContext) 
sqlStatementContext).getInsertSelectContext();
+        return containsJoinQueryOrSubquery || containsInsertSelectContext || 
(sqlStatementContext instanceof WhereAvailable && ((WhereAvailable) 
sqlStatementContext).getWhere().isPresent());
     }
     
+    @SuppressWarnings("rawtypes")
     @Override
     public Collection<SubstitutableColumnNameToken> generateSQLTokens(final 
SQLStatementContext sqlStatementContext) {
-        Collection<WhereSegment> whereSegments = 
getWhereSegments(sqlStatementContext);
-        Collection<AndPredicate> andPredicates = 
whereSegments.stream().flatMap(each -> 
ExpressionExtractUtil.getAndPredicates(each.getExpr()).stream()).collect(Collectors.toList());
-        Map<String, String> columnTableNames = 
getColumnTableNames(sqlStatementContext, andPredicates, whereSegments);
-        return andPredicates.stream().flatMap(each -> 
generateSQLTokens(sqlStatementContext, each.getPredicates(), 
columnTableNames).stream()).collect(Collectors.toCollection(LinkedHashSet::new));
+        Collection<SubstitutableColumnNameToken> result = new 
LinkedHashSet<>();
+        for (WhereSegment each : getWhereSegments(sqlStatementContext)) {
+            Collection<AndPredicate> andPredicates = 
ExpressionExtractUtil.getAndPredicates(each.getExpr());
+            Map<String, String> columnTableNames = 
getColumnTableNames(sqlStatementContext, andPredicates);
+            for (AndPredicate predicate : andPredicates) {
+                result.addAll(generateSQLTokens(sqlStatementContext, 
predicate.getPredicates(), columnTableNames));
+            }
+        }
+        return result;
     }
 
     private Collection<SubstitutableColumnNameToken> generateSQLTokens(final 
SQLStatementContext sqlStatementContext, final Collection<ExpressionSegment> 
predicates,
@@ -110,52 +118,22 @@ public final class EncryptPredicateColumnTokenGenerator 
extends BaseEncryptSQLTo
     
     private Collection<WhereSegment> getWhereSegments(final 
SQLStatementContext<?> sqlStatementContext) {
         Collection<WhereSegment> result = new LinkedList<>();
-        result.addAll(getWhereSegmentsFromWhereAvailable(sqlStatementContext));
+        if (sqlStatementContext instanceof WhereAvailable) {
+            ((WhereAvailable) 
sqlStatementContext).getWhere().ifPresent(result::add);
+        }
         if (sqlStatementContext instanceof SelectStatementContext) {
-            SelectStatementContext selectStatementContext = 
(SelectStatementContext) sqlStatementContext;
-            result.addAll(getWhereSegmentsOnJoinQuery(selectStatementContext));
-            result.addAll(getWhereSegmentsOnSubquery(selectStatementContext));
+            
result.addAll(WhereExtractUtil.getSubqueryWhereSegments((SelectStatement) 
sqlStatementContext.getSqlStatement()));
+            
result.addAll(WhereExtractUtil.getJoinWhereSegments((SelectStatement) 
sqlStatementContext.getSqlStatement()));
         }
-        if (sqlStatementContext instanceof InsertStatementContext && null != 
((InsertStatementContext) 
sqlStatementContext).getInsertSelectContext().getSelectStatementContext()) {
-            SelectStatementContext selectStatementContext = 
((InsertStatementContext) 
sqlStatementContext).getInsertSelectContext().getSelectStatementContext();
-            
result.addAll(getWhereSegmentsFromWhereAvailable(selectStatementContext));
+        if (sqlStatementContext instanceof InsertStatementContext && null != 
((InsertStatementContext) sqlStatementContext).getInsertSelectContext()) {
+            result.addAll(getWhereSegments(((InsertStatementContext) 
sqlStatementContext).getInsertSelectContext().getSelectStatementContext()));
         }
         return result;
     }
     
-    private Collection<WhereSegment> getWhereSegmentsOnSubquery(final 
SelectStatementContext selectStatementContext) {
-        if (!selectStatementContext.isContainsSubquery()) {
-            return Collections.emptyList();
-        }
-        Collection<WhereSegment> result = new LinkedList<>();
-        selectStatementContext.getSubquerySegments().forEach(each -> {
-            SelectStatementContext subquerySelectStatementContext = new 
SelectStatementContext(selectStatementContext.getMetaDataMap(),
-                    selectStatementContext.getParameters(), each.getSelect(), 
selectStatementContext.getSchemaName());
-            
result.addAll(getWhereSegmentsFromWhereAvailable(subquerySelectStatementContext));
-            
result.addAll(getWhereSegmentsOnJoinQuery(subquerySelectStatementContext));
-        });
-        return result;
-    }
-
-    private Collection<WhereSegment> getWhereSegmentsFromWhereAvailable(final 
SQLStatementContext<?> sqlStatementContext) {
-        if (sqlStatementContext instanceof WhereAvailable && ((WhereAvailable) 
sqlStatementContext).getWhere().isPresent()) {
-            return Collections.singletonList(((WhereAvailable) 
sqlStatementContext).getWhere().get());
-        }
-        return Collections.emptyList();
-    }
-
-    private Collection<WhereSegment> getWhereSegmentsOnJoinQuery(final 
SelectStatementContext selectStatementContext) {
-        if (!selectStatementContext.isContainsJoinQuery()) {
-            return Collections.emptyList();
-        }
-        return 
WhereExtractUtil.getJoinWhereSegments(selectStatementContext.getSqlStatement());
-    }
-
-    private Map<String, String> getColumnTableNames(final 
SQLStatementContext<?> sqlStatementContext, final Collection<AndPredicate> 
andPredicates,
-                                                    final 
Collection<WhereSegment> whereSegments) {
+    private Map<String, String> getColumnTableNames(final 
SQLStatementContext<?> sqlStatementContext, final Collection<AndPredicate> 
andPredicates) {
         Collection<ColumnSegment> columns = 
andPredicates.stream().flatMap(each -> each.getPredicates().stream())
                 .flatMap(each -> 
ColumnExtractor.extract(each).stream()).filter(Objects::nonNull).collect(Collectors.toList());
-        columns.addAll(whereSegments.stream().flatMap(each -> 
ColumnExtractor.extract(each.getExpr()).stream()).collect(Collectors.toList()));
         return sqlStatementContext.getTablesContext().findTableName(columns, 
schema);
     }
     
diff --git 
a/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/impl/EncryptProjectionTokenGenerator.java
 
b/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/impl/EncryptProjectionTokenGenerator.java
index 2ff23be..df3ac6f 100644
--- 
a/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/impl/EncryptProjectionTokenGenerator.java
+++ 
b/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/impl/EncryptProjectionTokenGenerator.java
@@ -64,24 +64,26 @@ public final class EncryptProjectionTokenGenerator extends 
BaseEncryptSQLTokenGe
     
     private List<SQLToken> previousSQLTokens;
     
+    @SuppressWarnings("rawtypes")
     @Override
     protected boolean isGenerateSQLTokenForEncrypt(final SQLStatementContext 
sqlStatementContext) {
         return (sqlStatementContext instanceof SelectStatementContext && 
!((SelectStatementContext) sqlStatementContext).getAllTables().isEmpty())
                 || ((sqlStatementContext instanceof InsertStatementContext) && 
null != ((InsertStatementContext) 
sqlStatementContext).getInsertSelectContext());
     }
     
+    @SuppressWarnings("rawtypes")
     @Override
     public Collection<SubstitutableColumnNameToken> generateSQLTokens(final 
SQLStatementContext sqlStatementContext) {
         Collection<SubstitutableColumnNameToken> result = new 
LinkedHashSet<>();
         SubqueryTableContext subqueryTableContext = new SubqueryTableContext();
         if (sqlStatementContext instanceof InsertStatementContext) {
-            result.addAll(generateSQLTokens(((InsertStatementContext) 
sqlStatementContext).getInsertSelectContext().getSelectStatementContext(), 
Optional.empty(), SubqueryEnum.INSERTSELECT,
+            result.addAll(generateSQLTokens(((InsertStatementContext) 
sqlStatementContext).getInsertSelectContext().getSelectStatementContext(), 
Optional.empty(), SubqueryEnum.INSERT_SELECT,
                     subqueryTableContext));
         }
         if (sqlStatementContext instanceof SelectStatementContext) {
             SelectStatementContext selectStatementContext = 
(SelectStatementContext) sqlStatementContext;
             result.addAll(generateSQLTokens(selectStatementContext, 
subqueryTableContext));
-            result.addAll(generateSQLTokens(selectStatementContext, 
Optional.empty(), SubqueryEnum.None, subqueryTableContext));
+            result.addAll(generateSQLTokens(selectStatementContext, 
Optional.empty(), SubqueryEnum.NONE, subqueryTableContext));
         }
         return result;
     }
@@ -109,7 +111,7 @@ public final class EncryptProjectionTokenGenerator extends 
BaseEncryptSQLTokenGe
     private Collection<SubstitutableColumnNameToken> generateSQLTokens(final 
SelectStatementContext selectStatementContext, final SubqueryTableSegment 
subqueryTableSegment, 
                                                                        final 
SubqueryTableContext subqueryTableContext) {
         return generateSQLTokens(new 
SelectStatementContext(selectStatementContext.getMetaDataMap(), 
selectStatementContext.getParameters(), 
subqueryTableSegment.getSubquery().getSelect(),
-                   selectStatementContext.getSchemaName()), 
subqueryTableSegment.getAlias(), SubqueryEnum.NESTEDPROJECTIONTABSEGMENT, 
subqueryTableContext);
+                   selectStatementContext.getSchemaName()), 
subqueryTableSegment.getAlias(), SubqueryEnum.NESTED_PROJECTION_TABLE_SEGMENT, 
subqueryTableContext);
     }
 
     private Collection<SubstitutableColumnNameToken> generateSQLTokens(final 
SelectStatementContext selectStatementContext, final Optional<String> alias,
@@ -230,20 +232,20 @@ public final class EncryptProjectionTokenGenerator 
extends BaseEncryptSQLTokenGe
     private Collection<ColumnProjection> getColumnProjections(final 
ColumnProjectionSegment segment, final String tableName, final Optional<String> 
alias, final String encryptColumnName,
                                                               final 
SubqueryEnum subqueryEnum, final SubqueryTableContext subqueryTableContext) {
         Collection<ColumnProjection> result = new LinkedList<>();
-        if (SubqueryEnum.INSERTSELECT.equals(subqueryEnum)) {
+        if (SubqueryEnum.INSERT_SELECT.equals(subqueryEnum)) {
             result.addAll(getColumnProjectionsForInsertSelect(segment, 
tableName, encryptColumnName));
         }
         if (SubqueryEnum.PROJECTION.equals(subqueryEnum)) {
             result.add(columnProjection(null, encryptColumnName, null));
         }
-        if (SubqueryEnum.NESTEDPROJECTIONTABSEGMENT.equals(subqueryEnum)) {
+        if (SubqueryEnum.NESTED_PROJECTION_TABLE_SEGMENT.equals(subqueryEnum)) 
{
             result.add(columnProjection(null, encryptColumnName, null));
             
result.addAll(getColumnProjectionsForSubqueryProjectionOrTabSegment(segment, 
tableName, alias, subqueryTableContext));
         }
         if (SubqueryEnum.EXPRESSION.equals(subqueryEnum)) {
             result.addAll(getColumnProjectionsForInExpression(segment, 
tableName));
         }
-        if (SubqueryEnum.None.equals(subqueryEnum)) {
+        if (SubqueryEnum.NONE.equals(subqueryEnum)) {
             result.add(columnProjection(null, encryptColumnName, 
segment.getAlias().orElse(segment.getColumn().getIdentifier().getValue())));
         }
         return result;
diff --git 
a/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/impl/SubqueryEnum.java
 
b/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/impl/SubqueryEnum.java
index 6c9040d..e5891f8 100644
--- 
a/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/impl/SubqueryEnum.java
+++ 
b/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/impl/SubqueryEnum.java
@@ -21,9 +21,5 @@ package 
org.apache.shardingsphere.encrypt.rewrite.token.generator.impl;
  * Subquery enum.
  */
 public enum SubqueryEnum {
-    None, 
-    INSERTSELECT, 
-    PROJECTION, 
-    NESTEDPROJECTIONTABSEGMENT, 
-    EXPRESSION
+    NONE, INSERT_SELECT, PROJECTION, NESTED_PROJECTION_TABLE_SEGMENT, 
EXPRESSION
 }

Reply via email to