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

jianglongtao 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 58715b2b6af Refactor parameter type definitions of Sharding DistSQL. 
(#20168)
58715b2b6af is described below

commit 58715b2b6afce2b5f0b0bab3bc1a09c34bca9840
Author: yx9o <[email protected]>
AuthorDate: Mon Aug 15 00:13:20 2022 +0800

    Refactor parameter type definitions of Sharding DistSQL. (#20168)
    
    * Refactor parameter type definitions of Sharding DistSQL.
    
    * Fix scaling-it-test.
    
    * Fix scaling-it-test.
    
    * Fix it-test.
---
 ...rdingTableRulesUsedAlgorithmQueryResultSet.java |  4 +-
 ...gTableRulesUsedAlgorithmQueryResultSetTest.java |  4 +-
 .../src/main/antlr4/imports/sharding/BaseRule.g4   |  2 +-
 .../src/main/antlr4/imports/sharding/Literals.g4   | 23 +-----
 .../main/antlr4/imports/sharding/RALStatement.g4   |  2 +-
 .../main/antlr4/imports/sharding/RDLStatement.g4   | 96 +++++++++++-----------
 .../main/antlr4/imports/sharding/RQLStatement.g4   |  2 +-
 .../core/ShardingDistSQLStatementVisitor.java      | 15 ++--
 ...owShardingTableRulesUsedAlgorithmStatement.java | 10 +--
 .../handler/ProxyBackendHandlerFactoryTest.java    |  2 +-
 .../pipeline/cases/base/BaseExtraSQLITCase.java    |  2 +-
 .../src/test/resources/env/common/command.xml      | 28 +++----
 ...dingTableRulesUsedAlgorithmStatementAssert.java |  6 +-
 .../src/main/resources/sql/supported/rdl/alter.xml | 18 ++--
 .../main/resources/sql/supported/rdl/create.xml    | 26 +++---
 15 files changed, 108 insertions(+), 132 deletions(-)

diff --git 
a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-distsql/shardingsphere-sharding-distsql-handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/query/ShardingTableRulesUsedAlgorithmQueryResultSet.java
 
b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-distsql/shardingsphere-sharding-distsql-handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/query/ShardingTableRulesUsedAlgorithmQueryResultSet.java
index cd34975f9a2..fed9c70c8f4 100644
--- 
a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-distsql/shardingsphere-sharding-distsql-handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/query/ShardingTableRulesUsedAlgorithmQueryResultSet.java
+++ 
b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-distsql/shardingsphere-sharding-distsql-handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/query/ShardingTableRulesUsedAlgorithmQueryResultSet.java
@@ -48,11 +48,11 @@ public final class 
ShardingTableRulesUsedAlgorithmQueryResultSet implements Data
     }
     
     private void requireResult(final 
ShowShardingTableRulesUsedAlgorithmStatement statement, final 
Collection<Collection<Object>> data, final ShardingRule rule) {
-        if (!statement.getAlgorithmName().isPresent()) {
+        if (!statement.getShardingAlgorithmName().isPresent()) {
             return;
         }
         ShardingRuleConfiguration config = (ShardingRuleConfiguration) 
rule.getConfiguration();
-        String algorithmName = statement.getAlgorithmName().get();
+        String algorithmName = statement.getShardingAlgorithmName().get();
         boolean matchDefaultDatabaseShardingStrategy = null != 
config.getDefaultDatabaseShardingStrategy()
                 && 
algorithmName.equals(config.getDefaultDatabaseShardingStrategy().getShardingAlgorithmName());
         boolean matchDefaultTableShardingStrategy = null != 
config.getDefaultTableShardingStrategy()
diff --git 
a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-distsql/shardingsphere-sharding-distsql-handler/src/test/java/org/apache/shardingsphere/sharding/distsql/query/ShowShardingTableRulesUsedAlgorithmQueryResultSetTest.java
 
b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-distsql/shardingsphere-sharding-distsql-handler/src/test/java/org/apache/shardingsphere/sharding/distsql/query/ShowShardingTableRulesUsedAlgorithmQueryResultSetTest.java
index 289de1886e5..cedf39aef72 100644
--- 
a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-distsql/shardingsphere-sharding-distsql-handler/src/test/java/org/apache/shardingsphere/sharding/distsql/query/ShowShardingTableRulesUsedAlgorithmQueryResultSetTest.java
+++ 
b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-distsql/shardingsphere-sharding-distsql-handler/src/test/java/org/apache/shardingsphere/sharding/distsql/query/ShowShardingTableRulesUsedAlgorithmQueryResultSetTest.java
@@ -52,13 +52,13 @@ public final class 
ShowShardingTableRulesUsedAlgorithmQueryResultSetTest {
         
when(database.getRuleMetaData().findSingleRule(ShardingRule.class)).thenReturn(Optional.of(rule));
         DatabaseDistSQLResultSet resultSet = new 
ShardingTableRulesUsedAlgorithmQueryResultSet();
         ShowShardingTableRulesUsedAlgorithmStatement statement = 
mock(ShowShardingTableRulesUsedAlgorithmStatement.class);
-        
when(statement.getAlgorithmName()).thenReturn(Optional.of("t_order_inline"));
+        
when(statement.getShardingAlgorithmName()).thenReturn(Optional.of("t_order_inline"));
         resultSet.init(database, statement);
         List<Object> actual = new ArrayList<>(resultSet.getRowData());
         assertThat(actual.size(), is(2));
         assertThat(actual.get(0), is("table"));
         assertThat(actual.get(1), is("t_order"));
-        when(statement.getAlgorithmName()).thenReturn(Optional.of("auto_mod"));
+        
when(statement.getShardingAlgorithmName()).thenReturn(Optional.of("auto_mod"));
         resultSet.init(database, statement);
         actual = new ArrayList<>(resultSet.getRowData());
         assertThat(actual.size(), is(2));
diff --git 
a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-distsql/shardingsphere-sharding-distsql-parser/src/main/antlr4/imports/sharding/BaseRule.g4
 
b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-distsql/shardingsphere-sharding-distsql-parser/src/main/antlr4/imports/sharding/BaseRule.g4
index b3166907e7b..082bcd6143b 100644
--- 
a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-distsql/shardingsphere-sharding-distsql-parser/src/main/antlr4/imports/sharding/BaseRule.g4
+++ 
b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-distsql/shardingsphere-sharding-distsql-parser/src/main/antlr4/imports/sharding/BaseRule.g4
@@ -23,7 +23,7 @@ tableName
     : IDENTIFIER
     ;
 
-algorithmName
+shardingAlgorithmName
     : IDENTIFIER
     ;
 
diff --git 
a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-distsql/shardingsphere-sharding-distsql-parser/src/main/antlr4/imports/sharding/Literals.g4
 
b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-distsql/shardingsphere-sharding-distsql-parser/src/main/antlr4/imports/sharding/Literals.g4
index e5f807b1104..d8f6d07f77c 100644
--- 
a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-distsql/shardingsphere-sharding-distsql-parser/src/main/antlr4/imports/sharding/Literals.g4
+++ 
b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-distsql/shardingsphere-sharding-distsql-parser/src/main/antlr4/imports/sharding/Literals.g4
@@ -22,30 +22,13 @@ import Alphabet, Symbol;
 IDENTIFIER
     : [A-Za-z_$0-9]*?[A-Za-z_$]+?[A-Za-z_$0-9]*
     | BQ ~'`'+ BQ
-    | (DQ ( '\\'. | '""' | ~('"'| '\\') )* DQ)
     ;
-    
+
 STRING
-    : (DQ ('""' | ~('"'| '\\') )* DQ)
-    | (SQ ('\'\'' | ~('\'' | '\\'))* SQ)
+    : (DQ ('\\'. | '""' | ~('"' | '\\'))* DQ)
+    | (SQ ('\\'. | '\'\'' | ~('\'' | '\\'))* SQ)
     ;
 
 INT
     : [0-9]+
     ;
-
-HEX
-    : [0-9a-fA-F]
-    ;
-
-NUMBER
-    : INT? DOT? INT (E (PLUS | MINUS)? INT)?
-    ;
-
-HEXDIGIT
-    : '0x' HEX+ | 'X' SQ HEX+ SQ
-    ;
-    
-BITNUM
-    : '0b' ('0' | '1')+ | B SQ ('0' | '1')+ SQ
-    ;
diff --git 
a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-distsql/shardingsphere-sharding-distsql-parser/src/main/antlr4/imports/sharding/RALStatement.g4
 
b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-distsql/shardingsphere-sharding-distsql-parser/src/main/antlr4/imports/sharding/RALStatement.g4
index 32d735bd44d..ba086187c79 100644
--- 
a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-distsql/shardingsphere-sharding-distsql-parser/src/main/antlr4/imports/sharding/RALStatement.g4
+++ 
b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-distsql/shardingsphere-sharding-distsql-parser/src/main/antlr4/imports/sharding/RALStatement.g4
@@ -40,5 +40,5 @@ clearShardingHint
     ;
 
 shardingValue
-    : INT | IDENTIFIER | STRING
+    : INT | STRING
     ;
diff --git 
a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-distsql/shardingsphere-sharding-distsql-parser/src/main/antlr4/imports/sharding/RDLStatement.g4
 
b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-distsql/shardingsphere-sharding-distsql-parser/src/main/antlr4/imports/sharding/RDLStatement.g4
index 8df58a06682..8e89e0692c4 100644
--- 
a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-distsql/shardingsphere-sharding-distsql-parser/src/main/antlr4/imports/sharding/RDLStatement.g4
+++ 
b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-distsql/shardingsphere-sharding-distsql-parser/src/main/antlr4/imports/sharding/RDLStatement.g4
@@ -23,80 +23,80 @@ createShardingTableRule
     : CREATE SHARDING TABLE RULE shardingTableRuleDefinition (COMMA 
shardingTableRuleDefinition)*
     ;
 
-createShardingBindingTableRules
-    : CREATE SHARDING BINDING TABLE RULES bindTableRulesDefinition (COMMA 
bindTableRulesDefinition)*
+alterShardingTableRule
+    : ALTER SHARDING TABLE RULE shardingTableRuleDefinition (COMMA 
shardingTableRuleDefinition)*
     ;
 
-createShardingBroadcastTableRules
-    : CREATE SHARDING BROADCAST TABLE RULES LP tableName (COMMA tableName)* RP
+dropShardingTableRule
+    : DROP SHARDING TABLE RULE ifExists? tableName (COMMA tableName)* 
withUnusedAlgorithmsClause?
     ;
 
-createShardingAlgorithm
-    : CREATE SHARDING ALGORITHM shardingAlgorithmDefinition (COMMA  
shardingAlgorithmDefinition)*
+createShardingBindingTableRules
+    : CREATE SHARDING BINDING TABLE RULES bindTableRulesDefinition (COMMA 
bindTableRulesDefinition)*
     ;
 
-createDefaultShardingStrategy
-    : CREATE DEFAULT SHARDING type=(DATABASE | TABLE) STRATEGY LP 
shardingStrategy RP
+alterShardingBindingTableRules
+    : ALTER SHARDING BINDING TABLE RULES bindTableRulesDefinition (COMMA 
bindTableRulesDefinition)*
     ;
 
-alterDefaultShardingStrategy
-    : ALTER DEFAULT SHARDING type=(DATABASE | TABLE) STRATEGY LP 
shardingStrategy RP
+dropShardingBindingTableRules
+    : DROP SHARDING BINDING TABLE RULES ifExists? (bindTableRulesDefinition 
(COMMA bindTableRulesDefinition)*)?
     ;
 
-dropDefaultShardingStrategy
-    : DROP DEFAULT SHARDING type=(DATABASE | TABLE) STRATEGY ifExists?
+createShardingBroadcastTableRules
+    : CREATE SHARDING BROADCAST TABLE RULES LP tableName (COMMA tableName)* RP
     ;
 
-createShardingKeyGenerator
-    : CREATE SHARDING KEY GENERATOR keyGeneratorDefinition (COMMA 
keyGeneratorDefinition)*
+alterShardingBroadcastTableRules
+    : ALTER SHARDING BROADCAST TABLE RULES LP tableName (COMMA tableName)* RP
     ;
 
-createShardingAuditor
-    : CREATE SHARDING AUDITOR auditorDefinition (COMMA auditorDefinition)*
+dropShardingBroadcastTableRules
+    : DROP SHARDING BROADCAST TABLE RULES ifExists? (tableName (COMMA 
tableName)*)?
     ;
 
-alterShardingTableRule
-    : ALTER SHARDING TABLE RULE shardingTableRuleDefinition (COMMA 
shardingTableRuleDefinition)*
+createShardingAlgorithm
+    : CREATE SHARDING ALGORITHM shardingAlgorithmDefinition (COMMA 
shardingAlgorithmDefinition)*
     ;
 
-alterShardingBindingTableRules
-    : ALTER SHARDING BINDING TABLE RULES bindTableRulesDefinition (COMMA 
bindTableRulesDefinition)*
+alterShardingAlgorithm
+    : ALTER SHARDING ALGORITHM shardingAlgorithmDefinition (COMMA 
shardingAlgorithmDefinition)*
     ;
 
-alterShardingBroadcastTableRules
-    : ALTER SHARDING BROADCAST TABLE RULES LP tableName (COMMA tableName)* RP
+dropShardingAlgorithm
+    : DROP SHARDING ALGORITHM ifExists? shardingAlgorithmName (COMMA 
shardingAlgorithmName)*
     ;
 
-alterShardingAlgorithm
-    : ALTER SHARDING ALGORITHM shardingAlgorithmDefinition (COMMA  
shardingAlgorithmDefinition)*
+createDefaultShardingStrategy
+    : CREATE DEFAULT SHARDING type=(DATABASE | TABLE) STRATEGY LP 
shardingStrategy RP
     ;
 
-alterShardingKeyGenerator
-    : ALTER SHARDING KEY GENERATOR keyGeneratorDefinition (COMMA 
keyGeneratorDefinition)*
+alterDefaultShardingStrategy
+    : ALTER DEFAULT SHARDING type=(DATABASE | TABLE) STRATEGY LP 
shardingStrategy RP
     ;
 
-alterShardingAuditor
-    : ALTER SHARDING AUDITOR auditorDefinition (COMMA auditorDefinition)*
+dropDefaultShardingStrategy
+    : DROP DEFAULT SHARDING type=(DATABASE | TABLE) STRATEGY ifExists?
     ;
 
-dropShardingTableRule
-    : DROP SHARDING TABLE RULE ifExists? tableName (COMMA tableName)* 
withUnusedAlgorithmsClause?
+createShardingKeyGenerator
+    : CREATE SHARDING KEY GENERATOR keyGeneratorDefinition (COMMA 
keyGeneratorDefinition)*
     ;
 
-dropShardingBindingTableRules
-    : DROP SHARDING BINDING TABLE RULES ifExists? (bindTableRulesDefinition 
(COMMA bindTableRulesDefinition)*)?
+alterShardingKeyGenerator
+    : ALTER SHARDING KEY GENERATOR keyGeneratorDefinition (COMMA 
keyGeneratorDefinition)*
     ;
 
-dropShardingBroadcastTableRules
-    : DROP SHARDING BROADCAST TABLE RULES ifExists? (tableName (COMMA 
tableName)*)?
+dropShardingKeyGenerator
+    : DROP SHARDING KEY GENERATOR ifExists? keyGeneratorName (COMMA 
keyGeneratorName)*
     ;
 
-dropShardingAlgorithm
-    : DROP SHARDING ALGORITHM ifExists? algorithmName (COMMA algorithmName)*
+createShardingAuditor
+    : CREATE SHARDING AUDITOR auditorDefinition (COMMA auditorDefinition)*
     ;
 
-dropShardingKeyGenerator
-    : DROP SHARDING KEY GENERATOR ifExists? keyGeneratorName (COMMA 
keyGeneratorName)*
+alterShardingAuditor
+    : ALTER SHARDING AUDITOR auditorDefinition (COMMA auditorDefinition)*
     ;
 
 shardingTableRuleDefinition
@@ -108,7 +108,7 @@ shardingAutoTableRule
     ;
 
 shardingTableRule
-    : tableName LP dataNodes (COMMA  databaseStrategy)? (COMMA tableStrategy)? 
(COMMA keyGenerateDeclaration)? RP
+    : tableName LP dataNodes (COMMA databaseStrategy)? (COMMA tableStrategy)? 
(COMMA keyGenerateDeclaration)? RP
     ;
 
 keyGeneratorDefinition
@@ -140,7 +140,7 @@ dataNodes
     ;
 
 dataNode
-    : IDENTIFIER | STRING
+    : STRING
     ;
 
 autoShardingColumnDefinition
@@ -176,7 +176,7 @@ keyGenerator
     ;
 
 shardingStrategy
-    :  TYPE EQ strategyType COMMA shardingColumnDefinition COMMA 
shardingAlgorithm 
+    : TYPE EQ strategyType COMMA shardingColumnDefinition COMMA 
shardingAlgorithm 
     ;
 
 databaseStrategy
@@ -200,7 +200,7 @@ keyGenerateStrategy
     ;
 
 algorithmDefinition
-    : TYPE LP NAME EQ algorithmName (COMMA PROPERTIES LP algorithmProperties? 
RP)? RP
+    : TYPE LP NAME EQ algorithmTypeName (COMMA PROPERTIES LP 
algorithmProperties? RP)? RP
     ;
 
 columnName
@@ -215,16 +215,12 @@ shardingAlgorithmDefinition
     : shardingAlgorithmName LP algorithmDefinition RP
     ;
 
-algorithmName
-    : IDENTIFIER
-    ;
-
-shardingAlgorithmName
-    : IDENTIFIER
+algorithmTypeName
+    : STRING
     ;
 
 strategyType
-    : IDENTIFIER
+    : STRING
     ;
 
 algorithmProperties
@@ -232,7 +228,7 @@ algorithmProperties
     ;
 
 algorithmProperty
-    : key=(IDENTIFIER | STRING) EQ value=(NUMBER | INT | IDENTIFIER | STRING)
+    : key=STRING EQ value=STRING
     ;
 
 ifExists
diff --git 
a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-distsql/shardingsphere-sharding-distsql-parser/src/main/antlr4/imports/sharding/RQLStatement.g4
 
b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-distsql/shardingsphere-sharding-distsql-parser/src/main/antlr4/imports/sharding/RQLStatement.g4
index 75b51b01c0c..f8f9dba4d0d 100644
--- 
a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-distsql/shardingsphere-sharding-distsql-parser/src/main/antlr4/imports/sharding/RQLStatement.g4
+++ 
b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-distsql/shardingsphere-sharding-distsql-parser/src/main/antlr4/imports/sharding/RQLStatement.g4
@@ -60,7 +60,7 @@ showUnusedShardingKeyGenerators
     ;
 
 showShardingTableRulesUsedAlgorithm
-    : SHOW SHARDING TABLE RULES USED ALGORITHM algorithmName (FROM 
databaseName)?
+    : SHOW SHARDING TABLE RULES USED ALGORITHM shardingAlgorithmName (FROM 
databaseName)?
     ;
 
 showShardingTableRulesUsedKeyGenerator
diff --git 
a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-distsql/shardingsphere-sharding-distsql-parser/src/main/java/org/apache/shardingsphere/sharding/distsql/parser/core/ShardingDistSQLStatementVisitor.java
 
b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-distsql/shardingsphere-sharding-distsql-parser/src/main/java/org/apache/shardingsphere/sharding/distsql/parser/core/ShardingDistSQLStatementVisitor.java
index 9fac6f77b04..401ba83b423 100644
--- 
a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-distsql/shardingsphere-sharding-distsql-parser/src/main/java/org/apache/shardingsphere/sharding/distsql/parser/core/ShardingDistSQLStatementVisitor.java
+++ 
b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-distsql/shardingsphere-sharding-distsql-parser/src/main/java/org/apache/shardingsphere/sharding/distsql/parser/core/ShardingDistSQLStatementVisitor.java
@@ -286,7 +286,7 @@ public final class ShardingDistSQLStatementVisitor extends 
ShardingDistSQLStatem
     
     @Override
     public ASTNode visitDropShardingAlgorithm(final 
DropShardingAlgorithmContext ctx) {
-        return new DropShardingAlgorithmStatement(null != ctx.ifExists(), 
ctx.algorithmName().stream().map(this::getIdentifierValue).collect(Collectors.toList()));
+        return new DropShardingAlgorithmStatement(null != ctx.ifExists(), 
ctx.shardingAlgorithmName().stream().map(this::getIdentifierValue).collect(Collectors.toList()));
     }
     
     @Override
@@ -313,10 +313,8 @@ public final class ShardingDistSQLStatementVisitor extends 
ShardingDistSQLStatem
     
     @Override
     public ASTNode visitShardingTableRule(final ShardingTableRuleContext ctx) {
-        String tableName = getIdentifierValue(ctx.tableName());
-        Collection<String> dataNodes = getDataNodes(ctx.dataNodes());
         KeyGenerateStrategySegment keyGenerateSegment = null != 
ctx.keyGenerateDeclaration() ? (KeyGenerateStrategySegment) 
visit(ctx.keyGenerateDeclaration()) : null;
-        TableRuleSegment result = new TableRuleSegment(tableName, dataNodes, 
keyGenerateSegment);
+        TableRuleSegment result = new 
TableRuleSegment(getIdentifierValue(ctx.tableName()), 
getDataNodes(ctx.dataNodes()), keyGenerateSegment);
         Optional.ofNullable(ctx.tableStrategy()).ifPresent(optional -> 
result.setTableStrategySegment((ShardingStrategySegment) 
visit(ctx.tableStrategy().shardingStrategy())));
         Optional.ofNullable(ctx.databaseStrategy()).ifPresent(optional -> 
result.setDatabaseStrategySegment((ShardingStrategySegment) 
visit(ctx.databaseStrategy().shardingStrategy())));
         return result;
@@ -330,9 +328,7 @@ public final class ShardingDistSQLStatementVisitor extends 
ShardingDistSQLStatem
     
     @Override
     public ASTNode visitShardingAutoTableRule(final 
ShardingAutoTableRuleContext ctx) {
-        String tableName = getIdentifierValue(ctx.tableName());
-        Collection<String> dataSources = getResources(ctx.resources());
-        AutoTableRuleSegment result = new AutoTableRuleSegment(tableName, 
dataSources);
+        AutoTableRuleSegment result = new 
AutoTableRuleSegment(getIdentifierValue(ctx.tableName()), 
getResources(ctx.resources()));
         Optional.ofNullable(ctx.keyGenerateDeclaration()).ifPresent(optional 
-> result.setKeyGenerateStrategySegment((KeyGenerateStrategySegment) 
visit(ctx.keyGenerateDeclaration())));
         
Optional.ofNullable(ctx.autoShardingColumnDefinition()).ifPresent(optional -> 
result.setShardingColumn(buildShardingColumn(ctx.autoShardingColumnDefinition())));
         Optional.ofNullable(ctx.algorithmDefinition()).ifPresent(optional -> 
result.setShardingAlgorithmSegment((AlgorithmSegment) 
visit(ctx.algorithmDefinition())));
@@ -381,7 +377,7 @@ public final class ShardingDistSQLStatementVisitor extends 
ShardingDistSQLStatem
     
     @Override
     public ASTNode visitAlgorithmDefinition(final AlgorithmDefinitionContext 
ctx) {
-        return new AlgorithmSegment(getIdentifierValue(ctx.algorithmName()), 
getAlgorithmProperties(ctx));
+        return new 
AlgorithmSegment(getIdentifierValue(ctx.algorithmTypeName()), 
getAlgorithmProperties(ctx));
     }
     
     private String getIdentifierValue(final ParseTree context) {
@@ -508,7 +504,8 @@ public final class ShardingDistSQLStatementVisitor extends 
ShardingDistSQLStatem
     
     @Override
     public ASTNode visitShowShardingTableRulesUsedAlgorithm(final 
ShowShardingTableRulesUsedAlgorithmContext ctx) {
-        return new 
ShowShardingTableRulesUsedAlgorithmStatement(getIdentifierValue(ctx.algorithmName()),
 Objects.nonNull(ctx.databaseName()) ? (DatabaseSegment) 
visit(ctx.databaseName()) : null);
+        return new 
ShowShardingTableRulesUsedAlgorithmStatement(getIdentifierValue(ctx.shardingAlgorithmName()),
+                Objects.nonNull(ctx.databaseName()) ? (DatabaseSegment) 
visit(ctx.databaseName()) : null);
     }
     
     @Override
diff --git 
a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-distsql/shardingsphere-sharding-distsql-statement/src/main/java/org/apache/shardingsphere/sharding/distsql/parser/statement/ShowShardingTableRulesUsedAlgorithmStatement.java
 
b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-distsql/shardingsphere-sharding-distsql-statement/src/main/java/org/apache/shardingsphere/sharding/distsql/parser/statement/ShowShardingTableRulesUsedAlgorithmS
 [...]
index 469a4d9dca1..612836b1197 100644
--- 
a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-distsql/shardingsphere-sharding-distsql-statement/src/main/java/org/apache/shardingsphere/sharding/distsql/parser/statement/ShowShardingTableRulesUsedAlgorithmStatement.java
+++ 
b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-distsql/shardingsphere-sharding-distsql-statement/src/main/java/org/apache/shardingsphere/sharding/distsql/parser/statement/ShowShardingTableRulesUsedAlgorithmStatement.java
@@ -27,11 +27,11 @@ import java.util.Optional;
  */
 public final class ShowShardingTableRulesUsedAlgorithmStatement extends 
ShowRulesStatement {
     
-    private final String algorithmName;
+    private final String shardingAlgorithmName;
     
-    public ShowShardingTableRulesUsedAlgorithmStatement(final String 
algorithmName, final DatabaseSegment database) {
+    public ShowShardingTableRulesUsedAlgorithmStatement(final String 
shardingAlgorithmName, final DatabaseSegment database) {
         super(database);
-        this.algorithmName = algorithmName;
+        this.shardingAlgorithmName = shardingAlgorithmName;
     }
     
     /**
@@ -39,7 +39,7 @@ public final class 
ShowShardingTableRulesUsedAlgorithmStatement extends ShowRule
      *
      * @return algorithm name.
      */
-    public Optional<String> getAlgorithmName() {
-        return Optional.ofNullable(algorithmName);
+    public Optional<String> getShardingAlgorithmName() {
+        return Optional.ofNullable(shardingAlgorithmName);
     }
 }
diff --git 
a/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/handler/ProxyBackendHandlerFactoryTest.java
 
b/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/handler/ProxyBackendHandlerFactoryTest.java
index 7e6549b6e79..7872c210e5b 100644
--- 
a/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/handler/ProxyBackendHandlerFactoryTest.java
+++ 
b/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/handler/ProxyBackendHandlerFactoryTest.java
@@ -242,7 +242,7 @@ public final class ProxyBackendHandlerFactoryTest extends 
ProxyContextRestorer {
     @Test(expected = UnsupportedOperationException.class)
     public void assertUnsupportedNonQueryDistSQLInTransaction() throws 
SQLException {
         
when(connectionSession.getTransactionStatus().isInTransaction()).thenReturn(true);
-        String sql = "CREATE SHARDING KEY GENERATOR snowflake_key_generator 
(TYPE(NAME=SNOWFLAKE, PROPERTIES(\"max-vibration-offset\"=3)));";
+        String sql = "CREATE SHARDING KEY GENERATOR snowflake_key_generator 
(TYPE(NAME='SNOWFLAKE', PROPERTIES('max-vibration-offset'='3')));";
         ProxyBackendHandlerFactory.newInstance(databaseType, sql, 
connectionSession);
     }
     
diff --git 
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-scaling/src/test/java/org/apache/shardingsphere/integration/data/pipeline/cases/base/BaseExtraSQLITCase.java
 
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-scaling/src/test/java/org/apache/shardingsphere/integration/data/pipeline/cases/base/BaseExtraSQLITCase.java
index 2e11753be6f..a84fa4e4360 100644
--- 
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-scaling/src/test/java/org/apache/shardingsphere/integration/data/pipeline/cases/base/BaseExtraSQLITCase.java
+++ 
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-scaling/src/test/java/org/apache/shardingsphere/integration/data/pipeline/cases/base/BaseExtraSQLITCase.java
@@ -40,7 +40,7 @@ public abstract class BaseExtraSQLITCase extends BaseITCase {
     }
     
     protected void createNoUseTable() {
-        executeWithLog("CREATE SHARDING TABLE RULE no_use (RESOURCES(ds_0, 
ds_1), SHARDING_COLUMN=sharding_id, 
TYPE(NAME=MOD,PROPERTIES('sharding-count'=4)))");
+        executeWithLog("CREATE SHARDING TABLE RULE no_use (RESOURCES(ds_0, 
ds_1), SHARDING_COLUMN=sharding_id, 
TYPE(NAME='MOD',PROPERTIES('sharding-count'='4')))");
         executeWithLog("CREATE TABLE no_use(id int(11) NOT NULL,sharding_id 
int(11) NOT NULL, PRIMARY KEY (id))");
     }
     
diff --git 
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-scaling/src/test/resources/env/common/command.xml
 
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-scaling/src/test/resources/env/common/command.xml
index 4c53f91e030..4b2d51b76ae 100644
--- 
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-scaling/src/test/resources/env/common/command.xml
+++ 
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-scaling/src/test/resources/env/common/command.xml
@@ -18,25 +18,25 @@
 <command>
     <create-database-sharding-algorithm>
         CREATE SHARDING ALGORITHM database_inline (
-        TYPE(NAME=INLINE,PROPERTIES("algorithm-expression"="ds_${user_id % 
2}")))
+        TYPE(NAME="INLINE",PROPERTIES("algorithm-expression"="ds_${user_id % 
2}")))
     </create-database-sharding-algorithm>
     
     <create-order-sharding-algorithm>
         CREATE SHARDING ALGORITHM t_order_inline (
-        TYPE(NAME=INLINE,PROPERTIES("algorithm-expression"="t_order_${order_id 
% 2}")))
+        
TYPE(NAME="INLINE",PROPERTIES("algorithm-expression"="t_order_${order_id % 
2}")))
     </create-order-sharding-algorithm>
     
     <create-order-item-sharding-algorithm>
         CREATE SHARDING ALGORITHM t_order_item_inline (
-        
TYPE(NAME=INLINE,PROPERTIES("algorithm-expression"="t_order_item_${order_id % 
2}")))
+        
TYPE(NAME="INLINE",PROPERTIES("algorithm-expression"="t_order_item_${order_id % 
2}")))
     </create-order-item-sharding-algorithm>
     
     <create-order-table-rule>
         CREATE SHARDING TABLE RULE t_order(
         RESOURCES(ds_0,ds_1),
         SHARDING_COLUMN=order_id,
-        TYPE(NAME=hash_mod,PROPERTIES("sharding-count"=4)),
-        KEY_GENERATE_STRATEGY(COLUMN=order_id,TYPE(NAME=snowflake))
+        TYPE(NAME="hash_mod",PROPERTIES("sharding-count"="4")),
+        KEY_GENERATE_STRATEGY(COLUMN=order_id,TYPE(NAME="snowflake"))
         )
     </create-order-table-rule>
     
@@ -44,27 +44,27 @@
         CREATE SHARDING TABLE RULE t_order_item(
         RESOURCES(ds_0,ds_1),
         SHARDING_COLUMN=order_id,
-        TYPE(NAME=hash_mod,PROPERTIES("sharding-count"=4)),
-        KEY_GENERATE_STRATEGY(COLUMN=order_id,TYPE(NAME=snowflake))
+        TYPE(NAME="hash_mod",PROPERTIES("sharding-count"="4")),
+        KEY_GENERATE_STRATEGY(COLUMN=order_id,TYPE(NAME="snowflake"))
         );
     </create-order-item-table-rule>
     
     <alter-sharding-algorithm>
         ALTER SHARDING ALGORITHM database_inline
-        (TYPE(NAME=INLINE,PROPERTIES("algorithm-expression"="ds_${user_id % 3 
+ 2}")))
+        (TYPE(NAME="INLINE",PROPERTIES("algorithm-expression"="ds_${user_id % 
3 + 2}")))
     </alter-sharding-algorithm>
     
     <alter-order-with-item-auto-table-rule>
         ALTER SHARDING TABLE RULE t_order(
         RESOURCES(ds_2, ds_3, ds_4),
         SHARDING_COLUMN=order_id,
-        TYPE(NAME=hash_mod,PROPERTIES("sharding-count"=6)),
-        KEY_GENERATE_STRATEGY(COLUMN=order_id,TYPE(NAME=snowflake))
+        TYPE(NAME="hash_mod",PROPERTIES("sharding-count"="6")),
+        KEY_GENERATE_STRATEGY(COLUMN=order_id,TYPE(NAME="snowflake"))
         ),t_order_item(
         RESOURCES(ds_2, ds_3, ds_4),
         SHARDING_COLUMN=order_id,
-        TYPE(NAME=hash_mod,PROPERTIES("sharding-count"=6)),
-        KEY_GENERATE_STRATEGY(COLUMN=order_id,TYPE(NAME=snowflake))
+        TYPE(NAME="hash_mod",PROPERTIES("sharding-count"="6")),
+        KEY_GENERATE_STRATEGY(COLUMN=order_id,TYPE(NAME="snowflake"))
         )
     </alter-order-with-item-auto-table-rule>
     
@@ -72,8 +72,8 @@
         ALTER SHARDING TABLE RULE t_order(
         RESOURCES(ds_2, ds_3, ds_4),
         SHARDING_COLUMN=order_id,
-        TYPE(NAME=hash_mod,PROPERTIES("sharding-count"=6)),
-        KEY_GENERATE_STRATEGY(COLUMN=order_id,TYPE(NAME=snowflake))
+        TYPE(NAME="hash_mod",PROPERTIES("sharding-count"="6")),
+        KEY_GENERATE_STRATEGY(COLUMN=order_id,TYPE(NAME="snowflake"))
         )
     </alter-order-auto-table-rule>
     
diff --git 
a/shardingsphere-test/shardingsphere-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rql/impl/rule/ShowShardingTableRulesUsedAlgorithmStatementAssert.java
 
b/shardingsphere-test/shardingsphere-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rql/impl/rule/ShowShardingTableRulesUsedAlgorithmStatementAssert.java
index e79e272adaf..7904e858a27 100644
--- 
a/shardingsphere-test/shardingsphere-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rql/impl/rule/ShowShardingTableRulesUsedAlgorithmStatementAssert.java
+++ 
b/shardingsphere-test/shardingsphere-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rql/impl/rule/ShowShardingTableRulesUsedAlgorithmStatementAssert.java
@@ -52,10 +52,10 @@ public final class 
ShowShardingTableRulesUsedAlgorithmStatementAssert {
             assertFalse(assertContext.getText("Actual database should not 
exist."), actual.getDatabase().isPresent());
         }
         if (!Strings.isNullOrEmpty(expected.getAlgorithmName())) {
-            assertTrue(assertContext.getText("Actual algorithmName should 
exist."), actual.getAlgorithmName().isPresent());
-            assertThat(assertContext.getText("algorithmName assertion 
error:"), actual.getAlgorithmName().get(), is(expected.getAlgorithmName()));
+            assertTrue(assertContext.getText("Actual algorithmName should 
exist."), actual.getShardingAlgorithmName().isPresent());
+            assertThat(assertContext.getText("algorithmName assertion 
error:"), actual.getShardingAlgorithmName().get(), 
is(expected.getAlgorithmName()));
         } else {
-            assertFalse(assertContext.getText("Actual algorithmName should not 
exist."), actual.getAlgorithmName().isPresent());
+            assertFalse(assertContext.getText("Actual algorithmName should not 
exist."), actual.getShardingAlgorithmName().isPresent());
         }
     }
 }
diff --git 
a/shardingsphere-test/shardingsphere-parser-test/src/main/resources/sql/supported/rdl/alter.xml
 
b/shardingsphere-test/shardingsphere-parser-test/src/main/resources/sql/supported/rdl/alter.xml
index eeee5675a00..7d2651df6ef 100644
--- 
a/shardingsphere-test/shardingsphere-parser-test/src/main/resources/sql/supported/rdl/alter.xml
+++ 
b/shardingsphere-test/shardingsphere-parser-test/src/main/resources/sql/supported/rdl/alter.xml
@@ -26,8 +26,8 @@
     <distsql-case id="alter-resource-single-with-properties" value="ALTER 
RESOURCE 
ds_0(HOST='127.0.0.1',PORT=3306,DB='test0',USER='ROOT',PASSWORD='123456',PROPERTIES('maxPoolSize'='30'));"
 />
     <distsql-case id="alter-resource-url-single-with-empty-properties" 
value="ALTER RESOURCE 
ds_0(URL='jdbc:mysql://127.0.0.1:3306/test0',USER='ROOT',PROPERTIES())" />
     <distsql-case id="alter-resource-url-single-with-properties" value="ALTER 
RESOURCE 
ds_0(URL='jdbc:mysql://127.0.0.1:3306/test0',USER='ROOT',PASSWORD='123456',PROPERTIES('maxPoolSize'='30'))"
 />
-    <distsql-case id="alter-sharding-auto-table-rule" value="ALTER SHARDING 
TABLE RULE t_order (RESOURCES(ms_group_0,ms_group_1), SHARDING_COLUMN=order_id, 
TYPE(NAME=hash_mod,PROPERTIES('sharding-count'=4)),KEY_GENERATE_STRATEGY(COLUMN=another_id,TYPE(NAME=snowflake)))"
 />
-    <distsql-case id="alter-sharding-auto-table-rule-with-inline-expression" 
value="ALTER SHARDING TABLE RULE t_order (RESOURCES('ms_group_${0..1}'), 
SHARDING_COLUMN=order_id, 
TYPE(NAME=hash_mod,PROPERTIES('sharding-count'=4)),KEY_GENERATE_STRATEGY(COLUMN=another_id,TYPE(NAME=snowflake)))"
 />
+    <distsql-case id="alter-sharding-auto-table-rule" value="ALTER SHARDING 
TABLE RULE t_order (RESOURCES(ms_group_0,ms_group_1), SHARDING_COLUMN=order_id, 
TYPE(NAME='hash_mod',PROPERTIES('sharding-count'='4')),KEY_GENERATE_STRATEGY(COLUMN=another_id,TYPE(NAME='snowflake')))"
 />
+    <distsql-case id="alter-sharding-auto-table-rule-with-inline-expression" 
value="ALTER SHARDING TABLE RULE t_order (RESOURCES('ms_group_${0..1}'), 
SHARDING_COLUMN=order_id, 
TYPE(NAME='hash_mod',PROPERTIES('sharding-count'='4')),KEY_GENERATE_STRATEGY(COLUMN=another_id,TYPE(NAME='snowflake')))"
 />
     <distsql-case id="alter-sharding-binding-table-rules" value="ALTER 
SHARDING BINDING TABLE RULES (t_order,t_order_item), (t_1,t_2)" />
     <distsql-case id="alter-sharding-broadcast-table-rules" value="ALTER 
SHARDING BROADCAST TABLE RULES(t_1,t_2)" />
     <distsql-case id="alter-readwrite-splitting-rule" value="ALTER 
READWRITE_SPLITTING RULE ms_group_0 (AUTO_AWARE_RESOURCE=group_0, 
TYPE(NAME=random,PROPERTIES(read_weight='2:1'))), ms_group_1 
(WRITE_RESOURCE=primary_ds, 
READ_RESOURCES(replica_ds_0,replica_ds_1),TYPE(NAME=random))" />
@@ -40,14 +40,14 @@
     <distsql-case id="alter-encrypt-rule-with-query-with-cipher-column" 
value="ALTER ENCRYPT RULE t_encrypt (RESOURCE=ds_1, 
COLUMNS((NAME=user_id,PLAIN=user_plain,CIPHER=user_cipher, 
TYPE(NAME='AES',PROPERTIES('aes-key-value'='123456abc'))), (NAME=order_id, 
CIPHER =order_cipher,TYPE(NAME='MD5'))), QUERY_WITH_CIPHER_COLUMN=false)" />
     <distsql-case id="alter-shadow-algorithm" value="ALTER SHADOW ALGORITHM 
(simple_hint_algorithm, TYPE(NAME=SIMPLE_HINT, PROPERTIES('shadow'='true', 
'foo'='bar')))" />
     <distsql-case id="alter-shadow-rule" value="ALTER SHADOW RULE 
shadow_rule(SOURCE=demo_ds,SHADOW=demo_ds_shadow,t_order((TYPE(NAME=REGEX_MATCH,PROPERTIES('operation'='insert','column'='user_id','regex'='[1]'))),(simple_hint_algorithm,TYPE(NAME=SIMPLE_HINT,PROPERTIES('shadow'='true',foo='bar')))))"
 />
-    <distsql-case id="alter-sharding-table-rule" value="ALTER SHARDING TABLE 
RULE t_order (DATANODES('ms_group_${0..1}'),DATABASE_STRATEGY( TYPE = 
`standard`,sharding_column = order_id,sharding_algorithm = 
database_inline),TABLE_STRATEGY(TYPE = `standard`,sharding_column = 
user_id,sharding_algorithm = 
table_inline),KEY_GENERATE_STRATEGY(COLUMN=another_id,TYPE(NAME=snowflake)))" />
-    <distsql-case id="alter-sharding-table-rule-complex" value="ALTER SHARDING 
TABLE RULE t_order (DATANODES('ms_group_${0..1}'),DATABASE_STRATEGY( TYPE = 
`complex`,sharding_columns = order_id,user_id, sharding_algorithm = 
database_inline),TABLE_STRATEGY(TYPE = `standard`,sharding_column = 
user_id,sharding_algorithm = 
table_inline),KEY_GENERATE_STRATEGY(COLUMN=another_id,TYPE(NAME=snowflake)))" />
-    <distsql-case id="alter-sharding-algorithm" value="ALTER SHARDING 
ALGORITHM algorithm_name(TYPE(NAME=inline,PROPERTIES('algorithm-expression' = 
't_order_${order_id % 2}')))" />
+    <distsql-case id="alter-sharding-table-rule" value="ALTER SHARDING TABLE 
RULE t_order 
(DATANODES('ms_group_${0..1}'),DATABASE_STRATEGY(TYPE='standard',sharding_column
 = order_id,sharding_algorithm = 
database_inline),TABLE_STRATEGY(TYPE='standard',sharding_column = 
user_id,sharding_algorithm = 
table_inline),KEY_GENERATE_STRATEGY(COLUMN=another_id,TYPE(NAME='snowflake')))" 
/>
+    <distsql-case id="alter-sharding-table-rule-complex" value="ALTER SHARDING 
TABLE RULE t_order 
(DATANODES('ms_group_${0..1}'),DATABASE_STRATEGY(TYPE='complex',sharding_columns
 = order_id,user_id, sharding_algorithm = 
database_inline),TABLE_STRATEGY(TYPE='standard',sharding_column = 
user_id,sharding_algorithm = 
table_inline),KEY_GENERATE_STRATEGY(COLUMN=another_id,TYPE(NAME='snowflake')))" 
/>
+    <distsql-case id="alter-sharding-algorithm" value="ALTER SHARDING 
ALGORITHM algorithm_name(TYPE(NAME='inline',PROPERTIES('algorithm-expression' = 
't_order_${order_id % 2}')))" />
     <distsql-case id="alter-default-single-table" value="ALTER DEFAULT SINGLE 
TABLE RULE RESOURCE = ds_0" />
-    <distsql-case id="alter-sharding-key-generator" value="ALTER SHARDING KEY 
GENERATOR uuid_key_generator(TYPE(NAME=uuid))" />
-    <distsql-case id="alter-sharding-auditor" value="ALTER SHARDING AUDITOR 
sharding_key_required_auditor(TYPE(NAME=DML_SHARDING_CONDITIONS))" />
-    <distsql-case id="alter-default-sharding-strategy" value="ALTER DEFAULT 
SHARDING TABLE STRATEGY(TYPE=standard, SHARDING_COLUMN=order_id, 
SHARDING_ALGORITHM=algorithms_name)" />
-    <distsql-case id="alter-default-sharding-strategy-complex" value="ALTER 
DEFAULT SHARDING TABLE STRATEGY(TYPE=complex, 
SHARDING_COLUMNS=order_id,user_id, SHARDING_ALGORITHM=algorithms_name)" />
+    <distsql-case id="alter-sharding-key-generator" value="ALTER SHARDING KEY 
GENERATOR uuid_key_generator(TYPE(NAME='uuid'))" />
+    <distsql-case id="alter-sharding-auditor" value="ALTER SHARDING AUDITOR 
sharding_key_required_auditor(TYPE(NAME='DML_SHARDING_CONDITIONS'))" />
+    <distsql-case id="alter-default-sharding-strategy" value="ALTER DEFAULT 
SHARDING TABLE STRATEGY(TYPE='standard', SHARDING_COLUMN=order_id, 
SHARDING_ALGORITHM=algorithms_name)" />
+    <distsql-case id="alter-default-sharding-strategy-complex" value="ALTER 
DEFAULT SHARDING TABLE STRATEGY(TYPE='complex', 
SHARDING_COLUMNS=order_id,user_id, SHARDING_ALGORITHM=algorithms_name)" />
     <distsql-case id="enable-sharding-scaling-rule" value="ENABLE SHARDING 
SCALING RULE scalingName" />
     <distsql-case id="disable-sharding-scaling-rule" value="DISABLE SHARDING 
SCALING RULE scalingName" />
 </sql-cases>
diff --git 
a/shardingsphere-test/shardingsphere-parser-test/src/main/resources/sql/supported/rdl/create.xml
 
b/shardingsphere-test/shardingsphere-parser-test/src/main/resources/sql/supported/rdl/create.xml
index 5735548580a..a94082ec0bd 100644
--- 
a/shardingsphere-test/shardingsphere-parser-test/src/main/resources/sql/supported/rdl/create.xml
+++ 
b/shardingsphere-test/shardingsphere-parser-test/src/main/resources/sql/supported/rdl/create.xml
@@ -26,8 +26,8 @@
     <distsql-case id="add-resource-single-with-properties" value="ADD RESOURCE 
ds_0(HOST='127.0.0.1',PORT=3306,DB='test0',USER='ROOT',PASSWORD='123456',PROPERTIES('maxPoolSize'='30'));"
 />
     <distsql-case id="add-resource-url-single-with-empty-properties" 
value="ADD RESOURCE 
ds_0(URL='jdbc:mysql://127.0.0.1:3306/test0',USER='ROOT',PROPERTIES())" />
     <distsql-case id="add-resource-url-single-with-properties" value="ADD 
RESOURCE 
ds_0(URL='jdbc:mysql://127.0.0.1:3306/test0',USER='ROOT',PASSWORD='123456',PROPERTIES('maxPoolSize'='30'))"
 />
-    <distsql-case id="create-sharding-auto-table-rule" value="CREATE SHARDING 
TABLE RULE t_order (RESOURCES(ms_group_0,ms_group_1), 
SHARDING_COLUMN=order_id,TYPE(NAME=hash_mod,PROPERTIES('sharding-count'=4)), 
KEY_GENERATE_STRATEGY(COLUMN=another_id,TYPE(NAME=snowflake)))" />
-    <distsql-case id="create-sharding-auto-table-rule-with-inline-expression" 
value="CREATE SHARDING TABLE RULE t_order (RESOURCES('ms_group_${0..1}'), 
SHARDING_COLUMN=order_id,TYPE(NAME=hash_mod,PROPERTIES('sharding-count'=4)), 
KEY_GENERATE_STRATEGY(COLUMN=another_id,TYPE(NAME=snowflake)))" />
+    <distsql-case id="create-sharding-auto-table-rule" value="CREATE SHARDING 
TABLE RULE t_order (RESOURCES(ms_group_0,ms_group_1), 
SHARDING_COLUMN=order_id,TYPE(NAME='hash_mod',PROPERTIES('sharding-count'='4')),
 KEY_GENERATE_STRATEGY(COLUMN=another_id,TYPE(NAME='snowflake')))" />
+    <distsql-case id="create-sharding-auto-table-rule-with-inline-expression" 
value="CREATE SHARDING TABLE RULE t_order (RESOURCES('ms_group_${0..1}'), 
SHARDING_COLUMN=order_id,TYPE(NAME='hash_mod',PROPERTIES('sharding-count'='4')),
 KEY_GENERATE_STRATEGY(COLUMN=another_id,TYPE(NAME='snowflake')))" />
     <distsql-case id="create-sharding-binding-table-rule" value="CREATE 
SHARDING BINDING TABLE RULES (t_order,t_order_item), (t_1,t_2)" />
     <distsql-case id="create-sharding-broadcast-table-rule" value="CREATE 
SHARDING BROADCAST TABLE RULES(t_1,t_2)" />
     <distsql-case id="create-static-readwrite-splitting-rule" value="CREATE 
READWRITE_SPLITTING RULE ms_group_0 (WRITE_RESOURCE=primary_ds, 
READ_RESOURCES(replica_ds_0,replica_ds_1), TYPE(NAME=random)))" />
@@ -40,19 +40,19 @@
     <distsql-case id="create-encrypt-rule-with-assisted-query-column" 
value="CREATE ENCRYPT RULE t_encrypt (RESOURCE=ds_1, 
COLUMNS((NAME=user_id,PLAIN=user_plain,CIPHER=user_cipher,ASSISTED_QUERY_COLUMN=assisted_column,
 TYPE(NAME='AES',PROPERTIES('aes-key-value'='123456abc')), TYPE(NAME='MD5')), 
(NAME=order_id, CIPHER =order_cipher,TYPE(NAME='MD5'))))" />
     <distsql-case id="create-shadow-rule" value="CREATE SHADOW RULE 
shadow_rule(SOURCE=demo_ds,SHADOW=demo_ds_shadow,t_order((TYPE(NAME=REGEX_MATCH,PROPERTIES('operation'='insert','column'='user_id','regex'='[1]'))),(simple_hint_algorithm,TYPE(NAME=SIMPLE_HINT,PROPERTIES('shadow'='true',foo='bar')))))"
 />
     <distsql-case id="create-default-shadow-algorithm" value="CREATE DEFAULT 
SHADOW ALGORITHM NAME = simple_hint_algorithm ;" />
-    <distsql-case id="create-sharding-algorithm" value="CREATE SHARDING 
ALGORITHM algorithm_name(TYPE(NAME=hash_mod,PROPERTIES('algorithm-expression' = 
't_order_${order_id % 2}')))" />
-    <distsql-case id="create-default-sharding-table-strategy-with-lower-case" 
value="create default sharding table strategy(type=standard, 
sharding_column=order_id, sharding_algorithm=algorithms_name)" />
-    <distsql-case id="create-default-sharding-database-strategy" value="CREATE 
DEFAULT SHARDING DATABASE STRATEGY(TYPE=STANDARD, SHARDING_COLUMN=ORDER_ID, 
SHARDING_ALGORITHM=algorithms_name)" />
-    <distsql-case id="create-default-sharding-strategy-complex" value="CREATE 
DEFAULT SHARDING TABLE STRATEGY(TYPE=complex, 
SHARDING_COLUMNS=order_id,user_id, SHARDING_ALGORITHM=algorithms_name)" />
-    <distsql-case id="create-sharding-table-rule" value="CREATE SHARDING TABLE 
RULE t_order (DATANODES('ms_group_${0..1}'),DATABASE_STRATEGY( TYPE = 
`standard`,sharding_column = order_id,sharding_algorithm = 
database_inline),TABLE_STRATEGY(TYPE = `standard`,sharding_column = 
user_id,sharding_algorithm = 
table_inline),KEY_GENERATE_STRATEGY(COLUMN=another_id,TYPE(NAME=snowflake))),t_order_item
 (DATANODES('ms_group_${0..1}'),DATABASE_STRATEGY( TYPE = 
`standard`,sharding_column = order_id,sh [...]
-    <distsql-case id="create-sharding-table-rule-with-enum-inline-expression" 
value="CREATE SHARDING TABLE RULE t_order 
(DATANODES(&quot;ms_group_${['abc','ac']}.table &quot; ),DATABASE_STRATEGY( 
TYPE = `standard`,sharding_column = order_id,sharding_algorithm = 
database_inline),TABLE_STRATEGY(TYPE = `standard`,sharding_column = 
user_id,sharding_algorithm = 
table_inline),KEY_GENERATE_STRATEGY(COLUMN=another_id,TYPE(NAME=snowflake))),t_order_item
 (DATANODES('ms_group_${0..1}'),DATABASE_STR [...]
-    <distsql-case id="create-sharding-table-rule-complex" value="CREATE 
SHARDING TABLE RULE t_order (DATANODES('ms_group_${0..1}'),DATABASE_STRATEGY( 
TYPE = `complex`,sharding_columns = order_id,user_id,sharding_algorithm = 
database_inline),TABLE_STRATEGY(TYPE = `standard`,sharding_column = 
user_id,sharding_algorithm = 
table_inline),KEY_GENERATE_STRATEGY(COLUMN=another_id,TYPE(NAME=snowflake))),t_order_item
 (DATANODES('ms_group_${0..1}'),DATABASE_STRATEGY( TYPE = 
`standard`,sharding_colu [...]
-    <distsql-case id="create-sharding-table-rule-with-auto-create-algorithm" 
value="CREATE SHARDING TABLE RULE t_order 
(DATANODES('ms_group_${0..1}'),DATABASE_STRATEGY( TYPE = 
`standard`,sharding_column = order_id,sharding_algorithm 
(TYPE(NAME=inline,PROPERTIES('algorithm-expression'='ms_group_${order_id% 
2}')))),TABLE_STRATEGY(TYPE = `standard`,sharding_column = 
user_id,sharding_algorithm = 
table_inline),KEY_GENERATE_STRATEGY(COLUMN=another_id,TYPE(NAME=snowflake)))" />
+    <distsql-case id="create-sharding-algorithm" value="CREATE SHARDING 
ALGORITHM algorithm_name(TYPE(NAME='hash_mod',PROPERTIES('algorithm-expression' 
= 't_order_${order_id % 2}')))" />
+    <distsql-case id="create-default-sharding-table-strategy-with-lower-case" 
value="create default sharding table strategy(type='standard', 
sharding_column=order_id, sharding_algorithm=algorithms_name)" />
+    <distsql-case id="create-default-sharding-database-strategy" value="CREATE 
DEFAULT SHARDING DATABASE STRATEGY(TYPE='STANDARD', SHARDING_COLUMN=ORDER_ID, 
SHARDING_ALGORITHM=algorithms_name)" />
+    <distsql-case id="create-default-sharding-strategy-complex" value="CREATE 
DEFAULT SHARDING TABLE STRATEGY(TYPE='complex', 
SHARDING_COLUMNS=order_id,user_id, SHARDING_ALGORITHM=algorithms_name)" />
+    <distsql-case id="create-sharding-table-rule" value="CREATE SHARDING TABLE 
RULE t_order 
(DATANODES('ms_group_${0..1}'),DATABASE_STRATEGY(TYPE='standard',sharding_column
 = order_id,sharding_algorithm = 
database_inline),TABLE_STRATEGY(TYPE='standard',sharding_column = 
user_id,sharding_algorithm = 
table_inline),KEY_GENERATE_STRATEGY(COLUMN=another_id,TYPE(NAME='snowflake'))),t_order_item
 
(DATANODES('ms_group_${0..1}'),DATABASE_STRATEGY(TYPE='standard',sharding_column
 = order_id,sharding [...]
+    <distsql-case id="create-sharding-table-rule-with-enum-inline-expression" 
value="CREATE SHARDING TABLE RULE t_order 
(DATANODES(&quot;ms_group_${['abc','ac']}.table &quot; 
),DATABASE_STRATEGY(TYPE='standard',sharding_column = 
order_id,sharding_algorithm = 
database_inline),TABLE_STRATEGY(TYPE='standard',sharding_column = 
user_id,sharding_algorithm = 
table_inline),KEY_GENERATE_STRATEGY(COLUMN=another_id,TYPE(NAME='snowflake'))),t_order_item
 (DATANODES('ms_group_${0..1}'),DATABASE_STRATE [...]
+    <distsql-case id="create-sharding-table-rule-complex" value="CREATE 
SHARDING TABLE RULE t_order 
(DATANODES('ms_group_${0..1}'),DATABASE_STRATEGY(TYPE='complex',sharding_columns
 = order_id,user_id,sharding_algorithm = 
database_inline),TABLE_STRATEGY(TYPE='standard',sharding_column = 
user_id,sharding_algorithm = 
table_inline),KEY_GENERATE_STRATEGY(COLUMN=another_id,TYPE(NAME='snowflake'))),t_order_item
 
(DATANODES('ms_group_${0..1}'),DATABASE_STRATEGY(TYPE='standard',sharding_column
 = o [...]
+    <distsql-case id="create-sharding-table-rule-with-auto-create-algorithm" 
value="CREATE SHARDING TABLE RULE t_order 
(DATANODES('ms_group_${0..1}'),DATABASE_STRATEGY(TYPE='standard',sharding_column
 = order_id,sharding_algorithm 
(TYPE(NAME='inline',PROPERTIES('algorithm-expression'='ms_group_${order_id% 
2}')))),TABLE_STRATEGY(TYPE='standard',sharding_column = 
user_id,sharding_algorithm = 
table_inline),KEY_GENERATE_STRATEGY(COLUMN=another_id,TYPE(NAME='snowflake')))" 
/>
     <distsql-case id="create-shadow-algorithm" value="CREATE SHADOW ALGORITHM 
(simple_hint_algorithm, TYPE(NAME=HINT, PROPERTIES('shadow'='true', 
'foo'='bar')))" />
     <distsql-case id="create-default-single-table" value="CREATE DEFAULT 
SINGLE TABLE RULE RESOURCE = ds_0" />
 
     <distsql-case id="add-resource-with-quota" value="ADD RESOURCE 
`ds_0`(HOST='127.0.0.1',PORT=3306,DB='test0',USER='ROOT');" />
-    <distsql-case id="create-sharding-auto-table-rule-with-quota" 
value="CREATE SHARDING TABLE RULE `t_order` (RESOURCES(ms_group_0,ms_group_1), 
SHARDING_COLUMN=order_id,TYPE(NAME=hash_mod,PROPERTIES('sharding-count'=4)), 
KEY_GENERATE_STRATEGY(COLUMN=another_id,TYPE(NAME=snowflake)))" />
+    <distsql-case id="create-sharding-auto-table-rule-with-quota" 
value="CREATE SHARDING TABLE RULE `t_order` (RESOURCES(ms_group_0,ms_group_1), 
SHARDING_COLUMN=order_id,TYPE(NAME='hash_mod',PROPERTIES('sharding-count'='4')),
 KEY_GENERATE_STRATEGY(COLUMN=another_id,TYPE(NAME='snowflake')))" />
     <distsql-case id="create-sharding-binding-table-rule-with-quota" 
value="CREATE SHARDING BINDING TABLE RULES (`t_order`,`t_order_item`), 
(t_1,t_2)" />
     <distsql-case id="create-sharding-broadcast-table-rule-with-quota" 
value="CREATE SHARDING BROADCAST TABLE RULES(`t_1`,`t_2`)" />
     <distsql-case id="create-readwrite-splitting-rule-with-quota" 
value="CREATE READWRITE_SPLITTING RULE `ms_group_0` (WRITE_RESOURCE=primary_ds, 
READ_RESOURCES(replica_ds_0,replica_ds_1), TYPE(NAME=random)))" />
@@ -60,8 +60,8 @@
     <distsql-case id="create-encrypt-rule-with-quota" value="CREATE ENCRYPT 
RULE `encrypt` (RESOURCE=ds_1, 
COLUMNS((NAME=user_id,PLAIN=user_plain,CIPHER=user_cipher,TYPE(NAME='AES',PROPERTIES('aes-key-value'='123456abc'))),
 (NAME=order_id, CIPHER =order_cipher,TYPE(NAME='MD5'))))" />
     <distsql-case id="create-encrypt-rule-with-query-with-cipher-column" 
value="CREATE ENCRYPT RULE `encrypt` (RESOURCE=ds_1, 
COLUMNS((NAME=user_id,PLAIN=user_plain,CIPHER=user_cipher,TYPE(NAME='AES',PROPERTIES('aes-key-value'='123456abc')))),QUERY_WITH_CIPHER_COLUMN=false)"
 />
     <distsql-case id="create-shadow-rule-with-quota" value="CREATE SHADOW RULE 
`shadow_rule`(SOURCE=demo_ds,SHADOW=demo_ds_shadow,t_order((TYPE(NAME=REGEX_MATCH,PROPERTIES('operation'='insert','column'='user_id','regex'='[1]'))),(simple_hint_algorithm,TYPE(NAME=SIMPLE_HINT,PROPERTIES('shadow'='true',foo='bar')))))"
 />
-    <distsql-case id="create-sharding-key-generator" value="CREATE SHARDING 
KEY GENERATOR uuid_key_generator(TYPE(NAME=uuid))" />
-    <distsql-case id="create-sharding-auditor" value="CREATE SHARDING AUDITOR 
sharding_key_required_auditor(TYPE(NAME=DML_SHARDING_CONDITIONS))" />
+    <distsql-case id="create-sharding-key-generator" value="CREATE SHARDING 
KEY GENERATOR uuid_key_generator(TYPE(NAME='uuid'))" />
+    <distsql-case id="create-sharding-auditor" value="CREATE SHARDING AUDITOR 
sharding_key_required_auditor(TYPE(NAME='DML_SHARDING_CONDITIONS'))" />
     <distsql-case id="create-sharding-scaling-rule-without-configuration" 
value="CREATE SHARDING SCALING RULE default_scaling" />
     <distsql-case 
id="create-sharding-scaling-rule-with-minimal-auto-configuration" value="CREATE 
SHARDING SCALING RULE default_scaling (COMPLETION_DETECTOR 
(TYPE(NAME='IDLE',PROPERTIES('incremental-task-idle-seconds-threshold'='1800'))),DATA_CONSISTENCY_CHECKER
 (TYPE(NAME='DATA_MATCH',PROPERTIES ('chunk-size'='1000'))))" />
     <distsql-case 
id="create-sharding-scaling-rule-with-complete-auto-configuration" 
value="CREATE SHARDING SCALING RULE default_scaling (INPUT 
(WORKER_THREAD=40,BATCH_SIZE=1000,RATE_LIMITER (TYPE(NAME='QPS',PROPERTIES 
('qps'='50')))),OUTPUT (WORKER_THREAD=40,BATCH_SIZE=1000,RATE_LIMITER 
(TYPE(NAME='TPS',PROPERTIES ('tps'='2000')))),STREAM_CHANNEL (TYPE 
(NAME='MEMORY',PROPERTIES ('block-queue-size'='10000'))),COMPLETION_DETECTOR 
(TYPE (NAME='IDLE',PROPERTIES ('incremental-task-idle-secon [...]

Reply via email to