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) {