This is an automated email from the ASF dual-hosted git repository.
totalo 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 93fc8a53efe Remove java stream api and build sql when execute
addAssignment method (#29199)
93fc8a53efe is described below
commit 93fc8a53efed963eda6b7b2fa67984f0166b60a1
Author: Zhengqiang Duan <[email protected]>
AuthorDate: Fri Nov 24 22:37:34 2023 +0800
Remove java stream api and build sql when execute addAssignment method
(#29199)
---
.../insert/EncryptInsertOnUpdateTokenGenerator.java | 2 +-
.../token/pojo/EncryptFunctionAssignmentToken.java | 18 +++++++++++-------
2 files changed, 12 insertions(+), 8 deletions(-)
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 23731d8c0fa..aea37844050 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
@@ -161,7 +161,7 @@ public final class EncryptInsertOnUpdateTokenGenerator
implements CollectionSQLT
} else if (likeQueryColumn.isPresent() !=
valueLikeQueryColumn.isPresent()) {
throw new
UnsupportedEncryptSQLException(String.format("%s=VALUES(%s)", column,
valueColumn));
}
- if (result.getAssignment().isEmpty()) {
+ if (result.isAssignmentsEmpty()) {
throw new
UnsupportedEncryptSQLException(String.format("%s=VALUES(%s)", column,
valueColumn));
}
return result;
diff --git
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/pojo/EncryptFunctionAssignmentToken.java
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/pojo/EncryptFunctionAssignmentToken.java
index 92e8b908112..2073889776f 100644
---
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/pojo/EncryptFunctionAssignmentToken.java
+++
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/pojo/EncryptFunctionAssignmentToken.java
@@ -21,13 +21,14 @@ import lombok.RequiredArgsConstructor;
import java.util.Collection;
import java.util.LinkedList;
-import java.util.stream.Collectors;
/**
* Function assignment token for encrypt.
*/
public final class EncryptFunctionAssignmentToken extends
EncryptAssignmentToken {
+ private final StringBuilder builder = new StringBuilder();
+
private final Collection<FunctionAssignment> assignments = new
LinkedList<>();
public EncryptFunctionAssignmentToken(final int startIndex, final int
stopIndex) {
@@ -41,20 +42,23 @@ public final class EncryptFunctionAssignmentToken extends
EncryptAssignmentToken
* @param value assignment value
*/
public void addAssignment(final String columnName, final Object value) {
- assignments.add(new FunctionAssignment(columnName, value));
+ FunctionAssignment functionAssignment = new
FunctionAssignment(columnName, value);
+ assignments.add(functionAssignment);
+ builder.append(functionAssignment).append(", ");
}
/**
- * Get assignments.
- * @return FunctionAssignment collection
+ * Judge whether assignments is empty or not.
+ *
+ * @return whether assignments is empty or not
*/
- public Collection<FunctionAssignment> getAssignment() {
- return assignments;
+ public boolean isAssignmentsEmpty() {
+ return assignments.isEmpty();
}
@Override
public String toString() {
- return
assignments.stream().map(FunctionAssignment::toString).collect(Collectors.joining(",
"));
+ return builder.substring(0, builder.length() - 2);
}
@RequiredArgsConstructor