You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by zh...@apache.org on 2023/06/20 15:32:53 UTC

[shardingsphere] branch master updated: Refactor EncryptInsertOnDuplicateKeyUpdateValueParameterRewriter (#26465)

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 221388eaf86 Refactor EncryptInsertOnDuplicateKeyUpdateValueParameterRewriter (#26465)
221388eaf86 is described below

commit 221388eaf8612ee931815262b752784c51bdbf3d
Author: Liang Zhang <zh...@apache.org>
AuthorDate: Tue Jun 20 23:32:46 2023 +0800

    Refactor EncryptInsertOnDuplicateKeyUpdateValueParameterRewriter (#26465)
    
    * Refactor EncryptInsertOnDuplicateKeyUpdateValueParameterRewriter
---
 ...yptInsertOnDuplicateKeyUpdateValueParameterRewriter.java | 13 ++++---------
 1 file changed, 4 insertions(+), 9 deletions(-)

diff --git a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/parameter/rewriter/EncryptInsertOnDuplicateKeyUpdateValueParameterRewriter.java b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/parameter/rewriter/EncryptInsertOnDuplicateKeyUpdateValueParameterRewriter.java
index de7a02971ca..5aec0da1cf9 100644
--- a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/parameter/rewriter/EncryptInsertOnDuplicateKeyUpdateValueParameterRewriter.java
+++ b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/parameter/rewriter/EncryptInsertOnDuplicateKeyUpdateValueParameterRewriter.java
@@ -19,8 +19,6 @@ package org.apache.shardingsphere.encrypt.rewrite.parameter.rewriter;
 
 import com.google.common.base.Preconditions;
 import lombok.Setter;
-import org.apache.shardingsphere.encrypt.api.context.EncryptContext;
-import org.apache.shardingsphere.encrypt.context.EncryptContextBuilder;
 import org.apache.shardingsphere.encrypt.rewrite.aware.DatabaseNameAware;
 import org.apache.shardingsphere.encrypt.rewrite.aware.EncryptRuleAware;
 import org.apache.shardingsphere.encrypt.rule.EncryptRule;
@@ -73,10 +71,9 @@ public final class EncryptInsertOnDuplicateKeyUpdateValueParameterRewriter imple
             if (plainValue instanceof FunctionSegment && "VALUES".equalsIgnoreCase(((FunctionSegment) plainValue).getFunctionName())) {
                 return;
             }
-            EncryptContext encryptContext = EncryptContextBuilder.build(databaseName, schemaName, tableName, encryptLogicColumnName);
             Object cipherColumnValue = encryptRule.encrypt(databaseName, schemaName, tableName, encryptLogicColumnName, plainValue);
             groupedParamBuilder.getGenericParameterBuilder().addReplacedParameters(index, cipherColumnValue);
-            Collection<Object> addedParams = buildAddedParams(tableName, encryptLogicColumnName, plainValue, encryptContext);
+            Collection<Object> addedParams = buildAddedParams(schemaName, tableName, encryptLogicColumnName, plainValue);
             if (!addedParams.isEmpty()) {
                 if (!groupedParamBuilder.getGenericParameterBuilder().getAddedIndexAndParameters().containsKey(index)) {
                     groupedParamBuilder.getGenericParameterBuilder().getAddedIndexAndParameters().put(index, new LinkedList<>());
@@ -86,7 +83,7 @@ public final class EncryptInsertOnDuplicateKeyUpdateValueParameterRewriter imple
         }
     }
     
-    private Collection<Object> buildAddedParams(final String tableName, final String logicColumnName, final Object plainValue, final EncryptContext encryptContext) {
+    private Collection<Object> buildAddedParams(final String schemaName, final String tableName, final String logicColumnName, final Object plainValue) {
         Optional<EncryptTable> encryptTable = encryptRule.findEncryptTable(tableName);
         if (!encryptTable.isPresent()) {
             return Collections.emptyList();
@@ -95,14 +92,12 @@ public final class EncryptInsertOnDuplicateKeyUpdateValueParameterRewriter imple
         if (encryptTable.get().findAssistedQueryColumn(logicColumnName).isPresent()) {
             Optional<String> assistedColumnName = encryptTable.get().findAssistedQueryColumn(logicColumnName);
             Preconditions.checkArgument(assistedColumnName.isPresent(), "Can not find assisted query column name.");
-            result.add(encryptRule.getEncryptAssistedQueryValue(
-                    encryptContext.getDatabaseName(), encryptContext.getSchemaName(), encryptContext.getTableName(), encryptContext.getColumnName(), plainValue));
+            result.add(encryptRule.getEncryptAssistedQueryValue(databaseName, schemaName, tableName, logicColumnName, plainValue));
         }
         if (encryptTable.get().findLikeQueryColumn(logicColumnName).isPresent()) {
             Optional<String> likeColumnName = encryptTable.get().findLikeQueryColumn(logicColumnName);
             Preconditions.checkArgument(likeColumnName.isPresent(), "Can not find assisted query column name.");
-            result.add(encryptRule.getEncryptLikeQueryValue(
-                    encryptContext.getDatabaseName(), encryptContext.getSchemaName(), encryptContext.getTableName(), encryptContext.getColumnName(), plainValue));
+            result.add(encryptRule.getEncryptLikeQueryValue(databaseName, schemaName, tableName, logicColumnName, plainValue));
         }
         return result;
     }