This is an automated email from the ASF dual-hosted git repository.
zhonghongsheng 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 545988a2c0b Add new DistSQL syntax: CREATE/ALTER/SHOW MIGRATION
PROCESS CONFIGURATION (#20315)
545988a2c0b is described below
commit 545988a2c0b6058801aae1e607cfbc0ef718d2c0
Author: Raigor <[email protected]>
AuthorDate: Sat Aug 20 10:44:29 2022 +0800
Add new DistSQL syntax: CREATE/ALTER/SHOW MIGRATION PROCESS CONFIGURATION
(#20315)
* Add g4 definition for migration process configuration
* Add statement and handler for migration process configuration
* Fix parameter type.
---
.../src/main/antlr4/imports/BaseRule.g4 | 8 ++
.../src/main/antlr4/imports/Keyword.g4 | 36 ++++++++
.../src/main/antlr4/imports/RALStatement.g4 | 60 ++++++++++---
.../parser/autogen/KernelDistSQLStatement.g4 | 3 +
.../core/kernel/KernelDistSQLStatementVisitor.java | 98 +++++++++++++++++++++-
.../MigrationProcessConfigurationSegment.java} | 46 ++++------
.../parser/segment/ReadOrWriteSegment.java} | 55 ++++++------
...howMigrationProcessConfigurationStatement.java} | 36 ++------
...terMigrationProcessConfigurationStatement.java} | 43 ++++------
...ateMigrationProcessConfigurationStatement.java} | 43 ++++------
.../distsql/ral/RALBackendHandlerFactory.java | 9 ++
.../ShowMigrationProcessConfigurationHandler.java | 44 ++++++++++
.../AlterMigrationProcessConfigurationHandler.java | 44 ++++------
...CreateMigrationProcessConfigurationHandler.java | 44 ++++------
.../main/resources/sql/supported/ral/updatable.xml | 8 +-
15 files changed, 359 insertions(+), 218 deletions(-)
diff --git
a/shardingsphere-distsql/shardingsphere-distsql-parser/src/main/antlr4/imports/BaseRule.g4
b/shardingsphere-distsql/shardingsphere-distsql-parser/src/main/antlr4/imports/BaseRule.g4
index ee2cbe9dea3..e186c42ed72 100644
---
a/shardingsphere-distsql/shardingsphere-distsql-parser/src/main/antlr4/imports/BaseRule.g4
+++
b/shardingsphere-distsql/shardingsphere-distsql-parser/src/main/antlr4/imports/BaseRule.g4
@@ -19,6 +19,14 @@ grammar BaseRule;
import Symbol, Keyword, Literals;
+algorithmDefinition
+ : TYPE LP NAME EQ algorithmTypeName (COMMA propertiesDefinition)? RP
+ ;
+
+algorithmTypeName
+ : STRING
+ ;
+
propertiesDefinition
: PROPERTIES LP properties? RP
;
diff --git
a/shardingsphere-distsql/shardingsphere-distsql-parser/src/main/antlr4/imports/Keyword.g4
b/shardingsphere-distsql/shardingsphere-distsql-parser/src/main/antlr4/imports/Keyword.g4
index f54bff29435..8029cb86dfc 100644
---
a/shardingsphere-distsql/shardingsphere-distsql-parser/src/main/antlr4/imports/Keyword.g4
+++
b/shardingsphere-distsql/shardingsphere-distsql-parser/src/main/antlr4/imports/Keyword.g4
@@ -334,3 +334,39 @@ SQL_TRANSLATOR
INFO
: I N F O
;
+
+MIGRATION
+ : M I G R A T I O N
+ ;
+
+PROCESS
+ : P R O C E S S
+ ;
+
+READ
+ : R E A D
+ ;
+
+WRITE
+ : W R I T E
+ ;
+
+WORKER_THREAD
+ : W O R K E R UL_ T H R E A D
+ ;
+
+BATCH_SIZE
+ : B A T C H UL_ S I Z E
+ ;
+
+SHARDING_SIZE
+ : S H A R D I N G UL_ S I Z E
+ ;
+
+RATE_LIMITER
+ : R A T E UL_ L I M I T E R
+ ;
+
+STREAM_CHANNEL
+ : S T R E A M UL_ C H A N N E L
+ ;
diff --git
a/shardingsphere-distsql/shardingsphere-distsql-parser/src/main/antlr4/imports/RALStatement.g4
b/shardingsphere-distsql/shardingsphere-distsql-parser/src/main/antlr4/imports/RALStatement.g4
index 8b4395f4fab..9d99f3320f8 100644
---
a/shardingsphere-distsql/shardingsphere-distsql-parser/src/main/antlr4/imports/RALStatement.g4
+++
b/shardingsphere-distsql/shardingsphere-distsql-parser/src/main/antlr4/imports/RALStatement.g4
@@ -119,14 +119,6 @@ loadBalancerDefinition
: LOAD_BALANCER LP algorithmDefinition RP
;
-algorithmDefinition
- : TYPE LP NAME EQ typeName (COMMA propertiesDefinition)? RP
- ;
-
-typeName
- : IDENTIFIER
- ;
-
exportDatabaseConfiguration
: EXPORT DATABASE (CONFIGURATION | CONFIG) (FROM databaseName)? (COMMA?
FILE EQ filePath)?
;
@@ -143,6 +135,50 @@ showSQLTranslatorRule
: SHOW SQL_TRANSLATOR RULE
;
+showMigrationProcessConfiguration
+ : SHOW MIGRATION PROCESS CONFIGURATION
+ ;
+
+createMigrationProcessConfiguration
+ : CREATE MIGRATION PROCESS CONFIGURATION migrationProcessConfiguration?
+ ;
+
+alterMigrationProcessConfiguration
+ : ALTER MIGRATION PROCESS CONFIGURATION migrationProcessConfiguration?
+ ;
+
+migrationProcessConfiguration
+ : LP readDefinition? (COMMA? writeDefinition)? (COMMA? streamChannel)? RP
+ ;
+
+readDefinition
+ : READ LP workerThread? (COMMA? batchSize)? (COMMA? shardingSize)? (COMMA?
rateLimiter)? RP
+ ;
+
+writeDefinition
+ : WRITE LP workerThread? (COMMA? batchSize)? (COMMA? rateLimiter)? RP
+ ;
+
+workerThread
+ : WORKER_THREAD EQ intValue
+ ;
+
+batchSize
+ : BATCH_SIZE EQ intValue
+ ;
+
+shardingSize
+ : SHARDING_SIZE EQ intValue
+ ;
+
+rateLimiter
+ : RATE_LIMITER LP algorithmDefinition RP
+ ;
+
+streamChannel
+ : STREAM_CHANNEL LP algorithmDefinition RP
+ ;
+
filePath
: STRING
;
@@ -156,11 +192,11 @@ providerDefinition
;
defaultType
- : IDENTIFIER
+ : STRING
;
providerName
- : IDENTIFIER
+ : STRING
;
sqlParserRuleDefinition
@@ -227,6 +263,10 @@ label
: IDENTIFIER
;
+intValue
+ : INT
+ ;
+
ifExists
: IF EXISTS
;
diff --git
a/shardingsphere-distsql/shardingsphere-distsql-parser/src/main/antlr4/org/apache/shardingsphere/distsql/parser/autogen/KernelDistSQLStatement.g4
b/shardingsphere-distsql/shardingsphere-distsql-parser/src/main/antlr4/org/apache/shardingsphere/distsql/parser/autogen/KernelDistSQLStatement.g4
index 02dcbca117d..9315d7b7f9b 100644
---
a/shardingsphere-distsql/shardingsphere-distsql-parser/src/main/antlr4/org/apache/shardingsphere/distsql/parser/autogen/KernelDistSQLStatement.g4
+++
b/shardingsphere-distsql/shardingsphere-distsql-parser/src/main/antlr4/org/apache/shardingsphere/distsql/parser/autogen/KernelDistSQLStatement.g4
@@ -61,5 +61,8 @@ execute
| importDatabaseConfiguration
| convertYamlConfiguration
| showSQLTranslatorRule
+ | showMigrationProcessConfiguration
+ | createMigrationProcessConfiguration
+ | alterMigrationProcessConfiguration
) SEMI?
;
diff --git
a/shardingsphere-distsql/shardingsphere-distsql-parser/src/main/java/org/apache/shardingsphere/distsql/parser/core/kernel/KernelDistSQLStatementVisitor.java
b/shardingsphere-distsql/shardingsphere-distsql-parser/src/main/java/org/apache/shardingsphere/distsql/parser/core/kernel/KernelDistSQLStatementVisitor.java
index 3e7d5820f0b..1e945d02085 100644
---
a/shardingsphere-distsql/shardingsphere-distsql-parser/src/main/java/org/apache/shardingsphere/distsql/parser/core/kernel/KernelDistSQLStatementVisitor.java
+++
b/shardingsphere-distsql/shardingsphere-distsql-parser/src/main/java/org/apache/shardingsphere/distsql/parser/core/kernel/KernelDistSQLStatementVisitor.java
@@ -23,17 +23,20 @@ import
org.apache.shardingsphere.distsql.parser.autogen.KernelDistSQLStatementPa
import
org.apache.shardingsphere.distsql.parser.autogen.KernelDistSQLStatementParser.AlgorithmDefinitionContext;
import
org.apache.shardingsphere.distsql.parser.autogen.KernelDistSQLStatementParser.AlterDefaultSingleTableRuleContext;
import
org.apache.shardingsphere.distsql.parser.autogen.KernelDistSQLStatementParser.AlterInstanceContext;
+import
org.apache.shardingsphere.distsql.parser.autogen.KernelDistSQLStatementParser.AlterMigrationProcessConfigurationContext;
import
org.apache.shardingsphere.distsql.parser.autogen.KernelDistSQLStatementParser.AlterResourceContext;
import
org.apache.shardingsphere.distsql.parser.autogen.KernelDistSQLStatementParser.AlterSQLParserRuleContext;
import
org.apache.shardingsphere.distsql.parser.autogen.KernelDistSQLStatementParser.AlterTrafficRuleContext;
import
org.apache.shardingsphere.distsql.parser.autogen.KernelDistSQLStatementParser.AlterTransactionRuleContext;
import
org.apache.shardingsphere.distsql.parser.autogen.KernelDistSQLStatementParser.ApplyDistSQLContext;
+import
org.apache.shardingsphere.distsql.parser.autogen.KernelDistSQLStatementParser.BatchSizeContext;
import
org.apache.shardingsphere.distsql.parser.autogen.KernelDistSQLStatementParser.CacheOptionContext;
import
org.apache.shardingsphere.distsql.parser.autogen.KernelDistSQLStatementParser.ClearHintContext;
import
org.apache.shardingsphere.distsql.parser.autogen.KernelDistSQLStatementParser.ConvertYamlConfigurationContext;
import
org.apache.shardingsphere.distsql.parser.autogen.KernelDistSQLStatementParser.CountDatabaseRulesContext;
import
org.apache.shardingsphere.distsql.parser.autogen.KernelDistSQLStatementParser.CountSingleTableRuleContext;
import
org.apache.shardingsphere.distsql.parser.autogen.KernelDistSQLStatementParser.CreateDefaultSingleTableRuleContext;
+import
org.apache.shardingsphere.distsql.parser.autogen.KernelDistSQLStatementParser.CreateMigrationProcessConfigurationContext;
import
org.apache.shardingsphere.distsql.parser.autogen.KernelDistSQLStatementParser.CreateTrafficRuleContext;
import
org.apache.shardingsphere.distsql.parser.autogen.KernelDistSQLStatementParser.DatabaseNameContext;
import
org.apache.shardingsphere.distsql.parser.autogen.KernelDistSQLStatementParser.DisableInstanceContext;
@@ -49,17 +52,22 @@ import
org.apache.shardingsphere.distsql.parser.autogen.KernelDistSQLStatementPa
import
org.apache.shardingsphere.distsql.parser.autogen.KernelDistSQLStatementParser.LabelDefinitionContext;
import
org.apache.shardingsphere.distsql.parser.autogen.KernelDistSQLStatementParser.LabelInstanceContext;
import
org.apache.shardingsphere.distsql.parser.autogen.KernelDistSQLStatementParser.LoadBalancerDefinitionContext;
+import
org.apache.shardingsphere.distsql.parser.autogen.KernelDistSQLStatementParser.MigrationProcessConfigurationContext;
import
org.apache.shardingsphere.distsql.parser.autogen.KernelDistSQLStatementParser.PasswordContext;
import
org.apache.shardingsphere.distsql.parser.autogen.KernelDistSQLStatementParser.PrepareDistSQLContext;
import
org.apache.shardingsphere.distsql.parser.autogen.KernelDistSQLStatementParser.PropertiesDefinitionContext;
import
org.apache.shardingsphere.distsql.parser.autogen.KernelDistSQLStatementParser.PropertyContext;
import
org.apache.shardingsphere.distsql.parser.autogen.KernelDistSQLStatementParser.ProviderDefinitionContext;
+import
org.apache.shardingsphere.distsql.parser.autogen.KernelDistSQLStatementParser.RateLimiterContext;
+import
org.apache.shardingsphere.distsql.parser.autogen.KernelDistSQLStatementParser.ReadDefinitionContext;
import
org.apache.shardingsphere.distsql.parser.autogen.KernelDistSQLStatementParser.RefreshTableMetadataContext;
import
org.apache.shardingsphere.distsql.parser.autogen.KernelDistSQLStatementParser.ResourceDefinitionContext;
import
org.apache.shardingsphere.distsql.parser.autogen.KernelDistSQLStatementParser.SetVariableContext;
+import
org.apache.shardingsphere.distsql.parser.autogen.KernelDistSQLStatementParser.ShardingSizeContext;
import
org.apache.shardingsphere.distsql.parser.autogen.KernelDistSQLStatementParser.ShowAllVariablesContext;
import
org.apache.shardingsphere.distsql.parser.autogen.KernelDistSQLStatementParser.ShowInstanceInfoContext;
import
org.apache.shardingsphere.distsql.parser.autogen.KernelDistSQLStatementParser.ShowInstanceListContext;
+import
org.apache.shardingsphere.distsql.parser.autogen.KernelDistSQLStatementParser.ShowMigrationProcessConfigurationContext;
import
org.apache.shardingsphere.distsql.parser.autogen.KernelDistSQLStatementParser.ShowModeInfoContext;
import
org.apache.shardingsphere.distsql.parser.autogen.KernelDistSQLStatementParser.ShowResourcesContext;
import
org.apache.shardingsphere.distsql.parser.autogen.KernelDistSQLStatementParser.ShowRulesUsedResourceContext;
@@ -72,13 +80,18 @@ import
org.apache.shardingsphere.distsql.parser.autogen.KernelDistSQLStatementPa
import
org.apache.shardingsphere.distsql.parser.autogen.KernelDistSQLStatementParser.ShowUnusedResourcesContext;
import
org.apache.shardingsphere.distsql.parser.autogen.KernelDistSQLStatementParser.ShowVariableContext;
import
org.apache.shardingsphere.distsql.parser.autogen.KernelDistSQLStatementParser.SqlParserRuleDefinitionContext;
+import
org.apache.shardingsphere.distsql.parser.autogen.KernelDistSQLStatementParser.StreamChannelContext;
import
org.apache.shardingsphere.distsql.parser.autogen.KernelDistSQLStatementParser.TrafficRuleDefinitionContext;
import
org.apache.shardingsphere.distsql.parser.autogen.KernelDistSQLStatementParser.TransactionRuleDefinitionContext;
import
org.apache.shardingsphere.distsql.parser.autogen.KernelDistSQLStatementParser.UnlabelInstanceContext;
+import
org.apache.shardingsphere.distsql.parser.autogen.KernelDistSQLStatementParser.WorkerThreadContext;
+import
org.apache.shardingsphere.distsql.parser.autogen.KernelDistSQLStatementParser.WriteDefinitionContext;
import org.apache.shardingsphere.distsql.parser.segment.AlgorithmSegment;
import org.apache.shardingsphere.distsql.parser.segment.CacheOptionSegment;
import org.apache.shardingsphere.distsql.parser.segment.DataSourceSegment;
import
org.apache.shardingsphere.distsql.parser.segment.HostnameAndPortBasedDataSourceSegment;
+import
org.apache.shardingsphere.distsql.parser.segment.MigrationProcessConfigurationSegment;
+import org.apache.shardingsphere.distsql.parser.segment.ReadOrWriteSegment;
import org.apache.shardingsphere.distsql.parser.segment.TrafficRuleSegment;
import
org.apache.shardingsphere.distsql.parser.segment.TransactionProviderSegment;
import
org.apache.shardingsphere.distsql.parser.segment.URLBasedDataSourceSegment;
@@ -88,6 +101,7 @@ import
org.apache.shardingsphere.distsql.parser.statement.ral.queryable.ExportDa
import
org.apache.shardingsphere.distsql.parser.statement.ral.queryable.ShowAllVariableStatement;
import
org.apache.shardingsphere.distsql.parser.statement.ral.queryable.ShowInstanceInfoStatement;
import
org.apache.shardingsphere.distsql.parser.statement.ral.queryable.ShowInstanceListStatement;
+import
org.apache.shardingsphere.distsql.parser.statement.ral.queryable.ShowMigrationProcessConfigurationStatement;
import
org.apache.shardingsphere.distsql.parser.statement.ral.queryable.ShowModeInfoStatement;
import
org.apache.shardingsphere.distsql.parser.statement.ral.queryable.ShowSQLParserRuleStatement;
import
org.apache.shardingsphere.distsql.parser.statement.ral.queryable.ShowSQLTranslatorRuleStatement;
@@ -95,10 +109,12 @@ import
org.apache.shardingsphere.distsql.parser.statement.ral.queryable.ShowTabl
import
org.apache.shardingsphere.distsql.parser.statement.ral.queryable.ShowTransactionRuleStatement;
import
org.apache.shardingsphere.distsql.parser.statement.ral.queryable.ShowVariableStatement;
import
org.apache.shardingsphere.distsql.parser.statement.ral.updatable.AlterInstanceStatement;
+import
org.apache.shardingsphere.distsql.parser.statement.ral.updatable.AlterMigrationProcessConfigurationStatement;
import
org.apache.shardingsphere.distsql.parser.statement.ral.updatable.AlterSQLParserRuleStatement;
import
org.apache.shardingsphere.distsql.parser.statement.ral.updatable.AlterTrafficRuleStatement;
import
org.apache.shardingsphere.distsql.parser.statement.ral.updatable.AlterTransactionRuleStatement;
import
org.apache.shardingsphere.distsql.parser.statement.ral.updatable.ApplyDistSQLStatement;
+import
org.apache.shardingsphere.distsql.parser.statement.ral.updatable.CreateMigrationProcessConfigurationStatement;
import
org.apache.shardingsphere.distsql.parser.statement.ral.updatable.CreateTrafficRuleStatement;
import
org.apache.shardingsphere.distsql.parser.statement.ral.updatable.DiscardDistSQLStatement;
import
org.apache.shardingsphere.distsql.parser.statement.ral.updatable.DropTrafficRuleStatement;
@@ -409,7 +425,7 @@ public final class KernelDistSQLStatementVisitor extends
KernelDistSQLStatementB
@Override
public ASTNode visitAlgorithmDefinition(final AlgorithmDefinitionContext
ctx) {
- return new AlgorithmSegment(getIdentifierValue(ctx.typeName()),
buildProperties(ctx.propertiesDefinition()));
+ return new
AlgorithmSegment(getIdentifierValue(ctx.algorithmTypeName()),
buildProperties(ctx.propertiesDefinition()));
}
private Properties buildProperties(final PropertiesDefinitionContext ctx) {
@@ -470,6 +486,86 @@ public final class KernelDistSQLStatementVisitor extends
KernelDistSQLStatementB
return new ShowSQLTranslatorRuleStatement();
}
+ @Override
+ public ASTNode visitShowMigrationProcessConfiguration(final
ShowMigrationProcessConfigurationContext ctx) {
+ return new ShowMigrationProcessConfigurationStatement();
+ }
+
+ @Override
+ public ASTNode visitCreateMigrationProcessConfiguration(final
CreateMigrationProcessConfigurationContext ctx) {
+ MigrationProcessConfigurationSegment segment = null ==
ctx.migrationProcessConfiguration() ? null :
(MigrationProcessConfigurationSegment)
visit(ctx.migrationProcessConfiguration());
+ return new CreateMigrationProcessConfigurationStatement(segment);
+ }
+
+ @Override
+ public ASTNode visitAlterMigrationProcessConfiguration(final
AlterMigrationProcessConfigurationContext ctx) {
+ MigrationProcessConfigurationSegment segment = null ==
ctx.migrationProcessConfiguration() ? null :
(MigrationProcessConfigurationSegment)
visit(ctx.migrationProcessConfiguration());
+ return new AlterMigrationProcessConfigurationStatement(segment);
+ }
+
+ @Override
+ public ASTNode visitMigrationProcessConfiguration(final
MigrationProcessConfigurationContext ctx) {
+ MigrationProcessConfigurationSegment result = new
MigrationProcessConfigurationSegment();
+ if (null != ctx.readDefinition()) {
+ result.setReadSegment((ReadOrWriteSegment)
visit(ctx.readDefinition()));
+ }
+ if (null != ctx.writeDefinition()) {
+ result.setWriteSegment((ReadOrWriteSegment)
visit(ctx.writeDefinition()));
+ }
+ if (null != ctx.streamChannel()) {
+ result.setStreamChannel((AlgorithmSegment)
visit(ctx.streamChannel()));
+ }
+ return result;
+ }
+
+ @Override
+ public ASTNode visitReadDefinition(final ReadDefinitionContext ctx) {
+ return new ReadOrWriteSegment(getWorkerThread(ctx.workerThread()),
getBatchSize(ctx.batchSize()), getShardingSize(ctx.shardingSize()),
getAlgorithmSegment(ctx.rateLimiter()));
+ }
+
+ @Override
+ public ASTNode visitWriteDefinition(final WriteDefinitionContext ctx) {
+ return new ReadOrWriteSegment(getWorkerThread(ctx.workerThread()),
getBatchSize(ctx.batchSize()), getAlgorithmSegment(ctx.rateLimiter()));
+ }
+
+ private AlgorithmSegment getAlgorithmSegment(final RateLimiterContext ctx)
{
+ if (null == ctx) {
+ return null;
+ }
+ return (AlgorithmSegment) visit(ctx);
+ }
+
+ private Integer getWorkerThread(final WorkerThreadContext ctx) {
+ if (null == ctx) {
+ return null;
+ }
+ return Integer.parseInt(ctx.intValue().getText());
+ }
+
+ private Integer getBatchSize(final BatchSizeContext ctx) {
+ if (null == ctx) {
+ return null;
+ }
+ return Integer.parseInt(ctx.intValue().getText());
+ }
+
+ private Integer getShardingSize(final ShardingSizeContext ctx) {
+ if (null == ctx) {
+ return null;
+ }
+ return Integer.parseInt(ctx.intValue().getText());
+ }
+
+ @Override
+ public ASTNode visitRateLimiter(final RateLimiterContext ctx) {
+ return visit(ctx.algorithmDefinition());
+ }
+
+ @Override
+ public ASTNode visitStreamChannel(final StreamChannelContext ctx) {
+ return visit(ctx.algorithmDefinition());
+ }
+
private String getIdentifierValue(final ParseTree context) {
return null == context ? null : new
IdentifierValue(context.getText()).getValue();
}
diff --git
a/shardingsphere-distsql/shardingsphere-distsql-parser/src/main/antlr4/imports/BaseRule.g4
b/shardingsphere-distsql/shardingsphere-distsql-statement/src/main/java/org/apache/shardingsphere/distsql/parser/segment/MigrationProcessConfigurationSegment.java
similarity index 63%
copy from
shardingsphere-distsql/shardingsphere-distsql-parser/src/main/antlr4/imports/BaseRule.g4
copy to
shardingsphere-distsql/shardingsphere-distsql-statement/src/main/java/org/apache/shardingsphere/distsql/parser/segment/MigrationProcessConfigurationSegment.java
index ee2cbe9dea3..44a0e0e0e12 100644
---
a/shardingsphere-distsql/shardingsphere-distsql-parser/src/main/antlr4/imports/BaseRule.g4
+++
b/shardingsphere-distsql/shardingsphere-distsql-statement/src/main/java/org/apache/shardingsphere/distsql/parser/segment/MigrationProcessConfigurationSegment.java
@@ -15,34 +15,22 @@
* limitations under the License.
*/
-grammar BaseRule;
+package org.apache.shardingsphere.distsql.parser.segment;
-import Symbol, Keyword, Literals;
+import lombok.Getter;
+import lombok.Setter;
+import org.apache.shardingsphere.sql.parser.api.visitor.ASTNode;
-propertiesDefinition
- : PROPERTIES LP properties? RP
- ;
-
-properties
- : property (COMMA property)*
- ;
-
-property
- : key=STRING EQ value=STRING
- ;
-
-databaseName
- : IDENTIFIER
- ;
-
-schemaName
- : IDENTIFIER
- ;
-
-tableName
- : IDENTIFIER
- ;
-
-resourceName
- : IDENTIFIER
- ;
+/**
+ * Migration process configuration segment.
+ */
+@Getter
+@Setter
+public final class MigrationProcessConfigurationSegment implements ASTNode {
+
+ private ReadOrWriteSegment readSegment;
+
+ private ReadOrWriteSegment writeSegment;
+
+ private AlgorithmSegment streamChannel;
+}
diff --git
a/shardingsphere-distsql/shardingsphere-distsql-parser/src/main/antlr4/imports/BaseRule.g4
b/shardingsphere-distsql/shardingsphere-distsql-statement/src/main/java/org/apache/shardingsphere/distsql/parser/segment/ReadOrWriteSegment.java
similarity index 50%
copy from
shardingsphere-distsql/shardingsphere-distsql-parser/src/main/antlr4/imports/BaseRule.g4
copy to
shardingsphere-distsql/shardingsphere-distsql-statement/src/main/java/org/apache/shardingsphere/distsql/parser/segment/ReadOrWriteSegment.java
index ee2cbe9dea3..408c519d4ae 100644
---
a/shardingsphere-distsql/shardingsphere-distsql-parser/src/main/antlr4/imports/BaseRule.g4
+++
b/shardingsphere-distsql/shardingsphere-distsql-statement/src/main/java/org/apache/shardingsphere/distsql/parser/segment/ReadOrWriteSegment.java
@@ -15,34 +15,31 @@
* limitations under the License.
*/
-grammar BaseRule;
+package org.apache.shardingsphere.distsql.parser.segment;
-import Symbol, Keyword, Literals;
+import lombok.Getter;
+import lombok.RequiredArgsConstructor;
+import org.apache.shardingsphere.sql.parser.api.visitor.ASTNode;
-propertiesDefinition
- : PROPERTIES LP properties? RP
- ;
-
-properties
- : property (COMMA property)*
- ;
-
-property
- : key=STRING EQ value=STRING
- ;
-
-databaseName
- : IDENTIFIER
- ;
-
-schemaName
- : IDENTIFIER
- ;
-
-tableName
- : IDENTIFIER
- ;
-
-resourceName
- : IDENTIFIER
- ;
+/**
+ * Read or Write configuration segment.
+ */
+@RequiredArgsConstructor
+@Getter
+public final class ReadOrWriteSegment implements ASTNode {
+
+ private final Integer workerThread;
+
+ private final Integer batchSize;
+
+ private final Integer shardingSize;
+
+ private final AlgorithmSegment rateLimiter;
+
+ public ReadOrWriteSegment(final Integer workerThread, final Integer
batchSize, final AlgorithmSegment rateLimiter) {
+ this.workerThread = workerThread;
+ this.batchSize = batchSize;
+ this.shardingSize = 1000_0000;
+ this.rateLimiter = rateLimiter;
+ }
+}
diff --git
a/shardingsphere-distsql/shardingsphere-distsql-parser/src/main/antlr4/imports/BaseRule.g4
b/shardingsphere-distsql/shardingsphere-distsql-statement/src/main/java/org/apache/shardingsphere/distsql/parser/statement/ral/queryable/ShowMigrationProcessConfigurationStatement.java
similarity index 69%
copy from
shardingsphere-distsql/shardingsphere-distsql-parser/src/main/antlr4/imports/BaseRule.g4
copy to
shardingsphere-distsql/shardingsphere-distsql-statement/src/main/java/org/apache/shardingsphere/distsql/parser/statement/ral/queryable/ShowMigrationProcessConfigurationStatement.java
index ee2cbe9dea3..6e8eef9f7a8 100644
---
a/shardingsphere-distsql/shardingsphere-distsql-parser/src/main/antlr4/imports/BaseRule.g4
+++
b/shardingsphere-distsql/shardingsphere-distsql-statement/src/main/java/org/apache/shardingsphere/distsql/parser/statement/ral/queryable/ShowMigrationProcessConfigurationStatement.java
@@ -15,34 +15,12 @@
* limitations under the License.
*/
-grammar BaseRule;
+package org.apache.shardingsphere.distsql.parser.statement.ral.queryable;
-import Symbol, Keyword, Literals;
+import
org.apache.shardingsphere.distsql.parser.statement.ral.QueryableRALStatement;
-propertiesDefinition
- : PROPERTIES LP properties? RP
- ;
-
-properties
- : property (COMMA property)*
- ;
-
-property
- : key=STRING EQ value=STRING
- ;
-
-databaseName
- : IDENTIFIER
- ;
-
-schemaName
- : IDENTIFIER
- ;
-
-tableName
- : IDENTIFIER
- ;
-
-resourceName
- : IDENTIFIER
- ;
+/**
+ * Show migration process configuration statement.
+ */
+public final class ShowMigrationProcessConfigurationStatement extends
QueryableRALStatement {
+}
diff --git
a/shardingsphere-distsql/shardingsphere-distsql-parser/src/main/antlr4/imports/BaseRule.g4
b/shardingsphere-distsql/shardingsphere-distsql-statement/src/main/java/org/apache/shardingsphere/distsql/parser/statement/ral/updatable/AlterMigrationProcessConfigurationStatement.java
similarity index 57%
copy from
shardingsphere-distsql/shardingsphere-distsql-parser/src/main/antlr4/imports/BaseRule.g4
copy to
shardingsphere-distsql/shardingsphere-distsql-statement/src/main/java/org/apache/shardingsphere/distsql/parser/statement/ral/updatable/AlterMigrationProcessConfigurationStatement.java
index ee2cbe9dea3..7611747d3e1 100644
---
a/shardingsphere-distsql/shardingsphere-distsql-parser/src/main/antlr4/imports/BaseRule.g4
+++
b/shardingsphere-distsql/shardingsphere-distsql-statement/src/main/java/org/apache/shardingsphere/distsql/parser/statement/ral/updatable/AlterMigrationProcessConfigurationStatement.java
@@ -15,34 +15,19 @@
* limitations under the License.
*/
-grammar BaseRule;
+package org.apache.shardingsphere.distsql.parser.statement.ral.updatable;
-import Symbol, Keyword, Literals;
+import lombok.Getter;
+import lombok.RequiredArgsConstructor;
+import
org.apache.shardingsphere.distsql.parser.segment.MigrationProcessConfigurationSegment;
+import
org.apache.shardingsphere.distsql.parser.statement.ral.UpdatableRALStatement;
-propertiesDefinition
- : PROPERTIES LP properties? RP
- ;
-
-properties
- : property (COMMA property)*
- ;
-
-property
- : key=STRING EQ value=STRING
- ;
-
-databaseName
- : IDENTIFIER
- ;
-
-schemaName
- : IDENTIFIER
- ;
-
-tableName
- : IDENTIFIER
- ;
-
-resourceName
- : IDENTIFIER
- ;
+/**
+ * Alter migration process configuration statement.
+ */
+@RequiredArgsConstructor
+@Getter
+public final class AlterMigrationProcessConfigurationStatement extends
UpdatableRALStatement {
+
+ private final MigrationProcessConfigurationSegment
migrationProcessConfigurationSegment;
+}
diff --git
a/shardingsphere-distsql/shardingsphere-distsql-parser/src/main/antlr4/imports/BaseRule.g4
b/shardingsphere-distsql/shardingsphere-distsql-statement/src/main/java/org/apache/shardingsphere/distsql/parser/statement/ral/updatable/CreateMigrationProcessConfigurationStatement.java
similarity index 57%
copy from
shardingsphere-distsql/shardingsphere-distsql-parser/src/main/antlr4/imports/BaseRule.g4
copy to
shardingsphere-distsql/shardingsphere-distsql-statement/src/main/java/org/apache/shardingsphere/distsql/parser/statement/ral/updatable/CreateMigrationProcessConfigurationStatement.java
index ee2cbe9dea3..3ddf7ebd124 100644
---
a/shardingsphere-distsql/shardingsphere-distsql-parser/src/main/antlr4/imports/BaseRule.g4
+++
b/shardingsphere-distsql/shardingsphere-distsql-statement/src/main/java/org/apache/shardingsphere/distsql/parser/statement/ral/updatable/CreateMigrationProcessConfigurationStatement.java
@@ -15,34 +15,19 @@
* limitations under the License.
*/
-grammar BaseRule;
+package org.apache.shardingsphere.distsql.parser.statement.ral.updatable;
-import Symbol, Keyword, Literals;
+import lombok.Getter;
+import lombok.RequiredArgsConstructor;
+import
org.apache.shardingsphere.distsql.parser.segment.MigrationProcessConfigurationSegment;
+import
org.apache.shardingsphere.distsql.parser.statement.ral.UpdatableRALStatement;
-propertiesDefinition
- : PROPERTIES LP properties? RP
- ;
-
-properties
- : property (COMMA property)*
- ;
-
-property
- : key=STRING EQ value=STRING
- ;
-
-databaseName
- : IDENTIFIER
- ;
-
-schemaName
- : IDENTIFIER
- ;
-
-tableName
- : IDENTIFIER
- ;
-
-resourceName
- : IDENTIFIER
- ;
+/**
+ * Create migration process configuration statement.
+ */
+@RequiredArgsConstructor
+@Getter
+public final class CreateMigrationProcessConfigurationStatement extends
UpdatableRALStatement {
+
+ private final MigrationProcessConfigurationSegment
migrationProcessConfigurationSegment;
+}
diff --git
a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/RALBackendHandlerFactory.java
b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/RALBackendHandlerFactory.java
index 0dbac6a9967..5f3a5f2348b 100644
---
a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/RALBackendHandlerFactory.java
+++
b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/RALBackendHandlerFactory.java
@@ -27,6 +27,7 @@ import
org.apache.shardingsphere.distsql.parser.statement.ral.queryable.ExportDa
import
org.apache.shardingsphere.distsql.parser.statement.ral.queryable.ShowAllVariableStatement;
import
org.apache.shardingsphere.distsql.parser.statement.ral.queryable.ShowInstanceInfoStatement;
import
org.apache.shardingsphere.distsql.parser.statement.ral.queryable.ShowInstanceListStatement;
+import
org.apache.shardingsphere.distsql.parser.statement.ral.queryable.ShowMigrationProcessConfigurationStatement;
import
org.apache.shardingsphere.distsql.parser.statement.ral.queryable.ShowModeInfoStatement;
import
org.apache.shardingsphere.distsql.parser.statement.ral.queryable.ShowSQLParserRuleStatement;
import
org.apache.shardingsphere.distsql.parser.statement.ral.queryable.ShowSQLTranslatorRuleStatement;
@@ -35,10 +36,12 @@ import
org.apache.shardingsphere.distsql.parser.statement.ral.queryable.ShowTran
import
org.apache.shardingsphere.distsql.parser.statement.ral.queryable.ShowVariableStatement;
import
org.apache.shardingsphere.distsql.parser.statement.ral.scaling.QueryableScalingRALStatement;
import
org.apache.shardingsphere.distsql.parser.statement.ral.scaling.UpdatableScalingRALStatement;
+import
org.apache.shardingsphere.distsql.parser.statement.ral.updatable.AlterMigrationProcessConfigurationStatement;
import
org.apache.shardingsphere.distsql.parser.statement.ral.updatable.AlterSQLParserRuleStatement;
import
org.apache.shardingsphere.distsql.parser.statement.ral.updatable.AlterTrafficRuleStatement;
import
org.apache.shardingsphere.distsql.parser.statement.ral.updatable.AlterTransactionRuleStatement;
import
org.apache.shardingsphere.distsql.parser.statement.ral.updatable.ApplyDistSQLStatement;
+import
org.apache.shardingsphere.distsql.parser.statement.ral.updatable.CreateMigrationProcessConfigurationStatement;
import
org.apache.shardingsphere.distsql.parser.statement.ral.updatable.CreateTrafficRuleStatement;
import
org.apache.shardingsphere.distsql.parser.statement.ral.updatable.DiscardDistSQLStatement;
import
org.apache.shardingsphere.distsql.parser.statement.ral.updatable.DropTrafficRuleStatement;
@@ -61,6 +64,7 @@ import
org.apache.shardingsphere.proxy.backend.handler.distsql.ral.queryable.Exp
import
org.apache.shardingsphere.proxy.backend.handler.distsql.ral.queryable.ShowAllVariableHandler;
import
org.apache.shardingsphere.proxy.backend.handler.distsql.ral.queryable.ShowInstanceInfoHandler;
import
org.apache.shardingsphere.proxy.backend.handler.distsql.ral.queryable.ShowInstanceListHandler;
+import
org.apache.shardingsphere.proxy.backend.handler.distsql.ral.queryable.ShowMigrationProcessConfigurationHandler;
import
org.apache.shardingsphere.proxy.backend.handler.distsql.ral.queryable.ShowModeInfoHandler;
import
org.apache.shardingsphere.proxy.backend.handler.distsql.ral.queryable.ShowReadwriteSplittingReadResourcesHandler;
import
org.apache.shardingsphere.proxy.backend.handler.distsql.ral.queryable.ShowSQLParserRuleHandler;
@@ -68,10 +72,12 @@ import
org.apache.shardingsphere.proxy.backend.handler.distsql.ral.queryable.Sho
import
org.apache.shardingsphere.proxy.backend.handler.distsql.ral.queryable.ShowTableMetadataHandler;
import
org.apache.shardingsphere.proxy.backend.handler.distsql.ral.queryable.ShowTransactionRuleHandler;
import
org.apache.shardingsphere.proxy.backend.handler.distsql.ral.queryable.ShowVariableHandler;
+import
org.apache.shardingsphere.proxy.backend.handler.distsql.ral.updatable.AlterMigrationProcessConfigurationHandler;
import
org.apache.shardingsphere.proxy.backend.handler.distsql.ral.updatable.AlterSQLParserRuleHandler;
import
org.apache.shardingsphere.proxy.backend.handler.distsql.ral.updatable.AlterTrafficRuleHandler;
import
org.apache.shardingsphere.proxy.backend.handler.distsql.ral.updatable.AlterTransactionRuleHandler;
import
org.apache.shardingsphere.proxy.backend.handler.distsql.ral.updatable.ApplyDistSQLHandler;
+import
org.apache.shardingsphere.proxy.backend.handler.distsql.ral.updatable.CreateMigrationProcessConfigurationHandler;
import
org.apache.shardingsphere.proxy.backend.handler.distsql.ral.updatable.CreateTrafficRuleHandler;
import
org.apache.shardingsphere.proxy.backend.handler.distsql.ral.updatable.DiscardDistSQLHandler;
import
org.apache.shardingsphere.proxy.backend.handler.distsql.ral.updatable.DropTrafficRuleHandler;
@@ -127,6 +133,9 @@ public final class RALBackendHandlerFactory {
HANDLERS.put(ShowSQLTranslatorRuleStatement.class,
ShowSQLTranslatorRuleHandler.class);
HANDLERS.put(ShowInstanceInfoStatement.class,
ShowInstanceInfoHandler.class);
HANDLERS.put(ShowModeInfoStatement.class, ShowModeInfoHandler.class);
+ HANDLERS.put(ShowMigrationProcessConfigurationStatement.class,
ShowMigrationProcessConfigurationHandler.class);
+ HANDLERS.put(CreateMigrationProcessConfigurationStatement.class,
CreateMigrationProcessConfigurationHandler.class);
+ HANDLERS.put(AlterMigrationProcessConfigurationStatement.class,
AlterMigrationProcessConfigurationHandler.class);
}
/**
diff --git
a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/queryable/ShowMigrationProcessConfigurationHandler.java
b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/queryable/ShowMigrationProcessConfigurationHandler.java
new file mode 100644
index 00000000000..4d149dbf511
--- /dev/null
+++
b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/queryable/ShowMigrationProcessConfigurationHandler.java
@@ -0,0 +1,44 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.shardingsphere.proxy.backend.handler.distsql.ral.queryable;
+
+import
org.apache.shardingsphere.distsql.parser.statement.ral.queryable.ShowMigrationProcessConfigurationStatement;
+import
org.apache.shardingsphere.infra.merge.result.impl.local.LocalDataQueryResultRow;
+import org.apache.shardingsphere.mode.manager.ContextManager;
+import
org.apache.shardingsphere.proxy.backend.handler.distsql.ral.QueryableRALBackendHandler;
+
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+
+/**
+ * Show migration process configuration handler.
+ */
+public final class ShowMigrationProcessConfigurationHandler extends
QueryableRALBackendHandler<ShowMigrationProcessConfigurationStatement> {
+
+ @Override
+ protected Collection<String> getColumnNames() {
+ return Arrays.asList("read", "write", "stream_channel");
+ }
+
+ @Override
+ protected Collection<LocalDataQueryResultRow> getRows(final ContextManager
contextManager) {
+ // TODO
+ return Collections.emptyList();
+ }
+}
diff --git
a/shardingsphere-distsql/shardingsphere-distsql-parser/src/main/antlr4/imports/BaseRule.g4
b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/updatable/AlterMigrationProcessConfigurationHandler.java
similarity index 51%
copy from
shardingsphere-distsql/shardingsphere-distsql-parser/src/main/antlr4/imports/BaseRule.g4
copy to
shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/updatable/AlterMigrationProcessConfigurationHandler.java
index ee2cbe9dea3..86d59d5613a 100644
---
a/shardingsphere-distsql/shardingsphere-distsql-parser/src/main/antlr4/imports/BaseRule.g4
+++
b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/updatable/AlterMigrationProcessConfigurationHandler.java
@@ -15,34 +15,20 @@
* limitations under the License.
*/
-grammar BaseRule;
+package org.apache.shardingsphere.proxy.backend.handler.distsql.ral.updatable;
-import Symbol, Keyword, Literals;
+import
org.apache.shardingsphere.distsql.parser.statement.ral.updatable.AlterMigrationProcessConfigurationStatement;
+import org.apache.shardingsphere.infra.distsql.exception.DistSQLException;
+import org.apache.shardingsphere.mode.manager.ContextManager;
+import
org.apache.shardingsphere.proxy.backend.handler.distsql.ral.UpdatableRALBackendHandler;
-propertiesDefinition
- : PROPERTIES LP properties? RP
- ;
-
-properties
- : property (COMMA property)*
- ;
-
-property
- : key=STRING EQ value=STRING
- ;
-
-databaseName
- : IDENTIFIER
- ;
-
-schemaName
- : IDENTIFIER
- ;
-
-tableName
- : IDENTIFIER
- ;
-
-resourceName
- : IDENTIFIER
- ;
+/**
+ * Alter migration process configuration handler.
+ */
+public final class AlterMigrationProcessConfigurationHandler extends
UpdatableRALBackendHandler<AlterMigrationProcessConfigurationStatement> {
+
+ @Override
+ protected void update(final ContextManager contextManager) throws
DistSQLException {
+ // TODO
+ }
+}
diff --git
a/shardingsphere-distsql/shardingsphere-distsql-parser/src/main/antlr4/imports/BaseRule.g4
b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/updatable/CreateMigrationProcessConfigurationHandler.java
similarity index 51%
copy from
shardingsphere-distsql/shardingsphere-distsql-parser/src/main/antlr4/imports/BaseRule.g4
copy to
shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/updatable/CreateMigrationProcessConfigurationHandler.java
index ee2cbe9dea3..4586071279a 100644
---
a/shardingsphere-distsql/shardingsphere-distsql-parser/src/main/antlr4/imports/BaseRule.g4
+++
b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/updatable/CreateMigrationProcessConfigurationHandler.java
@@ -15,34 +15,20 @@
* limitations under the License.
*/
-grammar BaseRule;
+package org.apache.shardingsphere.proxy.backend.handler.distsql.ral.updatable;
-import Symbol, Keyword, Literals;
+import
org.apache.shardingsphere.distsql.parser.statement.ral.updatable.CreateMigrationProcessConfigurationStatement;
+import org.apache.shardingsphere.infra.distsql.exception.DistSQLException;
+import org.apache.shardingsphere.mode.manager.ContextManager;
+import
org.apache.shardingsphere.proxy.backend.handler.distsql.ral.UpdatableRALBackendHandler;
-propertiesDefinition
- : PROPERTIES LP properties? RP
- ;
-
-properties
- : property (COMMA property)*
- ;
-
-property
- : key=STRING EQ value=STRING
- ;
-
-databaseName
- : IDENTIFIER
- ;
-
-schemaName
- : IDENTIFIER
- ;
-
-tableName
- : IDENTIFIER
- ;
-
-resourceName
- : IDENTIFIER
- ;
+/**
+ * Create migration process configuration handler.
+ */
+public final class CreateMigrationProcessConfigurationHandler extends
UpdatableRALBackendHandler<CreateMigrationProcessConfigurationStatement> {
+
+ @Override
+ protected void update(final ContextManager contextManager) throws
DistSQLException {
+ // TODO
+ }
+}
diff --git
a/shardingsphere-test/shardingsphere-parser-test/src/main/resources/sql/supported/ral/updatable.xml
b/shardingsphere-test/shardingsphere-parser-test/src/main/resources/sql/supported/ral/updatable.xml
index 2f4bd32155f..f5d1b98bea8 100644
---
a/shardingsphere-test/shardingsphere-parser-test/src/main/resources/sql/supported/ral/updatable.xml
+++
b/shardingsphere-test/shardingsphere-parser-test/src/main/resources/sql/supported/ral/updatable.xml
@@ -26,11 +26,11 @@
<distsql-case id="refresh-table-metadata-table-with-schema" value="REFRESH
TABLE METADATA t_order FROM RESOURCE ds_0 SCHEMA public" />
<distsql-case id="alter-sql-parser-rule" value="ALTER SQL_PARSER RULE
SQL_COMMENT_PARSE_ENABLE=false,PARSE_TREE_CACHE(INITIAL_CAPACITY=10,
MAXIMUM_SIZE=11,CONCURRENCY_LEVEL=1), SQL_STATEMENT_CACHE(INITIAL_CAPACITY=11,
MAXIMUM_SIZE=11,CONCURRENCY_LEVEL=100)" />
- <distsql-case id="alter-local-transaction-rule" value="ALTER TRANSACTION
RULE (DEFAULT=LOCAL)" />
- <distsql-case id="alter-xa-transaction-rule" value="ALTER TRANSACTION
RULE(DEFAULT=XA, TYPE(NAME=Atomikos))" />
+ <distsql-case id="alter-local-transaction-rule" value="ALTER TRANSACTION
RULE (DEFAULT='LOCAL')" />
+ <distsql-case id="alter-xa-transaction-rule" value="ALTER TRANSACTION
RULE(DEFAULT='XA', TYPE(NAME='Atomikos'))" />
- <distsql-case id="create-traffic-rule" value="CREATE TRAFFIC RULE
sql_match_traffic
(LABELS(OLTP),TRAFFIC_ALGORITHM(TYPE(NAME=SQL_MATCH,PROPERTIES('sql' = 'SELECT
* FROM t_order WHERE order_id = ?; UPDATE t_order SET order_id = ?;'))),
LOAD_BALANCER(TYPE(NAME=RANDOM, PROPERTIES('key'='value'))) )" />
- <distsql-case id="alter-traffic-rule" value="ALTER TRAFFIC RULE
sql_match_traffic
(LABELS(OLTP),TRAFFIC_ALGORITHM(TYPE(NAME=SQL_MATCH,PROPERTIES('sql' = 'SELECT
* FROM t_order WHERE order_id = ?; UPDATE t_order SET order_id = ?;'))),
LOAD_BALANCER(TYPE(NAME=RANDOM, PROPERTIES('key'='value'))) )" />
+ <distsql-case id="create-traffic-rule" value="CREATE TRAFFIC RULE
sql_match_traffic
(LABELS(OLTP),TRAFFIC_ALGORITHM(TYPE(NAME='SQL_MATCH',PROPERTIES('sql' =
'SELECT * FROM t_order WHERE order_id = ?; UPDATE t_order SET order_id =
?;'))), LOAD_BALANCER(TYPE(NAME='RANDOM', PROPERTIES('key'='value'))) )" />
+ <distsql-case id="alter-traffic-rule" value="ALTER TRAFFIC RULE
sql_match_traffic
(LABELS(OLTP),TRAFFIC_ALGORITHM(TYPE(NAME='SQL_MATCH',PROPERTIES('sql' =
'SELECT * FROM t_order WHERE order_id = ?; UPDATE t_order SET order_id =
?;'))), LOAD_BALANCER(TYPE(NAME='RANDOM', PROPERTIES('key'='value'))) )" />
<distsql-case id="drop-traffic-rule" value="DROP TRAFFIC RULE rule_name" />
<distsql-case id="alter-instance-xa-recovery-nodes" value="ALTER INSTANCE
instance_xa_recovery SET XA_RECOVERY_NODES='instance_1'" />