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

chengzhang 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 8d46bc097ef Extract AlterResourceGroupStatement, BinlogStatement, 
CacheIndexStatement... to reduce duplicate logic for MySQL and doris (#31761)
8d46bc097ef is described below

commit 8d46bc097ef0ea88783572491104eabead59b84e
Author: Zhengqiang Duan <duanzhengqi...@apache.org>
AuthorDate: Wed Jun 19 17:23:01 2024 +0800

    Extract AlterResourceGroupStatement, BinlogStatement, 
CacheIndexStatement... to reduce duplicate logic for MySQL and doris (#31761)
    
    * Extract AlterResourceGroupStatement to reduce duplicate logic for MySQL 
and doris
    
    * Extract BinlogStatement to reduce duplicate logic for MySQL and doris
    
    * Extract CacheIndexStatement to reduce duplicate logic for MySQL and doris
    
    * Extract ChecksumTableStatement to reduce duplicate logic for MySQL and 
doris
    
    * Extract CheckTableStatement to reduce duplicate logic for MySQL and doris
    
    * Extract CloneActionSegment to reduce duplicate logic for MySQL and doris
    
    * Extract CreateLoadableFunctionStatement to reduce duplicate logic for 
MySQL and doris
    
    * Extract CreateResourceGroupStatement to reduce duplicate logic for MySQL 
and doris
    
    * Extract DelimiterStatement to reduce duplicate logic for MySQL and doris
---
 .../statement/type/DorisDALStatementVisitor.java   | 10 ++--
 .../statement/type/MySQLDALStatementVisitor.java   | 10 ++--
 .../segment/dal}/CacheTableIndexSegment.java       |  3 +-
 .../segment/dal}/CloneActionSegment.java           |  2 +-
 .../segment/dal}/CloneInstanceSegment.java         |  2 +-
 .../segment/dal}/PartitionDefinitionSegment.java   |  2 +-
 .../segment/dal}/PartitionSegment.java             |  2 +-
 .../dal/AlterResourceGroupStatement.java}          |  8 ++-
 .../statement/dal/BinlogStatement.java}            |  8 ++-
 .../statement/dal/CacheIndexStatement.java}        | 12 ++---
 .../statement/dal/CheckTableStatement.java}        |  8 ++-
 .../statement/dal/ChecksumTableStatement.java}     | 10 ++--
 .../statement/dal/CloneStatement.java}             | 11 ++--
 .../dal/CreateLoadableFunctionStatement.java}      |  8 ++-
 .../dal/CreateResourceGroupStatement.java}         |  8 ++-
 .../statement/dal/DelimiterStatement.java}         |  8 ++-
 .../dal/DorisAlterResourceGroupStatement.java      | 11 +---
 .../statement/doris/dal/DorisBinlogStatement.java  | 13 ++---
 .../doris/dal/DorisCacheIndexStatement.java        | 22 +-------
 .../doris/dal/DorisCheckTableStatement.java        | 15 +-----
 .../doris/dal/DorisChecksumTableStatement.java     | 15 +-----
 .../statement/doris/dal/DorisCloneStatement.java   | 12 +----
 .../dal/DorisCreateLoadableFunctionStatement.java  |  5 +-
 .../dal/DorisCreateResourceGroupStatement.java     | 11 +---
 .../doris/dal/DorisDelimiterStatement.java         | 11 +---
 .../doris/segment/CacheTableIndexSegment.java      | 38 -------------
 .../doris/segment/LoadTableIndexSegment.java       |  1 +
 .../doris/segment/PartitionDefinitionSegment.java  | 42 ---------------
 .../statement/doris/segment/PartitionSegment.java  | 39 --------------
 .../dal/MySQLAlterResourceGroupStatement.java      | 11 +---
 .../statement/mysql/dal/MySQLBinlogStatement.java  | 13 ++---
 .../mysql/dal/MySQLCacheIndexStatement.java        | 22 +-------
 .../mysql/dal/MySQLCheckTableStatement.java        | 15 +-----
 .../mysql/dal/MySQLChecksumTableStatement.java     | 15 +-----
 .../statement/mysql/dal/MySQLCloneStatement.java   | 12 +----
 .../dal/MySQLCreateLoadableFunctionStatement.java  |  5 +-
 .../dal/MySQLCreateResourceGroupStatement.java     | 11 +---
 .../mysql/dal/MySQLDelimiterStatement.java         | 11 +---
 .../mysql/segment/CloneActionSegment.java          | 40 --------------
 .../mysql/segment/CloneInstanceSegment.java        | 46 ----------------
 .../mysql/segment/LoadTableIndexSegment.java       |  1 +
 .../asserts/statement/dal/DALStatementAssert.java  | 62 +++++++++++-----------
 ...java => AlterResourceGroupStatementAssert.java} | 16 +++---
 ...ementAssert.java => BinlogStatementAssert.java} | 10 ++--
 .../dal/impl/CacheIndexStatementAssert.java        | 12 ++---
 .../dal/impl/CheckTableStatementAssert.java        |  4 +-
 ...sert.java => ChecksumTableStatementAssert.java} | 12 ++---
 .../statement/dal/impl/CloneStatementAssert.java   |  6 +--
 ...ava => CreateResourceGroupStatementAssert.java} | 16 +++---
 ...ntAssert.java => DelimiterStatementAssert.java} | 10 ++--
 .../dal/impl/LoadIndexInfoStatementAssert.java     |  4 +-
 51 files changed, 168 insertions(+), 533 deletions(-)

diff --git 
a/parser/sql/dialect/doris/src/main/java/org/apache/shardingsphere/sql/parser/doris/visitor/statement/type/DorisDALStatementVisitor.java
 
b/parser/sql/dialect/doris/src/main/java/org/apache/shardingsphere/sql/parser/doris/visitor/statement/type/DorisDALStatementVisitor.java
index f5518425d71..2e9a7317acc 100644
--- 
a/parser/sql/dialect/doris/src/main/java/org/apache/shardingsphere/sql/parser/doris/visitor/statement/type/DorisDALStatementVisitor.java
+++ 
b/parser/sql/dialect/doris/src/main/java/org/apache/shardingsphere/sql/parser/doris/visitor/statement/type/DorisDALStatementVisitor.java
@@ -206,12 +206,12 @@ import 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.doris.dal.Dori
 import 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.doris.dal.DorisUninstallComponentStatement;
 import 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.doris.dal.DorisUninstallPluginStatement;
 import 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.doris.dal.DorisUseStatement;
-import 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.doris.segment.CacheTableIndexSegment;
-import 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.doris.segment.CloneActionSegment;
-import 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.doris.segment.CloneInstanceSegment;
+import 
org.apache.shardingsphere.sql.parser.sql.common.segment.dal.CacheTableIndexSegment;
+import 
org.apache.shardingsphere.sql.parser.sql.common.segment.dal.CloneActionSegment;
+import 
org.apache.shardingsphere.sql.parser.sql.common.segment.dal.CloneInstanceSegment;
 import 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.doris.segment.LoadTableIndexSegment;
-import 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.doris.segment.PartitionDefinitionSegment;
-import 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.doris.segment.PartitionSegment;
+import 
org.apache.shardingsphere.sql.parser.sql.common.segment.dal.PartitionDefinitionSegment;
+import 
org.apache.shardingsphere.sql.parser.sql.common.segment.dal.PartitionSegment;
 import 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.doris.segment.ResetMasterOptionSegment;
 import 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.doris.segment.ResetOptionSegment;
 import 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.doris.segment.ResetSlaveOptionSegment;
diff --git 
a/parser/sql/dialect/mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/statement/type/MySQLDALStatementVisitor.java
 
b/parser/sql/dialect/mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/statement/type/MySQLDALStatementVisitor.java
index 154aa876442..adf76aad838 100644
--- 
a/parser/sql/dialect/mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/statement/type/MySQLDALStatementVisitor.java
+++ 
b/parser/sql/dialect/mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/statement/type/MySQLDALStatementVisitor.java
@@ -116,8 +116,13 @@ import 
org.apache.shardingsphere.sql.parser.autogen.MySQLStatementParser.Uninsta
 import 
org.apache.shardingsphere.sql.parser.autogen.MySQLStatementParser.UninstallPluginContext;
 import 
org.apache.shardingsphere.sql.parser.autogen.MySQLStatementParser.UseContext;
 import 
org.apache.shardingsphere.sql.parser.mysql.visitor.statement.MySQLStatementVisitor;
+import 
org.apache.shardingsphere.sql.parser.sql.common.segment.dal.CacheTableIndexSegment;
+import 
org.apache.shardingsphere.sql.parser.sql.common.segment.dal.CloneActionSegment;
+import 
org.apache.shardingsphere.sql.parser.sql.common.segment.dal.CloneInstanceSegment;
 import 
org.apache.shardingsphere.sql.parser.sql.common.segment.dal.FromSchemaSegment;
 import 
org.apache.shardingsphere.sql.parser.sql.common.segment.dal.FromTableSegment;
+import 
org.apache.shardingsphere.sql.parser.sql.common.segment.dal.PartitionDefinitionSegment;
+import 
org.apache.shardingsphere.sql.parser.sql.common.segment.dal.PartitionSegment;
 import 
org.apache.shardingsphere.sql.parser.sql.common.segment.dal.ShowFilterSegment;
 import 
org.apache.shardingsphere.sql.parser.sql.common.segment.dal.ShowLikeSegment;
 import 
org.apache.shardingsphere.sql.parser.sql.common.segment.dal.VariableAssignSegment;
@@ -206,12 +211,7 @@ import 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.dal.MySQ
 import 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.dal.MySQLUninstallComponentStatement;
 import 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.dal.MySQLUninstallPluginStatement;
 import 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.dal.MySQLUseStatement;
-import 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.segment.CacheTableIndexSegment;
-import 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.segment.CloneActionSegment;
-import 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.segment.CloneInstanceSegment;
 import 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.segment.LoadTableIndexSegment;
-import 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.segment.PartitionDefinitionSegment;
-import 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.segment.PartitionSegment;
 import 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.segment.ResetMasterOptionSegment;
 import 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.segment.ResetOptionSegment;
 import 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.segment.ResetSlaveOptionSegment;
diff --git 
a/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/mysql/segment/CacheTableIndexSegment.java
 
b/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/segment/dal/CacheTableIndexSegment.java
similarity index 89%
rename from 
parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/mysql/segment/CacheTableIndexSegment.java
rename to 
parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/segment/dal/CacheTableIndexSegment.java
index 6bd2baeb7e8..20d7c2b21e3 100644
--- 
a/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/mysql/segment/CacheTableIndexSegment.java
+++ 
b/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/segment/dal/CacheTableIndexSegment.java
@@ -15,11 +15,12 @@
  * limitations under the License.
  */
 
-package 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.segment;
+package org.apache.shardingsphere.sql.parser.sql.common.segment.dal;
 
 import lombok.Getter;
 import 
org.apache.shardingsphere.sql.parser.sql.common.segment.ddl.index.IndexSegment;
 import 
org.apache.shardingsphere.sql.parser.sql.common.segment.generic.table.SimpleTableSegment;
+import 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.doris.segment.TableIndexSegment;
 
 import java.util.Collection;
 import java.util.LinkedList;
diff --git 
a/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/doris/segment/CloneActionSegment.java
 
b/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/segment/dal/CloneActionSegment.java
similarity index 93%
rename from 
parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/doris/segment/CloneActionSegment.java
rename to 
parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/segment/dal/CloneActionSegment.java
index 13b4d8b8db3..1124b72725e 100644
--- 
a/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/doris/segment/CloneActionSegment.java
+++ 
b/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/segment/dal/CloneActionSegment.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.doris.segment;
+package org.apache.shardingsphere.sql.parser.sql.common.segment.dal;
 
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
diff --git 
a/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/doris/segment/CloneInstanceSegment.java
 
