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 2851518  Rename onDuplicateKeyUpdateParameters (#6791)
2851518 is described below

commit 28515180dea608b87cb174858aced73cd4fa4371
Author: Liang Zhang <[email protected]>
AuthorDate: Tue Aug 11 18:49:55 2020 +0800

    Rename onDuplicateKeyUpdateParameters (#6791)
    
    * Add todo
    
    * Add todo
    
    * Rename onDuplicateKeyUpdateParameters to genericParameterBuilder
    
    * Rename onDuplicateKeyUpdateParameters to genericParameterBuilder
    
    * Add GroupedParameterBuilder.buildBroadcastParameters
    
    * Move buildBroadcastParameters into getParameters
---
 ...OnDuplicateKeyUpdateValueParameterRewriter.java |  8 +++----
 .../infra/rewrite/context/SQLRewriteContext.java   |  3 ++-
 .../rewrite/engine/GenericSQLRewriteEngine.java    | 24 +------------------
 .../rewrite/engine/RouteSQLRewriteEngine.java      | 20 +++++-----------
 .../builder/impl/GroupedParameterBuilder.java      |  8 +++----
 .../builder/impl/GroupedParameterBuilderTest.java  | 28 +++++++++++-----------
 6 files changed, 31 insertions(+), 60 deletions(-)

diff --git 
a/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-rewrite/src/main/java/org/apache/shardingsphere/encrypt/rewrite/parameter/impl/EncryptInsertOnDuplicateKeyUpdateValueParameterRewriter.java
 
b/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-rewrite/src/main/java/org/apache/shardingsphere/encrypt/rewrite/parameter/impl/EncryptInsertOnDuplicateKeyUpdateValueParameterRewriter.java
index 1b39abc..3c088af 100644
--- 
a/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-rewrite/src/main/java/org/apache/shardingsphere/encrypt/rewrite/parameter/impl/EncryptInsertOnDuplicateKeyUpdateValueParameterRewriter.java
+++ 
b/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-rewrite/src/main/java/org/apache/shardingsphere/encrypt/rewrite/parameter/impl/EncryptInsertOnDuplicateKeyUpdateValueParameterRewriter.java
@@ -56,7 +56,7 @@ public final class 
EncryptInsertOnDuplicateKeyUpdateValueParameterRewriter exten
             encryptorOptional.ifPresent(encryptor -> {
                 Object plainColumnValue = 
onDuplicateKeyUpdateValueContext.getValue(columnIndex);
                 Object cipherColumnValue = 
encryptorOptional.get().encrypt(plainColumnValue);
-                
groupedParameterBuilder.getOnDuplicateKeyUpdateParametersBuilder().addReplacedParameters(columnIndex,
 cipherColumnValue);
+                
groupedParameterBuilder.getGenericParameterBuilder().addReplacedParameters(columnIndex,
 cipherColumnValue);
                 Collection<Object> addedParameters = new LinkedList<>();
                 if (encryptor instanceof QueryAssistedEncryptAlgorithm) {
                     Optional<String> assistedColumnName = 
getEncryptRule().findAssistedQueryColumn(tableName, encryptLogicColumnName);
@@ -67,10 +67,10 @@ public final class 
EncryptInsertOnDuplicateKeyUpdateValueParameterRewriter exten
                     addedParameters.add(plainColumnValue);
                 }
                 if (!addedParameters.isEmpty()) {
-                    if 
(!groupedParameterBuilder.getOnDuplicateKeyUpdateParametersBuilder().getAddedIndexAndParameters().containsKey(columnIndex
 + 1)) {
-                        
groupedParameterBuilder.getOnDuplicateKeyUpdateParametersBuilder().getAddedIndexAndParameters().put(columnIndex
 + 1, new LinkedList<>());
+                    if 
(!groupedParameterBuilder.getGenericParameterBuilder().getAddedIndexAndParameters().containsKey(columnIndex
 + 1)) {
+                        
groupedParameterBuilder.getGenericParameterBuilder().getAddedIndexAndParameters().put(columnIndex
 + 1, new LinkedList<>());
                     }
-                    
groupedParameterBuilder.getOnDuplicateKeyUpdateParametersBuilder().getAddedIndexAndParameters().get(columnIndex
 + 1).addAll(addedParameters);
+                    
groupedParameterBuilder.getGenericParameterBuilder().getAddedIndexAndParameters().get(columnIndex
 + 1).addAll(addedParameters);
                 }
             });
         }
diff --git 
a/shardingsphere-infra/shardingsphere-infra-rewrite/shardingsphere-infra-rewrite-engine/src/main/java/org/apache/shardingsphere/infra/rewrite/context/SQLRewriteContext.java
 
b/shardingsphere-infra/shardingsphere-infra-rewrite/shardingsphere-infra-rewrite-engine/src/main/java/org/apache/shardingsphere/infra/rewrite/context/SQLRewriteContext.java
index 1b96d76..a603f79 100644
--- 
a/shardingsphere-infra/shardingsphere-infra-rewrite/shardingsphere-infra-rewrite-engine/src/main/java/org/apache/shardingsphere/infra/rewrite/context/SQLRewriteContext.java
+++ 
b/shardingsphere-infra/shardingsphere-infra-rewrite/shardingsphere-infra-rewrite-engine/src/main/java/org/apache/shardingsphere/infra/rewrite/context/SQLRewriteContext.java
@@ -62,7 +62,8 @@ public final class SQLRewriteContext {
         this.parameters = parameters;
         addSQLTokenGenerators(new 
DefaultTokenGeneratorBuilder().getSQLTokenGenerators());
         parameterBuilder = sqlStatementContext instanceof 
InsertStatementContext
-                ? new GroupedParameterBuilder(((InsertStatementContext) 
sqlStatementContext).getGroupedParameters(), ((InsertStatementContext) 
sqlStatementContext).getOnDuplicateKeyUpdateParameters())
+                ? new GroupedParameterBuilder(
+                        ((InsertStatementContext) 
sqlStatementContext).getGroupedParameters(), ((InsertStatementContext) 
sqlStatementContext).getOnDuplicateKeyUpdateParameters())
                 : new StandardParameterBuilder(parameters);
     }
     
diff --git 
a/shardingsphere-infra/shardingsphere-infra-rewrite/shardingsphere-infra-rewrite-engine/src/main/java/org/apache/shardingsphere/infra/rewrite/engine/GenericSQLRewriteEngine.java
 
b/shardingsphere-infra/shardingsphere-infra-rewrite/shardingsphere-infra-rewrite-engine/src/main/java/org/apache/shardingsphere/infra/rewrite/engine/GenericSQLRewriteEngine.java
index 48b56b8..5f6d946 100644
--- 
a/shardingsphere-infra/shardingsphere-infra-rewrite/shardingsphere-infra-rewrite-engine/src/main/java/org/apache/shardingsphere/infra/rewrite/engine/GenericSQLRewriteEngine.java
+++ 
b/shardingsphere-infra/shardingsphere-infra-rewrite/shardingsphere-infra-rewrite-engine/src/main/java/org/apache/shardingsphere/infra/rewrite/engine/GenericSQLRewriteEngine.java
@@ -20,14 +20,8 @@ package org.apache.shardingsphere.infra.rewrite.engine;
 import org.apache.shardingsphere.infra.rewrite.context.SQLRewriteContext;
 import 
org.apache.shardingsphere.infra.rewrite.engine.result.GenericSQLRewriteResult;
 import org.apache.shardingsphere.infra.rewrite.engine.result.SQLRewriteUnit;
-import 
org.apache.shardingsphere.infra.rewrite.parameter.builder.ParameterBuilder;
-import 
org.apache.shardingsphere.infra.rewrite.parameter.builder.impl.GroupedParameterBuilder;
-import 
org.apache.shardingsphere.infra.rewrite.parameter.builder.impl.StandardParameterBuilder;
 import org.apache.shardingsphere.infra.rewrite.sql.impl.DefaultSQLBuilder;
 
-import java.util.LinkedList;
-import java.util.List;
-
 /**
  * Generic SQL rewrite engine.
  */
@@ -40,22 +34,6 @@ public final class GenericSQLRewriteEngine {
      * @return SQL rewrite result
      */
     public GenericSQLRewriteResult rewrite(final SQLRewriteContext 
sqlRewriteContext) {
-        return new GenericSQLRewriteResult(new SQLRewriteUnit(new 
DefaultSQLBuilder(sqlRewriteContext).toSQL(), 
getParameters(sqlRewriteContext.getParameterBuilder())));
-    }
-    
-    private List<Object> getParameters(final ParameterBuilder 
parameterBuilder) {
-        if (parameterBuilder instanceof StandardParameterBuilder) {
-            return parameterBuilder.getParameters();
-        }
-        
-        List<Object> onDuplicateKeyUpdateParameters = 
((GroupedParameterBuilder) 
parameterBuilder).getOnDuplicateKeyUpdateParametersBuilder().getParameters();
-        if (onDuplicateKeyUpdateParameters.isEmpty()) {
-            return parameterBuilder.getParameters();
-        }
-        
-        List<Object> result = new LinkedList<>();
-        result.addAll(parameterBuilder.getParameters());
-        result.addAll(onDuplicateKeyUpdateParameters);
-        return result;
+        return new GenericSQLRewriteResult(new SQLRewriteUnit(new 
DefaultSQLBuilder(sqlRewriteContext).toSQL(), 
sqlRewriteContext.getParameterBuilder().getParameters()));
     }
 }
diff --git 
a/shardingsphere-infra/shardingsphere-infra-rewrite/shardingsphere-infra-rewrite-engine/src/main/java/org/apache/shardingsphere/infra/rewrite/engine/RouteSQLRewriteEngine.java
 
b/shardingsphere-infra/shardingsphere-infra-rewrite/shardingsphere-infra-rewrite-engine/src/main/java/org/apache/shardingsphere/infra/rewrite/engine/RouteSQLRewriteEngine.java
index fd0f7f3..e33fd90 100644
--- 
a/shardingsphere-infra/shardingsphere-infra-rewrite/shardingsphere-infra-rewrite-engine/src/main/java/org/apache/shardingsphere/infra/rewrite/engine/RouteSQLRewriteEngine.java
+++ 
b/shardingsphere-infra/shardingsphere-infra-rewrite/shardingsphere-infra-rewrite-engine/src/main/java/org/apache/shardingsphere/infra/rewrite/engine/RouteSQLRewriteEngine.java
@@ -58,28 +58,20 @@ public final class RouteSQLRewriteEngine {
         if (parameterBuilder instanceof StandardParameterBuilder) {
             return parameterBuilder.getParameters();
         }
-        
-        if (routeResult.getOriginalDataNodes().isEmpty()) {
-            List<Object> onDuplicateKeyUpdateParameters = 
((GroupedParameterBuilder) 
parameterBuilder).getOnDuplicateKeyUpdateParametersBuilder().getParameters();
-            if (onDuplicateKeyUpdateParameters.isEmpty()) {
-                return parameterBuilder.getParameters();
-            }
-            
-            List<Object> result = new LinkedList<>();
-            result.addAll(parameterBuilder.getParameters());
-            result.addAll(onDuplicateKeyUpdateParameters);
-            return result;
-        }
+        return routeResult.getOriginalDataNodes().isEmpty()
+                ? ((GroupedParameterBuilder) parameterBuilder).getParameters() 
: buildRouteParameters((GroupedParameterBuilder) parameterBuilder, routeResult, 
routeUnit);
+    }
     
+    private List<Object> buildRouteParameters(final GroupedParameterBuilder 
parameterBuilder, final RouteResult routeResult, final RouteUnit routeUnit) {
         List<Object> result = new LinkedList<>();
         int count = 0;
         for (Collection<DataNode> each : routeResult.getOriginalDataNodes()) {
             if (isInSameDataNode(each, routeUnit)) {
-                result.addAll(((GroupedParameterBuilder) 
parameterBuilder).getParameters(count));
+                result.addAll(parameterBuilder.getParameters(count));
             }
             count++;
         }
-        result.addAll(((GroupedParameterBuilder) 
parameterBuilder).getOnDuplicateKeyUpdateParametersBuilder().getParameters());
+        
result.addAll(parameterBuilder.getGenericParameterBuilder().getParameters());
         return result;
     }
     
diff --git 
a/shardingsphere-infra/shardingsphere-infra-rewrite/shardingsphere-infra-rewrite-engine/src/main/java/org/apache/shardingsphere/infra/rewrite/parameter/builder/impl/GroupedParameterBuilder.java
 
b/shardingsphere-infra/shardingsphere-infra-rewrite/shardingsphere-infra-rewrite-engine/src/main/java/org/apache/shardingsphere/infra/rewrite/parameter/builder/impl/GroupedParameterBuilder.java
index 1b4da5c..b9457b9 100644
--- 
a/shardingsphere-infra/shardingsphere-infra-rewrite/shardingsphere-infra-rewrite-engine/src/main/java/org/apache/shardingsphere/infra/rewrite/parameter/builder/impl/GroupedParameterBuilder.java
+++ 
b/shardingsphere-infra/shardingsphere-infra-rewrite/shardingsphere-infra-rewrite-engine/src/main/java/org/apache/shardingsphere/infra/rewrite/parameter/builder/impl/GroupedParameterBuilder.java
@@ -35,18 +35,17 @@ public final class GroupedParameterBuilder implements 
ParameterBuilder {
     private final List<StandardParameterBuilder> parameterBuilders;
     
     @Getter
-    private final StandardParameterBuilder 
onDuplicateKeyUpdateParametersBuilder;
+    private final StandardParameterBuilder genericParameterBuilder;
     
     @Setter
     private String derivedColumnName;
     
-    public GroupedParameterBuilder(final List<List<Object>> groupedParameters, 
final List<Object> onDuplicateKeyUpdateParameters) {
+    public GroupedParameterBuilder(final List<List<Object>> groupedParameters, 
final List<Object> genericParameters) {
         parameterBuilders = new ArrayList<>(groupedParameters.size());
         for (List<Object> each : groupedParameters) {
             parameterBuilders.add(new StandardParameterBuilder(each));
         }
-    
-        onDuplicateKeyUpdateParametersBuilder = new 
StandardParameterBuilder(onDuplicateKeyUpdateParameters);
+        genericParameterBuilder = new 
StandardParameterBuilder(genericParameters);
     }
     
     @Override
@@ -55,6 +54,7 @@ public final class GroupedParameterBuilder implements 
ParameterBuilder {
         for (int i = 0; i < parameterBuilders.size(); i++) {
             result.addAll(getParameters(i));
         }
+        result.addAll(genericParameterBuilder.getParameters());
         return result;
     }
     
diff --git 
a/shardingsphere-infra/shardingsphere-infra-rewrite/shardingsphere-infra-rewrite-engine/src/test/java/org/apache/shardingsphere/infra/rewrite/parameter/builder/impl/GroupedParameterBuilderTest.java
 
b/shardingsphere-infra/shardingsphere-infra-rewrite/shardingsphere-infra-rewrite-engine/src/test/java/org/apache/shardingsphere/infra/rewrite/parameter/builder/impl/GroupedParameterBuilderTest.java
index f3ee41f..ee901d1 100644
--- 
a/shardingsphere-infra/shardingsphere-infra-rewrite/shardingsphere-infra-rewrite-engine/src/test/java/org/apache/shardingsphere/infra/rewrite/parameter/builder/impl/GroupedParameterBuilderTest.java
+++ 
b/shardingsphere-infra/shardingsphere-infra-rewrite/shardingsphere-infra-rewrite-engine/src/test/java/org/apache/shardingsphere/infra/rewrite/parameter/builder/impl/GroupedParameterBuilderTest.java
@@ -36,32 +36,32 @@ public final class GroupedParameterBuilderTest {
     }
     
     @Test
-    public void assertGetParametersWithOnDuplicateKeyParameters() {
-        GroupedParameterBuilder actual = new 
GroupedParameterBuilder(createGroupedParameters(), 
createOnDuplicateKeyUpdateParameters());
-        assertThat(actual.getParameters(), is(Arrays.<Object>asList(3, 4, 5, 
6)));
-        
assertThat(actual.getOnDuplicateKeyUpdateParametersBuilder().getParameters(), 
is(Arrays.<Object>asList(7, 8)));
+    public void assertGetParametersWithGenericParameters() {
+        GroupedParameterBuilder actual = new 
GroupedParameterBuilder(createGroupedParameters(), createGenericParameters());
+        assertThat(actual.getParameters(), is(Arrays.<Object>asList(3, 4, 5, 
6, 7, 8)));
+        assertThat(actual.getGenericParameterBuilder().getParameters(), 
is(Arrays.<Object>asList(7, 8)));
     }
     
     @Test
-    public void assertGetOnDuplicateKeyParametersWithModify() {
-        GroupedParameterBuilder actual = new GroupedParameterBuilder(new 
LinkedList<>(), createOnDuplicateKeyUpdateParameters());
-        
actual.getOnDuplicateKeyUpdateParametersBuilder().addReplacedParameters(0, 77);
-        
actual.getOnDuplicateKeyUpdateParametersBuilder().addReplacedParameters(1, 88);
-        
actual.getOnDuplicateKeyUpdateParametersBuilder().addAddedParameters(0, 
Arrays.asList(66, -1));
-        
actual.getOnDuplicateKeyUpdateParametersBuilder().addAddedParameters(2, 
Arrays.asList(99, 110));
-        
actual.getOnDuplicateKeyUpdateParametersBuilder().addRemovedParameters(1);
-        
assertThat(actual.getOnDuplicateKeyUpdateParametersBuilder().getParameters(), 
is(Arrays.<Object>asList(66, 77, 88, 99, 110)));
+    public void assertGetGenericParametersWithModify() {
+        GroupedParameterBuilder actual = new GroupedParameterBuilder(new 
LinkedList<>(), createGenericParameters());
+        actual.getGenericParameterBuilder().addReplacedParameters(0, 77);
+        actual.getGenericParameterBuilder().addReplacedParameters(1, 88);
+        actual.getGenericParameterBuilder().addAddedParameters(0, 
Arrays.asList(66, -1));
+        actual.getGenericParameterBuilder().addAddedParameters(2, 
Arrays.asList(99, 110));
+        actual.getGenericParameterBuilder().addRemovedParameters(1);
+        assertThat(actual.getGenericParameterBuilder().getParameters(), 
is(Arrays.<Object>asList(66, 77, 88, 99, 110)));
     }
     
     @Test
     public void assertGetDerivedColumnName() {
-        GroupedParameterBuilder actual = new 
GroupedParameterBuilder(createGroupedParameters(), 
createOnDuplicateKeyUpdateParameters());
+        GroupedParameterBuilder actual = new 
GroupedParameterBuilder(createGroupedParameters(), createGenericParameters());
         String derivedColumnName = "derivedColumnName";
         actual.setDerivedColumnName(derivedColumnName);
         assertThat(actual.getDerivedColumnName(), 
is(Optional.of(derivedColumnName)));
     }
     
-    private List<Object> createOnDuplicateKeyUpdateParameters() {
+    private List<Object> createGenericParameters() {
         return new LinkedList<>(Arrays.asList(7, 8));
     }
     

Reply via email to