You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by zh...@apache.org on 2025/06/06 21:19:17 UTC
(shardingsphere) branch master updated: Refactor RL statements to MySQL-specific implementations (#35613)
This is an automated email from the ASF dual-hosted git repository.
zhangliang 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 d278b021a82 Refactor RL statements to MySQL-specific implementations (#35613)
d278b021a82 is described below
commit d278b021a82ba58e5b361ecf6de41eeef0f2d08c
Author: Liang Zhang <zh...@apache.org>
AuthorDate: Sat Jun 7 05:19:11 2025 +0800
Refactor RL statements to MySQL-specific implementations (#35613)
* Refactor RL statements to MySQL-specific implementations
* Refactor RL statements to MySQL-specific implementations
---
.../merge/dql/ShardingDQLResultMergerTest.java | 4 ++--
.../statement/type/DorisRLStatementVisitor.java | 20 ++++++++---------
.../statement/type/MySQLRLStatementVisitor.java | 20 ++++++++---------
.../core/statement/rl/StopSlaveStatement.java | 26 ----------------------
.../mysql/rl/MySQLChangeMasterStatement.java} | 7 +++---
.../MySQLChangeReplicationSourceToStatement.java} | 7 +++---
.../mysql/rl/MySQLStartReplicaStatement.java} | 7 +++---
.../mysql/rl/MySQLStartSlaveStatement.java} | 7 +++---
.../mysql/rl/MySQLStopSlaveStatement.java} | 7 +++---
.../binary/prepare/MySQLComStmtPrepareChecker.java | 10 ++++-----
.../prepare/MySQLComStmtPrepareCheckerTest.java | 10 ++++-----
11 files changed, 52 insertions(+), 73 deletions(-)
diff --git a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/merge/dql/ShardingDQLResultMergerTest.java b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/merge/dql/ShardingDQLResultMergerTest.java
index cf27cf5ee93..96767e97dd5 100644
--- a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/merge/dql/ShardingDQLResultMergerTest.java
+++ b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/merge/dql/ShardingDQLResultMergerTest.java
@@ -123,7 +123,7 @@ class ShardingDQLResultMergerTest {
void assertBuildIteratorStreamMergedResultWithOracleLimit() throws SQLException {
final ShardingDQLResultMerger resultMerger = new ShardingDQLResultMerger(oracleDatabaseType);
final ShardingSphereDatabase database = mock(ShardingSphereDatabase.class, RETURNS_DEEP_STUBS);
- SelectStatement selectStatement = (SelectStatement) buildSelectStatement(new SelectStatement());
+ SelectStatement selectStatement = buildSelectStatement(new SelectStatement());
selectStatement.setProjections(new ProjectionsSegment(0, 0));
WhereSegment whereSegment = mock(WhereSegment.class);
BinaryOperationExpression binaryOperationExpression = mock(BinaryOperationExpression.class);
@@ -211,7 +211,7 @@ class ShardingDQLResultMergerTest {
when(subSelectStatement.getProjections()).thenReturn(subProjectionsSegment);
when(subquerySegment.getSelect()).thenReturn(subSelectStatement);
when(subqueryTableSegment.getSubquery()).thenReturn(subquerySegment);
- SelectStatement selectStatement = (SelectStatement) buildSelectStatement(new SelectStatement());
+ SelectStatement selectStatement = buildSelectStatement(new SelectStatement());
selectStatement.setOrderBy(new OrderBySegment(0, 0, Collections.singletonList(new IndexOrderByItemSegment(0, 0, 1, OrderDirection.DESC, NullsOrderType.FIRST))));
selectStatement.setProjections(new ProjectionsSegment(0, 0));
selectStatement.setFrom(subqueryTableSegment);
diff --git a/parser/sql/dialect/doris/src/main/java/org/apache/shardingsphere/sql/parser/doris/visitor/statement/type/DorisRLStatementVisitor.java b/parser/sql/dialect/doris/src/main/java/org/apache/shardingsphere/sql/parser/doris/visitor/statement/type/DorisRLStatementVisitor.java
index f903be269fd..ac0e2129647 100644
--- a/parser/sql/dialect/doris/src/main/java/org/apache/shardingsphere/sql/parser/doris/visitor/statement/type/DorisRLStatementVisitor.java
+++ b/parser/sql/dialect/doris/src/main/java/org/apache/shardingsphere/sql/parser/doris/visitor/statement/type/DorisRLStatementVisitor.java
@@ -25,11 +25,11 @@ import org.apache.shardingsphere.sql.parser.autogen.DorisStatementParser.ChangeR
import org.apache.shardingsphere.sql.parser.autogen.DorisStatementParser.StartSlaveContext;
import org.apache.shardingsphere.sql.parser.autogen.DorisStatementParser.StopSlaveContext;
import org.apache.shardingsphere.sql.parser.doris.visitor.statement.DorisStatementVisitor;
-import org.apache.shardingsphere.sql.parser.statement.core.statement.rl.ChangeMasterStatement;
-import org.apache.shardingsphere.sql.parser.statement.core.statement.rl.ChangeReplicationSourceToStatement;
-import org.apache.shardingsphere.sql.parser.statement.core.statement.rl.StartReplicaStatement;
-import org.apache.shardingsphere.sql.parser.statement.core.statement.rl.StartSlaveStatement;
-import org.apache.shardingsphere.sql.parser.statement.core.statement.rl.StopSlaveStatement;
+import org.apache.shardingsphere.sql.parser.statement.mysql.rl.MySQLChangeMasterStatement;
+import org.apache.shardingsphere.sql.parser.statement.mysql.rl.MySQLChangeReplicationSourceToStatement;
+import org.apache.shardingsphere.sql.parser.statement.mysql.rl.MySQLStartReplicaStatement;
+import org.apache.shardingsphere.sql.parser.statement.mysql.rl.MySQLStartSlaveStatement;
+import org.apache.shardingsphere.sql.parser.statement.mysql.rl.MySQLStopSlaveStatement;
/**
* RL statement visitor for Doris.
@@ -38,26 +38,26 @@ public final class DorisRLStatementVisitor extends DorisStatementVisitor impleme
@Override
public ASTNode visitChangeMasterTo(final ChangeMasterToContext ctx) {
- return new ChangeMasterStatement();
+ return new MySQLChangeMasterStatement();
}
@Override
public ASTNode visitStartSlave(final StartSlaveContext ctx) {
- return new StartSlaveStatement();
+ return new MySQLStartSlaveStatement();
}
@Override
public ASTNode visitStopSlave(final StopSlaveContext ctx) {
- return new StopSlaveStatement();
+ return new MySQLStopSlaveStatement();
}
@Override
public ASTNode visitChangeReplicationSourceTo(final ChangeReplicationSourceToContext ctx) {
- return new ChangeReplicationSourceToStatement();
+ return new MySQLChangeReplicationSourceToStatement();
}
@Override
public ASTNode visitStartReplica(final DorisStatementParser.StartReplicaContext ctx) {
- return new StartReplicaStatement();
+ return new MySQLStartReplicaStatement();
}
}
diff --git a/parser/sql/dialect/mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/statement/type/MySQLRLStatementVisitor.java b/parser/sql/dialect/mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/statement/type/MySQLRLStatementVisitor.java
index a9f7bc43937..6841d44f490 100644
--- a/parser/sql/dialect/mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/statement/type/MySQLRLStatementVisitor.java
+++ b/parser/sql/dialect/mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/statement/type/MySQLRLStatementVisitor.java
@@ -25,11 +25,11 @@ import org.apache.shardingsphere.sql.parser.autogen.MySQLStatementParser.ChangeR
import org.apache.shardingsphere.sql.parser.autogen.MySQLStatementParser.StartSlaveContext;
import org.apache.shardingsphere.sql.parser.autogen.MySQLStatementParser.StopSlaveContext;
import org.apache.shardingsphere.sql.parser.mysql.visitor.statement.MySQLStatementVisitor;
-import org.apache.shardingsphere.sql.parser.statement.core.statement.rl.ChangeMasterStatement;
-import org.apache.shardingsphere.sql.parser.statement.core.statement.rl.ChangeReplicationSourceToStatement;
-import org.apache.shardingsphere.sql.parser.statement.core.statement.rl.StartReplicaStatement;
-import org.apache.shardingsphere.sql.parser.statement.core.statement.rl.StartSlaveStatement;
-import org.apache.shardingsphere.sql.parser.statement.core.statement.rl.StopSlaveStatement;
+import org.apache.shardingsphere.sql.parser.statement.mysql.rl.MySQLChangeMasterStatement;
+import org.apache.shardingsphere.sql.parser.statement.mysql.rl.MySQLChangeReplicationSourceToStatement;
+import org.apache.shardingsphere.sql.parser.statement.mysql.rl.MySQLStartReplicaStatement;
+import org.apache.shardingsphere.sql.parser.statement.mysql.rl.MySQLStartSlaveStatement;
+import org.apache.shardingsphere.sql.parser.statement.mysql.rl.MySQLStopSlaveStatement;
/**
* RL statement visitor for MySQL.
@@ -38,26 +38,26 @@ public final class MySQLRLStatementVisitor extends MySQLStatementVisitor impleme
@Override
public ASTNode visitChangeMasterTo(final ChangeMasterToContext ctx) {
- return new ChangeMasterStatement();
+ return new MySQLChangeMasterStatement();
}
@Override
public ASTNode visitStartSlave(final StartSlaveContext ctx) {
- return new StartSlaveStatement();
+ return new MySQLStartSlaveStatement();
}
@Override
public ASTNode visitStopSlave(final StopSlaveContext ctx) {
- return new StopSlaveStatement();
+ return new MySQLStopSlaveStatement();
}
@Override
public ASTNode visitChangeReplicationSourceTo(final ChangeReplicationSourceToContext ctx) {
- return new ChangeReplicationSourceToStatement();
+ return new MySQLChangeReplicationSourceToStatement();
}
@Override
public ASTNode visitStartReplica(final MySQLStatementParser.StartReplicaContext ctx) {
- return new StartReplicaStatement();
+ return new MySQLStartReplicaStatement();
}
}
diff --git a/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/statement/rl/StopSlaveStatement.java b/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/statement/rl/StopSlaveStatement.java
deleted file mode 100644
index 33c373d030b..00000000000
--- a/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/statement/rl/StopSlaveStatement.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- * 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.sql.parser.statement.core.statement.rl;
-
-import org.apache.shardingsphere.sql.parser.statement.core.statement.AbstractSQLStatement;
-
-/**
- * Stop slave statement.
- */
-public final class StopSlaveStatement extends AbstractSQLStatement implements RLStatement {
-}
diff --git a/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/statement/rl/StartSlaveStatement.java b/parser/sql/statement/type/mysql/src/main/java/org/apache/shardingsphere/sql/parser/statement/mysql/rl/MySQLChangeMasterStatement.java
similarity index 76%
rename from parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/statement/rl/StartSlaveStatement.java
rename to parser/sql/statement/type/mysql/src/main/java/org/apache/shardingsphere/sql/parser/statement/mysql/rl/MySQLChangeMasterStatement.java
index 689f58f6dc0..1e5a2a9edfe 100644
--- a/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/statement/rl/StartSlaveStatement.java
+++ b/parser/sql/statement/type/mysql/src/main/java/org/apache/shardingsphere/sql/parser/statement/mysql/rl/MySQLChangeMasterStatement.java
@@ -15,12 +15,13 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.sql.parser.statement.core.statement.rl;
+package org.apache.shardingsphere.sql.parser.statement.mysql.rl;
import org.apache.shardingsphere.sql.parser.statement.core.statement.AbstractSQLStatement;
+import org.apache.shardingsphere.sql.parser.statement.core.statement.rl.RLStatement;
/**
- * Start slave statement.
+ * MySQL change master statement.
*/
-public final class StartSlaveStatement extends AbstractSQLStatement implements RLStatement {
+public final class MySQLChangeMasterStatement extends AbstractSQLStatement implements RLStatement {
}
diff --git a/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/statement/rl/ChangeReplicationSourceToStatement.java b/parser/sql/statement/type/mysql/src/main/java/org/apache/shardingsphere/sql/parser/statement/mysql/rl/MySQLChangeReplicationSourceToStatement.java
similarity index 74%
copy from parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/statement/rl/ChangeReplicationSourceToStatement.java
copy to parser/sql/statement/type/mysql/src/main/java/org/apache/shardingsphere/sql/parser/statement/mysql/rl/MySQLChangeReplicationSourceToStatement.java
index c663912b062..effac40dcf4 100644
--- a/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/statement/rl/ChangeReplicationSourceToStatement.java
+++ b/parser/sql/statement/type/mysql/src/main/java/org/apache/shardingsphere/sql/parser/statement/mysql/rl/MySQLChangeReplicationSourceToStatement.java
@@ -15,12 +15,13 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.sql.parser.statement.core.statement.rl;
+package org.apache.shardingsphere.sql.parser.statement.mysql.rl;
import org.apache.shardingsphere.sql.parser.statement.core.statement.AbstractSQLStatement;
+import org.apache.shardingsphere.sql.parser.statement.core.statement.rl.RLStatement;
/**
- * Change replication source statement.
+ * MySQL change replication source statement.
*/
-public final class ChangeReplicationSourceToStatement extends AbstractSQLStatement implements RLStatement {
+public final class MySQLChangeReplicationSourceToStatement extends AbstractSQLStatement implements RLStatement {
}
diff --git a/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/statement/rl/ChangeMasterStatement.java b/parser/sql/statement/type/mysql/src/main/java/org/apache/shardingsphere/sql/parser/statement/mysql/rl/MySQLStartReplicaStatement.java
similarity index 76%
rename from parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/statement/rl/ChangeMasterStatement.java
rename to parser/sql/statement/type/mysql/src/main/java/org/apache/shardingsphere/sql/parser/statement/mysql/rl/MySQLStartReplicaStatement.java
index d9aadbf7cdc..c264696df3e 100644
--- a/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/statement/rl/ChangeMasterStatement.java
+++ b/parser/sql/statement/type/mysql/src/main/java/org/apache/shardingsphere/sql/parser/statement/mysql/rl/MySQLStartReplicaStatement.java
@@ -15,12 +15,13 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.sql.parser.statement.core.statement.rl;
+package org.apache.shardingsphere.sql.parser.statement.mysql.rl;
import org.apache.shardingsphere.sql.parser.statement.core.statement.AbstractSQLStatement;
+import org.apache.shardingsphere.sql.parser.statement.core.statement.rl.RLStatement;
/**
- * Change master statement.
+ * MySQL start replica statement.
*/
-public final class ChangeMasterStatement extends AbstractSQLStatement implements RLStatement {
+public final class MySQLStartReplicaStatement extends AbstractSQLStatement implements RLStatement {
}
diff --git a/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/statement/rl/StartReplicaStatement.java b/parser/sql/statement/type/mysql/src/main/java/org/apache/shardingsphere/sql/parser/statement/mysql/rl/MySQLStartSlaveStatement.java
similarity index 76%
rename from parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/statement/rl/StartReplicaStatement.java
rename to parser/sql/statement/type/mysql/src/main/java/org/apache/shardingsphere/sql/parser/statement/mysql/rl/MySQLStartSlaveStatement.java
index 73d00dc3a66..873ae92504d 100644
--- a/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/statement/rl/StartReplicaStatement.java
+++ b/parser/sql/statement/type/mysql/src/main/java/org/apache/shardingsphere/sql/parser/statement/mysql/rl/MySQLStartSlaveStatement.java
@@ -15,12 +15,13 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.sql.parser.statement.core.statement.rl;
+package org.apache.shardingsphere.sql.parser.statement.mysql.rl;
import org.apache.shardingsphere.sql.parser.statement.core.statement.AbstractSQLStatement;
+import org.apache.shardingsphere.sql.parser.statement.core.statement.rl.RLStatement;
/**
- * Start replica statement.
+ * MySQL start slave statement.
*/
-public final class StartReplicaStatement extends AbstractSQLStatement implements RLStatement {
+public final class MySQLStartSlaveStatement extends AbstractSQLStatement implements RLStatement {
}
diff --git a/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/statement/rl/ChangeReplicationSourceToStatement.java b/parser/sql/statement/type/mysql/src/main/java/org/apache/shardingsphere/sql/parser/statement/mysql/rl/MySQLStopSlaveStatement.java
similarity index 76%
rename from parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/statement/rl/ChangeReplicationSourceToStatement.java
rename to parser/sql/statement/type/mysql/src/main/java/org/apache/shardingsphere/sql/parser/statement/mysql/rl/MySQLStopSlaveStatement.java
index c663912b062..ad0c94ce3f0 100644
--- a/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/statement/rl/ChangeReplicationSourceToStatement.java
+++ b/parser/sql/statement/type/mysql/src/main/java/org/apache/shardingsphere/sql/parser/statement/mysql/rl/MySQLStopSlaveStatement.java
@@ -15,12 +15,13 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.sql.parser.statement.core.statement.rl;
+package org.apache.shardingsphere.sql.parser.statement.mysql.rl;
import org.apache.shardingsphere.sql.parser.statement.core.statement.AbstractSQLStatement;
+import org.apache.shardingsphere.sql.parser.statement.core.statement.rl.RLStatement;
/**
- * Change replication source statement.
+ * MySQL stop slave statement.
*/
-public final class ChangeReplicationSourceToStatement extends AbstractSQLStatement implements RLStatement {
+public final class MySQLStopSlaveStatement extends AbstractSQLStatement implements RLStatement {
}
diff --git a/proxy/frontend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/frontend/mysql/command/query/binary/prepare/MySQLComStmtPrepareChecker.java b/proxy/frontend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/frontend/mysql/command/query/binary/prepare/MySQLComStmtPrepareChecker.java
index 8d32697a1a9..61475ce0698 100644
--- a/proxy/frontend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/frontend/mysql/command/query/binary/prepare/MySQLComStmtPrepareChecker.java
+++ b/proxy/frontend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/frontend/mysql/command/query/binary/prepare/MySQLComStmtPrepareChecker.java
@@ -62,9 +62,9 @@ import org.apache.shardingsphere.sql.parser.statement.core.statement.dml.DoState
import org.apache.shardingsphere.sql.parser.statement.core.statement.dml.InsertStatement;
import org.apache.shardingsphere.sql.parser.statement.core.statement.dml.SelectStatement;
import org.apache.shardingsphere.sql.parser.statement.core.statement.dml.UpdateStatement;
-import org.apache.shardingsphere.sql.parser.statement.core.statement.rl.ChangeMasterStatement;
-import org.apache.shardingsphere.sql.parser.statement.core.statement.rl.StartSlaveStatement;
-import org.apache.shardingsphere.sql.parser.statement.core.statement.rl.StopSlaveStatement;
+import org.apache.shardingsphere.sql.parser.statement.mysql.rl.MySQLChangeMasterStatement;
+import org.apache.shardingsphere.sql.parser.statement.mysql.rl.MySQLStartSlaveStatement;
+import org.apache.shardingsphere.sql.parser.statement.mysql.rl.MySQLStopSlaveStatement;
import org.apache.shardingsphere.sql.parser.statement.core.statement.tcl.CommitStatement;
import org.apache.shardingsphere.sql.parser.statement.core.statement.tcl.xa.XABeginStatement;
import org.apache.shardingsphere.sql.parser.statement.core.statement.tcl.xa.XACommitStatement;
@@ -92,7 +92,7 @@ public final class MySQLComStmtPrepareChecker {
static {
ALLOWED_SQL_STATEMENTS.addAll(Arrays.asList(AlterTableStatement.class, AlterUserStatement.class, AnalyzeTableStatement.class,
- CacheIndexStatement.class, CallStatement.class, ChangeMasterStatement.class, ChecksumTableStatement.class, CommitStatement.class,
+ CacheIndexStatement.class, CallStatement.class, MySQLChangeMasterStatement.class, ChecksumTableStatement.class, CommitStatement.class,
CreateIndexStatement.class, DropIndexStatement.class, CreateDatabaseStatement.class, DropDatabaseStatement.class,
CreateTableStatement.class, DropTableStatement.class, MySQLCreateUserStatement.class, RenameUserStatement.class, DropUserStatement.class,
CreateViewStatement.class, DropViewStatement.class, DeleteStatement.class, DoStatement.class, FlushStatement.class,
@@ -101,7 +101,7 @@ public final class MySQLComStmtPrepareChecker {
MySQLRevokeStatement.class, SelectStatement.class, SetStatement.class, ShowWarningsStatement.class, ShowErrorsStatement.class,
ShowBinlogEventsStatement.class, ShowCreateProcedureStatement.class, ShowCreateFunctionStatement.class, ShowCreateEventStatement.class,
ShowCreateTableStatement.class, ShowCreateViewStatement.class, ShowBinaryLogsStatement.class, ShowStatusStatement.class,
- StartSlaveStatement.class, StopSlaveStatement.class, TruncateStatement.class, UninstallPluginStatement.class, UpdateStatement.class,
+ MySQLStartSlaveStatement.class, MySQLStopSlaveStatement.class, TruncateStatement.class, UninstallPluginStatement.class, UpdateStatement.class,
XABeginStatement.class, XAPrepareStatement.class, XACommitStatement.class, XARollbackStatement.class, XAEndStatement.class, XARecoveryStatement.class));
}
diff --git a/proxy/frontend/type/mysql/src/test/java/org/apache/shardingsphere/proxy/frontend/mysql/command/query/binary/prepare/MySQLComStmtPrepareCheckerTest.java b/proxy/frontend/type/mysql/src/test/java/org/apache/shardingsphere/proxy/frontend/mysql/command/query/binary/prepare/MySQLComStmtPrepareCheckerTest.java
index f8d88e53460..9655f050a6e 100644
--- a/proxy/frontend/type/mysql/src/test/java/org/apache/shardingsphere/proxy/frontend/mysql/command/query/binary/prepare/MySQLComStmtPrepareCheckerTest.java
+++ b/proxy/frontend/type/mysql/src/test/java/org/apache/shardingsphere/proxy/frontend/mysql/command/query/binary/prepare/MySQLComStmtPrepareCheckerTest.java
@@ -60,9 +60,9 @@ import org.apache.shardingsphere.sql.parser.statement.core.statement.dml.DoState
import org.apache.shardingsphere.sql.parser.statement.core.statement.dml.InsertStatement;
import org.apache.shardingsphere.sql.parser.statement.core.statement.dml.SelectStatement;
import org.apache.shardingsphere.sql.parser.statement.core.statement.dml.UpdateStatement;
-import org.apache.shardingsphere.sql.parser.statement.core.statement.rl.ChangeMasterStatement;
-import org.apache.shardingsphere.sql.parser.statement.core.statement.rl.StartSlaveStatement;
-import org.apache.shardingsphere.sql.parser.statement.core.statement.rl.StopSlaveStatement;
+import org.apache.shardingsphere.sql.parser.statement.mysql.rl.MySQLChangeMasterStatement;
+import org.apache.shardingsphere.sql.parser.statement.mysql.rl.MySQLStartSlaveStatement;
+import org.apache.shardingsphere.sql.parser.statement.mysql.rl.MySQLStopSlaveStatement;
import org.apache.shardingsphere.sql.parser.statement.core.statement.tcl.CommitStatement;
import org.apache.shardingsphere.sql.parser.statement.core.statement.tcl.xa.XABeginStatement;
import org.apache.shardingsphere.sql.parser.statement.core.statement.tcl.xa.XACommitStatement;
@@ -88,7 +88,7 @@ class MySQLComStmtPrepareCheckerTest {
CreateTableStatement createTableStatement = new CreateTableStatement();
Collection<SQLStatement> sqlStatements = Arrays.asList(
new AlterTableStatement(), new AlterUserStatement(), new AnalyzeTableStatement(Collections.emptyList()), new CacheIndexStatement(),
- new CallStatement(null, Collections.emptyList()), new ChangeMasterStatement(), new ChecksumTableStatement(Collections.emptyList()), new CommitStatement(),
+ new CallStatement(null, Collections.emptyList()), new MySQLChangeMasterStatement(), new ChecksumTableStatement(Collections.emptyList()), new CommitStatement(),
new CreateIndexStatement(), new DropIndexStatement(), new CreateDatabaseStatement(null, false), new DropDatabaseStatement(null, false), createTableStatement,
new DropTableStatement(), new MySQLCreateUserStatement(), new RenameUserStatement(), new DropUserStatement(Collections.emptyList()),
new CreateViewStatement(), new DropViewStatement(), new DeleteStatement(), new DoStatement(Collections.emptyList()), new FlushStatement(Collections.emptyList(), false),
@@ -98,7 +98,7 @@ class MySQLComStmtPrepareCheckerTest {
new ResetStatement(Collections.emptyList()), new MySQLRevokeStatement(), new SelectStatement(), new SetStatement(Collections.emptyList()), new ShowWarningsStatement(null),
new ShowErrorsStatement(null), new ShowBinlogEventsStatement(null, null), new ShowCreateProcedureStatement(null), new ShowCreateFunctionStatement(null),
new ShowCreateEventStatement(null), new ShowCreateTableStatement(null), new ShowCreateViewStatement(null), new ShowBinaryLogsStatement(), new ShowStatusStatement(null),
- new StartSlaveStatement(), new StopSlaveStatement(), new TruncateStatement(), new UninstallPluginStatement(null), new UpdateStatement(),
+ new MySQLStartSlaveStatement(), new MySQLStopSlaveStatement(), new TruncateStatement(), new UninstallPluginStatement(null), new UpdateStatement(),
new XABeginStatement("1"), new XAPrepareStatement("1"), new XACommitStatement("1"), new XARollbackStatement("1"), new XAEndStatement("1"), new XARecoveryStatement());
for (SQLStatement each : sqlStatements) {
assertTrue(MySQLComStmtPrepareChecker.isAllowedStatement(each));