b/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/segment/dal/CloneInstanceSegment.java
similarity index 94%
rename from 
parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/doris/segment/CloneInstanceSegment.java
rename to 
parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/segment/dal/CloneInstanceSegment.java
index df5ccba1150..a2273e96eab 100644
--- 
a/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/doris/segment/CloneInstanceSegment.java
+++ 
b/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/segment/dal/CloneInstanceSegment.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.doris.segment;
+package org.apache.shardingsphere.sql.parser.sql.common.segment.dal;
 
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
diff --git 
a/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/mysql/segment/PartitionDefinitionSegment.java
 
b/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/segment/dal/PartitionDefinitionSegment.java
similarity index 94%
rename from 
parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/mysql/segment/PartitionDefinitionSegment.java
rename to 
parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/segment/dal/PartitionDefinitionSegment.java
index 4ddac18ac29..73c753e3c89 100644
--- 
a/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/mysql/segment/PartitionDefinitionSegment.java
+++ 
b/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/segment/dal/PartitionDefinitionSegment.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.segment;
+package org.apache.shardingsphere.sql.parser.sql.common.segment.dal;
 
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
diff --git 
a/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/mysql/segment/PartitionSegment.java
 
b/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/segment/dal/PartitionSegment.java
similarity index 94%
rename from 
parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/mysql/segment/PartitionSegment.java
rename to 
parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/segment/dal/PartitionSegment.java
index 3874e5c3c02..7609a6f1ab8 100644
--- 
a/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/mysql/segment/PartitionSegment.java
+++ 
b/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/segment/dal/PartitionSegment.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.segment;
+package org.apache.shardingsphere.sql.parser.sql.common.segment.dal;
 
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
diff --git 
a/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/mysql/dal/MySQLAlterResourceGroupStatement.java
 
b/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/statement/dal/AlterResourceGroupStatement.java
similarity index 70%
copy from 
parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/mysql/dal/MySQLAlterResourceGroupStatement.java
copy to 
parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/statement/dal/AlterResourceGroupStatement.java
index 1d2ac868325..86fdb8bbd0a 100644
--- 
a/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/mysql/dal/MySQLAlterResourceGroupStatement.java
+++ 
b/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/statement/dal/AlterResourceGroupStatement.java
@@ -15,20 +15,18 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.dal;
+package org.apache.shardingsphere.sql.parser.sql.common.statement.dal;
 
 import lombok.Getter;
 import lombok.Setter;
 import 
org.apache.shardingsphere.sql.parser.sql.common.statement.AbstractSQLStatement;
-import 
org.apache.shardingsphere.sql.parser.sql.common.statement.dal.DALStatement;
-import 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.MySQLStatement;
 
 /**
- * MySQL alter resource group statement.
+ * Alter resource group statement.
  */
 @Getter
 @Setter
