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 e104147caee refactor SQLTokenGenerators (#28076)
e104147caee is described below

commit e104147caee2f4a5f14f7c7f400eedb0f699d6d0
Author: Chuxin Chen <[email protected]>
AuthorDate: Mon Aug 14 19:04:23 2023 +0800

    refactor SQLTokenGenerators (#28076)
---
 .../infra/rewrite/sql/token/generator/SQLTokenGenerators.java | 11 ++++-------
 1 file changed, 4 insertions(+), 7 deletions(-)

diff --git 
a/infra/rewrite/src/main/java/org/apache/shardingsphere/infra/rewrite/sql/token/generator/SQLTokenGenerators.java
 
b/infra/rewrite/src/main/java/org/apache/shardingsphere/infra/rewrite/sql/token/generator/SQLTokenGenerators.java
index 7be04c6e527..342a479f013 100644
--- 
a/infra/rewrite/src/main/java/org/apache/shardingsphere/infra/rewrite/sql/token/generator/SQLTokenGenerators.java
+++ 
b/infra/rewrite/src/main/java/org/apache/shardingsphere/infra/rewrite/sql/token/generator/SQLTokenGenerators.java
@@ -18,16 +18,15 @@
 package org.apache.shardingsphere.infra.rewrite.sql.token.generator;
 
 import 
org.apache.shardingsphere.infra.binder.context.statement.SQLStatementContext;
-import org.apache.shardingsphere.infra.session.connection.ConnectionContext;
 import 
org.apache.shardingsphere.infra.metadata.database.schema.model.ShardingSphereSchema;
 import 
org.apache.shardingsphere.infra.rewrite.sql.token.generator.aware.ConnectionContextAware;
 import 
org.apache.shardingsphere.infra.rewrite.sql.token.generator.aware.ParametersAware;
 import 
org.apache.shardingsphere.infra.rewrite.sql.token.generator.aware.PreviousSQLTokensAware;
 import 
org.apache.shardingsphere.infra.rewrite.sql.token.generator.aware.SchemaMetaDataAware;
 import org.apache.shardingsphere.infra.rewrite.sql.token.pojo.SQLToken;
+import org.apache.shardingsphere.infra.session.connection.ConnectionContext;
 
 import java.util.Collection;
-import java.util.LinkedHashMap;
 import java.util.LinkedList;
 import java.util.List;
 import java.util.Map;
@@ -37,7 +36,7 @@ import java.util.Map;
  */
 public final class SQLTokenGenerators {
     
-    private final Map<Class<?>, SQLTokenGenerator> generators = new 
LinkedHashMap<>();
+    private final Collection<SQLTokenGenerator> generators = new 
LinkedList<>();
     
     /**
      * Add all SQL token generators.
@@ -45,9 +44,7 @@ public final class SQLTokenGenerators {
      * @param sqlTokenGenerators SQL token generators
      */
     public void addAll(final Collection<SQLTokenGenerator> sqlTokenGenerators) 
{
-        for (SQLTokenGenerator each : sqlTokenGenerators) {
-            generators.putIfAbsent(each.getClass(), each);
-        }
+        generators.addAll(sqlTokenGenerators);
     }
     
     /**
@@ -64,7 +61,7 @@ public final class SQLTokenGenerators {
     public List<SQLToken> generateSQLTokens(final String databaseName, final 
Map<String, ShardingSphereSchema> schemas,
                                             final SQLStatementContext 
sqlStatementContext, final List<Object> params, final ConnectionContext 
connectionContext) {
         List<SQLToken> result = new LinkedList<>();
-        for (SQLTokenGenerator each : generators.values()) {
+        for (SQLTokenGenerator each : generators) {
             setUpSQLTokenGenerator(each, params, databaseName, schemas, 
result, connectionContext);
             if (each instanceof OptionalSQLTokenGenerator) {
                 SQLToken sqlToken = ((OptionalSQLTokenGenerator) 
each).generateSQLToken(sqlStatementContext);

Reply via email to