This is an automated email from the ASF dual-hosted git repository.
duanzhengqiang 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 677749f1df9 Copy value expressions when creating an insert value
(#32729)
677749f1df9 is described below
commit 677749f1df92587db308eab0dc2daeee0a1d24dc
Author: ZhangCheng <[email protected]>
AuthorDate: Fri Aug 30 16:05:25 2024 +0800
Copy value expressions when creating an insert value (#32729)
---
.../token/generator/insert/EncryptInsertValuesTokenGenerator.java | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
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 18179b82e56..362f00e710b 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
@@ -48,6 +48,7 @@ import
org.apache.shardingsphere.sql.parser.statement.core.value.identifier.Iden
import java.util.Collection;
import java.util.Iterator;
+import java.util.LinkedList;
import java.util.List;
import java.util.Optional;
@@ -108,7 +109,7 @@ public final class EncryptInsertValuesTokenGenerator
implements OptionalSQLToken
String schemaName =
insertStatementContext.getTablesContext().getSchemaName()
.orElseGet(() -> new
DatabaseTypeRegistry(insertStatementContext.getDatabaseType()).getDefaultSchemaName(databaseName));
for (InsertValueContext each :
insertStatementContext.getInsertValueContexts()) {
- InsertValue insertValueToken = new
InsertValue(each.getValueExpressions());
+ InsertValue insertValueToken = new InsertValue(new
LinkedList<>(each.getValueExpressions()));
encryptToken(insertValueToken, schemaName, encryptTable,
insertStatementContext, each);
result.getInsertValues().add(insertValueToken);
}