-public final class MySQLAlterResourceGroupStatement extends 
AbstractSQLStatement implements DALStatement, MySQLStatement {
+public abstract class AlterResourceGroupStatement extends AbstractSQLStatement 
implements DALStatement {
     
     private String groupName;
 }
diff --git 
a/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/mysql/dal/MySQLBinlogStatement.java
 
b/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/statement/dal/BinlogStatement.java
similarity index 72%
copy from 
parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/mysql/dal/MySQLBinlogStatement.java
copy to 
parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/statement/dal/BinlogStatement.java
index ca5f3252d7e..cb443c0714b 100644
--- 
a/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/mysql/dal/MySQLBinlogStatement.java
+++ 
b/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/statement/dal/BinlogStatement.java
@@ -15,20 +15,18 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.dal;
+package org.apache.shardingsphere.sql.parser.sql.common.statement.dal;
 
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
 import 
org.apache.shardingsphere.sql.parser.sql.common.statement.AbstractSQLStatement;
-import 
org.apache.shardingsphere.sql.parser.sql.common.statement.dal.DALStatement;
-import 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.MySQLStatement;
 
 /**
- * MySQL binlog statement.
+ * Binlog statement.
  */
 @RequiredArgsConstructor
 @Getter
-public final class MySQLBinlogStatement extends AbstractSQLStatement 
implements DALStatement, MySQLStatement {
+public abstract class BinlogStatement extends AbstractSQLStatement implements 
DALStatement {
     
     private final String base64Str;
 }
diff --git 
a/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/doris/dal/DorisCacheIndexStatement.java
 
b/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/statement/dal/CacheIndexStatement.java
similarity index 68%
copy from 
parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/doris/dal/DorisCacheIndexStatement.java
copy to 
parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/statement/dal/CacheIndexStatement.java
index 22d1c73842f..a65d3a72742 100644
--- 
a/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/doris/dal/DorisCacheIndexStatement.java
+++ 
b/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/statement/dal/CacheIndexStatement.java
@@ -15,25 +15,23 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.sql.parser.sql.dialect.statement.doris.dal;
+package org.apache.shardingsphere.sql.parser.sql.common.statement.dal;
 
 import lombok.Getter;
 import lombok.Setter;
+import 
org.apache.shardingsphere.sql.parser.sql.common.segment.dal.PartitionDefinitionSegment;
 import 
org.apache.shardingsphere.sql.parser.sql.common.statement.AbstractSQLStatement;
-import 
org.apache.shardingsphere.sql.parser.sql.common.statement.dal.DALStatement;
 import 
org.apache.shardingsphere.sql.parser.sql.common.value.identifier.IdentifierValue;
-import 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.doris.DorisStatement;
-import 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.doris.segment.CacheTableIndexSegment;
-import 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.doris.segment.PartitionDefinitionSegment;
+import 
org.apache.shardingsphere.sql.parser.sql.common.segment.dal.CacheTableIndexSegment;
 
 import java.util.Collection;
 import java.util.LinkedList;
 
 /**
- * Doris cache index statement.
+ * Cache index statement.
  */
 @Getter
-public final class DorisCacheIndexStatement extends AbstractSQLStatement 
implements DALStatement, DorisStatement {
+public abstract class CacheIndexStatement extends AbstractSQLStatement 
implements DALStatement {
     
     private final Collection<CacheTableIndexSegment> tableIndexes = new 
LinkedList<>();
     
diff --git 
a/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/doris/dal/DorisCheckTableStatement.java
 
b/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/statement/dal/CheckTableStatement.java
similarity index 75%
copy from 
parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/doris/dal/DorisCheckTableStatement.java
copy to 
parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/statement/dal/CheckTableStatement.java
index 8048bc8a109..12a0db97221 100644
--- 
a/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/doris/dal/DorisCheckTableStatement.java
+++ 
b/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/statement/dal/CheckTableStatement.java
@@ -15,24 +15,22 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.sql.parser.sql.dialect.statement.doris.dal;
+package org.apache.shardingsphere.sql.parser.sql.common.statement.dal;
 
 import lombok.Getter;
 import lombok.Setter;
 import 
org.apache.shardingsphere.sql.parser.sql.common.segment.generic.table.SimpleTableSegment;
 import 
org.apache.shardingsphere.sql.parser.sql.common.statement.AbstractSQLStatement;
-import 
org.apache.shardingsphere.sql.parser.sql.common.statement.dal.DALStatement;
-import 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.doris.DorisStatement;
 
 import java.util.Collection;
 import java.util.LinkedList;
 
 /**
- * Doris check table statement.
+ * Check table statement.
  */
 @Getter
 @Setter
-public final class DorisCheckTableStatement extends AbstractSQLStatement 
implements DALStatement, DorisStatement {
+public abstract class CheckTableStatement extends AbstractSQLStatement 
implements DALStatement {
     
     private final Collection<SimpleTableSegment> tables = new LinkedList<>();
 }
diff --git 
a/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/doris/dal/DorisCheckTableStatement.java
 
b/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/statement/dal/ChecksumTableStatement.java
similarity index 75%
copy from 
parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/doris/dal/DorisCheckTableStatement.java
copy to 
parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/statement/dal/ChecksumTableStatement.java
index 8048bc8a109..03649cb9f60 100644
--- 
a/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/doris/dal/DorisCheckTableStatement.java
+++ 
b/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/statement/dal/ChecksumTableStatement.java
@@ -15,24 +15,22 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.sql.parser.sql.dialect.statement.doris.dal;
+package org.apache.shardingsphere.sql.parser.sql.common.statement.dal;
 
 import lombok.Getter;
 import lombok.Setter;
 import 
org.apache.shardingsphere.sql.parser.sql.common.segment.generic.table.SimpleTableSegment;
 import 
org.apache.shardingsphere.sql.parser.sql.common.statement.AbstractSQLStatement;
-import 
org.apache.shardingsphere.sql.parser.sql.common.statement.dal.DALStatement;
-import 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.doris.DorisStatement;
 
 import java.util.Collection;
 import java.util.LinkedList;
 
 /**
- * Doris check table statement.
+ * Checksum table statement.
  */
-@Getter
 @Setter
-public final class DorisCheckTableStatement extends AbstractSQLStatement 
implements DALStatement, DorisStatement {
+@Getter
+public abstract class ChecksumTableStatement extends AbstractSQLStatement 
implements DALStatement {
     
     private final Collection<SimpleTableSegment> tables = new LinkedList<>();
 }
diff --git 
a/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/doris/dal/DorisDelimiterStatement.java
 
b/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/statement/dal/CloneStatement.java
similarity index 69%
copy from 
parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/doris/dal/DorisDelimiterStatement.java
copy to 
parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/statement/dal/CloneStatement.java
index 3f748a55253..83e6a859793 100644
--- 
a/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/doris/dal/DorisDelimiterStatement.java
+++ 
b/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/statement/dal/CloneStatement.java
@@ -15,20 +15,19 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.sql.parser.sql.dialect.statement.doris.dal;
+package org.apache.shardingsphere.sql.parser.sql.common.statement.dal;
 
 import lombok.Getter;
 import lombok.Setter;
 import 
org.apache.shardingsphere.sql.parser.sql.common.statement.AbstractSQLStatement;
-import 
org.apache.shardingsphere.sql.parser.sql.common.statement.dal.DALStatement;
-import 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.doris.DorisStatement;
+import 
org.apache.shardingsphere.sql.parser.sql.common.segment.dal.CloneActionSegment;
 
 /**
- * Doris delimiter statement.
+ * Clone statement.
  */
 @Getter
 @Setter
-public final class DorisDelimiterStatement extends AbstractSQLStatement 
implements DALStatement, DorisStatement {
+public abstract class CloneStatement extends AbstractSQLStatement implements 
DALStatement {
     
-    private String delimiterName;
+    private CloneActionSegment cloneActionSegment;
 }
diff --git 
a/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/mysql/dal/MySQLCreateLoadableFunctionStatement.java
 
b/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/statement/dal/CreateLoadableFunctionStatement.java
similarity index 68%
copy from 
parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/mysql/dal/MySQLCreateLoadableFunctionStatement.java
copy to 
parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/statement/dal/CreateLoadableFunctionStatement.java
index d78a3ce95eb..f01e72877bf 100644
--- 
a/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/mysql/dal/MySQLCreateLoadableFunctionStatement.java
+++ 
b/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/statement/dal/CreateLoadableFunctionStatement.java
@@ -15,14 +15,12 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.dal;
+package org.apache.shardingsphere.sql.parser.sql.common.statement.dal;
 
 import 
org.apache.shardingsphere.sql.parser.sql.common.statement.AbstractSQLStatement;
-import 
org.apache.shardingsphere.sql.parser.sql.common.statement.dal.DALStatement;
-import 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.MySQLStatement;
 
 /**
- * MySQL create loadable function statement.
+ * Create loadable function statement.
  */
-public final class MySQLCreateLoadableFunctionStatement extends 
AbstractSQLStatement implements DALStatement, MySQLStatement {
+public abstract class CreateLoadableFunctionStatement extends 
AbstractSQLStatement implements DALStatement {
 }
diff --git 
a/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/mysql/dal/MySQLAlterResourceGroupStatement.java
 
b/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/statement/dal/CreateResourceGroupStatement.java
similarity index 70%
copy from 
parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/mysql/dal/MySQLAlterResourceGroupStatement.java
copy to 
parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/statement/dal/CreateResourceGroupStatement.java
index 1d2ac868325..401825e3883 100644
--- 
a/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/mysql/dal/MySQLAlterResourceGroupStatement.java
+++ 
b/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/statement/dal/CreateResourceGroupStatement.java
@@ -15,20 +15,18 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.dal;
+package org.apache.shardingsphere.sql.parser.sql.common.statement.dal;
 
 import lombok.Getter;
 import lombok.Setter;
 import 
org.apache.shardingsphere.sql.parser.sql.common.statement.AbstractSQLStatement;
-import 
org.apache.shardingsphere.sql.parser.sql.common.statement.dal.DALStatement;
-import 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.MySQLStatement;
 
 /**
- * MySQL alter resource group statement.
+ * Create resource group statement.
  */
 @Getter
 @Setter
-public final class MySQLAlterResourceGroupStatement extends 
AbstractSQLStatement implements DALStatement, MySQLStatement {
+public abstract class CreateResourceGroupStatement extends 
AbstractSQLStatement implements DALStatement {
     
     private String groupName;
 }
diff --git 
a/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/mysql/dal/MySQLDelimiterStatement.java
 
b/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/statement/dal/DelimiterStatement.java
similarity index 71%
copy from 
parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/mysql/dal/MySQLDelimiterStatement.java
copy to 
parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/statement/dal/DelimiterStatement.java
index bacdfac71f2..05d7acbd040 100644
--- 
a/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/mysql/dal/MySQLDelimiterStatement.java
+++ 
b/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/statement/dal/DelimiterStatement.java
@@ -15,20 +15,18 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.dal;
+package org.apache.shardingsphere.sql.parser.sql.common.statement.dal;
 
 import lombok.Getter;
 import lombok.Setter;
 import 
org.apache.shardingsphere.sql.parser.sql.common.statement.AbstractSQLStatement;
-import 
org.apache.shardingsphere.sql.parser.sql.common.statement.dal.DALStatement;
-import 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.MySQLStatement;
 
 /**
- * MySQL delimiter statement.
+ * Delimiter statement.
  */
 @Getter
 @Setter
-public final class MySQLDelimiterStatement extends AbstractSQLStatement 
implements DALStatement, MySQLStatement {
+public abstract class DelimiterStatement extends AbstractSQLStatement 
implements DALStatement {
     
     private String delimiterName;
 }
diff --git 
a/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/doris/dal/DorisAlterResourceGroupStatement.java
 
b/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/doris/dal/DorisAlterResourceGroupStatement.java
index 821c302fd09..f2bb101b9ae 100644
--- 
a/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/doris/dal/DorisAlterResourceGroupStatement.java
+++ 
b/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/doris/dal/DorisAlterResourceGroupStatement.java
@@ -17,18 +17,11 @@
 
 package org.apache.shardingsphere.sql.parser.sql.dialect.statement.doris.dal;
 
-import lombok.Getter;
-import lombok.Setter;
-import 
org.apache.shardingsphere.sql.parser.sql.common.statement.AbstractSQLStatement;
-import 
org.apache.shardingsphere.sql.parser.sql.common.statement.dal.DALStatement;
+import 
org.apache.shardingsphere.sql.parser.sql.common.statement.dal.AlterResourceGroupStatement;
 import 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.doris.DorisStatement;
 
 /**
  * Doris alter resource group statement.
  */
-@Getter
-@Setter
-public final class DorisAlterResourceGroupStatement extends 
AbstractSQLStatement implements DALStatement, DorisStatement {
-    
-    private String groupName;
+public final class DorisAlterResourceGroupStatement extends 
AlterResourceGroupStatement implements DorisStatement {
 }
diff --git 
a/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/doris/dal/DorisBinlogStatement.java
 
b/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/doris/dal/DorisBinlogStatement.java
index 7470b13a543..30aa1cc4382 100644
--- 
a/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/doris/dal/DorisBinlogStatement.java
+++ 
b/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/doris/dal/DorisBinlogStatement.java
@@ -17,18 +17,15 @@
 
 package org.apache.shardingsphere.sql.parser.sql.dialect.statement.doris.dal;
 
-import lombok.Getter;
-import lombok.RequiredArgsConstructor;
-import 
org.apache.shardingsphere.sql.parser.sql.common.statement.AbstractSQLStatement;
-import 
org.apache.shardingsphere.sql.parser.sql.common.statement.dal.DALStatement;
+import 
org.apache.shardingsphere.sql.parser.sql.common.statement.dal.BinlogStatement;
 import 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.doris.DorisStatement;
 
 /**
  * Doris binlog statement.
  */
-@RequiredArgsConstructor
-@Getter
-public final class DorisBinlogStatement extends AbstractSQLStatement 
implements DALStatement, DorisStatement {
+public final class DorisBinlogStatement extends BinlogStatement implements 
DorisStatement {
     
-    private final String base64Str;
+    public DorisBinlogStatement(final String base64Str) {
+        super(base64Str);
+    }
 }
diff --git 
a/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/doris/dal/DorisCacheIndexStatement.java
 
b/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/doris/dal/DorisCacheIndexStatement.java
index 22d1c73842f..c204dc8d70b 100644
--- 
a/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/doris/dal/DorisCacheIndexStatement.java
+++ 
b/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/doris/dal/DorisCacheIndexStatement.java
@@ -17,29 +17,11 @@
 
 package org.apache.shardingsphere.sql.parser.sql.dialect.statement.doris.dal;
 
-import lombok.Getter;
-import lombok.Setter;
-import 
org.apache.shardingsphere.sql.parser.sql.common.statement.AbstractSQLStatement;
-import 
org.apache.shardingsphere.sql.parser.sql.common.statement.dal.DALStatement;
-import 
org.apache.shardingsphere.sql.parser.sql.common.value.identifier.IdentifierValue;
+import 
org.apache.shardingsphere.sql.parser.sql.common.statement.dal.CacheIndexStatement;
 import 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.doris.DorisStatement;
-import 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.doris.segment.CacheTableIndexSegment;
-import 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.doris.segment.PartitionDefinitionSegment;
-
-import java.util.Collection;
-import java.util.LinkedList;
 
 /**
  * Doris cache index statement.
  */
-@Getter
-public final class DorisCacheIndexStatement extends AbstractSQLStatement 
implements DALStatement, DorisStatement {
-    
-    private final Collection<CacheTableIndexSegment> tableIndexes = new 
LinkedList<>();
-    
-    @Setter
-    private PartitionDefinitionSegment partitionDefinition;
-    
-    @Setter
-    private IdentifierValue name;
+public final class DorisCacheIndexStatement extends CacheIndexStatement 
implements DorisStatement {
 }
diff --git 
a/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/doris/dal/DorisCheckTableStatement.java
 
b/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/doris/dal/DorisCheckTableStatement.java
index 8048bc8a109..77c2c1842d7 100644
--- 
a/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/doris/dal/DorisCheckTableStatement.java
+++ 
b/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/doris/dal/DorisCheckTableStatement.java
@@ -17,22 +17,11 @@
 
 package org.apache.shardingsphere.sql.parser.sql.dialect.statement.doris.dal;
 
-import lombok.Getter;
-import lombok.Setter;
-import 
org.apache.shardingsphere.sql.parser.sql.common.segment.generic.table.SimpleTableSegment;
-import 
org.apache.shardingsphere.sql.parser.sql.common.statement.AbstractSQLStatement;
-import 
org.apache.shardingsphere.sql.parser.sql.common.statement.dal.DALStatement;
+import 
org.apache.shardingsphere.sql.parser.sql.common.statement.dal.CheckTableStatement;
 import 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.doris.DorisStatement;
 
-import java.util.Collection;
-import java.util.LinkedList;
-
 /**
  * Doris check table statement.
  */
-@Getter
-@Setter
-public final class DorisCheckTableStatement extends AbstractSQLStatement 
implements DALStatement, DorisStatement {
-    
-    private final Collection<SimpleTableSegment> tables = new LinkedList<>();
+public final class DorisCheckTableStatement extends CheckTableStatement 
implements DorisStatement {
 }
diff --git 
a/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/doris/dal/DorisChecksumTableStatement.java
 
b/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/doris/dal/DorisChecksumTableStatement.java
index 330b962ba92..2e76f475ac0 100644
--- 
a/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/doris/dal/DorisChecksumTableStatement.java
+++ 
b/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/doris/dal/DorisChecksumTableStatement.java
@@ -17,22 +17,11 @@
 
 package org.apache.shardingsphere.sql.parser.sql.dialect.statement.doris.dal;
 
-import lombok.Getter;
-import lombok.Setter;
-import 
org.apache.shardingsphere.sql.parser.sql.common.segment.generic.table.SimpleTableSegment;
-import 
org.apache.shardingsphere.sql.parser.sql.common.statement.AbstractSQLStatement;
-import 
org.apache.shardingsphere.sql.parser.sql.common.statement.dal.DALStatement;
+import 
org.apache.shardingsphere.sql.parser.sql.common.statement.dal.ChecksumTableStatement;
 import 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.doris.DorisStatement;
 
-import java.util.Collection;
-import java.util.LinkedList;
-
 /**
  * Doris checksum table statement.
  */
-@Setter
-@Getter
-public final class DorisChecksumTableStatement extends AbstractSQLStatement 
implements DALStatement, DorisStatement {
-    
-    private final Collection<SimpleTableSegment> tables = new LinkedList<>();
+public final class DorisChecksumTableStatement extends ChecksumTableStatement 
implements DorisStatement {
 }
diff --git 
a/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/doris/dal/DorisCloneStatement.java
 
b/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/doris/dal/DorisCloneStatement.java
index 2cbbbf4a05e..60ceb7ffbdb 100644
--- 
a/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/doris/dal/DorisCloneStatement.java
+++ 
b/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/doris/dal/DorisCloneStatement.java
@@ -17,19 +17,11 @@
 
 package org.apache.shardingsphere.sql.parser.sql.dialect.statement.doris.dal;
 
-import lombok.Getter;
-import lombok.Setter;
-import 
org.apache.shardingsphere.sql.parser.sql.common.statement.AbstractSQLStatement;
-import 
org.apache.shardingsphere.sql.parser.sql.common.statement.dal.DALStatement;
+import 
org.apache.shardingsphere.sql.parser.sql.common.statement.dal.CloneStatement;
 import 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.doris.DorisStatement;
-import 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.doris.segment.CloneActionSegment;
 
 /**
  * Doris clone statement.
  */
-@Getter
-@Setter
-public final class DorisCloneStatement extends AbstractSQLStatement implements 
DALStatement, DorisStatement {
-    
-    private CloneActionSegment cloneActionSegment;
+public final class DorisCloneStatement extends CloneStatement implements 
DorisStatement {
 }
diff --git 
a/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/doris/dal/DorisCreateLoadableFunctionStatement.java
 
b/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/doris/dal/DorisCreateLoadableFunctionStatement.java
index 9fa4e5a8f67..8f470f05b66 100644
--- 
a/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/doris/dal/DorisCreateLoadableFunctionStatement.java
+++ 
b/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/doris/dal/DorisCreateLoadableFunctionStatement.java
@@ -17,12 +17,11 @@
 
 package org.apache.shardingsphere.sql.parser.sql.dialect.statement.doris.dal;
 
-import 
org.apache.shardingsphere.sql.parser.sql.common.statement.AbstractSQLStatement;
-import 
org.apache.shardingsphere.sql.parser.sql.common.statement.dal.DALStatement;
+import 
org.apache.shardingsphere.sql.parser.sql.common.statement.dal.CreateLoadableFunctionStatement;
 import 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.doris.DorisStatement;
 
 /**
  * Doris create loadable function statement.
  */
-public final class DorisCreateLoadableFunctionStatement extends 
AbstractSQLStatement implements DALStatement, DorisStatement {
+public final class DorisCreateLoadableFunctionStatement extends 
CreateLoadableFunctionStatement implements DorisStatement {
 }
diff --git 
a/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/doris/dal/DorisCreateResourceGroupStatement.java
 
b/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/doris/dal/DorisCreateResourceGroupStatement.java
index 22ccb87bac5..889ad697277 100644
--- 
a/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/doris/dal/DorisCreateResourceGroupStatement.java
+++ 
b/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/doris/dal/DorisCreateResourceGroupStatement.java
@@ -17,18 +17,11 @@
 
 package org.apache.shardingsphere.sql.parser.sql.dialect.statement.doris.dal;
 
-import lombok.Getter;
-import lombok.Setter;
-import 
org.apache.shardingsphere.sql.parser.sql.common.statement.AbstractSQLStatement;
-import 
org.apache.shardingsphere.sql.parser.sql.common.statement.dal.DALStatement;
+import 
org.apache.shardingsphere.sql.parser.sql.common.statement.dal.CreateResourceGroupStatement;
 import 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.doris.DorisStatement;
 
 /**
  * Doris create resource group statement.
  */
-@Getter
-@Setter
-public final class DorisCreateResourceGroupStatement extends 
AbstractSQLStatement implements DALStatement, DorisStatement {
-    
-    private String groupName;
+public final class DorisCreateResourceGroupStatement extends 
CreateResourceGroupStatement implements DorisStatement {
 }
diff --git 
a/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/doris/dal/DorisDelimiterStatement.java
 
b/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/doris/dal/DorisDelimiterStatement.java
index 3f748a55253..b89e14eef2c 100644
--- 
a/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/doris/dal/DorisDelimiterStatement.java
+++ 
b/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/doris/dal/DorisDelimiterStatement.java
@@ -17,18 +17,11 @@
 
 package org.apache.shardingsphere.sql.parser.sql.dialect.statement.doris.dal;
 
-import lombok.Getter;
-import lombok.Setter;
-import 
org.apache.shardingsphere.sql.parser.sql.common.statement.AbstractSQLStatement;
-import 
org.apache.shardingsphere.sql.parser.sql.common.statement.dal.DALStatement;
+import 
org.apache.shardingsphere.sql.parser.sql.common.statement.dal.DelimiterStatement;
 import 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.doris.DorisStatement;
 
 /**
  * Doris delimiter statement.
  */
-@Getter
-@Setter
-public final class DorisDelimiterStatement extends AbstractSQLStatement 
implements DALStatement, DorisStatement {
-    
-    private String delimiterName;
+public final class DorisDelimiterStatement extends DelimiterStatement 
implements DorisStatement {
 }
diff --git 
a/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/doris/segment/CacheTableIndexSegment.java
 
b/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/doris/segment/CacheTableIndexSegment.java
deleted file mode 100644
index ba0ab87fb5f..00000000000
--- 
a/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/doris/segment/CacheTableIndexSegment.java
+++ /dev/null
@@ -1,38 +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.sql.dialect.statement.doris.segment;
-
-import lombok.Getter;
-import 
org.apache.shardingsphere.sql.parser.sql.common.segment.ddl.index.IndexSegment;
-import 
org.apache.shardingsphere.sql.parser.sql.common.segment.generic.table.SimpleTableSegment;
-
-import java.util.Collection;
-import java.util.LinkedList;
-
-/**
- * Cache table index segment.
- */
-@Getter
-public final class CacheTableIndexSegment extends TableIndexSegment {
-    
-    private final Collection<IndexSegment> indexes = new LinkedList<>();
-    
-    public CacheTableIndexSegment(final int startIndex, final int stopIndex, 
final SimpleTableSegment table) {
-        super(startIndex, stopIndex, table);
-    }
-}
diff --git 
a/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/doris/segment/LoadTableIndexSegment.java
 
b/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/doris/segment/LoadTableIndexSegment.java
index 7e38a52bdfc..677a0d6fbe0 100644
--- 
a/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/doris/segment/LoadTableIndexSegment.java
+++ 
b/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/doris/segment/LoadTableIndexSegment.java
@@ -20,6 +20,7 @@ package 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.doris.segment
 import lombok.Getter;
 import 
org.apache.shardingsphere.sql.parser.sql.common.segment.ddl.index.IndexSegment;
 import 
org.apache.shardingsphere.sql.parser.sql.common.segment.generic.table.SimpleTableSegment;
+import 
org.apache.shardingsphere.sql.parser.sql.common.segment.dal.PartitionSegment;
 
 import java.util.Collection;
 import java.util.LinkedList;
diff --git 
a/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/doris/segment/PartitionDefinitionSegment.java
 
b/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/doris/segment/PartitionDefinitionSegment.java
deleted file mode 100644
index b5de0e62c3b..00000000000
--- 
a/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/doris/segment/PartitionDefinitionSegment.java
+++ /dev/null
@@ -1,42 +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.sql.dialect.statement.doris.segment;
-
-import lombok.Getter;
-import lombok.RequiredArgsConstructor;
-import org.apache.shardingsphere.sql.parser.sql.common.segment.SQLSegment;
-import 
org.apache.shardingsphere.sql.parser.sql.common.segment.generic.table.SimpleTableSegment;
-
-import java.util.Collection;
-import java.util.LinkedList;
-
-/**
- * Partition definition segment.
- */
-@RequiredArgsConstructor
-@Getter
-public final class PartitionDefinitionSegment implements SQLSegment {
-    
-    private final int startIndex;
-    
-    private final int stopIndex;
-    
-    private final SimpleTableSegment table;
-    
-    private final Collection<PartitionSegment> partitions = new LinkedList<>();
-}
diff --git 
a/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/doris/segment/PartitionSegment.java
 
b/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/doris/segment/PartitionSegment.java
deleted file mode 100644
index 7e32972d7b5..00000000000
--- 
a/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/doris/segment/PartitionSegment.java
+++ /dev/null
@@ -1,39 +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.sql.dialect.statement.doris.segment;
-
-import lombok.Getter;
-import lombok.RequiredArgsConstructor;
-import lombok.Setter;
-import org.apache.shardingsphere.sql.parser.sql.common.segment.SQLSegment;
-import 
org.apache.shardingsphere.sql.parser.sql.common.value.identifier.IdentifierValue;
-
-/**
- * Partition segment.
- */
-@RequiredArgsConstructor
-@Getter
-@Setter
-public final class PartitionSegment implements SQLSegment {
-    
-    private final int startIndex;
-    
-    private final int stopIndex;
-    
-    private final IdentifierValue name;
-}
diff --git 
a/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/mysql/dal/MySQLAlterResourceGroupStatement.java
 
b/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/mysql/dal/MySQLAlterResourceGroupStatement.java
index 1d2ac868325..f17120cd85f 100644
--- 
a/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/mysql/dal/MySQLAlterResourceGroupStatement.java
+++ 
b/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/mysql/dal/MySQLAlterResourceGroupStatement.java
@@ -17,18 +17,11 @@
 
 package org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.dal;
 
-import lombok.Getter;
-import lombok.Setter;
-import 
org.apache.shardingsphere.sql.parser.sql.common.statement.AbstractSQLStatement;
-import 
org.apache.shardingsphere.sql.parser.sql.common.statement.dal.DALStatement;
+import 
org.apache.shardingsphere.sql.parser.sql.common.statement.dal.AlterResourceGroupStatement;
 import 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.MySQLStatement;
 
 /**
  * MySQL alter resource group statement.
  */
-@Getter
-@Setter
-public final class MySQLAlterResourceGroupStatement extends 
AbstractSQLStatement implements DALStatement, MySQLStatement {
-    
-    private String groupName;
+public final class MySQLAlterResourceGroupStatement extends 
AlterResourceGroupStatement implements MySQLStatement {
 }
diff --git 
a/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/mysql/dal/MySQLBinlogStatement.java
 
b/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/mysql/dal/MySQLBinlogStatement.java
index ca5f3252d7e..6011f58e381 100644
--- 
a/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/mysql/dal/MySQLBinlogStatement.java
+++ 
b/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/mysql/dal/MySQLBinlogStatement.java
@@ -17,18 +17,15 @@
 
 package org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.dal;
 
-import lombok.Getter;
-import lombok.RequiredArgsConstructor;
-import 
org.apache.shardingsphere.sql.parser.sql.common.statement.AbstractSQLStatement;
-import 
org.apache.shardingsphere.sql.parser.sql.common.statement.dal.DALStatement;
+import 
org.apache.shardingsphere.sql.parser.sql.common.statement.dal.BinlogStatement;
 import 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.MySQLStatement;
 
 /**
  * MySQL binlog statement.
  */
-@RequiredArgsConstructor
-@Getter
-public final class MySQLBinlogStatement extends AbstractSQLStatement 
implements DALStatement, MySQLStatement {
+public final class MySQLBinlogStatement extends BinlogStatement implements 
MySQLStatement {
     
-    private final String base64Str;
+    public MySQLBinlogStatement(final String base64Str) {
+        super(base64Str);
+    }
 }
diff --git 
a/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/mysql/dal/MySQLCacheIndexStatement.java
 
b/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/mysql/dal/MySQLCacheIndexStatement.java
index 3d2ff56a849..b52344785a0 100644
--- 
a/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/mysql/dal/MySQLCacheIndexStatement.java
+++ 
b/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/mysql/dal/MySQLCacheIndexStatement.java
@@ -17,29 +17,11 @@
 
 package org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.dal;
 
-import lombok.Getter;
-import lombok.Setter;
-import 
org.apache.shardingsphere.sql.parser.sql.common.statement.AbstractSQLStatement;
-import 
org.apache.shardingsphere.sql.parser.sql.common.statement.dal.DALStatement;
-import 
org.apache.shardingsphere.sql.parser.sql.common.value.identifier.IdentifierValue;
+import 
org.apache.shardingsphere.sql.parser.sql.common.statement.dal.CacheIndexStatement;
 import 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.MySQLStatement;
-import 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.segment.CacheTableIndexSegment;
-import 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.segment.PartitionDefinitionSegment;
-
-import java.util.Collection;
-import java.util.LinkedList;
 
 /**
  * MySQL cache index statement.
  */
-@Getter
-public final class MySQLCacheIndexStatement extends AbstractSQLStatement 
implements DALStatement, MySQLStatement {
-    
-    private final Collection<CacheTableIndexSegment> tableIndexes = new 
LinkedList<>();
-    
-    @Setter
-    private PartitionDefinitionSegment partitionDefinition;
-    
-    @Setter
-    private IdentifierValue name;
+public final class MySQLCacheIndexStatement extends CacheIndexStatement 
implements MySQLStatement {
 }
diff --git 
a/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/mysql/dal/MySQLCheckTableStatement.java
 
b/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/mysql/dal/MySQLCheckTableStatement.java
index a6ba275587c..bd1824ecb70 100644
--- 
a/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/mysql/dal/MySQLCheckTableStatement.java
+++ 
b/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/mysql/dal/MySQLCheckTableStatement.java
@@ -17,22 +17,11 @@
 
 package org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.dal;
 
-import lombok.Getter;
-import lombok.Setter;
-import 
org.apache.shardingsphere.sql.parser.sql.common.segment.generic.table.SimpleTableSegment;
-import 
org.apache.shardingsphere.sql.parser.sql.common.statement.AbstractSQLStatement;
-import 
org.apache.shardingsphere.sql.parser.sql.common.statement.dal.DALStatement;
+import 
org.apache.shardingsphere.sql.parser.sql.common.statement.dal.CheckTableStatement;
 import 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.MySQLStatement;
 
-import java.util.Collection;
-import java.util.LinkedList;
-
 /**
  * MySQL check table statement.
  */
-@Getter
-@Setter
-public final class MySQLCheckTableStatement extends AbstractSQLStatement 
implements DALStatement, MySQLStatement {
-    
-    private final Collection<SimpleTableSegment> tables = new LinkedList<>();
+public final class MySQLCheckTableStatement extends CheckTableStatement 
implements MySQLStatement {
 }
diff --git 
a/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/mysql/dal/MySQLChecksumTableStatement.java
 
b/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/mysql/dal/MySQLChecksumTableStatement.java
index a246a779797..e14171f3429 100644
--- 
a/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/mysql/dal/MySQLChecksumTableStatement.java
+++ 
b/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/mysql/dal/MySQLChecksumTableStatement.java
@@ -17,22 +17,11 @@
 
 package org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.dal;
 
-import lombok.Getter;
-import lombok.Setter;
-import 
org.apache.shardingsphere.sql.parser.sql.common.segment.generic.table.SimpleTableSegment;
-import 
org.apache.shardingsphere.sql.parser.sql.common.statement.AbstractSQLStatement;
-import 
org.apache.shardingsphere.sql.parser.sql.common.statement.dal.DALStatement;
+import 
org.apache.shardingsphere.sql.parser.sql.common.statement.dal.ChecksumTableStatement;
 import 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.MySQLStatement;
 
-import java.util.Collection;
-import java.util.LinkedList;
-
 /**
  * MySQL checksum table statement.
  */
-@Setter
-@Getter
-public final class MySQLChecksumTableStatement extends AbstractSQLStatement 
implements DALStatement, MySQLStatement {
-    
-    private final Collection<SimpleTableSegment> tables = new LinkedList<>();
+public final class MySQLChecksumTableStatement extends ChecksumTableStatement 
implements MySQLStatement {
 }
diff --git 
a/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/mysql/dal/MySQLCloneStatement.java
 
b/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/mysql/dal/MySQLCloneStatement.java
index 93d4925f05a..7b1d6605ff0 100644
--- 
a/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/mysql/dal/MySQLCloneStatement.java
+++ 
b/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/mysql/dal/MySQLCloneStatement.java
@@ -17,19 +17,11 @@
 
 package org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.dal;
 
-import lombok.Getter;
-import lombok.Setter;
-import 
org.apache.shardingsphere.sql.parser.sql.common.statement.AbstractSQLStatement;
-import 
org.apache.shardingsphere.sql.parser.sql.common.statement.dal.DALStatement;
+import 
org.apache.shardingsphere.sql.parser.sql.common.statement.dal.CloneStatement;
 import 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.MySQLStatement;
-import 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.segment.CloneActionSegment;
 
 /**
  * MySQL clone statement.
  */
-@Getter
-@Setter
-public final class MySQLCloneStatement extends AbstractSQLStatement implements 
DALStatement, MySQLStatement {
-    
-    private CloneActionSegment cloneActionSegment;
+public final class MySQLCloneStatement extends CloneStatement implements 
MySQLStatement {
 }
diff --git 
a/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/mysql/dal/MySQLCreateLoadableFunctionStatement.java
 
b/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/mysql/dal/MySQLCreateLoadableFunctionStatement.java
index d78a3ce95eb..847353ce0d5 100644
--- 
a/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/mysql/dal/MySQLCreateLoadableFunctionStatement.java
+++ 
b/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/mysql/dal/MySQLCreateLoadableFunctionStatement.java
@@ -17,12 +17,11 @@
 
 package org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.dal;
 
-import 
org.apache.shardingsphere.sql.parser.sql.common.statement.AbstractSQLStatement;
-import 
org.apache.shardingsphere.sql.parser.sql.common.statement.dal.DALStatement;
+import 
org.apache.shardingsphere.sql.parser.sql.common.statement.dal.CreateLoadableFunctionStatement;
 import 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.MySQLStatement;
 
 /**
  * MySQL create loadable function statement.
  */
-public final class MySQLCreateLoadableFunctionStatement extends 
AbstractSQLStatement implements DALStatement, MySQLStatement {
+public final class MySQLCreateLoadableFunctionStatement extends 
CreateLoadableFunctionStatement implements MySQLStatement {
 }
diff --git 
a/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/mysql/dal/MySQLCreateResourceGroupStatement.java
 
b/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/mysql/dal/MySQLCreateResourceGroupStatement.java
index 875ba9b6322..f3e67dcb2f4 100644
--- 
a/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/mysql/dal/MySQLCreateResourceGroupStatement.java
+++ 
b/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/mysql/dal/MySQLCreateResourceGroupStatement.java
@@ -17,18 +17,11 @@
 
 package org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.dal;
 
-import lombok.Getter;
-import lombok.Setter;
-import 
org.apache.shardingsphere.sql.parser.sql.common.statement.AbstractSQLStatement;
-import 
org.apache.shardingsphere.sql.parser.sql.common.statement.dal.DALStatement;
+import 
org.apache.shardingsphere.sql.parser.sql.common.statement.dal.CreateResourceGroupStatement;
 import 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.MySQLStatement;
 
 /**
  * MySQL create resource group statement.
  */
-@Getter
-@Setter
-public final class MySQLCreateResourceGroupStatement extends 
AbstractSQLStatement implements DALStatement, MySQLStatement {
-    
-    private String groupName;
+public final class MySQLCreateResourceGroupStatement extends 
CreateResourceGroupStatement implements MySQLStatement {
 }
diff --git 
a/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/mysql/dal/MySQLDelimiterStatement.java
 
b/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/mysql/dal/MySQLDelimiterStatement.java
index bacdfac71f2..1406615e19c 100644
--- 
a/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/mysql/dal/MySQLDelimiterStatement.java
+++ 
b/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/mysql/dal/MySQLDelimiterStatement.java
@@ -17,18 +17,11 @@
 
 package org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.dal;
 
-import lombok.Getter;
-import lombok.Setter;
-import 
org.apache.shardingsphere.sql.parser.sql.common.statement.AbstractSQLStatement;
-import 
org.apache.shardingsphere.sql.parser.sql.common.statement.dal.DALStatement;
+import 
org.apache.shardingsphere.sql.parser.sql.common.statement.dal.DelimiterStatement;
 import 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.MySQLStatement;
 
 /**
  * MySQL delimiter statement.
  */
-@Getter
-@Setter
-public final class MySQLDelimiterStatement extends AbstractSQLStatement 
implements DALStatement, MySQLStatement {
-    
-    private String delimiterName;
+public final class MySQLDelimiterStatement extends DelimiterStatement 
implements MySQLStatement {
 }
diff --git 
a/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/mysql/segment/CloneActionSegment.java
 
b/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/mysql/segment/CloneActionSegment.java
deleted file mode 100644
index c5973ef48bb..00000000000
--- 
a/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/mysql/segment/CloneActionSegment.java
+++ /dev/null
@@ -1,40 +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.sql.dialect.statement.mysql.segment;
-
-import lombok.Getter;
-import lombok.RequiredArgsConstructor;
-import lombok.Setter;
-import org.apache.shardingsphere.sql.parser.sql.common.segment.SQLSegment;
-
-/**
- * Clone action segment.
- */
-@RequiredArgsConstructor
-@Getter
-@Setter
-public final class CloneActionSegment implements SQLSegment {
-    
-    private final int startIndex;
-    
-    private final int stopIndex;
-    
-    private String cloneDir;
-    
-    private CloneInstanceSegment cloneInstance;
-}
diff --git 
a/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/mysql/segment/CloneInstanceSegment.java
 
b/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/mysql/segment/CloneInstanceSegment.java
deleted file mode 100644
index f3499729552..00000000000
--- 
a/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/mysql/segment/CloneInstanceSegment.java
+++ /dev/null
@@ -1,46 +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.sql.dialect.statement.mysql.segment;
-
-import lombok.Getter;
-import lombok.RequiredArgsConstructor;
-import lombok.Setter;
-import org.apache.shardingsphere.sql.parser.sql.common.segment.SQLSegment;
-
-/**
- * Clone instance segment.
- */
-@RequiredArgsConstructor
-@Getter
-@Setter
-public final class CloneInstanceSegment implements SQLSegment {
-    
-    private final int startIndex;
-    
-    private final int stopIndex;
-    
-    private String username;
-    
-    private String hostname;
-    
-    private String password;
-    
-    private int port;
-    
-    private boolean sslRequired;
-}
diff --git 
a/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/mysql/segment/LoadTableIndexSegment.java
 
b/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/mysql/segment/LoadTableIndexSegment.java
index d63f3176c86..3295afda0d5 100644
--- 
a/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/mysql/segment/LoadTableIndexSegment.java
+++ 
b/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/mysql/segment/LoadTableIndexSegment.java
@@ -18,6 +18,7 @@
 package 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.segment;
 
 import lombok.Getter;
+import 
org.apache.shardingsphere.sql.parser.sql.common.segment.dal.PartitionSegment;
 import 
org.apache.shardingsphere.sql.parser.sql.common.segment.ddl.index.IndexSegment;
 import 
org.apache.shardingsphere.sql.parser.sql.common.segment.generic.table.SimpleTableSegment;
 
diff --git 
a/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/asserts/statement/dal/DALStatementAssert.java
 
b/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/asserts/statement/dal/DALStatementAssert.java
index 187a6aa94be..fa748f67c63 100644
--- 
a/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/asserts/statement/dal/DALStatementAssert.java
+++ 
b/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/asserts/statement/dal/DALStatementAssert.java
@@ -19,20 +19,20 @@ package 
org.apache.shardingsphere.test.it.sql.parser.internal.asserts.statement.
 
 import lombok.AccessLevel;
 import lombok.NoArgsConstructor;
+import 
org.apache.shardingsphere.sql.parser.sql.common.statement.dal.AlterResourceGroupStatement;
+import 
org.apache.shardingsphere.sql.parser.sql.common.statement.dal.BinlogStatement;
+import 
org.apache.shardingsphere.sql.parser.sql.common.statement.dal.CacheIndexStatement;
+import 
org.apache.shardingsphere.sql.parser.sql.common.statement.dal.CheckTableStatement;
+import 
org.apache.shardingsphere.sql.parser.sql.common.statement.dal.ChecksumTableStatement;
+import 
org.apache.shardingsphere.sql.parser.sql.common.statement.dal.CloneStatement;
+import 
org.apache.shardingsphere.sql.parser.sql.common.statement.dal.CreateResourceGroupStatement;
 import 
org.apache.shardingsphere.sql.parser.sql.common.statement.dal.DALStatement;
+import 
org.apache.shardingsphere.sql.parser.sql.common.statement.dal.DelimiterStatement;
 import 
org.apache.shardingsphere.sql.parser.sql.common.statement.dal.EmptyStatement;
 import 
org.apache.shardingsphere.sql.parser.sql.common.statement.dal.ExplainStatement;
 import 
org.apache.shardingsphere.sql.parser.sql.common.statement.dal.ResetParameterStatement;
 import 
org.apache.shardingsphere.sql.parser.sql.common.statement.dal.SetStatement;
 import 
org.apache.shardingsphere.sql.parser.sql.common.statement.dal.ShowStatement;
-import 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.dal.MySQLAlterResourceGroupStatement;
-import 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.dal.MySQLBinlogStatement;
-import 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.dal.MySQLCacheIndexStatement;
-import 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.dal.MySQLCheckTableStatement;
-import 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.dal.MySQLChecksumTableStatement;
-import 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.dal.MySQLCloneStatement;
-import 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.dal.MySQLCreateResourceGroupStatement;
-import 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.dal.MySQLDelimiterStatement;
 import 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.dal.MySQLDropResourceGroupStatement;
 import 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.dal.MySQLFlushStatement;
 import 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.dal.MySQLInstallComponentStatement;
@@ -74,9 +74,14 @@ import 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.dal.MySQ
 import 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.dal.MySQLUseStatement;
 import 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.oracle.dal.OracleSpoolStatement;
 import 
org.apache.shardingsphere.test.it.sql.parser.internal.asserts.SQLCaseAssertContext;
+import 
org.apache.shardingsphere.test.it.sql.parser.internal.asserts.statement.dal.impl.AlterResourceGroupStatementAssert;
+import 
org.apache.shardingsphere.test.it.sql.parser.internal.asserts.statement.dal.impl.BinlogStatementAssert;
 import 
org.apache.shardingsphere.test.it.sql.parser.internal.asserts.statement.dal.impl.CacheIndexStatementAssert;
 import 
org.apache.shardingsphere.test.it.sql.parser.internal.asserts.statement.dal.impl.CheckTableStatementAssert;
+import 
org.apache.shardingsphere.test.it.sql.parser.internal.asserts.statement.dal.impl.ChecksumTableStatementAssert;
 import 
org.apache.shardingsphere.test.it.sql.parser.internal.asserts.statement.dal.impl.CloneStatementAssert;
+import 
org.apache.shardingsphere.test.it.sql.parser.internal.asserts.statement.dal.impl.CreateResourceGroupStatementAssert;
+import 
org.apache.shardingsphere.test.it.sql.parser.internal.asserts.statement.dal.impl.DelimiterStatementAssert;
 import 
org.apache.shardingsphere.test.it.sql.parser.internal.asserts.statement.dal.impl.EmptyStatementAssert;
 import 
org.apache.shardingsphere.test.it.sql.parser.internal.asserts.statement.dal.impl.ExplainStatementAssert;
 import 
org.apache.shardingsphere.test.it.sql.parser.internal.asserts.statement.dal.impl.FlushStatementAssert;
@@ -112,14 +117,9 @@ import 
org.apache.shardingsphere.test.it.sql.parser.internal.asserts.statement.d
 import 
org.apache.shardingsphere.test.it.sql.parser.internal.asserts.statement.dal.impl.ShowTriggersStatementAssert;
 import 
org.apache.shardingsphere.test.it.sql.parser.internal.asserts.statement.dal.impl.ShowVariablesStatementAssert;
 import 
org.apache.shardingsphere.test.it.sql.parser.internal.asserts.statement.dal.impl.ShutdownStatementAssert;
+import 
org.apache.shardingsphere.test.it.sql.parser.internal.asserts.statement.dal.impl.SpoolStatementAssert;
 import 
org.apache.shardingsphere.test.it.sql.parser.internal.asserts.statement.dal.impl.UninstallComponentStatementAssert;
 import 
org.apache.shardingsphere.test.it.sql.parser.internal.asserts.statement.dal.impl.UninstallPluginStatementAssert;
-import 
org.apache.shardingsphere.test.it.sql.parser.internal.asserts.statement.dal.impl.SpoolStatementAssert;
-import 
org.apache.shardingsphere.test.it.sql.parser.internal.asserts.statement.dal.impl.mysql.MySQLAlterResourceGroupStatementAssert;
-import 
org.apache.shardingsphere.test.it.sql.parser.internal.asserts.statement.dal.impl.mysql.MySQLBinlogStatementAssert;
-import 
org.apache.shardingsphere.test.it.sql.parser.internal.asserts.statement.dal.impl.mysql.MySQLChecksumTableStatementAssert;
-import 
org.apache.shardingsphere.test.it.sql.parser.internal.asserts.statement.dal.impl.mysql.MySQLCreateResourceGroupStatementAssert;
-import 
org.apache.shardingsphere.test.it.sql.parser.internal.asserts.statement.dal.impl.mysql.MySQLDelimiterStatementAssert;
 import 
org.apache.shardingsphere.test.it.sql.parser.internal.asserts.statement.dal.impl.mysql.MySQLDropResourceGroupStatementAssert;
 import 
org.apache.shardingsphere.test.it.sql.parser.internal.asserts.statement.dal.impl.mysql.MySQLOptimizeTableStatementAssert;
 import 
org.apache.shardingsphere.test.it.sql.parser.internal.asserts.statement.dal.impl.mysql.MySQLRepairTableStatementAssert;
@@ -177,10 +177,10 @@ import 
org.apache.shardingsphere.test.it.sql.parser.internal.cases.parser.jaxb.s
 import 
org.apache.shardingsphere.test.it.sql.parser.internal.cases.parser.jaxb.statement.dal.ShowTriggersStatementTestCase;
 import 
org.apache.shardingsphere.test.it.sql.parser.internal.cases.parser.jaxb.statement.dal.ShowVariablesStatementTestCase;
 import 
org.apache.shardingsphere.test.it.sql.parser.internal.cases.parser.jaxb.statement.dal.ShutdownStatementTestCase;
+import 
org.apache.shardingsphere.test.it.sql.parser.internal.cases.parser.jaxb.statement.dal.SpoolStatementTestCase;
 import 
org.apache.shardingsphere.test.it.sql.parser.internal.cases.parser.jaxb.statement.dal.UninstallComponentStatementTestCase;
 import 
org.apache.shardingsphere.test.it.sql.parser.internal.cases.parser.jaxb.statement.dal.UninstallPluginStatementTestCase;
 import 
org.apache.shardingsphere.test.it.sql.parser.internal.cases.parser.jaxb.statement.dal.UseStatementTestCase;
-import 
org.apache.shardingsphere.test.it.sql.parser.internal.cases.parser.jaxb.statement.dal.SpoolStatementTestCase;
 
 /**
  * DAL statement assert.
@@ -232,12 +232,12 @@ public final class DALStatementAssert {
             FlushStatementAssert.assertIs(assertContext, (MySQLFlushStatement) 
actual, (FlushStatementTestCase) expected);
         } else if (actual instanceof MySQLInstallPluginStatement) {
             InstallPluginStatementAssert.assertIs(assertContext, 
(MySQLInstallPluginStatement) actual, (InstallPluginStatementTestCase) 
expected);
-        } else if (actual instanceof MySQLCloneStatement) {
-            CloneStatementAssert.assertIs(assertContext, (MySQLCloneStatement) 
actual, (CloneStatementTestCase) expected);
+        } else if (actual instanceof CloneStatement) {
+            CloneStatementAssert.assertIs(assertContext, (CloneStatement) 
actual, (CloneStatementTestCase) expected);
         } else if (actual instanceof MySQLUninstallComponentStatement) {
             UninstallComponentStatementAssert.assertIs(assertContext, 
(MySQLUninstallComponentStatement) actual, 
(UninstallComponentStatementTestCase) expected);
-        } else if (actual instanceof MySQLCreateResourceGroupStatement) {
-            MySQLCreateResourceGroupStatementAssert.assertIs(assertContext, 
(MySQLCreateResourceGroupStatement) actual, 
(CreateResourceGroupStatementTestCase) expected);
+        } else if (actual instanceof CreateResourceGroupStatement) {
+            CreateResourceGroupStatementAssert.assertIs(assertContext, 
(CreateResourceGroupStatement) actual, (CreateResourceGroupStatementTestCase) 
expected);
         } else if (actual instanceof MySQLUninstallPluginStatement) {
             UninstallPluginStatementAssert.assertIs(assertContext, 
(MySQLUninstallPluginStatement) actual, (UninstallPluginStatementTestCase) 
expected);
         } else if (actual instanceof MySQLRestartStatement) {
@@ -248,8 +248,8 @@ public final class DALStatementAssert {
             MySQLOptimizeTableStatementAssert.assertIs(assertContext, 
(MySQLOptimizeTableStatement) actual, (OptimizeTableStatementTestCase) 
expected);
         } else if (actual instanceof MySQLRepairTableStatement) {
             MySQLRepairTableStatementAssert.assertIs(assertContext, 
(MySQLRepairTableStatement) actual, (RepairTableStatementTestCase) expected);
-        } else if (actual instanceof MySQLBinlogStatement) {
-            MySQLBinlogStatementAssert.assertIs(assertContext, 
(MySQLBinlogStatement) actual, (BinlogStatementTestCase) expected);
+        } else if (actual instanceof BinlogStatement) {
+            BinlogStatementAssert.assertIs(assertContext, (BinlogStatement) 
actual, (BinlogStatementTestCase) expected);
         } else if (actual instanceof MySQLShowFunctionStatusStatement) {
             ShowFunctionStatusStatementAssert.assertIs(assertContext, 
(MySQLShowFunctionStatusStatement) actual, 
(ShowFunctionStatusStatementTestCase) expected);
         } else if (actual instanceof MySQLShowProcedureStatusStatement) {
@@ -270,8 +270,8 @@ public final class DALStatementAssert {
             ShowProcedureCodeStatementAssert.assertIs(assertContext, 
(MySQLShowProcedureCodeStatement) actual, (ShowProcedureCodeStatementTestCase) 
expected);
         } else if (actual instanceof MySQLKillStatement) {
             KillStatementAssert.assertIs(assertContext, (MySQLKillStatement) 
actual, (KillStatementTestCase) expected);
-        } else if (actual instanceof MySQLCacheIndexStatement) {
-            CacheIndexStatementAssert.assertIs(assertContext, 
(MySQLCacheIndexStatement) actual, (CacheIndexStatementTestCase) expected);
+        } else if (actual instanceof CacheIndexStatement) {
+            CacheIndexStatementAssert.assertIs(assertContext, 
(CacheIndexStatement) actual, (CacheIndexStatementTestCase) expected);
         } else if (actual instanceof MySQLLoadIndexInfoStatement) {
             LoadIndexInfoStatementAssert.assertIs(assertContext, 
(MySQLLoadIndexInfoStatement) actual, (LoadIndexInfoStatementTestCase) 
expected);
         } else if (actual instanceof MySQLShutdownStatement) {
@@ -282,22 +282,22 @@ public final class DALStatementAssert {
             ShowTriggersStatementAssert.assertIs(assertContext, 
(MySQLShowTriggersStatement) actual, (ShowTriggersStatementTestCase) expected);
         } else if (actual instanceof MySQLShowStatusStatement) {
             ShowStatusStatementAssert.assertIs(assertContext, 
(MySQLShowStatusStatement) actual, (ShowStatusStatementTestCase) expected);
-        } else if (actual instanceof MySQLCheckTableStatement) {
-            CheckTableStatementAssert.assertIs(assertContext, 
(MySQLCheckTableStatement) actual, (CheckTableStatementTestCase) expected);
+        } else if (actual instanceof CheckTableStatement) {
+            CheckTableStatementAssert.assertIs(assertContext, 
(CheckTableStatement) actual, (CheckTableStatementTestCase) expected);
         } else if (actual instanceof MySQLShowEventsStatement) {
             ShowEventsStatementAssert.assertIs(assertContext, 
(MySQLShowEventsStatement) actual, (ShowEventsStatementTestCase) expected);
         } else if (actual instanceof MySQLDropResourceGroupStatement) {
             MySQLDropResourceGroupStatementAssert.assertIs(assertContext, 
(MySQLDropResourceGroupStatement) actual, (DropResourceGroupStatementTestCase) 
expected);
-        } else if (actual instanceof MySQLAlterResourceGroupStatement) {
-            MySQLAlterResourceGroupStatementAssert.assertIs(assertContext, 
(MySQLAlterResourceGroupStatement) actual, 
(AlterResourceGroupStatementTestCase) expected);
-        } else if (actual instanceof MySQLChecksumTableStatement) {
-            MySQLChecksumTableStatementAssert.assertIs(assertContext, 
(MySQLChecksumTableStatement) actual, (ChecksumTableStatementTestCase) 
expected);
+        } else if (actual instanceof AlterResourceGroupStatement) {
+            AlterResourceGroupStatementAssert.assertIs(assertContext, 
(AlterResourceGroupStatement) actual, (AlterResourceGroupStatementTestCase) 
expected);
+        } else if (actual instanceof ChecksumTableStatement) {
+            ChecksumTableStatementAssert.assertIs(assertContext, 
(ChecksumTableStatement) actual, (ChecksumTableStatementTestCase) expected);
         } else if (actual instanceof MySQLShowCollationStatement) {
             ShowCollationStatementAssert.assertIs(assertContext, 
(MySQLShowCollationStatement) actual, (ShowCollationStatementTestCase) 
expected);
         } else if (actual instanceof MySQLShowVariablesStatement) {
             ShowVariablesStatementAssert.assertIs(assertContext, 
(MySQLShowVariablesStatement) actual, (ShowVariablesStatementTestCase) 
expected);
-        } else if (actual instanceof MySQLDelimiterStatement) {
-            MySQLDelimiterStatementAssert.assertIs(assertContext, 
(MySQLDelimiterStatement) actual, (DelimiterStatementTestCase) expected);
+        } else if (actual instanceof DelimiterStatement) {
+            DelimiterStatementAssert.assertIs(assertContext, 
(DelimiterStatement) actual, (DelimiterStatementTestCase) expected);
         } else if (actual instanceof MySQLShowBinlogEventsStatement) {
             ShowBinlogEventsStatementAssert.assertIs(assertContext, 
(MySQLShowBinlogEventsStatement) actual, (ShowBinlogEventsStatementTestCase) 
expected);
         } else if (actual instanceof OracleSpoolStatement) {
diff --git 
a/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/asserts/statement/dal/impl/mysql/MySQLAlterResourceGroupStatementAssert.java
 
b/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/asserts/statement/dal/impl/AlterResourceGroupStatementAssert.java
similarity index 74%
rename from 
test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/asserts/statement/dal/impl/mysql/MySQLAlterResourceGroupStatementAssert.java
rename to 
test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/asserts/statement/dal/impl/AlterResourceGroupStatementAssert.java
index 40f94e04979..09b3ea7ea11 100644
--- 
a/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/asserts/statement/dal/impl/mysql/MySQLAlterResourceGroupStatementAssert.java
+++ 
b/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/asserts/statement/dal/impl/AlterResourceGroupStatementAssert.java
@@ -15,23 +15,23 @@
  * limitations under the License.
  */
 
-package 
org.apache.shardingsphere.test.it.sql.parser.internal.asserts.statement.dal.impl.mysql;
+package 
org.apache.shardingsphere.test.it.sql.parser.internal.asserts.statement.dal.impl;
 
 import lombok.AccessLevel;
 import lombok.NoArgsConstructor;
-import 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.dal.MySQLAlterResourceGroupStatement;
+import 
org.apache.shardingsphere.sql.parser.sql.common.statement.dal.AlterResourceGroupStatement;
 import 
org.apache.shardingsphere.test.it.sql.parser.internal.asserts.SQLCaseAssertContext;
 import 
org.apache.shardingsphere.test.it.sql.parser.internal.cases.parser.jaxb.statement.dal.AlterResourceGroupStatementTestCase;
 
 import static org.hamcrest.CoreMatchers.is;
-import static org.junit.jupiter.api.Assertions.assertNotNull;
 import static org.hamcrest.MatcherAssert.assertThat;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
 
 /**
- * MySQL alter resource group statement assert.
+ * Alter resource group statement assert.
  */
 @NoArgsConstructor(access = AccessLevel.PRIVATE)
-public final class MySQLAlterResourceGroupStatementAssert {
+public final class AlterResourceGroupStatementAssert {
     
     /**
      * Assert alter resource group statement is correct with expected parser 
result.
@@ -40,8 +40,8 @@ public final class MySQLAlterResourceGroupStatementAssert {
      * @param actual actual alter resource group statement
      * @param expected expected alter resource group statement test case
      */
-    public static void assertIs(final SQLCaseAssertContext assertContext, 
final MySQLAlterResourceGroupStatement actual, final 
AlterResourceGroupStatementTestCase expected) {
-        assertNotNull(expected.getGroup(), "expected alter resource group 
should be not null");
-        assertThat(actual.getGroupName(), is(expected.getGroup().getName()));
+    public static void assertIs(final SQLCaseAssertContext assertContext, 
final AlterResourceGroupStatement actual, final 
AlterResourceGroupStatementTestCase expected) {
+        assertNotNull(expected.getGroup(), assertContext.getText("expected 
alter resource group should be not null"));
+        assertThat(assertContext.getText("group name does not match: "), 
actual.getGroupName(), is(expected.getGroup().getName()));
     }
 }
diff --git 
a/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/asserts/statement/dal/impl/mysql/MySQLBinlogStatementAssert.java
 
b/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/asserts/statement/dal/impl/BinlogStatementAssert.java
similarity index 85%
rename from 
test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/asserts/statement/dal/impl/mysql/MySQLBinlogStatementAssert.java
rename to 
test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/asserts/statement/dal/impl/BinlogStatementAssert.java
index 11bc03b26d7..5135881d007 100644
--- 
a/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/asserts/statement/dal/impl/mysql/MySQLBinlogStatementAssert.java
+++ 
b/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/asserts/statement/dal/impl/BinlogStatementAssert.java
@@ -15,11 +15,11 @@
  * limitations under the License.
  */
 
-package 
org.apache.shardingsphere.test.it.sql.parser.internal.asserts.statement.dal.impl.mysql;
+package 
org.apache.shardingsphere.test.it.sql.parser.internal.asserts.statement.dal.impl;
 
 import lombok.AccessLevel;
 import lombok.NoArgsConstructor;
-import 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.dal.MySQLBinlogStatement;
+import 
org.apache.shardingsphere.sql.parser.sql.common.statement.dal.BinlogStatement;
 import 
org.apache.shardingsphere.test.it.sql.parser.internal.asserts.SQLCaseAssertContext;
 import 
org.apache.shardingsphere.test.it.sql.parser.internal.cases.parser.jaxb.statement.dal.BinlogStatementTestCase;
 
@@ -27,10 +27,10 @@ import static org.hamcrest.CoreMatchers.is;
 import static org.hamcrest.MatcherAssert.assertThat;
 
 /**
- * MySQL binlog statement assert.
+ * Binlog statement assert.
  */
 @NoArgsConstructor(access = AccessLevel.PRIVATE)
-public final class MySQLBinlogStatementAssert {
+public final class BinlogStatementAssert {
     
     /**
      * Assert binlog statement is correct with expected parser result.
@@ -39,7 +39,7 @@ public final class MySQLBinlogStatementAssert {
      * @param actual actual binlog statement
      * @param expected expected binlog statement test case
      */
-    public static void assertIs(final SQLCaseAssertContext assertContext, 
final MySQLBinlogStatement actual, final BinlogStatementTestCase expected) {
+    public static void assertIs(final SQLCaseAssertContext assertContext, 
final BinlogStatement actual, final BinlogStatementTestCase expected) {
         assertThat(assertContext.getText("Binlog statement context does not 
match: "), actual.getBase64Str(), is(expected.getBase64Str()));
     }
 }
diff --git 
a/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/asserts/statement/dal/impl/CacheIndexStatementAssert.java
 
b/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/asserts/statement/dal/impl/CacheIndexStatementAssert.java
index 1d4bb0406e7..e600bdf7150 100644
--- 
a/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/asserts/statement/dal/impl/CacheIndexStatementAssert.java
+++ 
b/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/asserts/statement/dal/impl/CacheIndexStatementAssert.java
@@ -19,16 +19,16 @@ package 
org.apache.shardingsphere.test.it.sql.parser.internal.asserts.statement.
 
 import lombok.AccessLevel;
 import lombok.NoArgsConstructor;
+import 
org.apache.shardingsphere.sql.parser.sql.common.segment.dal.CacheTableIndexSegment;
+import 
org.apache.shardingsphere.sql.parser.sql.common.segment.dal.PartitionDefinitionSegment;
+import 
org.apache.shardingsphere.sql.parser.sql.common.segment.dal.PartitionSegment;
 import 
org.apache.shardingsphere.sql.parser.sql.common.segment.ddl.index.IndexSegment;
-import 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.dal.MySQLCacheIndexStatement;
-import 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.segment.CacheTableIndexSegment;
-import 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.segment.PartitionDefinitionSegment;
-import 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.segment.PartitionSegment;
+import 
org.apache.shardingsphere.sql.parser.sql.common.statement.dal.CacheIndexStatement;
 import 
org.apache.shardingsphere.test.it.sql.parser.internal.asserts.SQLCaseAssertContext;
 import 
org.apache.shardingsphere.test.it.sql.parser.internal.asserts.segment.SQLSegmentAssert;
+import 
org.apache.shardingsphere.test.it.sql.parser.internal.asserts.segment.identifier.IdentifierValueAssert;
 import 
org.apache.shardingsphere.test.it.sql.parser.internal.asserts.segment.index.IndexAssert;
 import 
org.apache.shardingsphere.test.it.sql.parser.internal.asserts.segment.table.TableAssert;
-import 
org.apache.shardingsphere.test.it.sql.parser.internal.asserts.segment.identifier.IdentifierValueAssert;
 import 
org.apache.shardingsphere.test.it.sql.parser.internal.cases.parser.jaxb.segment.impl.index.ExpectedCacheTableIndex;
 import 
org.apache.shardingsphere.test.it.sql.parser.internal.cases.parser.jaxb.segment.impl.index.ExpectedPartitionDefinition;
 import 
org.apache.shardingsphere.test.it.sql.parser.internal.cases.parser.jaxb.statement.dal.CacheIndexStatementTestCase;
@@ -49,7 +49,7 @@ public final class CacheIndexStatementAssert {
      * @param actual actual cache index statement
      * @param expected expected cache index statement test case
      */
-    public static void assertIs(final SQLCaseAssertContext assertContext, 
final MySQLCacheIndexStatement actual, final CacheIndexStatementTestCase 
expected) {
+    public static void assertIs(final SQLCaseAssertContext assertContext, 
final CacheIndexStatement actual, final CacheIndexStatementTestCase expected) {
         if (!expected.getTableIndexes().isEmpty()) {
             int count = 0;
             for (CacheTableIndexSegment each : actual.getTableIndexes()) {
diff --git 
a/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/asserts/statement/dal/impl/CheckTableStatementAssert.java
 
b/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/asserts/statement/dal/impl/CheckTableStatementAssert.java
index e0839a54b80..f3295646218 100644
--- 
a/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/asserts/statement/dal/impl/CheckTableStatementAssert.java
+++ 
b/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/asserts/statement/dal/impl/CheckTableStatementAssert.java
@@ -19,7 +19,7 @@ package 
org.apache.shardingsphere.test.it.sql.parser.internal.asserts.statement.
 
 import lombok.AccessLevel;
 import lombok.NoArgsConstructor;
-import 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.dal.MySQLCheckTableStatement;
+import 
org.apache.shardingsphere.sql.parser.sql.common.statement.dal.CheckTableStatement;
 import 
org.apache.shardingsphere.test.it.sql.parser.internal.asserts.SQLCaseAssertContext;
 import 
org.apache.shardingsphere.test.it.sql.parser.internal.asserts.segment.table.TableAssert;
 import 
org.apache.shardingsphere.test.it.sql.parser.internal.cases.parser.jaxb.statement.dal.CheckTableStatementTestCase;
@@ -37,7 +37,7 @@ public final class CheckTableStatementAssert {
      * @param actual actual check table statement
      * @param expected expected check table statement test case
      */
-    public static void assertIs(final SQLCaseAssertContext assertContext, 
final MySQLCheckTableStatement actual, final CheckTableStatementTestCase 
expected) {
+    public static void assertIs(final SQLCaseAssertContext assertContext, 
final CheckTableStatement actual, final CheckTableStatementTestCase expected) {
         TableAssert.assertIs(assertContext, actual.getTables(), 
expected.getTables());
     }
 }
diff --git 
a/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/asserts/statement/dal/impl/mysql/MySQLChecksumTableStatementAssert.java
 
b/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/asserts/statement/dal/impl/ChecksumTableStatementAssert.java
similarity index 82%
rename from 
test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/asserts/statement/dal/impl/mysql/MySQLChecksumTableStatementAssert.java
rename to 
test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/asserts/statement/dal/impl/ChecksumTableStatementAssert.java
index cc71f31cb47..8bbfc418b5c 100644
--- 
a/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/asserts/statement/dal/impl/mysql/MySQLChecksumTableStatementAssert.java
+++ 
b/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/asserts/statement/dal/impl/ChecksumTableStatementAssert.java
@@ -15,20 +15,20 @@
  * limitations under the License.
  */
 
-package 
org.apache.shardingsphere.test.it.sql.parser.internal.asserts.statement.dal.impl.mysql;
+package 
org.apache.shardingsphere.test.it.sql.parser.internal.asserts.statement.dal.impl;
 
 import lombok.AccessLevel;
 import lombok.NoArgsConstructor;
-import 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.dal.MySQLChecksumTableStatement;
+import 
org.apache.shardingsphere.sql.parser.sql.common.statement.dal.ChecksumTableStatement;
 import 
org.apache.shardingsphere.test.it.sql.parser.internal.asserts.SQLCaseAssertContext;
 import 
org.apache.shardingsphere.test.it.sql.parser.internal.asserts.segment.table.TableAssert;
 import 
org.apache.shardingsphere.test.it.sql.parser.internal.cases.parser.jaxb.statement.dal.ChecksumTableStatementTestCase;
 
 /**
- * MySQL checksum table statement assert.
+ * Checksum table statement assert.
  */
 @NoArgsConstructor(access = AccessLevel.PRIVATE)
-public final class MySQLChecksumTableStatementAssert {
+public final class ChecksumTableStatementAssert {
     
     /**
      * Assert checksum table statement is correct with expected parser result.
@@ -37,11 +37,11 @@ public final class MySQLChecksumTableStatementAssert {
      * @param actual actual checksum table statement
      * @param expected expected checksum table statement test case
      */
-    public static void assertIs(final SQLCaseAssertContext assertContext, 
final MySQLChecksumTableStatement actual, final ChecksumTableStatementTestCase 
expected) {
+    public static void assertIs(final SQLCaseAssertContext assertContext, 
final ChecksumTableStatement actual, final ChecksumTableStatementTestCase 
expected) {
         assertTables(assertContext, actual, expected);
     }
     
-    private static void assertTables(final SQLCaseAssertContext assertContext, 
final MySQLChecksumTableStatement actual, final ChecksumTableStatementTestCase 
expected) {
+    private static void assertTables(final SQLCaseAssertContext assertContext, 
final ChecksumTableStatement actual, final ChecksumTableStatementTestCase 
expected) {
         TableAssert.assertIs(assertContext, actual.getTables(), 
expected.getTables());
     }
 }
diff --git 
a/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/asserts/statement/dal/impl/CloneStatementAssert.java
 
b/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/asserts/statement/dal/impl/CloneStatementAssert.java
index 5c0120c00b0..e3cac8d8396 100644
--- 
a/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/asserts/statement/dal/impl/CloneStatementAssert.java
+++ 
b/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/asserts/statement/dal/impl/CloneStatementAssert.java
@@ -19,8 +19,8 @@ package 
org.apache.shardingsphere.test.it.sql.parser.internal.asserts.statement.
 
 import lombok.AccessLevel;
 import lombok.NoArgsConstructor;
-import 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.dal.MySQLCloneStatement;
-import 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.segment.CloneInstanceSegment;
+import 
org.apache.shardingsphere.sql.parser.sql.common.segment.dal.CloneInstanceSegment;
+import 
org.apache.shardingsphere.sql.parser.sql.common.statement.dal.CloneStatement;
 import 
org.apache.shardingsphere.test.it.sql.parser.internal.asserts.SQLCaseAssertContext;
 import 
org.apache.shardingsphere.test.it.sql.parser.internal.cases.parser.jaxb.statement.dal.CloneStatementTestCase;
 
@@ -40,7 +40,7 @@ public final class CloneStatementAssert {
      * @param actual actual clone statement
      * @param expected expected clone statement test case
      */
-    public static void assertIs(final SQLCaseAssertContext assertContext, 
final MySQLCloneStatement actual, final CloneStatementTestCase expected) {
+    public static void assertIs(final SQLCaseAssertContext assertContext, 
final CloneStatement actual, final CloneStatementTestCase expected) {
         if (null != expected.getDataDirectory()) {
             assertThat(assertContext.getText("Actual data directory does not 
match: "), actual.getCloneActionSegment().getCloneDir(), 
is(expected.getDataDirectory().getLocation()));
         }
diff --git 
a/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/asserts/statement/dal/impl/mysql/MySQLCreateResourceGroupStatementAssert.java
 
b/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/asserts/statement/dal/impl/CreateResourceGroupStatementAssert.java
similarity index 74%
rename from 
test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/asserts/statement/dal/impl/mysql/MySQLCreateResourceGroupStatementAssert.java
rename to 
test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/asserts/statement/dal/impl/CreateResourceGroupStatementAssert.java
index aa4c684a2ba..0448ac85a1c 100644
--- 
a/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/asserts/statement/dal/impl/mysql/MySQLCreateResourceGroupStatementAssert.java
+++ 
b/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/asserts/statement/dal/impl/CreateResourceGroupStatementAssert.java
@@ -15,23 +15,23 @@
  * limitations under the License.
  */
 
-package 
org.apache.shardingsphere.test.it.sql.parser.internal.asserts.statement.dal.impl.mysql;
+package 
org.apache.shardingsphere.test.it.sql.parser.internal.asserts.statement.dal.impl;
 
 import lombok.AccessLevel;
 import lombok.NoArgsConstructor;
-import 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.dal.MySQLCreateResourceGroupStatement;
+import 
org.apache.shardingsphere.sql.parser.sql.common.statement.dal.CreateResourceGroupStatement;
 import 
org.apache.shardingsphere.test.it.sql.parser.internal.asserts.SQLCaseAssertContext;
 import 
org.apache.shardingsphere.test.it.sql.parser.internal.cases.parser.jaxb.statement.dal.CreateResourceGroupStatementTestCase;
 
 import static org.hamcrest.CoreMatchers.is;
-import static org.junit.jupiter.api.Assertions.assertNotNull;
 import static org.hamcrest.MatcherAssert.assertThat;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
 
 /**
- * MySQL create resource group statement assert.
+ * Create resource group statement assert.
  */
 @NoArgsConstructor(access = AccessLevel.PRIVATE)
-public final class MySQLCreateResourceGroupStatementAssert {
+public final class CreateResourceGroupStatementAssert {
     
     /**
      * Assert create resource group statement is correct with expected parser 
result.
@@ -40,8 +40,8 @@ public final class MySQLCreateResourceGroupStatementAssert {
      * @param actual actual create resource group statement
      * @param expected expected create resource group statement test case
      */
-    public static void assertIs(final SQLCaseAssertContext assertContext, 
final MySQLCreateResourceGroupStatement actual, final 
CreateResourceGroupStatementTestCase expected) {
-        assertNotNull(expected.getGroup(), "expected create resource group 
should be not null");
-        assertThat(actual.getGroupName(), is(expected.getGroup().getName()));
+    public static void assertIs(final SQLCaseAssertContext assertContext, 
final CreateResourceGroupStatement actual, final 
CreateResourceGroupStatementTestCase expected) {
+        assertNotNull(expected.getGroup(), assertContext.getText("expected 
create resource group should be not null"));
+        assertThat(assertContext.getText("group name does not match: "), 
actual.getGroupName(), is(expected.getGroup().getName()));
     }
 }
diff --git 
a/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/asserts/statement/dal/impl/mysql/MySQLDelimiterStatementAssert.java
 
b/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/asserts/statement/dal/impl/DelimiterStatementAssert.java
similarity index 85%
rename from 
test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/asserts/statement/dal/impl/mysql/MySQLDelimiterStatementAssert.java
rename to 
test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/asserts/statement/dal/impl/DelimiterStatementAssert.java
index 0e2a39e7e55..7d2f4814a07 100644
--- 
a/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/asserts/statement/dal/impl/mysql/MySQLDelimiterStatementAssert.java
+++ 
b/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/asserts/statement/dal/impl/DelimiterStatementAssert.java
@@ -15,11 +15,11 @@
  * limitations under the License.
  */
 
-package 
org.apache.shardingsphere.test.it.sql.parser.internal.asserts.statement.dal.impl.mysql;
+package 
org.apache.shardingsphere.test.it.sql.parser.internal.asserts.statement.dal.impl;
 
 import lombok.AccessLevel;
 import lombok.NoArgsConstructor;
-import 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.dal.MySQLDelimiterStatement;
+import 
org.apache.shardingsphere.sql.parser.sql.common.statement.dal.DelimiterStatement;
 import 
org.apache.shardingsphere.test.it.sql.parser.internal.asserts.SQLCaseAssertContext;
 import 
org.apache.shardingsphere.test.it.sql.parser.internal.cases.parser.jaxb.statement.dal.DelimiterStatementTestCase;
 
@@ -27,10 +27,10 @@ import static org.hamcrest.CoreMatchers.is;
 import static org.hamcrest.MatcherAssert.assertThat;
 
 /**
- * delimiter statement assert.
+ * Delimiter statement assert.
  */
 @NoArgsConstructor(access = AccessLevel.PRIVATE)
-public final class MySQLDelimiterStatementAssert {
+public final class DelimiterStatementAssert {
     
     /**
      * Assert delimiter index statement is correct with expected parser result.
@@ -39,7 +39,7 @@ public final class MySQLDelimiterStatementAssert {
      * @param actual actual delimiter statement
      * @param expected expected delimiter statement test case
      */
-    public static void assertIs(final SQLCaseAssertContext assertContext, 
final MySQLDelimiterStatement actual, final DelimiterStatementTestCase 
expected) {
+    public static void assertIs(final SQLCaseAssertContext assertContext, 
final DelimiterStatement actual, final DelimiterStatementTestCase expected) {
         assertThat(assertContext.getText("delimiter name assertion error: "), 
actual.getDelimiterName(), is(expected.getDelimiterName()));
     }
 }
diff --git 
a/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/asserts/statement/dal/impl/LoadIndexInfoStatementAssert.java
 
b/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/asserts/statement/dal/impl/LoadIndexInfoStatementAssert.java
index b4699a8497b..276bdd87639 100644
--- 
a/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/asserts/statement/dal/impl/LoadIndexInfoStatementAssert.java
+++ 
b/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/asserts/statement/dal/impl/LoadIndexInfoStatementAssert.java
@@ -19,15 +19,15 @@ package 
org.apache.shardingsphere.test.it.sql.parser.internal.asserts.statement.
 
 import lombok.AccessLevel;
 import lombok.NoArgsConstructor;
+import 
org.apache.shardingsphere.sql.parser.sql.common.segment.dal.PartitionSegment;
 import 
org.apache.shardingsphere.sql.parser.sql.common.segment.ddl.index.IndexSegment;
 import 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.dal.MySQLLoadIndexInfoStatement;
 import 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.segment.LoadTableIndexSegment;
-import 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.segment.PartitionSegment;
 import 
org.apache.shardingsphere.test.it.sql.parser.internal.asserts.SQLCaseAssertContext;
 import 
org.apache.shardingsphere.test.it.sql.parser.internal.asserts.segment.SQLSegmentAssert;
+import 
org.apache.shardingsphere.test.it.sql.parser.internal.asserts.segment.identifier.IdentifierValueAssert;
 import 
org.apache.shardingsphere.test.it.sql.parser.internal.asserts.segment.index.IndexAssert;
 import 
org.apache.shardingsphere.test.it.sql.parser.internal.asserts.segment.table.TableAssert;
-import 
org.apache.shardingsphere.test.it.sql.parser.internal.asserts.segment.identifier.IdentifierValueAssert;
 import 
org.apache.shardingsphere.test.it.sql.parser.internal.cases.parser.jaxb.segment.impl.index.ExpectedLoadTableIndex;
 import 
org.apache.shardingsphere.test.it.sql.parser.internal.cases.parser.jaxb.statement.dal.LoadIndexInfoStatementTestCase;
 

Reply via email to