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 2022/05/28 06:43:58 UTC
[shardingsphere] branch master updated: little performance improve for encryptRule (#18012)
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 4f545899f7c little performance improve for encryptRule (#18012)
4f545899f7c is described below
commit 4f545899f7c40b7f6512f8c8e83480d387fc53da
Author: Chuxin Chen <ch...@qq.com>
AuthorDate: Sat May 28 14:43:52 2022 +0800
little performance improve for encryptRule (#18012)
* little performance improve for encryptRule
---
.../java/org/apache/shardingsphere/encrypt/rule/EncryptRule.java | 9 ++++++---
.../org/apache/shardingsphere/encrypt/rule/EncryptTable.java | 8 ++++++--
2 files changed, 12 insertions(+), 5 deletions(-)
diff --git a/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-core/src/main/java/org/apache/shardingsphere/encrypt/rule/EncryptRule.java b/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-core/src/main/java/org/apache/shardingsphere/encrypt/rule/EncryptRule.java
index dd9570fe686..e14c250b403 100644
--- a/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-core/src/main/java/org/apache/shardingsphere/encrypt/rule/EncryptRule.java
+++ b/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-core/src/main/java/org/apache/shardingsphere/encrypt/rule/EncryptRule.java
@@ -171,7 +171,8 @@ public final class EncryptRule implements SchemaRule, TableContainedRule {
*/
@SuppressWarnings("rawtypes")
public Optional<EncryptAlgorithm> findEncryptor(final String logicTable, final String logicColumn) {
- return tables.containsKey(logicTable.toLowerCase()) ? tables.get(logicTable.toLowerCase()).findEncryptorName(logicColumn).map(encryptors::get) : Optional.empty();
+ String lowerCaseLogicTable = logicTable.toLowerCase();
+ return tables.containsKey(lowerCaseLogicTable) ? tables.get(lowerCaseLogicTable).findEncryptorName(logicColumn).map(encryptors::get) : Optional.empty();
}
/**
@@ -220,7 +221,8 @@ public final class EncryptRule implements SchemaRule, TableContainedRule {
* @return logic and cipher columns
*/
public Map<String, String> getLogicAndCipherColumns(final String logicTable) {
- return tables.containsKey(logicTable.toLowerCase()) ? tables.get(logicTable.toLowerCase()).getLogicAndCipherColumns() : Collections.emptyMap();
+ String lowerCaseLogicTable = logicTable.toLowerCase();
+ return tables.containsKey(lowerCaseLogicTable) ? tables.get(lowerCaseLogicTable).getLogicAndCipherColumns() : Collections.emptyMap();
}
/**
@@ -231,7 +233,8 @@ public final class EncryptRule implements SchemaRule, TableContainedRule {
* @return assisted query column
*/
public Optional<String> findAssistedQueryColumn(final String logicTable, final String logicColumn) {
- return tables.containsKey(logicTable.toLowerCase()) ? tables.get(logicTable.toLowerCase()).findAssistedQueryColumn(logicColumn) : Optional.empty();
+ String lowerCaseLogicTable = logicTable.toLowerCase();
+ return tables.containsKey(lowerCaseLogicTable) ? tables.get(lowerCaseLogicTable).findAssistedQueryColumn(logicColumn) : Optional.empty();
}
/**
diff --git a/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-core/src/main/java/org/apache/shardingsphere/encrypt/rule/EncryptTable.java b/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-core/src/main/java/org/apache/shardingsphere/encrypt/rule/EncryptTable.java
index ffcf1ee62e2..5de89ddefe9 100644
--- a/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-core/src/main/java/org/apache/shardingsphere/encrypt/rule/EncryptTable.java
+++ b/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-core/src/main/java/org/apache/shardingsphere/encrypt/rule/EncryptTable.java
@@ -25,12 +25,12 @@ import org.apache.shardingsphere.encrypt.spi.context.EncryptColumnDataType;
import org.apache.shardingsphere.infra.exception.ShardingSphereException;
import java.util.Collection;
+import java.util.HashMap;
import java.util.LinkedList;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Optional;
import java.util.TreeMap;
-import java.util.stream.Collectors;
/**
* Encrypt table.
@@ -175,7 +175,11 @@ public final class EncryptTable {
* @return logic and cipher columns
*/
public Map<String, String> getLogicAndCipherColumns() {
- return columns.entrySet().stream().collect(Collectors.toMap(Entry::getKey, entry -> entry.getValue().getCipherColumn()));
+ Map<String, String> result = new HashMap<>(columns.size(), 1);
+ for (Entry<String, EncryptColumn> entry : columns.entrySet()) {
+ result.put(entry.getKey(), entry.getValue().getCipherColumn());
+ }
+ return result;
}
/**