You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by du...@apache.org on 2022/06/06 10:38:44 UTC
[shardingsphere] branch master updated: little optimize SubstitutableColumnNameToken.toString method (#18152)
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 0d17b4b9b04 little optimize SubstitutableColumnNameToken.toString method (#18152)
0d17b4b9b04 is described below
commit 0d17b4b9b04245196712b3c5686fc8a5fcc99540
Author: Chuxin Chen <ch...@qq.com>
AuthorDate: Mon Jun 6 18:38:32 2022 +0800
little optimize SubstitutableColumnNameToken.toString method (#18152)
---
.../sql/token/pojo/generic/SubstitutableColumnNameToken.java | 12 +++++++++---
1 file changed, 9 insertions(+), 3 deletions(-)
diff --git a/shardingsphere-infra/shardingsphere-infra-rewrite/src/main/java/org/apache/shardingsphere/infra/rewrite/sql/token/pojo/generic/SubstitutableColumnNameToken.java b/shardingsphere-infra/shardingsphere-infra-rewrite/src/main/java/org/apache/shardingsphere/infra/rewrite/sql/token/pojo/generic/SubstitutableColumnNameToken.java
index 3ccb736955e..13b695e519a 100644
--- a/shardingsphere-infra/shardingsphere-infra-rewrite/src/main/java/org/apache/shardingsphere/infra/rewrite/sql/token/pojo/generic/SubstitutableColumnNameToken.java
+++ b/shardingsphere-infra/shardingsphere-infra-rewrite/src/main/java/org/apache/shardingsphere/infra/rewrite/sql/token/pojo/generic/SubstitutableColumnNameToken.java
@@ -76,11 +76,17 @@ public final class SubstitutableColumnNameToken extends SQLToken implements Subs
@Override
public String toString(final RouteUnit routeUnit) {
Map<String, String> logicAndActualTables = getLogicAndActualTables(routeUnit);
- StringBuilder builder = lastColumn ? new StringBuilder(COLUMN_NAME_SPLITTER) : new StringBuilder();
+ StringBuilder result = new StringBuilder();
+ int count = 0;
for (ColumnProjection each : projections) {
- builder.append(getColumnName(each, logicAndActualTables)).append(COLUMN_NAME_SPLITTER);
+ if (0 == count && !lastColumn) {
+ result.append(getColumnName(each, logicAndActualTables));
+ } else {
+ result.append(COLUMN_NAME_SPLITTER).append(getColumnName(each, logicAndActualTables));
+ }
+ count++;
}
- return builder.substring(0, builder.length() - COLUMN_NAME_SPLITTER.length());
+ return result.toString();
}
private Map<String, String> getLogicAndActualTables(final RouteUnit routeUnit) {