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("ms_group_${['abc','ac']}.table " ),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("ms_group_${['abc','ac']}.table "
),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 [...]