From 50f1cbbf97cacfd4902e9e33697b2b8a8741a9c6 Mon Sep 17 00:00:00 2001 From: terrymanu Date: Sun, 1 Sep 2019 22:24:31 +0800 Subject: [PATCH] for #2567, remove EncryptInsertOptimizedStatement.addInsertValue() --- .../dml/EncryptInsertOptimizeEngine.java | 11 +++++++++- .../EncryptInsertOptimizedStatement.java | 20 ------------------- 2 files changed, 10 insertions(+), 21 deletions(-) diff --git a/sharding-core/sharding-core-optimize/src/main/java/org/apache/shardingsphere/core/optimize/encrypt/engine/dml/EncryptInsertOptimizeEngine.java b/sharding-core/sharding-core-optimize/src/main/java/org/apache/shardingsphere/core/optimize/encrypt/engine/dml/EncryptInsertOptimizeEngine.java index 52ede59fac..7db294dbc8 100644 --- a/sharding-core/sharding-core-optimize/src/main/java/org/apache/shardingsphere/core/optimize/encrypt/engine/dml/EncryptInsertOptimizeEngine.java +++ b/sharding-core/sharding-core-optimize/src/main/java/org/apache/shardingsphere/core/optimize/encrypt/engine/dml/EncryptInsertOptimizeEngine.java @@ -27,6 +27,7 @@ import org.apache.shardingsphere.core.rule.EncryptRule; import java.util.Arrays; import java.util.Collection; +import java.util.LinkedList; import java.util.List; /** @@ -44,7 +45,8 @@ public final class EncryptInsertOptimizeEngine implements EncryptOptimizeEngine< Collection columnNames = sqlStatement.useDefaultColumns() ? tableMetas.getAllColumnNames(sqlStatement.getTable().getTableName()) : sqlStatement.getColumnNames(); int derivedColumnCount = encryptRule.getAssistedQueryAndPlainColumnCount(sqlStatement.getTable().getTableName()); for (Collection each : sqlStatement.getAllValueExpressions()) { - InsertValue insertValue = result.addInsertValue(encryptDerivedColumnNames, each, derivedColumnCount, parameters, parametersOffset); + InsertValue insertValue = createInsertValue(columnNames, encryptDerivedColumnNames, each, derivedColumnCount, parameters, parametersOffset); + result.getInsertValues().add(insertValue); Object[] currentParameters = insertValue.getParameters(); if (encryptRule.containsQueryAssistedColumn(sqlStatement.getTable().getTableName())) { fillAssistedQueryInsertValue(encryptRule, Arrays.asList(currentParameters), sqlStatement.getTable().getTableName(), columnNames, insertValue); @@ -57,6 +59,13 @@ public final class EncryptInsertOptimizeEngine implements EncryptOptimizeEngine< return result; } + private InsertValue createInsertValue(final Collection columnNames, final Collection derivedColumnNames, final Collection assignments, + final int derivedColumnsCount, final List parameters, final int parametersOffset) { + List allColumnNames = new LinkedList<>(columnNames); + allColumnNames.addAll(derivedColumnNames); + return new InsertValue(allColumnNames, assignments, derivedColumnsCount, parameters, parametersOffset); + } + private void fillAssistedQueryInsertValue(final EncryptRule encryptRule, final List parameters, final String tableName, final Collection columnNames, final InsertValue insertValue) { for (String each : columnNames) { diff --git a/sharding-core/sharding-core-optimize/src/main/java/org/apache/shardingsphere/core/optimize/encrypt/statement/EncryptInsertOptimizedStatement.java b/sharding-core/sharding-core-optimize/src/main/java/org/apache/shardingsphere/core/optimize/encrypt/statement/EncryptInsertOptimizedStatement.java index e58e776777..06f2e4ceec 100644 --- a/sharding-core/sharding-core-optimize/src/main/java/org/apache/shardingsphere/core/optimize/encrypt/statement/EncryptInsertOptimizedStatement.java +++ b/sharding-core/sharding-core-optimize/src/main/java/org/apache/shardingsphere/core/optimize/encrypt/statement/EncryptInsertOptimizedStatement.java @@ -24,7 +24,6 @@ import org.apache.shardingsphere.core.metadata.table.TableMetas; import org.apache.shardingsphere.core.optimize.api.segment.InsertValue; import org.apache.shardingsphere.core.optimize.api.segment.Tables; import org.apache.shardingsphere.core.optimize.api.statement.InsertOptimizedStatement; -import org.apache.shardingsphere.core.parse.sql.segment.dml.expr.ExpressionSegment; import org.apache.shardingsphere.core.parse.sql.statement.SQLStatement; import org.apache.shardingsphere.core.parse.sql.statement.dml.InsertStatement; @@ -56,25 +55,6 @@ public final class EncryptInsertOptimizedStatement implements InsertOptimizedSta columnNames = sqlStatement.useDefaultColumns() ? tableMetas.getAllColumnNames(sqlStatement.getTable().getTableName()) : sqlStatement.getColumnNames(); } - /** - * Add insert value. - * - * @param derivedColumnNames derived column names - * @param assignments assignments - * @param derivedColumnsCount derived columns count - * @param parameters SQL parameters - * @param parametersOffset offset of SQL parameters - * @return insert value - */ - public InsertValue addInsertValue(final Collection derivedColumnNames, final Collection assignments, - final int derivedColumnsCount, final List parameters, final int parametersOffset) { - List allColumnNames = new LinkedList<>(columnNames); - allColumnNames.addAll(derivedColumnNames); - InsertValue result = new InsertValue(allColumnNames, assignments, derivedColumnsCount, parameters, parametersOffset); - insertValues.add(result); - return result; - } - @Override public SQLStatement getSQLStatement() { return sqlStatement; -- GitLab