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 <[email protected]>
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) {