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 4e3e074df66 Refactor EncryptSQLRewriteContextDecorator (#33770)
4e3e074df66 is described below

commit 4e3e074df661e9106177f5555601838faa299ab7
Author: Liang Zhang <[email protected]>
AuthorDate: Sat Nov 23 17:05:57 2024 +0800

    Refactor EncryptSQLRewriteContextDecorator (#33770)
    
    * Refactor EncryptSQLRewriteContextDecorator
    
    * Refactor EncryptSQLRewriteContextDecorator
    
    * Refactor EncryptSQLRewriteContextDecorator
---
 .../rewrite/context/EncryptSQLRewriteContextDecorator.java     | 10 +++++-----
 .../generator/assignment/EncryptAssignmentTokenGenerator.java  |  4 ++--
 .../assignment/EncryptInsertAssignmentTokenGenerator.java      |  6 +++---
 .../assignment/EncryptUpdateAssignmentTokenGenerator.java      |  6 +++---
 .../token/generator/ddl/EncryptAlterTableTokenGenerator.java   |  4 ++--
 .../token/generator/ddl/EncryptCreateTableTokenGenerator.java  |  4 ++--
 .../insert/EncryptInsertCipherNameTokenGenerator.java          |  6 +++---
 .../insert/EncryptInsertDefaultColumnsTokenGenerator.java      |  8 ++++----
 .../insert/EncryptInsertDerivedColumnsTokenGenerator.java      |  4 ++--
 .../generator/insert/EncryptInsertOnUpdateTokenGenerator.java  |  4 ++--
 .../generator/insert/EncryptInsertValuesTokenGenerator.java    |  8 ++++----
 .../predicate/EncryptInsertPredicateColumnTokenGenerator.java  |  4 ++--
 .../EncryptInsertPredicateRightValueTokenGenerator.java        |  4 ++--
 .../predicate/EncryptPredicateColumnTokenGenerator.java        |  4 ++--
 .../predicate/EncryptPredicateRightValueTokenGenerator.java    |  4 ++--
 .../EncryptInsertSelectProjectionTokenGenerator.java           |  4 ++--
 .../generator/projection/EncryptProjectionTokenGenerator.java  |  6 +++---
 .../projection/EncryptSelectProjectionTokenGenerator.java      |  4 ++--
 .../generator/select/EncryptGroupByItemTokenGenerator.java     |  4 ++--
 .../generator/select/EncryptIndexColumnTokenGenerator.java     |  4 ++--
 .../rewrite/context/ShardingSQLRewriteContextDecorator.java    |  4 +++-
 21 files changed, 54 insertions(+), 52 deletions(-)

diff --git 
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/context/EncryptSQLRewriteContextDecorator.java
 
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/context/EncryptSQLRewriteContextDecorator.java
index a37b41b5a73..a85849fc096 100644
--- 
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/context/EncryptSQLRewriteContextDecorator.java
+++ 
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/context/EncryptSQLRewriteContextDecorator.java
@@ -81,20 +81,20 @@ public final class EncryptSQLRewriteContextDecorator 
implements SQLRewriteContex
         SQLStatementContext sqlStatementContext = 
sqlRewriteContext.getSqlStatementContext();
         if (sqlStatementContext instanceof InsertStatementContext && null != 
((InsertStatementContext) sqlStatementContext).getInsertSelectContext()
                 && !(((InsertStatementContext) 
sqlStatementContext).getInsertSelectContext().getSelectStatementContext()).getWhereSegments().isEmpty())
 {
-            return doCreateEncryptConditions(rule, sqlRewriteContext, 
((InsertStatementContext) 
sqlStatementContext).getInsertSelectContext().getSelectStatementContext());
+            return createEncryptConditions(rule, sqlRewriteContext, 
((InsertStatementContext) 
sqlStatementContext).getInsertSelectContext().getSelectStatementContext());
         }
-        return doCreateEncryptConditions(rule, sqlRewriteContext, 
sqlStatementContext);
+        return createEncryptConditions(rule, sqlRewriteContext, 
sqlStatementContext);
     }
     
-    private Collection<EncryptCondition> doCreateEncryptConditions(final 
EncryptRule rule, final SQLRewriteContext sqlRewriteContext, final 
SQLStatementContext sqlStatementContext) {
+    private Collection<EncryptCondition> createEncryptConditions(final 
EncryptRule rule, final SQLRewriteContext sqlRewriteContext, final 
SQLStatementContext sqlStatementContext) {
         if (!(sqlStatementContext instanceof WhereAvailable)) {
             return Collections.emptyList();
         }
         Collection<SelectStatementContext> allSubqueryContexts = 
SQLStatementContextExtractor.getAllSubqueryContexts(sqlStatementContext);
         Collection<WhereSegment> whereSegments = 
SQLStatementContextExtractor.getWhereSegments((WhereAvailable) 
sqlStatementContext, allSubqueryContexts);
         Collection<ColumnSegment> columnSegments = 
SQLStatementContextExtractor.getColumnSegments((WhereAvailable) 
sqlStatementContext, allSubqueryContexts);
-        return new EncryptConditionEngine(rule, 
sqlRewriteContext.getDatabase().getSchemas()).createEncryptConditions(whereSegments,
 columnSegments, sqlStatementContext,
-                sqlRewriteContext.getDatabase().getName());
+        return new EncryptConditionEngine(
+                rule, 
sqlRewriteContext.getDatabase().getSchemas()).createEncryptConditions(whereSegments,
 columnSegments, sqlStatementContext, 
sqlRewriteContext.getDatabase().getName());
     }
     
     private void rewriteParameters(final SQLRewriteContext sqlRewriteContext, 
final Collection<ParameterRewriter> parameterRewriters) {
diff --git 
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/assignment/EncryptAssignmentTokenGenerator.java
 
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/assignment/EncryptAssignmentTokenGenerator.java
index c441e49878e..f045d9b352a 100644
--- 
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/assignment/EncryptAssignmentTokenGenerator.java
+++ 
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/assignment/EncryptAssignmentTokenGenerator.java
@@ -46,7 +46,7 @@ import java.util.Optional;
 @RequiredArgsConstructor
 public final class EncryptAssignmentTokenGenerator {
     
-    private final EncryptRule encryptRule;
+    private final EncryptRule rule;
     
     private final String databaseName;
     
@@ -61,7 +61,7 @@ public final class EncryptAssignmentTokenGenerator {
      */
     public Collection<SQLToken> generateSQLTokens(final TablesContext 
tablesContext, final SetAssignmentSegment setAssignmentSegment) {
         String tableName = 
tablesContext.getSimpleTables().iterator().next().getTableName().getIdentifier().getValue();
-        EncryptTable encryptTable = encryptRule.getEncryptTable(tableName);
+        EncryptTable encryptTable = rule.getEncryptTable(tableName);
         Collection<SQLToken> result = new LinkedList<>();
         String schemaName = tablesContext.getSchemaName().orElseGet(() -> new 
DatabaseTypeRegistry(databaseType).getDefaultSchemaName(databaseName));
         for (ColumnAssignmentSegment each : 
setAssignmentSegment.getAssignments()) {
diff --git 
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/assignment/EncryptInsertAssignmentTokenGenerator.java
 
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/assignment/EncryptInsertAssignmentTokenGenerator.java
index 7b40480fe41..824c20c84ee 100644
--- 
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/assignment/EncryptInsertAssignmentTokenGenerator.java
+++ 
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/assignment/EncryptInsertAssignmentTokenGenerator.java
@@ -38,20 +38,20 @@ import java.util.Collection;
 @Setter
 public final class EncryptInsertAssignmentTokenGenerator implements 
CollectionSQLTokenGenerator<InsertStatementContext>, DatabaseNameAware {
     
-    private final EncryptRule encryptRule;
+    private final EncryptRule rule;
     
     private String databaseName;
     
     @Override
     public boolean isGenerateSQLToken(final SQLStatementContext 
sqlStatementContext) {
         return sqlStatementContext instanceof InsertStatementContext && 
(((InsertStatementContext) 
sqlStatementContext).getSqlStatement()).getSetAssignment().isPresent()
-                && encryptRule.findEncryptTable(((TableAvailable) 
sqlStatementContext).getTablesContext().getSimpleTables().iterator().next().getTableName().getIdentifier().getValue()).isPresent();
+                && rule.findEncryptTable(((TableAvailable) 
sqlStatementContext).getTablesContext().getSimpleTables().iterator().next().getTableName().getIdentifier().getValue()).isPresent();
     }
     
     @SuppressWarnings("OptionalGetWithoutIsPresent")
     @Override
     public Collection<SQLToken> generateSQLTokens(final InsertStatementContext 
sqlStatementContext) {
-        return new EncryptAssignmentTokenGenerator(encryptRule, databaseName, 
sqlStatementContext.getDatabaseType()).generateSQLTokens(
+        return new EncryptAssignmentTokenGenerator(rule, databaseName, 
sqlStatementContext.getDatabaseType()).generateSQLTokens(
                 sqlStatementContext.getTablesContext(), 
sqlStatementContext.getSqlStatement().getSetAssignment().get());
     }
 }
diff --git 
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/assignment/EncryptUpdateAssignmentTokenGenerator.java
 
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/assignment/EncryptUpdateAssignmentTokenGenerator.java
index 77248230f19..1c1333c9d1c 100644
--- 
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/assignment/EncryptUpdateAssignmentTokenGenerator.java
+++ 
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/assignment/EncryptUpdateAssignmentTokenGenerator.java
@@ -38,19 +38,19 @@ import java.util.Collection;
 @Setter
 public final class EncryptUpdateAssignmentTokenGenerator implements 
CollectionSQLTokenGenerator<UpdateStatementContext>, DatabaseNameAware {
     
-    private final EncryptRule encryptRule;
+    private final EncryptRule rule;
     
     private String databaseName;
     
     @Override
     public boolean isGenerateSQLToken(final SQLStatementContext 
sqlStatementContext) {
         return sqlStatementContext instanceof UpdateStatementContext
-                && encryptRule.findEncryptTable(((TableAvailable) 
sqlStatementContext).getTablesContext().getSimpleTables().iterator().next().getTableName().getIdentifier().getValue()).isPresent();
+                && rule.findEncryptTable(((TableAvailable) 
sqlStatementContext).getTablesContext().getSimpleTables().iterator().next().getTableName().getIdentifier().getValue()).isPresent();
     }
     
     @Override
     public Collection<SQLToken> generateSQLTokens(final UpdateStatementContext 
sqlStatementContext) {
-        return new EncryptAssignmentTokenGenerator(encryptRule, databaseName, 
sqlStatementContext.getDatabaseType())
+        return new EncryptAssignmentTokenGenerator(rule, databaseName, 
sqlStatementContext.getDatabaseType())
                 .generateSQLTokens(sqlStatementContext.getTablesContext(), 
sqlStatementContext.getSqlStatement().getSetAssignment());
     }
 }
diff --git 
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/ddl/EncryptAlterTableTokenGenerator.java
 
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/ddl/EncryptAlterTableTokenGenerator.java
index 096ce3ef87f..9215aec1f18 100644
--- 
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/ddl/EncryptAlterTableTokenGenerator.java
+++ 
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/ddl/EncryptAlterTableTokenGenerator.java
@@ -58,7 +58,7 @@ import java.util.Optional;
 @Setter
 public final class EncryptAlterTableTokenGenerator implements 
CollectionSQLTokenGenerator<AlterTableStatementContext> {
     
-    private final EncryptRule encryptRule;
+    private final EncryptRule rule;
     
     @Override
     public boolean isGenerateSQLToken(final SQLStatementContext 
sqlStatementContext) {
@@ -68,7 +68,7 @@ public final class EncryptAlterTableTokenGenerator implements 
CollectionSQLToken
     @Override
     public Collection<SQLToken> generateSQLTokens(final 
AlterTableStatementContext sqlStatementContext) {
         String tableName = 
sqlStatementContext.getSqlStatement().getTable().getTableName().getIdentifier().getValue();
-        EncryptTable encryptTable = encryptRule.getEncryptTable(tableName);
+        EncryptTable encryptTable = rule.getEncryptTable(tableName);
         Collection<SQLToken> result = new 
LinkedList<>(getAddColumnTokens(encryptTable, 
sqlStatementContext.getSqlStatement().getAddColumnDefinitions()));
         result.addAll(getModifyColumnTokens(encryptTable, 
sqlStatementContext.getSqlStatement().getModifyColumnDefinitions()));
         result.addAll(getChangeColumnTokens(encryptTable, 
sqlStatementContext.getSqlStatement().getChangeColumnDefinitions()));
diff --git 
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/ddl/EncryptCreateTableTokenGenerator.java
 
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/ddl/EncryptCreateTableTokenGenerator.java
index 8e21a1b73b7..985ac8bdcb9 100644
--- 
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/ddl/EncryptCreateTableTokenGenerator.java
+++ 
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/ddl/EncryptCreateTableTokenGenerator.java
@@ -43,7 +43,7 @@ import java.util.Optional;
 @RequiredArgsConstructor
 public final class EncryptCreateTableTokenGenerator implements 
CollectionSQLTokenGenerator<CreateTableStatementContext> {
     
-    private final EncryptRule encryptRule;
+    private final EncryptRule rule;
     
     @Override
     public boolean isGenerateSQLToken(final SQLStatementContext 
sqlStatementContext) {
@@ -54,7 +54,7 @@ public final class EncryptCreateTableTokenGenerator 
implements CollectionSQLToke
     public Collection<SQLToken> generateSQLTokens(final 
CreateTableStatementContext sqlStatementContext) {
         Collection<SQLToken> result = new LinkedList<>();
         String tableName = 
sqlStatementContext.getSqlStatement().getTable().getTableName().getIdentifier().getValue();
-        EncryptTable encryptTable = encryptRule.getEncryptTable(tableName);
+        EncryptTable encryptTable = rule.getEncryptTable(tableName);
         List<ColumnDefinitionSegment> columns = new 
ArrayList<>(sqlStatementContext.getSqlStatement().getColumnDefinitions());
         for (int index = 0; index < columns.size(); index++) {
             ColumnDefinitionSegment each = columns.get(index);
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 f6e6d7e8601..94722edbc19 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
@@ -50,7 +50,7 @@ import java.util.Optional;
 @Setter
 public final class EncryptInsertCipherNameTokenGenerator implements 
CollectionSQLTokenGenerator<InsertStatementContext> {
     
-    private final EncryptRule encryptRule;
+    private final EncryptRule rule;
     
     @Override
     public boolean isGenerateSQLToken(final SQLStatementContext 
sqlStatementContext) {
@@ -69,7 +69,7 @@ public final class EncryptInsertCipherNameTokenGenerator 
implements CollectionSQ
         if (null != insertStatementContext.getInsertSelectContext()) {
             
checkInsertSelectEncryptor(insertStatementContext.getInsertSelectContext().getSelectStatementContext(),
 insertColumns);
         }
-        EncryptTable encryptTable = 
encryptRule.getEncryptTable(insertStatementContext.getSqlStatement().getTable().map(optional
 -> optional.getTableName().getIdentifier().getValue()).orElse(""));
+        EncryptTable encryptTable = 
rule.getEncryptTable(insertStatementContext.getSqlStatement().getTable().map(optional
 -> optional.getTableName().getIdentifier().getValue()).orElse(""));
         Collection<SQLToken> result = new LinkedList<>();
         for (ColumnSegment each : insertColumns) {
             String columnName = each.getIdentifier().getValue();
@@ -85,7 +85,7 @@ public final class EncryptInsertCipherNameTokenGenerator 
implements CollectionSQ
     private void checkInsertSelectEncryptor(final SelectStatementContext 
selectStatementContext, final Collection<ColumnSegment> insertColumns) {
         Collection<Projection> projections = 
selectStatementContext.getProjectionsContext().getExpandProjections();
         ShardingSpherePreconditions.checkState(insertColumns.size() == 
projections.size(), () -> new UnsupportedSQLOperationException("Column count 
doesn't match value count."));
-        
ShardingSpherePreconditions.checkState(InsertSelectColumnsEncryptorComparator.isSame(insertColumns,
 projections, encryptRule),
+        
ShardingSpherePreconditions.checkState(InsertSelectColumnsEncryptorComparator.isSame(insertColumns,
 projections, rule),
                 () -> new UnsupportedSQLOperationException("Can not use 
different encryptor in insert select columns"));
     }
 }
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 97cd5721f6c..fe5b24134e0 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
@@ -51,7 +51,7 @@ import java.util.Optional;
 @Setter
 public final class EncryptInsertDefaultColumnsTokenGenerator implements 
OptionalSQLTokenGenerator<InsertStatementContext>, PreviousSQLTokensAware {
     
-    private final EncryptRule encryptRule;
+    private final EncryptRule rule;
     
     private List<SQLToken> previousSQLTokens;
     
@@ -81,7 +81,7 @@ public final class EncryptInsertDefaultColumnsTokenGenerator 
implements Optional
     }
     
     private void processPreviousSQLToken(final UseDefaultInsertColumnsToken 
previousSQLToken, final InsertStatementContext insertStatementContext, final 
String tableName) {
-        List<String> columnNames = getColumnNames(insertStatementContext, 
encryptRule.getEncryptTable(tableName), previousSQLToken.getColumns());
+        List<String> columnNames = getColumnNames(insertStatementContext, 
rule.getEncryptTable(tableName), previousSQLToken.getColumns());
         previousSQLToken.getColumns().clear();
         previousSQLToken.getColumns().addAll(columnNames);
     }
@@ -93,11 +93,11 @@ 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(InsertSelectColumnsEncryptorComparator.isSame(derivedInsertColumns,
 projections, encryptRule),
+            
ShardingSpherePreconditions.checkState(InsertSelectColumnsEncryptorComparator.isSame(derivedInsertColumns,
 projections, rule),
                     () -> new UnsupportedSQLOperationException("Can not use 
different encryptor in insert select columns"));
         }
         return new UseDefaultInsertColumnsToken(
-                insertColumnsSegment.get().getStopIndex(), 
getColumnNames(insertStatementContext, encryptRule.getEncryptTable(tableName), 
insertStatementContext.getColumnNames()));
+                insertColumnsSegment.get().getStopIndex(), 
getColumnNames(insertStatementContext, rule.getEncryptTable(tableName), 
insertStatementContext.getColumnNames()));
     }
     
     private List<String> getColumnNames(final InsertStatementContext 
sqlStatementContext, final EncryptTable encryptTable, final List<String> 
currentColumnNames) {
diff --git 
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/insert/EncryptInsertDerivedColumnsTokenGenerator.java
 
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/insert/EncryptInsertDerivedColumnsTokenGenerator.java
index 52d06d7ffab..efd890e927e 100644
--- 
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/insert/EncryptInsertDerivedColumnsTokenGenerator.java
+++ 
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/insert/EncryptInsertDerivedColumnsTokenGenerator.java
@@ -43,7 +43,7 @@ import java.util.List;
 @Setter
 public final class EncryptInsertDerivedColumnsTokenGenerator implements 
CollectionSQLTokenGenerator<InsertStatementContext> {
     
-    private final EncryptRule encryptRule;
+    private final EncryptRule rule;
     
     @Override
     public boolean isGenerateSQLToken(final SQLStatementContext 
sqlStatementContext) {
@@ -53,7 +53,7 @@ public final class EncryptInsertDerivedColumnsTokenGenerator 
implements Collecti
     @Override
     public Collection<SQLToken> generateSQLTokens(final InsertStatementContext 
insertStatementContext) {
         Collection<SQLToken> result = new LinkedList<>();
-        EncryptTable encryptTable = 
encryptRule.getEncryptTable(insertStatementContext.getSqlStatement().getTable().map(optional
 -> optional.getTableName().getIdentifier().getValue()).orElse(""));
+        EncryptTable encryptTable = 
rule.getEncryptTable(insertStatementContext.getSqlStatement().getTable().map(optional
 -> optional.getTableName().getIdentifier().getValue()).orElse(""));
         for (ColumnSegment each : 
insertStatementContext.getSqlStatement().getColumns()) {
             List<String> derivedColumnNames = 
getDerivedColumnNames(encryptTable, each);
             if (!derivedColumnNames.isEmpty()) {
diff --git 
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/insert/EncryptInsertOnUpdateTokenGenerator.java
 
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/insert/EncryptInsertOnUpdateTokenGenerator.java
index 631fcde77bb..6c33f06c0aa 100644
--- 
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/insert/EncryptInsertOnUpdateTokenGenerator.java
+++ 
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/insert/EncryptInsertOnUpdateTokenGenerator.java
@@ -58,7 +58,7 @@ import java.util.Optional;
 @Setter
 public final class EncryptInsertOnUpdateTokenGenerator implements 
CollectionSQLTokenGenerator<InsertStatementContext>, DatabaseNameAware {
     
-    private final EncryptRule encryptRule;
+    private final EncryptRule rule;
     
     private String databaseName;
     
@@ -78,7 +78,7 @@ public final class EncryptInsertOnUpdateTokenGenerator 
implements CollectionSQLT
         String schemaName = 
insertStatementContext.getTablesContext().getSchemaName()
                 .orElseGet(() -> new 
DatabaseTypeRegistry(insertStatementContext.getDatabaseType()).getDefaultSchemaName(databaseName));
         String tableName = insertStatement.getTable().map(optional -> 
optional.getTableName().getIdentifier().getValue()).orElse("");
-        EncryptTable encryptTable = encryptRule.getEncryptTable(tableName);
+        EncryptTable encryptTable = rule.getEncryptTable(tableName);
         Collection<SQLToken> result = new LinkedList<>();
         for (ColumnAssignmentSegment each : onDuplicateKeyColumnsSegments) {
             boolean leftColumnIsEncrypt = 
encryptTable.isEncryptColumn(each.getColumns().get(0).getIdentifier().getValue());
diff --git 
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/insert/EncryptInsertValuesTokenGenerator.java
 
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/insert/EncryptInsertValuesTokenGenerator.java
index c6ec5114336..c6a64eb842e 100644
--- 
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/insert/EncryptInsertValuesTokenGenerator.java
+++ 
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/insert/EncryptInsertValuesTokenGenerator.java
@@ -59,7 +59,7 @@ import java.util.Optional;
 @Setter
 public final class EncryptInsertValuesTokenGenerator implements 
OptionalSQLTokenGenerator<InsertStatementContext>, PreviousSQLTokensAware, 
DatabaseNameAware {
     
-    private final EncryptRule encryptRule;
+    private final EncryptRule rule;
     
     private List<SQLToken> previousSQLTokens;
     
@@ -91,7 +91,7 @@ public final class EncryptInsertValuesTokenGenerator 
implements OptionalSQLToken
     
     private void processPreviousSQLToken(final InsertStatementContext 
insertStatementContext, final InsertValuesToken insertValuesToken) {
         String tableName = 
insertStatementContext.getSqlStatement().getTable().map(optional -> 
optional.getTableName().getIdentifier().getValue()).orElse("");
-        EncryptTable encryptTable = encryptRule.getEncryptTable(tableName);
+        EncryptTable encryptTable = rule.getEncryptTable(tableName);
         int count = 0;
         String schemaName = 
insertStatementContext.getTablesContext().getSchemaName()
                 .orElseGet(() -> new 
DatabaseTypeRegistry(insertStatementContext.getDatabaseType()).getDefaultSchemaName(databaseName));
@@ -105,7 +105,7 @@ public final class EncryptInsertValuesTokenGenerator 
implements OptionalSQLToken
         String tableName = 
insertStatementContext.getSqlStatement().getTable().map(optional -> 
optional.getTableName().getIdentifier().getValue()).orElse("");
         Collection<InsertValuesSegment> insertValuesSegments = 
insertStatementContext.getSqlStatement().getValues();
         InsertValuesToken result = new 
EncryptInsertValuesToken(getStartIndex(insertValuesSegments), 
getStopIndex(insertValuesSegments));
-        EncryptTable encryptTable = encryptRule.getEncryptTable(tableName);
+        EncryptTable encryptTable = rule.getEncryptTable(tableName);
         String schemaName = 
insertStatementContext.getTablesContext().getSchemaName()
                 .orElseGet(() -> new 
DatabaseTypeRegistry(insertStatementContext.getDatabaseType()).getDefaultSchemaName(databaseName));
         for (InsertValueContext each : 
insertStatementContext.getInsertValueContexts()) {
@@ -142,7 +142,7 @@ public final class EncryptInsertValuesTokenGenerator 
implements OptionalSQLToken
             if (!encryptTable.isEncryptColumn(columnName)) {
                 continue;
             }
-            EncryptColumn encryptColumn = 
encryptRule.getEncryptTable(tableName).getEncryptColumn(columnName);
+            EncryptColumn encryptColumn = 
rule.getEncryptTable(tableName).getEncryptColumn(columnName);
             int columnIndex = useDefaultInsertColumnsToken
                     .map(optional -> ((UseDefaultInsertColumnsToken) 
optional).getColumns().indexOf(columnName)).orElseGet(() -> 
insertStatementContext.getColumnNames().indexOf(columnName));
             Object originalValue = 
insertValueContext.getLiteralValue(columnIndex).orElse(null);
diff --git 
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/predicate/EncryptInsertPredicateColumnTokenGenerator.java
 
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/predicate/EncryptInsertPredicateColumnTokenGenerator.java
index f7a490cdd0f..609c050a10d 100644
--- 
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/predicate/EncryptInsertPredicateColumnTokenGenerator.java
+++ 
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/predicate/EncryptInsertPredicateColumnTokenGenerator.java
@@ -39,7 +39,7 @@ import java.util.Map;
 @Setter
 public final class EncryptInsertPredicateColumnTokenGenerator implements 
CollectionSQLTokenGenerator<SQLStatementContext>, SchemaMetaDataAware {
     
-    private final EncryptRule encryptRule;
+    private final EncryptRule rule;
     
     private Map<String, ShardingSphereSchema> schemas;
     
@@ -53,7 +53,7 @@ public final class EncryptInsertPredicateColumnTokenGenerator 
implements Collect
     
     @Override
     public Collection<SQLToken> generateSQLTokens(final SQLStatementContext 
sqlStatementContext) {
-        EncryptPredicateColumnTokenGenerator generator = new 
EncryptPredicateColumnTokenGenerator(encryptRule);
+        EncryptPredicateColumnTokenGenerator generator = new 
EncryptPredicateColumnTokenGenerator(rule);
         generator.setSchemas(schemas);
         generator.setDefaultSchema(defaultSchema);
         return generator.generateSQLTokens(((InsertStatementContext) 
sqlStatementContext).getInsertSelectContext().getSelectStatementContext());
diff --git 
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/predicate/EncryptInsertPredicateRightValueTokenGenerator.java
 
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/predicate/EncryptInsertPredicateRightValueTokenGenerator.java
index 88eee2b8522..cb4fa9e1c12 100644
--- 
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/predicate/EncryptInsertPredicateRightValueTokenGenerator.java
+++ 
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/predicate/EncryptInsertPredicateRightValueTokenGenerator.java
@@ -41,7 +41,7 @@ import java.util.List;
 @Setter
 public final class EncryptInsertPredicateRightValueTokenGenerator implements 
CollectionSQLTokenGenerator<SQLStatementContext>, ParametersAware, 
EncryptConditionsAware, DatabaseNameAware {
     
-    private final EncryptRule encryptRule;
+    private final EncryptRule rule;
     
     private List<Object> parameters;
     
@@ -57,7 +57,7 @@ public final class 
EncryptInsertPredicateRightValueTokenGenerator implements Col
     
     @Override
     public Collection<SQLToken> generateSQLTokens(final SQLStatementContext 
sqlStatementContext) {
-        EncryptPredicateRightValueTokenGenerator generator = new 
EncryptPredicateRightValueTokenGenerator(encryptRule);
+        EncryptPredicateRightValueTokenGenerator generator = new 
EncryptPredicateRightValueTokenGenerator(rule);
         generator.setParameters(parameters);
         generator.setEncryptConditions(encryptConditions);
         generator.setDatabaseName(databaseName);
diff --git 
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/predicate/EncryptPredicateColumnTokenGenerator.java
 
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/predicate/EncryptPredicateColumnTokenGenerator.java
index b1b9c1b6906..191380747b5 100644
--- 
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/predicate/EncryptPredicateColumnTokenGenerator.java
+++ 
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/predicate/EncryptPredicateColumnTokenGenerator.java
@@ -61,7 +61,7 @@ import java.util.Optional;
 @Setter
 public final class EncryptPredicateColumnTokenGenerator implements 
CollectionSQLTokenGenerator<SQLStatementContext>, SchemaMetaDataAware {
     
-    private final EncryptRule encryptRule;
+    private final EncryptRule rule;
     
     private Map<String, ShardingSphereSchema> schemas;
     
@@ -87,7 +87,7 @@ public final class EncryptPredicateColumnTokenGenerator 
implements CollectionSQL
         Collection<SQLToken> result = new LinkedList<>();
         for (ColumnSegment each : columnSegments) {
             String tableName = 
columnExpressionTableNames.getOrDefault(each.getExpression(), "");
-            Optional<EncryptTable> encryptTable = 
encryptRule.findEncryptTable(tableName);
+            Optional<EncryptTable> encryptTable = 
rule.findEncryptTable(tableName);
             if (encryptTable.isPresent() && 
encryptTable.get().isEncryptColumn(each.getIdentifier().getValue())) {
                 
result.add(buildSubstitutableColumnNameToken(encryptTable.get().getEncryptColumn(each.getIdentifier().getValue()),
 each, whereSegments, databaseType));
             }
diff --git 
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/predicate/EncryptPredicateRightValueTokenGenerator.java
 
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/predicate/EncryptPredicateRightValueTokenGenerator.java
index e5a221b20c2..9d83fa7d758 100644
--- 
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/predicate/EncryptPredicateRightValueTokenGenerator.java
+++ 
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/predicate/EncryptPredicateRightValueTokenGenerator.java
@@ -57,7 +57,7 @@ import java.util.Map;
 @Setter
 public final class EncryptPredicateRightValueTokenGenerator implements 
CollectionSQLTokenGenerator<SQLStatementContext>, ParametersAware, 
EncryptConditionsAware, DatabaseNameAware {
     
-    private final EncryptRule encryptRule;
+    private final EncryptRule rule;
     
     private List<Object> parameters;
     
@@ -76,7 +76,7 @@ public final class EncryptPredicateRightValueTokenGenerator 
implements Collectio
         String schemaName = ((TableAvailable) 
sqlStatementContext).getTablesContext().getSchemaName()
                 .orElseGet(() -> new 
DatabaseTypeRegistry(sqlStatementContext.getDatabaseType()).getDefaultSchemaName(databaseName));
         for (EncryptCondition each : encryptConditions) {
-            
encryptRule.findEncryptTable(each.getTableName()).ifPresent(optional -> 
result.add(generateSQLToken(schemaName, optional, each)));
+            rule.findEncryptTable(each.getTableName()).ifPresent(optional -> 
result.add(generateSQLToken(schemaName, optional, each)));
         }
         return result;
     }
diff --git 
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/projection/EncryptInsertSelectProjectionTokenGenerator.java
 
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/projection/EncryptInsertSelectProjectionTokenGenerator.java
index a77a7633a66..4a271a30002 100644
--- 
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/projection/EncryptInsertSelectProjectionTokenGenerator.java
+++ 
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/projection/EncryptInsertSelectProjectionTokenGenerator.java
@@ -40,7 +40,7 @@ import java.util.List;
 @Setter
 public final class EncryptInsertSelectProjectionTokenGenerator implements 
CollectionSQLTokenGenerator<InsertStatementContext>, PreviousSQLTokensAware, 
DatabaseTypeAware {
     
-    private final EncryptRule encryptRule;
+    private final EncryptRule rule;
     
     private List<SQLToken> previousSQLTokens;
     
@@ -53,6 +53,6 @@ public final class 
EncryptInsertSelectProjectionTokenGenerator implements Collec
     
     @Override
     public Collection<SQLToken> generateSQLTokens(final InsertStatementContext 
sqlStatementContext) {
-        return new EncryptProjectionTokenGenerator(previousSQLTokens, 
encryptRule, 
databaseType).generateSQLTokens(sqlStatementContext.getInsertSelectContext().getSelectStatementContext());
+        return new EncryptProjectionTokenGenerator(previousSQLTokens, rule, 
databaseType).generateSQLTokens(sqlStatementContext.getInsertSelectContext().getSelectStatementContext());
     }
 }
diff --git 
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/projection/EncryptProjectionTokenGenerator.java
 
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/projection/EncryptProjectionTokenGenerator.java
index dc2dc317113..bcd099fdaff 100644
--- 
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/projection/EncryptProjectionTokenGenerator.java
+++ 
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/projection/EncryptProjectionTokenGenerator.java
@@ -64,7 +64,7 @@ public final class EncryptProjectionTokenGenerator {
     
     private final List<SQLToken> previousSQLTokens;
     
-    private final EncryptRule encryptRule;
+    private final EncryptRule rule;
     
     private final DatabaseType databaseType;
     
@@ -103,7 +103,7 @@ public final class EncryptProjectionTokenGenerator {
         ColumnProjection columnProjection = 
buildColumnProjection(columnSegment);
         String columnName = columnProjection.getOriginalColumn().getValue();
         boolean newAddedColumn = 
existColumnNames.add(columnProjection.getOriginalTable().getValue() + "." + 
columnName);
-        Optional<EncryptTable> encryptTable = 
encryptRule.findEncryptTable(columnProjection.getOriginalTable().getValue());
+        Optional<EncryptTable> encryptTable = 
rule.findEncryptTable(columnProjection.getOriginalTable().getValue());
         if (encryptTable.isPresent() && 
encryptTable.get().isEncryptColumn(columnName) && 
isNeedRewrite(selectStatementContext, columnSegment)) {
             EncryptColumn encryptColumn = 
encryptTable.get().getEncryptColumn(columnName);
             Collection<Projection> projections = 
generateProjections(encryptColumn, columnProjection, 
selectStatementContext.getSubqueryType(), newAddedColumn);
@@ -122,7 +122,7 @@ public final class EncryptProjectionTokenGenerator {
             if (each instanceof ColumnProjection) {
                 ColumnProjection columnProjection = (ColumnProjection) each;
                 boolean newAddedColumn = 
existColumnNames.add(columnProjection.getOriginalTable().getValue() + "." + 
columnProjection.getOriginalColumn().getValue());
-                Optional<EncryptTable> encryptTable = 
encryptRule.findEncryptTable(columnProjection.getOriginalTable().getValue());
+                Optional<EncryptTable> encryptTable = 
rule.findEncryptTable(columnProjection.getOriginalTable().getValue());
                 if (encryptTable.isPresent() && 
encryptTable.get().isEncryptColumn(columnProjection.getOriginalColumn().getValue())
 && isNeedRewrite(selectStatementContext, subqueryType)) {
                     EncryptColumn encryptColumn = 
encryptTable.get().getEncryptColumn(columnProjection.getOriginalColumn().getValue());
                     projections.addAll(generateProjections(encryptColumn, 
columnProjection, subqueryType, newAddedColumn));
diff --git 
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/projection/EncryptSelectProjectionTokenGenerator.java
 
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/projection/EncryptSelectProjectionTokenGenerator.java
index d199ce3d3bd..13544939be0 100644
--- 
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/projection/EncryptSelectProjectionTokenGenerator.java
+++ 
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/projection/EncryptSelectProjectionTokenGenerator.java
@@ -40,7 +40,7 @@ import java.util.List;
 @Setter
 public final class EncryptSelectProjectionTokenGenerator implements 
CollectionSQLTokenGenerator<SelectStatementContext>, PreviousSQLTokensAware, 
DatabaseTypeAware {
     
-    private final EncryptRule encryptRule;
+    private final EncryptRule rule;
     
     private List<SQLToken> previousSQLTokens;
     
@@ -53,6 +53,6 @@ public final class EncryptSelectProjectionTokenGenerator 
implements CollectionSQ
     
     @Override
     public Collection<SQLToken> generateSQLTokens(final SelectStatementContext 
sqlStatementContext) {
-        return new EncryptProjectionTokenGenerator(previousSQLTokens, 
encryptRule, databaseType).generateSQLTokens(sqlStatementContext);
+        return new EncryptProjectionTokenGenerator(previousSQLTokens, rule, 
databaseType).generateSQLTokens(sqlStatementContext);
     }
 }
diff --git 
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/select/EncryptGroupByItemTokenGenerator.java
 
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/select/EncryptGroupByItemTokenGenerator.java
index 1c0ead50733..2815c7b5728 100644
--- 
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/select/EncryptGroupByItemTokenGenerator.java
+++ 
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/select/EncryptGroupByItemTokenGenerator.java
@@ -54,7 +54,7 @@ import java.util.Optional;
 @Setter
 public final class EncryptGroupByItemTokenGenerator implements 
CollectionSQLTokenGenerator<SelectStatementContext>, SchemaMetaDataAware, 
DatabaseTypeAware {
     
-    private final EncryptRule encryptRule;
+    private final EncryptRule rule;
     
     private Map<String, ShardingSphereSchema> schemas;
     
@@ -95,7 +95,7 @@ public final class EncryptGroupByItemTokenGenerator 
implements CollectionSQLToke
     
     private Optional<SubstitutableColumnNameToken> generateSQLToken(final 
ColumnSegment columnSegment, final Map<String, String> columnTableNames) {
         String tableName = 
columnTableNames.getOrDefault(columnSegment.getExpression(), "");
-        Optional<EncryptTable> encryptTable = 
encryptRule.findEncryptTable(tableName);
+        Optional<EncryptTable> encryptTable = rule.findEncryptTable(tableName);
         String columnName = columnSegment.getIdentifier().getValue();
         if (!encryptTable.isPresent() || 
!encryptTable.get().isEncryptColumn(columnName)) {
             return Optional.empty();
diff --git 
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/select/EncryptIndexColumnTokenGenerator.java
 
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/select/EncryptIndexColumnTokenGenerator.java
index 17c6e230b1c..4ff9e998e08 100644
--- 
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/select/EncryptIndexColumnTokenGenerator.java
+++ 
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/select/EncryptIndexColumnTokenGenerator.java
@@ -50,7 +50,7 @@ import java.util.Optional;
 @Setter
 public final class EncryptIndexColumnTokenGenerator implements 
CollectionSQLTokenGenerator<SQLStatementContext>, DatabaseTypeAware {
     
-    private final EncryptRule encryptRule;
+    private final EncryptRule rule;
     
     private DatabaseType databaseType;
     
@@ -63,7 +63,7 @@ public final class EncryptIndexColumnTokenGenerator 
implements CollectionSQLToke
     @Override
     public Collection<SQLToken> generateSQLTokens(final SQLStatementContext 
sqlStatementContext) {
         String tableName = ((TableAvailable) 
sqlStatementContext).getTablesContext().getTableNames().iterator().next();
-        EncryptTable encryptTable = encryptRule.getEncryptTable(tableName);
+        EncryptTable encryptTable = rule.getEncryptTable(tableName);
         Collection<SQLToken> result = new LinkedList<>();
         for (ColumnSegment each : ((IndexAvailable) 
sqlStatementContext).getIndexColumns()) {
             if (encryptTable.isEncryptColumn(each.getIdentifier().getValue())) 
{
diff --git 
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rewrite/context/ShardingSQLRewriteContextDecorator.java
 
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rewrite/context/ShardingSQLRewriteContextDecorator.java
index 5b204da5cdc..1adc833c279 100644
--- 
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rewrite/context/ShardingSQLRewriteContextDecorator.java
+++ 
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rewrite/context/ShardingSQLRewriteContextDecorator.java
@@ -28,6 +28,7 @@ import 
org.apache.shardingsphere.infra.rewrite.context.SQLRewriteContext;
 import 
org.apache.shardingsphere.infra.rewrite.context.SQLRewriteContextDecorator;
 import 
org.apache.shardingsphere.infra.rewrite.parameter.rewriter.ParameterRewriter;
 import 
org.apache.shardingsphere.infra.rewrite.parameter.rewriter.ParameterRewritersBuilder;
+import 
org.apache.shardingsphere.infra.rewrite.sql.token.common.generator.builder.SQLTokenGeneratorBuilder;
 import org.apache.shardingsphere.infra.route.context.RouteContext;
 import org.apache.shardingsphere.sharding.constant.ShardingOrder;
 import 
org.apache.shardingsphere.sharding.rewrite.parameter.ShardingParameterRewritersRegistry;
@@ -53,7 +54,8 @@ public final class ShardingSQLRewriteContextDecorator 
implements SQLRewriteConte
             Collection<ParameterRewriter> parameterRewriters = new 
ParameterRewritersBuilder(sqlStatementContext).build(new 
ShardingParameterRewritersRegistry(routeContext));
             rewriteParameters(sqlRewriteContext, parameterRewriters);
         }
-        sqlRewriteContext.addSQLTokenGenerators(new 
ShardingTokenGenerateBuilder(rule, routeContext, 
sqlStatementContext).getSQLTokenGenerators());
+        SQLTokenGeneratorBuilder sqlTokenGeneratorBuilder = new 
ShardingTokenGenerateBuilder(rule, routeContext, sqlStatementContext);
+        
sqlRewriteContext.addSQLTokenGenerators(sqlTokenGeneratorBuilder.getSQLTokenGenerators());
     }
     
     private boolean isAlterOrDropIndexStatement(final SQLStatementContext 
sqlStatementContext) {


Reply via email to