This is an automated email from the ASF dual-hosted git repository.

zhaojinchao 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 62b0c506f51 Change query optimize rule to Enumerable convention 
(#19591)
62b0c506f51 is described below

commit 62b0c506f516071b03f920251286bf0e9407780d
Author: Zhengqiang Duan <[email protected]>
AuthorDate: Wed Jul 27 14:38:02 2022 +0800

    Change query optimize rule to Enumerable convention (#19591)
    
    * Change query optimize rule to Enumerable conversion
    
    * optimize unit test
---
 .../planner/QueryOptimizePlannerFactory.java       |  13 +-
 .../optimizer/ShardingSphereOptimizerTest.java     | 137 ++++++++++-----------
 .../common/constant/DistSQLScriptConstants.java    |  28 ++---
 .../queryable/ConvertYamlConfigurationHandler.java |  18 +--
 .../jaxb/cases/domain/SQLParserTestCases.java      |   2 +-
 5 files changed, 98 insertions(+), 100 deletions(-)

diff --git 
a/shardingsphere-infra/shardingsphere-infra-federation/shardingsphere-infra-federation-optimizer/src/main/java/org/apache/shardingsphere/infra/federation/optimizer/planner/QueryOptimizePlannerFactory.java
 
b/shardingsphere-infra/shardingsphere-infra-federation/shardingsphere-infra-federation-optimizer/src/main/java/org/apache/shardingsphere/infra/federation/optimizer/planner/QueryOptimizePlannerFactory.java
index d6a09aade16..ca6680517d9 100644
--- 
a/shardingsphere-infra/shardingsphere-infra-federation/shardingsphere-infra-federation-optimizer/src/main/java/org/apache/shardingsphere/infra/federation/optimizer/planner/QueryOptimizePlannerFactory.java
+++ 
b/shardingsphere-infra/shardingsphere-infra-federation/shardingsphere-infra-federation-optimizer/src/main/java/org/apache/shardingsphere/infra/federation/optimizer/planner/QueryOptimizePlannerFactory.java
@@ -19,11 +19,12 @@ package 
org.apache.shardingsphere.infra.federation.optimizer.planner;
 
 import lombok.AccessLevel;
 import lombok.NoArgsConstructor;
+import org.apache.calcite.adapter.enumerable.EnumerableRules;
 import org.apache.calcite.plan.ConventionTraitDef;
 import org.apache.calcite.plan.RelOptPlanner;
-import org.apache.calcite.plan.RelOptUtil;
 import org.apache.calcite.plan.volcano.VolcanoPlanner;
 import org.apache.calcite.rel.RelCollationTraitDef;
+import org.apache.calcite.rel.rules.CoreRules;
 
 /**
  * Query optimize planner factory.
@@ -45,6 +46,14 @@ public final class QueryOptimizePlannerFactory {
     private static void setUpRules(final RelOptPlanner planner) {
         planner.addRelTraitDef(ConventionTraitDef.INSTANCE);
         planner.addRelTraitDef(RelCollationTraitDef.INSTANCE);
-        RelOptUtil.registerDefaultRules(planner, false, true);
+        planner.addRule(CoreRules.FILTER_TO_CALC);
+        planner.addRule(CoreRules.PROJECT_TO_CALC);
+        planner.addRule(CoreRules.FILTER_INTO_JOIN);
+        planner.addRule(EnumerableRules.ENUMERABLE_CALC_RULE);
+        planner.addRule(EnumerableRules.ENUMERABLE_SORT_RULE);
+        planner.addRule(EnumerableRules.ENUMERABLE_JOIN_RULE);
+        planner.addRule(EnumerableRules.ENUMERABLE_TABLE_SCAN_RULE);
+        planner.addRule(EnumerableRules.ENUMERABLE_AGGREGATE_RULE);
+        planner.addRule(EnumerableRules.ENUMERABLE_FILTER_RULE);
     }
 }
diff --git 
a/shardingsphere-infra/shardingsphere-infra-federation/shardingsphere-infra-federation-optimizer/src/test/java/org/apache/shardingsphere/infra/federation/optimizer/ShardingSphereOptimizerTest.java
 
b/shardingsphere-infra/shardingsphere-infra-federation/shardingsphere-infra-federation-optimizer/src/test/java/org/apache/shardingsphere/infra/federation/optimizer/ShardingSphereOptimizerTest.java
index 4eae873b130..7728aa2a11a 100644
--- 
a/shardingsphere-infra/shardingsphere-infra-federation/shardingsphere-infra-federation-optimizer/src/test/java/org/apache/shardingsphere/infra/federation/optimizer/ShardingSphereOptimizerTest.java
+++ 
b/shardingsphere-infra/shardingsphere-infra-federation/shardingsphere-infra-federation-optimizer/src/test/java/org/apache/shardingsphere/infra/federation/optimizer/ShardingSphereOptimizerTest.java
@@ -133,17 +133,13 @@ public final class ShardingSphereOptimizerTest {
         ShardingSphereSQLParserEngine sqlParserEngine = 
sqlParserRule.getSQLParserEngine(DatabaseTypeEngine.getTrunkDatabaseTypeName(new
 H2DatabaseType()));
         SQLStatement sqlStatement = 
sqlParserEngine.parse(SELECT_CROSS_JOIN_CONDITION, false);
         String actual = optimizer.optimize(databaseName, schemaName, 
sqlStatement).explain();
-        String expected =
-                
"EnumerableCalc(expr#0..4=[{inputs}],proj#0..1=[{exprs}],user_id1=[$t3])"
-                        + "EnumerableInterpreter"
-                        + " 
BindableJoin(condition=[=($2,$4)],joinType=[inner])"
-                        + "    
BindableProject(order_id=[$0],user_id=[$1],user_id0=[CAST($1):VARCHAR])"
-                        + "        
BindableTableScan(table=[[federate_jdbc,t_order_federate]],projects=[[0,1]])"
-                        + "    EnumerableBindable"
-                        + "        
EnumerableCalc(expr#0=[{inputs}],expr#1=[CAST($t0):VARCHAR],proj#0..1=[{exprs}])"
-                        + "            EnumerableInterpreter"
-                        + "                
BindableTableScan(table=[[federate_jdbc,t_user_info]],filters=[[=(CAST($0):INTEGER,13)]],projects=[[0]])";
-        assertThat(actual.replaceAll("\\s*", ""), 
is(expected.replaceAll("\\s*", "")));
+        String expected = "EnumerableCalc(expr#0..4=[{inputs}], 
expr#5=[CAST($t3):INTEGER], expr#6=[13], expr#7=[=($t5, $t6)], 
proj#0..1=[{exprs}], user_id1=[$t3], $condition=[$t7])\n"
+                + "  EnumerableHashJoin(condition=[=($2, $4)], 
joinType=[inner])\n"
+                + "    EnumerableCalc(expr#0..2=[{inputs}], 
expr#3=[CAST($t1):VARCHAR], proj#0..1=[{exprs}], user_id0=[$t3])\n"
+                + "      EnumerableTableScan(table=[[federate_jdbc, 
t_order_federate]])\n"
+                + "    EnumerableCalc(expr#0..1=[{inputs}], 
expr#2=[CAST($t0):VARCHAR], user_id=[$t0], user_id0=[$t2])\n"
+                + "      EnumerableTableScan(table=[[federate_jdbc, 
t_user_info]])\n";
+        assertThat(actual, is(expected));
     }
     
     @Test
@@ -151,10 +147,9 @@ public final class ShardingSphereOptimizerTest {
         ShardingSphereSQLParserEngine sqlParserEngine = 
sqlParserRule.getSQLParserEngine(DatabaseTypeEngine.getTrunkDatabaseTypeName(new
 H2DatabaseType()));
         SQLStatement sqlStatement = 
sqlParserEngine.parse(SELECT_WHERE_ALL_FIELDS, false);
         String actual = optimizer.optimize(databaseName, schemaName, 
sqlStatement).explain();
-        String expected =
-                "EnumerableInterpreter"
-                        + "  
BindableTableScan(table=[[federate_jdbc,t_user_info]],filters=[[=(CAST($0):INTEGER,12)]])";
-        assertThat(actual.replaceAll("\\s*", ""), 
is(expected.replaceAll("\\s*", "")));
+        String expected = "EnumerableCalc(expr#0..1=[{inputs}], 
expr#2=[CAST($t0):INTEGER], expr#3=[12], expr#4=[=($t2, $t3)], 
proj#0..1=[{exprs}], $condition=[$t4])\n"
+                + "  EnumerableTableScan(table=[[federate_jdbc, 
t_user_info]])\n";
+        assertThat(actual, is(expected));
     }
     
     @Test
@@ -162,10 +157,9 @@ public final class ShardingSphereOptimizerTest {
         ShardingSphereSQLParserEngine sqlParserEngine = 
sqlParserRule.getSQLParserEngine(DatabaseTypeEngine.getTrunkDatabaseTypeName(new
 H2DatabaseType()));
         SQLStatement sqlStatement = 
sqlParserEngine.parse(SELECT_WHERE_SINGLE_FIELD, false);
         String actual = optimizer.optimize(databaseName, schemaName, 
sqlStatement).explain();
-        String expected =
-                "EnumerableInterpreter"
-                        + "  
BindableTableScan(table=[[federate_jdbc,t_user_info]],filters=[[=(CAST($0):INTEGER,12)]],projects=[[0]])";
-        assertThat(actual.replaceAll("\\s*", ""), 
is(expected.replaceAll("\\s*", "")));
+        String expected = "EnumerableCalc(expr#0..1=[{inputs}], 
expr#2=[CAST($t0):INTEGER], expr#3=[12], expr#4=[=($t2, $t3)], user_id=[$t0], 
$condition=[$t4])\n"
+                + "  EnumerableTableScan(table=[[federate_jdbc, 
t_user_info]])\n";
+        assertThat(actual, is(expected));
     }
     
     @Test
@@ -173,12 +167,12 @@ public final class ShardingSphereOptimizerTest {
         ShardingSphereSQLParserEngine sqlParserEngine = 
sqlParserRule.getSQLParserEngine(DatabaseTypeEngine.getTrunkDatabaseTypeName(new
 H2DatabaseType()));
         SQLStatement sqlStatement = sqlParserEngine.parse(SELECT_CROSS_WHERE, 
false);
         String actual = optimizer.optimize(databaseName, schemaName, 
sqlStatement).explain();
-        String expected =
-                "EnumerableInterpreter"
-                        + 
"BindableJoin(condition=[=(CAST($1):VARCHAR,CAST($2):VARCHAR)],joinType=[inner])"
-                        + "     
BindableTableScan(table=[[federate_jdbc,t_order_federate]],projects=[[0,1]])"
-                        + "     
BindableTableScan(table=[[federate_jdbc,t_user_info]],projects=[[0]])";
-        assertThat(actual.replaceAll("\\s*", ""), 
is(expected.replaceAll("\\s*", "")));
+        String expected = 
"EnumerableNestedLoopJoin(condition=[=(CAST($1):VARCHAR, CAST($2):VARCHAR)], 
joinType=[inner])\n"
+                + "  EnumerableCalc(expr#0..2=[{inputs}], 
proj#0..1=[{exprs}])\n"
+                + "    EnumerableTableScan(table=[[federate_jdbc, 
t_order_federate]])\n"
+                + "  EnumerableCalc(expr#0..1=[{inputs}], user_id=[$t0])\n"
+                + "    EnumerableTableScan(table=[[federate_jdbc, 
t_user_info]])\n";
+        assertThat(actual, is(expected));
     }
     
     @Test
@@ -186,18 +180,13 @@ public final class ShardingSphereOptimizerTest {
         ShardingSphereSQLParserEngine sqlParserEngine = 
sqlParserRule.getSQLParserEngine(DatabaseTypeEngine.getTrunkDatabaseTypeName(new
 H2DatabaseType()));
         SQLStatement sqlStatement = sqlParserEngine.parse(SELECT_CROSS_JOIN, 
false);
         String actual = optimizer.optimize(databaseName, schemaName, 
sqlStatement).explain();
-        String expected =
-                
"EnumerableCalc(expr#0..4=[{inputs}],proj#0..1=[{exprs}],user_id0=[$t3])"
-                        + 
"EnumerableMergeJoin(condition=[=($2,$4)],joinType=[inner])"
-                        + "     EnumerableSort(sort0=[$2],dir0=[ASC])"
-                        + "         EnumerableInterpreter"
-                        + "             
BindableProject(order_id=[$0],user_id=[$1],user_id0=[CAST($1):VARCHAR])"
-                        + "                 
BindableTableScan(table=[[federate_jdbc,t_order_federate]],projects=[[0,1]])"
-                        + "     EnumerableSort(sort0=[$1],dir0=[ASC])"
-                        + "         EnumerableInterpreter"
-                        + "             
BindableProject(user_id=[$0],user_id0=[CAST($0):VARCHAR])"
-                        + "                 
BindableTableScan(table=[[federate_jdbc,t_user_info]],projects=[[0]])";
-        assertThat(actual.replaceAll("\\s*", ""), 
is(expected.replaceAll("\\s*", "")));
+        String expected = "EnumerableCalc(expr#0..4=[{inputs}], 
proj#0..1=[{exprs}], user_id0=[$t3])\n"
+                + "  EnumerableHashJoin(condition=[=($2, $4)], 
joinType=[inner])\n"
+                + "    EnumerableCalc(expr#0..2=[{inputs}], 
expr#3=[CAST($t1):VARCHAR], proj#0..1=[{exprs}], user_id0=[$t3])\n"
+                + "      EnumerableTableScan(table=[[federate_jdbc, 
t_order_federate]])\n"
+                + "    EnumerableCalc(expr#0..1=[{inputs}], 
expr#2=[CAST($t0):VARCHAR], user_id=[$t0], user_id0=[$t2])\n"
+                + "      EnumerableTableScan(table=[[federate_jdbc, 
t_user_info]])\n";
+        assertThat(actual, is(expected));
     }
     
     @Test
@@ -205,12 +194,12 @@ public final class ShardingSphereOptimizerTest {
         ShardingSphereSQLParserEngine sqlParserEngine = 
sqlParserRule.getSQLParserEngine(DatabaseTypeEngine.getTrunkDatabaseTypeName(new
 H2DatabaseType()));
         SQLStatement sqlStatement = 
sqlParserEngine.parse(SELECT_CROSS_WHERE_CONDITION, false);
         String actual = optimizer.optimize(databaseName, schemaName, 
sqlStatement).explain();
-        String expected =
-                "EnumerableInterpreter"
-                        + " 
BindableJoin(condition=[=(CAST($1):VARCHAR,CAST($2):VARCHAR)],joinType=[inner])"
-                        + "     
BindableTableScan(table=[[federate_jdbc,t_order_federate]],projects=[[0,1]])"
-                        + "     
BindableTableScan(table=[[federate_jdbc,t_user_info]],filters=[[=(CAST($0):INTEGER,13)]],projects=[[0]])";
-        assertThat(actual.replaceAll("\\s*", ""), 
is(expected.replaceAll("\\s*", "")));
+        String expected = 
"EnumerableNestedLoopJoin(condition=[=(CAST($1):VARCHAR, CAST($2):VARCHAR)], 
joinType=[inner])\n"
+                + "  EnumerableCalc(expr#0..2=[{inputs}], 
proj#0..1=[{exprs}])\n"
+                + "    EnumerableTableScan(table=[[federate_jdbc, 
t_order_federate]])\n"
+                + "  EnumerableCalc(expr#0..1=[{inputs}], 
expr#2=[CAST($t0):INTEGER], expr#3=[13], expr#4=[=($t2, $t3)], user_id=[$t0], 
$condition=[$t4])\n"
+                + "    EnumerableTableScan(table=[[federate_jdbc, 
t_user_info]])\n";
+        assertThat(actual, is(expected));
     }
     
     @Test
@@ -218,10 +207,9 @@ public final class ShardingSphereOptimizerTest {
         ShardingSphereSQLParserEngine sqlParserEngine = 
sqlParserRule.getSQLParserEngine(DatabaseTypeEngine.getTrunkDatabaseTypeName(new
 H2DatabaseType()));
         SQLStatement sqlStatement = 
sqlParserEngine.parse(SELECT_SUBQUERY_FROM, false);
         String actual = optimizer.optimize(databaseName, schemaName, 
sqlStatement).explain();
-        String expected =
-                "EnumerableInterpreter"
-                        + "  
BindableTableScan(table=[[federate_jdbc,t_user_info]],filters=[[>(CAST($0):INTEGER,1)]])";
-        assertThat(actual.replaceAll("\\s*", ""), 
is(expected.replaceAll("\\s*", "")));
+        String expected = "EnumerableCalc(expr#0..1=[{inputs}], 
expr#2=[CAST($t0):INTEGER], expr#3=[1], expr#4=[>($t2, $t3)], 
proj#0..1=[{exprs}], $condition=[$t4])\n"
+                + "  EnumerableTableScan(table=[[federate_jdbc, 
t_user_info]])\n";
+        assertThat(actual, is(expected));
     }
     
     @Test
@@ -229,15 +217,14 @@ public final class ShardingSphereOptimizerTest {
         ShardingSphereSQLParserEngine sqlParserEngine = 
sqlParserRule.getSQLParserEngine(DatabaseTypeEngine.getTrunkDatabaseTypeName(new
 H2DatabaseType()));
         SQLStatement sqlStatement = 
sqlParserEngine.parse(SELECT_SUBQUERY_WHERE_EXIST, false);
         String actual = optimizer.optimize(databaseName, schemaName, 
sqlStatement).explain();
-        String expected =
-                "EnumerableInterpreter"
-                        + "BindableProject(order_id=[$0],user_id=[$1])"
-                        + "     
BindableJoin(condition=[=($2,$3)],joinType=[semi])"
-                        + "         
BindableProject(order_id=[$0],user_id=[$1],user_id0=[CAST($1):VARCHAR])"
-                        + "             
BindableTableScan(table=[[federate_jdbc,t_order_federate]],projects=[[0,1]])"
-                        + "         
BindableProject(user_id0=[CAST($0):VARCHAR],$f0=[true])"
-                        + "             
BindableTableScan(table=[[federate_jdbc,t_user_info]],filters=[[ISNOTNULL(CAST($0):VARCHAR)]],projects=[[0]])";
-        assertThat(actual.replaceAll("\\s*", ""), 
is(expected.replaceAll("\\s*", "")));
+        String expected = "EnumerableCalc(expr#0..4=[{inputs}], expr#5=[IS NOT 
NULL($t4)], proj#0..1=[{exprs}], $condition=[$t5])\n"
+                + "  EnumerableHashJoin(condition=[=($2, $3)], 
joinType=[left])\n"
+                + "    EnumerableCalc(expr#0..2=[{inputs}], 
expr#3=[CAST($t1):VARCHAR], proj#0..1=[{exprs}], user_id0=[$t3])\n"
+                + "      EnumerableTableScan(table=[[federate_jdbc, 
t_order_federate]])\n"
+                + "    EnumerableAggregate(group=[{0}], agg#0=[MIN($1)])\n"
+                + "      EnumerableCalc(expr#0..1=[{inputs}], 
expr#2=[CAST($t0):VARCHAR], expr#3=[true], expr#4=[IS NOT NULL($t2)], 
user_id0=[$t2], $f0=[$t3], $condition=[$t4])\n"
+                + "        EnumerableTableScan(table=[[federate_jdbc, 
t_user_info]])\n";
+        assertThat(actual, is(expected));
     }
     
     @Test
@@ -245,12 +232,14 @@ public final class ShardingSphereOptimizerTest {
         ShardingSphereSQLParserEngine sqlParserEngine = 
sqlParserRule.getSQLParserEngine(DatabaseTypeEngine.getTrunkDatabaseTypeName(new
 H2DatabaseType()));
         SQLStatement sqlStatement = 
sqlParserEngine.parse(SELECT_SUBQUERY_WHERE_IN, false);
         String actual = optimizer.optimize(databaseName, schemaName, 
sqlStatement).explain();
-        String expected =
-                "EnumerableInterpreter"
-                        + " BindableJoin(condition=[=($1,$2)],joinType=[semi])"
-                        + "     
BindableTableScan(table=[[federate_jdbc,t_order_federate]],projects=[[0,1]])"
-                        + "     
BindableTableScan(table=[[federate_jdbc,t_user_info]],projects=[[0]])";
-        assertThat(actual.replaceAll("\\s*", ""), 
is(expected.replaceAll("\\s*", "")));
+        String expected = "EnumerableCalc(expr#0..2=[{inputs}], 
proj#0..1=[{exprs}])\n"
+                + "  EnumerableHashJoin(condition=[=($1, $2)], 
joinType=[inner])\n"
+                + "    EnumerableCalc(expr#0..2=[{inputs}], 
proj#0..1=[{exprs}])\n"
+                + "      EnumerableTableScan(table=[[federate_jdbc, 
t_order_federate]])\n"
+                + "    EnumerableAggregate(group=[{0}])\n"
+                + "      EnumerableCalc(expr#0..1=[{inputs}], user_id=[$t0])\n"
+                + "        EnumerableTableScan(table=[[federate_jdbc, 
t_user_info]])\n";
+        assertThat(actual, is(expected));
     }
     
     @Test
@@ -258,17 +247,17 @@ public final class ShardingSphereOptimizerTest {
         ShardingSphereSQLParserEngine sqlParserEngine = 
sqlParserRule.getSQLParserEngine(DatabaseTypeEngine.getTrunkDatabaseTypeName(new
 H2DatabaseType()));
         SQLStatement sqlStatement = 
sqlParserEngine.parse(SELECT_SUBQUERY_WHERE_BETWEEN, false);
         String actual = optimizer.optimize(databaseName, schemaName, 
sqlStatement).explain();
-        String expected =
-                "EnumerableCalc(expr#0..3=[{inputs}],proj#0..1=[{exprs}])"
-                        + "EnumerableInterpreter"
-                        + " 
BindableFilter(condition=[AND(>=($1,$2),<=($1,$3))])"
-                        + "    BindableJoin(condition=[true],joinType=[left])"
-                        + "        
BindableJoin(condition=[true],joinType=[left])"
-                        + "            
BindableTableScan(table=[[federate_jdbc,t_order_federate]],projects=[[0,1]])"
-                        + "                
BindableAggregate(group=[{}],agg#0=[SINGLE_VALUE($0)])"
-                        + "            
BindableTableScan(table=[[federate_jdbc,t_user_info]],filters=[[=(CAST($1):VARCHAR,'before')]],projects=[[0]])"
-                        + "                
BindableAggregate(group=[{}],agg#0=[SINGLE_VALUE($0)])"
-                        + "        
BindableTableScan(table=[[federate_jdbc,t_user_info]],filters=[[=(CAST($1):VARCHAR,'after')]],projects=[[0]])";
-        assertThat(actual.replaceAll("\\s*", ""), 
is(expected.replaceAll("\\s*", "")));
+        String expected = "EnumerableCalc(expr#0..3=[{inputs}], 
proj#0..1=[{exprs}])\n"
+                + "  EnumerableNestedLoopJoin(condition=[<=($1, $3)], 
joinType=[inner])\n"
+                + "    EnumerableNestedLoopJoin(condition=[>=($1, $2)], 
joinType=[inner])\n"
+                + "      EnumerableCalc(expr#0..2=[{inputs}], 
proj#0..1=[{exprs}])\n"
+                + "        EnumerableTableScan(table=[[federate_jdbc, 
t_order_federate]])\n"
+                + "      EnumerableAggregate(group=[{}], 
agg#0=[SINGLE_VALUE($0)])\n"
+                + "        EnumerableCalc(expr#0..1=[{inputs}], 
expr#2=[CAST($t1):VARCHAR], expr#3=['before':VARCHAR], expr#4=[=($t2, $t3)], 
user_id=[$t0], $condition=[$t4])\n"
+                + "          EnumerableTableScan(table=[[federate_jdbc, 
t_user_info]])\n"
+                + "    EnumerableAggregate(group=[{}], 
agg#0=[SINGLE_VALUE($0)])\n"
+                + "      EnumerableCalc(expr#0..1=[{inputs}], 
expr#2=[CAST($t1):VARCHAR], expr#3=['after':VARCHAR], expr#4=[=($t2, $t3)], 
user_id=[$t0], $condition=[$t4])\n"
+                + "        EnumerableTableScan(table=[[federate_jdbc, 
t_user_info]])\n";
+        assertThat(actual, is(expected));
     }
 }
diff --git 
a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/ral/common/constant/DistSQLScriptConstants.java
 
b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/ral/common/constant/DistSQLScriptConstants.java
index bca7e53d1c5..7c7fcb64b9f 100644
--- 
a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/ral/common/constant/DistSQLScriptConstants.java
+++ 
b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/ral/common/constant/DistSQLScriptConstants.java
@@ -63,17 +63,17 @@ public final class DistSQLScriptConstants {
             + ")";
     
     public static final String PROPERTY = "\"%s\"=\"%s\"";
-
+    
     public static final String CREATE_SHARDING_ALGORITHM = "CREATE SHARDING 
ALGORITHM";
-
+    
     public static final String SHARDING_ALGORITHM = " %s ("
             + System.lineSeparator()
             + "TYPE(NAME=%s, PROPERTIES(%s))"
             + System.lineSeparator()
             + ")";
-
+    
     public static final String CREATE_SHARDING_TABLE = "CREATE SHARDING TABLE 
RULE";
-
+    
     public static final String SHARDING_TABLE = " %s ("
             + System.lineSeparator()
             + "DATANODES(\"%s\"),"
@@ -81,32 +81,32 @@ public final class DistSQLScriptConstants {
             + "%s"
             + System.lineSeparator()
             + ")";
-
+    
     public static final String DATABASE_STRATEGY = "DATABASE_STRATEGY";
-
+    
     public static final String TABLE_STRATEGY = "TABLE_STRATEGY";
-
+    
     public static final String SHARDING_STRATEGY_STANDARD = "%s(TYPE=%s, 
SHARDING_COLUMN=%s, SHARDING_ALGORITHM=%s),"
             + System.lineSeparator();
-
+    
     public static final String SHARDING_STRATEGY_COMPLEX = "%s(TYPE=%s, 
SHARDING_COLUMNS=%s, SHARDING_ALGORITHM=%s),"
             + System.lineSeparator();
-
+    
     public static final String SHARDING_STRATEGY_HINT = "%s(TYPE=%s, 
SHARDING_ALGORITHM=%s),"
             + System.lineSeparator();
-
+    
     public static final String KEY_GENERATOR_STRATEGY = 
"KEY_GENERATE_STRATEGY(COLUMN=%s, KEY_GENERATOR=%s),"
             + System.lineSeparator();
-
+    
     public static final String CREATE_KEY_GENERATOR = "CREATE SHARDING KEY 
GENERATOR";
-
+    
     public static final String KEY_GENERATOR = " %s ("
             + System.lineSeparator()
             + "TYPE(NAME=%s)"
             + System.lineSeparator()
             + ")";
-
+    
     public static final String SHARDING_BINDING_TABLE_RULES = "CREATE SHARDING 
BINDING TABLE RULES %s";
-
+    
     public static final String BINDING = "(%s)";
 }
diff --git 
a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/ral/queryable/ConvertYamlConfigurationHandler.java
 
b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/ral/queryable/ConvertYamlConfigurationHandler.java
index 3d0a896ba4f..41585371eb9 100644
--- 
a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/ral/queryable/ConvertYamlConfigurationHandler.java
+++ 
b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/ral/queryable/ConvertYamlConfigurationHandler.java
@@ -147,12 +147,12 @@ public class ConvertYamlConfigurationHandler extends 
QueryableRALBackendHandler<
             }
         }
     }
-
+    
     private void appendRules(final Collection<YamlRuleConfiguration> rules, 
final StringBuilder stringBuilder) {
         if (rules.isEmpty()) {
             return;
         }
-        for (YamlRuleConfiguration rule: rules) {
+        for (YamlRuleConfiguration rule : rules) {
             ShardingRuleConfiguration shardingRuleConfig = new 
ShardingRuleConfigurationYamlSwapper().swapToObject((YamlShardingRuleConfiguration)
 rule);
             appendShardingAlgorithms(shardingRuleConfig, stringBuilder);
             appendKeyGenerators(shardingRuleConfig, stringBuilder);
@@ -161,7 +161,7 @@ public class ConvertYamlConfigurationHandler extends 
QueryableRALBackendHandler<
             appendShardingBindingTableRules(shardingRuleConfig, stringBuilder);
         }
     }
-
+    
     private void appendShardingAlgorithms(final ShardingRuleConfiguration 
shardingRuleConfig, final StringBuilder stringBuilder) {
         stringBuilder.append(DistSQLScriptConstants.CREATE_SHARDING_ALGORITHM);
         Iterator<Entry<String, ShardingSphereAlgorithmConfiguration>> iterator 
= shardingRuleConfig.getShardingAlgorithms().entrySet().iterator();
@@ -177,7 +177,7 @@ public class ConvertYamlConfigurationHandler extends 
QueryableRALBackendHandler<
         }
         
stringBuilder.append(DistSQLScriptConstants.SEMI).append(System.lineSeparator());
     }
-
+    
     private String appendShardingAlgorithmProperties(final Properties 
property) {
         StringBuilder result = new StringBuilder();
         Iterator<Entry<Object, Object>> iterator = 
property.entrySet().iterator();
@@ -190,7 +190,7 @@ public class ConvertYamlConfigurationHandler extends 
QueryableRALBackendHandler<
         }
         return result.toString();
     }
-
+    
     private void appendKeyGenerators(final ShardingRuleConfiguration 
shardingRuleConfig, final StringBuilder stringBuilder) {
         stringBuilder.append(DistSQLScriptConstants.CREATE_KEY_GENERATOR);
         Iterator<Entry<String, ShardingSphereAlgorithmConfiguration>> iterator 
= shardingRuleConfig.getKeyGenerators().entrySet().iterator();
@@ -205,7 +205,7 @@ public class ConvertYamlConfigurationHandler extends 
QueryableRALBackendHandler<
         }
         
stringBuilder.append(DistSQLScriptConstants.SEMI).append(System.lineSeparator());
     }
-
+    
     private void appendShardingTableRules(final ShardingRuleConfiguration 
shardingRuleConfig, final StringBuilder stringBuilder) {
         stringBuilder.append(DistSQLScriptConstants.CREATE_SHARDING_TABLE);
         Iterator<ShardingTableRuleConfiguration> iterator = 
shardingRuleConfig.getTables().iterator();
@@ -221,7 +221,7 @@ public class ConvertYamlConfigurationHandler extends 
QueryableRALBackendHandler<
         }
         
stringBuilder.append(DistSQLScriptConstants.SEMI).append(System.lineSeparator());
     }
-
+    
     private String appendTableStrategy(final ShardingTableRuleConfiguration 
shardingTableRuleConfig) {
         StringBuilder result = new StringBuilder();
         if (null != shardingTableRuleConfig.getDatabaseShardingStrategy()) {
@@ -238,7 +238,7 @@ public class ConvertYamlConfigurationHandler extends 
QueryableRALBackendHandler<
         }
         return result.substring(0, result.length() - 2);
     }
-
+    
     private StringBuilder getStrategy(final ShardingStrategyConfiguration 
shardingStrategyConfiguration, final String strategyType, final StringBuilder 
result) {
         String type = shardingStrategyConfiguration.getType().toLowerCase();
         String shardingAlgorithmName = 
shardingStrategyConfiguration.getShardingAlgorithmName();
@@ -266,7 +266,7 @@ public class ConvertYamlConfigurationHandler extends 
QueryableRALBackendHandler<
         String bindings = 
getBinding(shardingRuleConfig.getBindingTableGroups().iterator());
         
stringBuilder.append(String.format(DistSQLScriptConstants.SHARDING_BINDING_TABLE_RULES,
 bindings));
     }
-
+    
     private String getBinding(final Iterator<String> iterator) {
         StringBuilder result = new StringBuilder();
         while (iterator.hasNext()) {
diff --git 
a/shardingsphere-test/shardingsphere-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/SQLParserTestCases.java
 
b/shardingsphere-test/shardingsphere-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/SQLParserTestCases.java
index db63edf8ed8..aad08b98f6b 100644
--- 
a/shardingsphere-test/shardingsphere-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/SQLParserTestCases.java
+++ 
b/shardingsphere-test/shardingsphere-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/SQLParserTestCases.java
@@ -1030,7 +1030,7 @@ public final class SQLParserTestCases {
     
     @XmlElement(name = "parse-sql")
     private final List<ParseStatementTestCase> parseStatementAsserts = new 
LinkedList<>();
-
+    
     @XmlElement(name = "format-sql")
     private final List<FormatSQLStatementTestCase> formatSQLStatementAsserts = 
new LinkedList<>();
     

Reply via email to