You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by wu...@apache.org on 2021/06/25 10:19:29 UTC

[shardingsphere] branch master updated: Revise #10801 with compile error and code format (#11017)

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

wuweijie 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 61e4623  Revise #10801 with compile error and code format (#11017)
61e4623 is described below

commit 61e4623584899b116ea7367f40db50e5a6b34264
Author: Liang Zhang <te...@163.com>
AuthorDate: Fri Jun 25 18:19:00 2021 +0800

    Revise #10801 with compile error and code format (#11017)
    
    * Revise #10801
    
    * Revise #10801
---
 .../binlog/row/column/MySQLBinlogColumnDef.java    |   5 +-
 .../handshake/MySQLHandshakeResponse41Packet.java  |   2 +-
 .../DistSQLStatementParserParameterizedTest.java   |   6 +-
 ...baseDiscoveryRuleStatementParserEngineTest.java | 110 -----------
 .../core/EncryptRuleStatementParserEngineTest.java | 124 ------------
 ...riteSplittingRuleStatementParserEngineTest.java | 133 -------------
 .../ShardingRuleStatementParserEngineTest.java     | 216 ---------------------
 .../scaling/web/entity/ResponseContent.java        |   2 +-
 .../scaling/core/common/record/DataRecord.java     |   2 +-
 .../scaling/core/config/DumperConfiguration.java   |   2 +-
 .../scaling/core/config/HandleConfiguration.java   |   2 +-
 .../scaling/core/config/ImporterConfiguration.java |   2 +-
 .../scaling/core/config/JobConfiguration.java      |   2 +-
 .../scaling/core/config/ServerConfiguration.java   |   2 +-
 .../core/config/yaml/YamlServerConfiguration.java  |   2 +-
 .../core/executor/AbstractScalingExecutor.java     |   2 +-
 .../scaling/mysql/binlog/BinlogContext.java        |   6 +-
 .../scaling/mysql/binlog/BinlogPosition.java       |   2 +-
 .../mysql/binlog/event/AbstractBinlogEvent.java    |   2 +-
 .../mysql/binlog/event/DeleteRowsEvent.java        |   2 +-
 .../mysql/binlog/event/UpdateRowsEvent.java        |   2 +-
 .../scaling/mysql/binlog/event/WriteRowsEvent.java |   2 +-
 .../scaling/mysql/client/ServerInfo.java           |   2 +-
 .../postgresql/wal/event/AbstractRowEvent.java     |   2 +-
 .../postgresql/wal/event/AbstractWalEvent.java     |   2 +-
 .../postgresql/wal/event/DeleteRowEvent.java       |   2 +-
 .../postgresql/wal/event/UpdateRowEvent.java       |   2 +-
 .../postgresql/wal/event/WriteRowEvent.java        |   2 +-
 .../sql/common/segment/dal/FromTableSegment.java   |   2 +-
 .../common/segment/dml/expr/BetweenExpression.java |   4 +-
 .../common/segment/dml/expr/ListExpression.java    |   4 +-
 .../generic/table/DeleteMultiTableSegment.java     |   6 +-
 .../shardingsphere-sql-parser-test/pom.xml         |  26 +--
 .../asserts/segment/distsql/AlgorithmAssert.java   |  18 +-
 .../asserts/segment/distsql/DataSourceAssert.java  |  12 +-
 .../asserts/segment/distsql/PropertiesAssert.java  |   6 +-
 .../asserts/segment/distsql/PropertyAssert.java    |   9 +-
 .../asserts/segment/distsql/SchemaAssert.java      |   6 +-
 .../asserts/segment/distsql/TableRuleAssert.java   |  14 +-
 .../distsql/rdl/DatabaseDiscoveryRuleAssert.java   |  26 +--
 .../segment/distsql/rdl/EncryptColumnAssert.java   |  16 +-
 .../segment/distsql/rdl/EncryptRuleAssert.java     |  24 +--
 .../distsql/rdl/ReadwriteSplittingRuleAssert.java  |  14 +-
 .../rdl/ShardingBindingTableRuleAssert.java        |  16 +-
 .../statement/distsql/rdl/RDLStatementAssert.java  |   6 +-
 .../rdl/alter/AlterRuleStatementAssert.java        |   6 +-
 .../AlterDatabaseDiscoveryRuleStatementAssert.java |  21 +-
 .../impl/AlterEncryptRuleStatementAssert.java      |  22 +--
 ...AlterReadwriteSplittingRuleStatementAssert.java |  18 +-
 ...erShardingBindingTableRulesStatementAssert.java |  26 +--
 ...ShardingBroadcastTableRulesStatementAssert.java |  12 +-
 .../AlterShardingTableRuleStatementAssert.java     |  22 +--
 .../rdl/create/AddResourceStatementAssert.java     |  20 +-
 .../rdl/create/CreateRuleStatementAssert.java      |   6 +-
 ...CreateDatabaseDiscoveryRuleStatementAssert.java |  22 +--
 .../impl/CreateEncryptRuleStatementAssert.java     |  22 +--
 ...reateReadwriteSplittingRuleStatementAssert.java |  22 +--
 ...teShardingBindingTableRulesStatementAssert.java |  26 +--
 ...ShardingBroadcastTableRulesStatementAssert.java |  12 +-
 .../CreateShardingTableRuleStatementAssert.java    |  18 +-
 .../rdl/drop/DropResourceStatementAssert.java      |  12 +-
 .../distsql/rdl/drop/DropRuleStatementAssert.java  |   6 +-
 .../DropDatabaseDiscoveryRuleStatementAssert.java  |  12 +-
 .../drop/impl/DropEncryptRuleStatementAssert.java  |  12 +-
 .../DropReadwriteSplittingRuleStatementAssert.java |  12 +-
 ...opShardingBindingTableRulesStatementAssert.java |   6 +-
 ...ShardingBroadcastTableRulesStatementAssert.java |   6 +-
 .../impl/DropShardingTableRuleStatementAssert.java |   6 +-
 .../cases/SQLParserTestCasesRegistryFactory.java   |   2 +-
 .../jaxb/cases/domain/SQLParserTestCases.java      | 188 +++++++++---------
 .../impl/assignment/ExpectedValueAssign.java       |   5 +-
 .../segment/impl/assignment/ExpectedVariable.java  |   5 +-
 ...xpectedFunction.java => ExpectedAlgorithm.java} |   9 +-
 .../segment/impl/distsql/ExpectedDataSource.java   |  12 +-
 .../segment/impl/distsql/ExpectedProperties.java   |   9 +-
 .../segment/impl/distsql/ExpectedProperty.java     |   9 +-
 .../segment/impl/distsql/ExpectedTableRule.java    |  14 +-
 .../rdl/ExceptedReadwriteSplittingRule.java        |  13 +-
 .../distsql/rdl/ExpectedDatabaseDiscoveryRule.java |  11 +-
 .../impl/distsql/rdl/ExpectedEncryptColumn.java    |  17 +-
 .../impl/distsql/rdl/ExpectedEncryptRule.java      |   8 +-
 .../rdl/ExpectedShardingBindingTableRule.java      |   7 +-
 .../impl/expr/ExpectedBetweenExpression.java       |  14 +-
 .../expr/ExpectedBinaryOperationExpression.java    |  12 +-
 .../segment/impl/expr/ExpectedExistsSubquery.java  |  10 +-
 .../segment/impl/expr/ExpectedExpression.java      |  29 +--
 .../impl/expr/ExpectedExpressionSegment.java       |   3 +
 .../segment/impl/expr/ExpectedInExpression.java    |  12 +-
 .../segment/impl/expr/ExpectedListExpression.java  |   9 +-
 .../segment/impl/expr/ExpectedNotExpression.java   |   7 +-
 .../complex/ExpectedBaseComplexExpression.java     |   5 +-
 .../expr/complex/ExpectedCommonExpression.java     |   3 +
 .../complex/ExpectedComplexExpressionSegment.java  |   3 +
 .../expr/simple/ExpectedBaseSimpleExpression.java  |   5 +-
 .../expr/simple/ExpectedLiteralExpression.java     |   3 +
 .../simple/ExpectedParameterMarkerExpression.java  |   3 +
 .../simple/ExpectedSimpleExpressionSegment.java    |   3 +
 .../segment/impl/expr/simple/ExpectedSubquery.java |   3 +
 .../segment/impl/having/ExpectedHavingClause.java  |   4 +-
 .../domain/segment/impl/index/ExpectedIndex.java   |   4 -
 ...howDataBaseDiscoveryRulesStatementTestCase.java |   2 +-
 .../impl/ShowEncryptRulesStatementTestCase.java    |   6 +-
 ...owReadWriteSplittingRulesStatementTestCase.java |   2 +-
 ...ShardingBindingTableRulesStatementTestCase.java |   2 +-
 ...ardingBroadcastTableRulesStatementTestCase.java |   2 +-
 .../ShowShardingTableRulesStatementTestCase.java   |   4 +-
 ...lterDataBaseDiscoveryRuleStatementTestCase.java |   2 +-
 ...terReadWriteSplittingRuleStatementTestCase.java |   2 +-
 ...ShardingBindingTableRulesStatementTestCase.java |   2 +-
 ...ardingBroadcastTableRulesStatementTestCase.java |   2 +-
 .../AlterShardingTableRuleStatementTestCase.java   |   2 +-
 .../rdl/create/AddResourceStatementTestCase.java   |   2 +-
 ...eateDataBaseDiscoveryRuleStatementTestCase.java |   2 +-
 .../create/CreateEncryptRuleStatementTestCase.java |   2 +-
 ...ShardingBindingTableRulesStatementTestCase.java |   2 +-
 ...ardingBroadcastTableRulesStatementTestCase.java |   2 +-
 .../CreateShardingTableRuleStatementTestCase.java  |   2 +-
 ...DropDataBaseDiscoveryRuleStatementTestCase.java |   2 +-
 .../rdl/drop/DropEncryptRuleStatementTestCase.java |   2 +-
 ...ropReadWriteSplittingRuleStatementTestCase.java |   2 +-
 .../rdl/drop/DropResourceStatementTestCase.java    |   2 +-
 ...ShardingBindingTableRulesStatementTestCase.java |   4 -
 ...ardingBroadcastTableRulesStatementTestCase.java |   4 -
 .../DropShardingTableRuleStatementTestCase.java    |   4 +-
 .../sql/parser/parameterized/jaxb/sql/SQLCase.java |   2 +-
 .../src/main/resources/case/rdl/alter.xml          |  18 +-
 .../src/main/resources/case/rdl/create.xml         |  26 +--
 .../src/main/resources/case/rdl/drop.xml           |  23 +--
 .../src/main/resources/case/rql/show.xml           |  53 +++--
 .../src/main/resources/sql/supported/rdl/alter.xml |  22 +--
 .../main/resources/sql/supported/rdl/create.xml    |  27 +--
 .../src/main/resources/sql/supported/rdl/drop.xml  |  14 +-
 .../src/main/resources/sql/supported/rql/show.xml  |  25 +--
 133 files changed, 684 insertions(+), 1225 deletions(-)

diff --git a/shardingsphere-db-protocol/shardingsphere-db-protocol-mysql/src/main/java/org/apache/shardingsphere/db/protocol/mysql/packet/binlog/row/column/MySQLBinlogColumnDef.java b/shardingsphere-db-protocol/shardingsphere-db-protocol-mysql/src/main/java/org/apache/shardingsphere/db/protocol/mysql/packet/binlog/row/column/MySQLBinlogColumnDef.java
index 0b4178e..c3cac67 100644
--- a/shardingsphere-db-protocol/shardingsphere-db-protocol-mysql/src/main/java/org/apache/shardingsphere/db/protocol/mysql/packet/binlog/row/column/MySQLBinlogColumnDef.java
+++ b/shardingsphere-db-protocol/shardingsphere-db-protocol-mysql/src/main/java/org/apache/shardingsphere/db/protocol/mysql/packet/binlog/row/column/MySQLBinlogColumnDef.java
@@ -17,11 +17,10 @@
 
 package org.apache.shardingsphere.db.protocol.mysql.packet.binlog.row.column;
 
-import org.apache.shardingsphere.db.protocol.mysql.constant.MySQLBinaryColumnType;
-
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
 import lombok.Setter;
+import org.apache.shardingsphere.db.protocol.mysql.constant.MySQLBinaryColumnType;
 
 /**
  * Column definition.
@@ -29,8 +28,8 @@ import lombok.Setter;
  * @see <a href="https://dev.mysql.com/doc/internals/en/table-map-event.html">TABLE_MAP_EVENT</a>
  */
 @RequiredArgsConstructor
-@Setter
 @Getter
+@Setter
 public final class MySQLBinlogColumnDef {
     
     private final MySQLBinaryColumnType columnType;
diff --git a/shardingsphere-db-protocol/shardingsphere-db-protocol-mysql/src/main/java/org/apache/shardingsphere/db/protocol/mysql/packet/handshake/MySQLHandshakeResponse41Packet.java b/shardingsphere-db-protocol/shardingsphere-db-protocol-mysql/src/main/java/org/apache/shardingsphere/db/protocol/mysql/packet/handshake/MySQLHandshakeResponse41Packet.java
index bcbff83..5c3e55b 100644
--- a/shardingsphere-db-protocol/shardingsphere-db-protocol-mysql/src/main/java/org/apache/shardingsphere/db/protocol/mysql/packet/handshake/MySQLHandshakeResponse41Packet.java
+++ b/shardingsphere-db-protocol/shardingsphere-db-protocol-mysql/src/main/java/org/apache/shardingsphere/db/protocol/mysql/packet/handshake/MySQLHandshakeResponse41Packet.java
@@ -31,8 +31,8 @@ import org.apache.shardingsphere.db.protocol.mysql.payload.MySQLPacketPayload;
  * @see <a href="https://dev.mysql.com/doc/internals/en/connection-phase-packets.html#packet-Protocol::HandshakeResponse41">HandshakeResponse41</a>
  */
 @RequiredArgsConstructor
-@Setter
 @Getter
+@Setter
 public final class MySQLHandshakeResponse41Packet implements MySQLPacket {
     
     private final int sequenceId;
diff --git a/shardingsphere-distsql-parser/shardingsphere-distsql-parser-test/src/test/java/org/apache/shardingsphere/distsql/parser/test/DistSQLStatementParserParameterizedTest.java b/shardingsphere-distsql-parser/shardingsphere-distsql-parser-test/src/test/java/org/apache/shardingsphere/distsql/parser/test/DistSQLStatementParserParameterizedTest.java
index 3d40312..69cbf26 100644
--- a/shardingsphere-distsql-parser/shardingsphere-distsql-parser-test/src/test/java/org/apache/shardingsphere/distsql/parser/test/DistSQLStatementParserParameterizedTest.java
+++ b/shardingsphere-distsql-parser/shardingsphere-distsql-parser-test/src/test/java/org/apache/shardingsphere/distsql/parser/test/DistSQLStatementParserParameterizedTest.java
@@ -25,12 +25,12 @@ import org.junit.runners.Parameterized;
 import java.util.Collection;
 
 @RunWith(Parameterized.class)
-public class DistSQLStatementParserParameterizedTest extends SQLParserParameterizedTest {
-
+public final class DistSQLStatementParserParameterizedTest extends SQLParserParameterizedTest {
+    
     public DistSQLStatementParserParameterizedTest(final String sqlCaseId, final String databaseType, final SQLCaseType sqlCaseType) {
         super(sqlCaseId, databaseType, sqlCaseType);
     }
-
+    
     @Parameterized.Parameters(name = "{0} ({2}) -> {1}")
     public static Collection<Object[]> getTestParameters() {
         return SQLParserParameterizedTest.getTestParameters("DistSQL");
diff --git a/shardingsphere-features/shardingsphere-db-discovery/shardingsphere-db-discovery-distsql/shardingsphere-db-discovery-distsql-parser/src/test/java/org/apache/shardingsphere/dbdiscovery/distsql/parser/core/DatabaseDiscoveryRuleStatementParserEngineTest.java b/shardingsphere-features/shardingsphere-db-discovery/shardingsphere-db-discovery-distsql/shardingsphere-db-discovery-distsql-parser/src/test/java/org/apache/shardingsphere/dbdiscovery/distsql/parser/core/DatabaseDiscoveryRul [...]
deleted file mode 100644
index b751e0d..0000000
--- a/shardingsphere-features/shardingsphere-db-discovery/shardingsphere-db-discovery-distsql/shardingsphere-db-discovery-distsql-parser/src/test/java/org/apache/shardingsphere/dbdiscovery/distsql/parser/core/DatabaseDiscoveryRuleStatementParserEngineTest.java
+++ /dev/null
@@ -1,110 +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.dbdiscovery.distsql.parser.core;
-
-import org.apache.shardingsphere.distsql.parser.api.DistSQLStatementParserEngine;
-import org.apache.shardingsphere.dbdiscovery.distsql.parser.segment.DatabaseDiscoveryRuleSegment;
-import org.apache.shardingsphere.dbdiscovery.distsql.parser.statement.AlterDatabaseDiscoveryRuleStatement;
-import org.apache.shardingsphere.dbdiscovery.distsql.parser.statement.CreateDatabaseDiscoveryRuleStatement;
-import org.apache.shardingsphere.dbdiscovery.distsql.parser.statement.DropDatabaseDiscoveryRuleStatement;
-import org.apache.shardingsphere.dbdiscovery.distsql.parser.statement.ShowDatabaseDiscoveryRulesStatement;
-import org.apache.shardingsphere.sql.parser.sql.common.statement.SQLStatement;
-import org.junit.Test;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-import static org.hamcrest.CoreMatchers.is;
-import static org.junit.Assert.assertThat;
-import static org.junit.Assert.assertTrue;
-
-// TODO use Parameterized + XML instead of static test
-public final class DatabaseDiscoveryRuleStatementParserEngineTest {
-    
-    private static final String CREATE_DATABASE_DISCOVERY_RULE = "CREATE DB_DISCOVERY RULE ha_group_0 ("
-            + "RESOURCES(resource0,resource1),"
-            + "TYPE(NAME=mgr,PROPERTIES(groupName='92504d5b-6dec',keepAliveCron=''))),"
-            + "ha_group_1 ("
-            + "RESOURCES(resource2,resource3),"
-            + "TYPE(NAME=mgr2,PROPERTIES(groupName='92504d5b-6dec-2',keepAliveCron=''))"
-            + ")";
-    
-    private static final String ALTER_DATABASE_DISCOVERY_RULE = "ALTER DB_DISCOVERY RULE ha_group_0 ("
-            + "RESOURCES(resource0,resource1),"
-            + "TYPE(NAME=mgr,PROPERTIES(groupName='92504d5b-6dec',keepAliveCron=''))),"
-            + "ha_group_1 ("
-            + "RESOURCES(resource2,resource3),"
-            + "TYPE(NAME=mgr2,PROPERTIES(groupName='92504d5b-6dec-2',keepAliveCron=''))"
-            + ")";
-    
-    private static final String DROP_DATABASE_DISCOVERY_RULE = "DROP DB_DISCOVERY RULE ha_group_0,ha_group_1";
-    
-    private static final String SHOW_DB_DISCOVERY_RULES = "SHOW DB_DISCOVERY RULES FROM db_discovery_db";
-    
-    private final DistSQLStatementParserEngine engine = new DistSQLStatementParserEngine();
-    
-    @Test
-    public void assertParseCreateDatabaseDiscoveryRule() {
-        SQLStatement sqlStatement = engine.parse(CREATE_DATABASE_DISCOVERY_RULE);
-        assertTrue(sqlStatement instanceof CreateDatabaseDiscoveryRuleStatement);
-        CreateDatabaseDiscoveryRuleStatement statement = (CreateDatabaseDiscoveryRuleStatement) sqlStatement;
-        assertThat(statement.getRules().size(), is(2));
-        List<DatabaseDiscoveryRuleSegment> databaseDiscoveryRuleSegments
-                = new ArrayList<>(((CreateDatabaseDiscoveryRuleStatement) sqlStatement).getRules());
-        assertThat(databaseDiscoveryRuleSegments.get(0).getName(), is("ha_group_0"));
-        assertThat(databaseDiscoveryRuleSegments.get(0).getDiscoveryTypeName(), is("mgr"));
-        assertThat(databaseDiscoveryRuleSegments.get(0).getDataSources(), is(Arrays.asList("resource0", "resource1")));
-        assertThat(databaseDiscoveryRuleSegments.get(0).getProps().get("groupName"), is("92504d5b-6dec"));
-        assertThat(databaseDiscoveryRuleSegments.get(1).getName(), is("ha_group_1"));
-        assertThat(databaseDiscoveryRuleSegments.get(1).getDiscoveryTypeName(), is("mgr2"));
-        assertThat(databaseDiscoveryRuleSegments.get(1).getDataSources(), is(Arrays.asList("resource2", "resource3")));
-        assertThat(databaseDiscoveryRuleSegments.get(1).getProps().get("groupName"), is("92504d5b-6dec-2"));
-    }
-    
-    @Test
-    public void assertParseAlterDatabaseDiscoveryRule() {
-        SQLStatement sqlStatement = engine.parse(ALTER_DATABASE_DISCOVERY_RULE);
-        assertTrue(sqlStatement instanceof AlterDatabaseDiscoveryRuleStatement);
-        AlterDatabaseDiscoveryRuleStatement statement = (AlterDatabaseDiscoveryRuleStatement) sqlStatement;
-        assertThat(statement.getRules().size(), is(2));
-        List<DatabaseDiscoveryRuleSegment> databaseDiscoveryRuleSegments = new ArrayList<>(((AlterDatabaseDiscoveryRuleStatement) sqlStatement).getRules());
-        assertThat(databaseDiscoveryRuleSegments.get(0).getName(), is("ha_group_0"));
-        assertThat(databaseDiscoveryRuleSegments.get(0).getDiscoveryTypeName(), is("mgr"));
-        assertThat(databaseDiscoveryRuleSegments.get(0).getDataSources(), is(Arrays.asList("resource0", "resource1")));
-        assertThat(databaseDiscoveryRuleSegments.get(0).getProps().get("groupName"), is("92504d5b-6dec"));
-        assertThat(databaseDiscoveryRuleSegments.get(1).getName(), is("ha_group_1"));
-        assertThat(databaseDiscoveryRuleSegments.get(1).getDiscoveryTypeName(), is("mgr2"));
-        assertThat(databaseDiscoveryRuleSegments.get(1).getDataSources(), is(Arrays.asList("resource2", "resource3")));
-        assertThat(databaseDiscoveryRuleSegments.get(1).getProps().get("groupName"), is("92504d5b-6dec-2"));
-    }
-    
-    @Test
-    public void assertParseDropDatabaseDiscoveryRule() {
-        SQLStatement sqlStatement = engine.parse(DROP_DATABASE_DISCOVERY_RULE);
-        assertTrue(sqlStatement instanceof DropDatabaseDiscoveryRuleStatement);
-        assertThat(((DropDatabaseDiscoveryRuleStatement) sqlStatement).getRuleNames(), is(Arrays.asList("ha_group_0", "ha_group_1")));
-    }
-    
-    @Test
-    public void assertParseShowDatabaseDiscoveryRules() {
-        SQLStatement sqlStatement = engine.parse(SHOW_DB_DISCOVERY_RULES);
-        assertTrue(sqlStatement instanceof ShowDatabaseDiscoveryRulesStatement);
-        assertThat(((ShowDatabaseDiscoveryRulesStatement) sqlStatement).getSchema().get().getIdentifier().getValue(), is("db_discovery_db"));
-    }
-}
diff --git a/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-distsql/shardingsphere-encrypt-distsql-parser/src/test/java/org/apache/shardingsphere/encrypt/distsql/parser/core/EncryptRuleStatementParserEngineTest.java b/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-distsql/shardingsphere-encrypt-distsql-parser/src/test/java/org/apache/shardingsphere/encrypt/distsql/parser/core/EncryptRuleStatementParserEngineTest.java
deleted file mode 100644
index c446d17..0000000
--- a/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-distsql/shardingsphere-encrypt-distsql-parser/src/test/java/org/apache/shardingsphere/encrypt/distsql/parser/core/EncryptRuleStatementParserEngineTest.java
+++ /dev/null
@@ -1,124 +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.encrypt.distsql.parser.core;
-
-import org.apache.shardingsphere.distsql.parser.api.DistSQLStatementParserEngine;
-import org.apache.shardingsphere.encrypt.distsql.parser.segment.EncryptColumnSegment;
-import org.apache.shardingsphere.encrypt.distsql.parser.segment.EncryptRuleSegment;
-import org.apache.shardingsphere.encrypt.distsql.parser.statement.AlterEncryptRuleStatement;
-import org.apache.shardingsphere.encrypt.distsql.parser.statement.CreateEncryptRuleStatement;
-import org.apache.shardingsphere.encrypt.distsql.parser.statement.DropEncryptRuleStatement;
-import org.apache.shardingsphere.encrypt.distsql.parser.statement.ShowEncryptRulesStatement;
-import org.apache.shardingsphere.sql.parser.sql.common.statement.SQLStatement;
-import org.junit.Test;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-import static org.hamcrest.CoreMatchers.is;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertThat;
-import static org.junit.Assert.assertTrue;
-
-// TODO use Parameterized + XML instead of static test
-public final class EncryptRuleStatementParserEngineTest {
-    
-    private static final String CREATE_ENCRYPT_RULE = "CREATE ENCRYPT RULE t_encrypt ("
-            + "COLUMNS("
-            + "(NAME=user_id,PLAIN=user_plain,CIPHER=user_cipher,TYPE(NAME=AES,PROPERTIES('aes-key-value'='123456abc'))),"
-            + "(NAME=order_id, CIPHER =order_cipher,TYPE(NAME=MD5))"
-            + "))";
-    
-    private static final String ALTER_ENCRYPT_RULE = "ALTER ENCRYPT RULE t_encrypt ("
-            + "COLUMNS("
-            + "(NAME=user_id,PLAIN=user_plain,CIPHER=user_cipher,TYPE(NAME=AES,PROPERTIES('aes-key-value'='123456abc'))),"
-            + "(NAME=order_id, CIPHER =order_cipher,TYPE(NAME=MD5))"
-            + "))";
-    
-    private static final String DROP_ENCRYPT_RULE = "DROP ENCRYPT RULE t_encrypt,t_encrypt_order";
-    
-    private static final String SHOW_ENCRYPT_RULES = "SHOW ENCRYPT RULES FROM encrypt_db";
-    
-    private static final String SHOW_ENCRYPT_TABLE_RULE = "SHOW ENCRYPT TABLE RULE t_encrypt FROM encrypt_db";
-    
-    private final DistSQLStatementParserEngine engine = new DistSQLStatementParserEngine();
-    
-    @Test
-    public void assertParseCreateEncryptRule() {
-        SQLStatement sqlStatement = engine.parse(CREATE_ENCRYPT_RULE);
-        assertTrue(sqlStatement instanceof CreateEncryptRuleStatement);
-        CreateEncryptRuleStatement createEncryptRuleStatement = (CreateEncryptRuleStatement) sqlStatement;
-        assertThat(createEncryptRuleStatement.getRules().size(), is(1));
-        EncryptRuleSegment encryptRuleSegment = createEncryptRuleStatement.getRules().iterator().next();
-        assertThat(encryptRuleSegment.getTableName(), is("t_encrypt"));
-        assertThat(encryptRuleSegment.getColumns().size(), is(2));
-        List<EncryptColumnSegment> encryptColumnSegments = new ArrayList<>(encryptRuleSegment.getColumns());
-        assertThat(encryptColumnSegments.get(0).getName(), is("user_id"));
-        assertThat(encryptColumnSegments.get(0).getCipherColumn(), is("user_cipher"));
-        assertThat(encryptColumnSegments.get(0).getPlainColumn(), is("user_plain"));
-        assertThat(encryptColumnSegments.get(0).getEncryptor().getName(), is("AES"));
-        assertThat(encryptColumnSegments.get(0).getEncryptor().getProps().get("aes-key-value"), is("123456abc"));
-        assertThat(encryptColumnSegments.get(1).getName(), is("order_id"));
-        assertThat(encryptColumnSegments.get(1).getCipherColumn(), is("order_cipher"));
-        assertThat(encryptColumnSegments.get(1).getEncryptor().getName(), is("MD5"));
-    }
-    
-    @Test
-    public void assertParseAlterEncryptRule() {
-        SQLStatement sqlStatement = engine.parse(ALTER_ENCRYPT_RULE);
-        assertTrue(sqlStatement instanceof AlterEncryptRuleStatement);
-        AlterEncryptRuleStatement alterEncryptRuleStatement = (AlterEncryptRuleStatement) sqlStatement;
-        assertThat(alterEncryptRuleStatement.getRules().size(), is(1));
-        EncryptRuleSegment encryptRuleSegment = alterEncryptRuleStatement.getRules().iterator().next();
-        assertThat(encryptRuleSegment.getTableName(), is("t_encrypt"));
-        assertThat(encryptRuleSegment.getColumns().size(), is(2));
-        List<EncryptColumnSegment> encryptColumnSegments = new ArrayList<>(encryptRuleSegment.getColumns());
-        assertThat(encryptColumnSegments.get(0).getName(), is("user_id"));
-        assertThat(encryptColumnSegments.get(0).getCipherColumn(), is("user_cipher"));
-        assertThat(encryptColumnSegments.get(0).getPlainColumn(), is("user_plain"));
-        assertThat(encryptColumnSegments.get(0).getEncryptor().getName(), is("AES"));
-        assertThat(encryptColumnSegments.get(0).getEncryptor().getProps().get("aes-key-value"), is("123456abc"));
-        assertThat(encryptColumnSegments.get(1).getName(), is("order_id"));
-        assertThat(encryptColumnSegments.get(1).getCipherColumn(), is("order_cipher"));
-        assertThat(encryptColumnSegments.get(1).getEncryptor().getName(), is("MD5"));
-    }
-    
-    @Test
-    public void assertParseDropEncryptRule() {
-        SQLStatement sqlStatement = engine.parse(DROP_ENCRYPT_RULE);
-        assertTrue(sqlStatement instanceof DropEncryptRuleStatement);
-        assertThat(((DropEncryptRuleStatement) sqlStatement).getTables(), is(Arrays.asList("t_encrypt", "t_encrypt_order")));
-    }
-    
-    @Test
-    public void assertParseShowEncryptRules() {
-        SQLStatement sqlStatement = engine.parse(SHOW_ENCRYPT_RULES);
-        assertTrue(sqlStatement instanceof ShowEncryptRulesStatement);
-        assertNull(((ShowEncryptRulesStatement) sqlStatement).getTableName());
-        assertThat(((ShowEncryptRulesStatement) sqlStatement).getSchema().get().getIdentifier().getValue(), is("encrypt_db"));
-    }
-    
-    @Test
-    public void assertParseShowEncryptTableRule() {
-        SQLStatement sqlStatement = engine.parse(SHOW_ENCRYPT_TABLE_RULE);
-        assertTrue(sqlStatement instanceof ShowEncryptRulesStatement);
-        assertThat(((ShowEncryptRulesStatement) sqlStatement).getSchema().get().getIdentifier().getValue(), is("encrypt_db"));
-        assertThat(((ShowEncryptRulesStatement) sqlStatement).getTableName(), is("t_encrypt"));
-    }
-}
diff --git a/shardingsphere-features/shardingsphere-readwrite-splitting/shardingsphere-readwrite-splitting-distsql/shardingsphere-readwrite-splitting-distsql-parser/src/test/java/org/apache/shardingsphere/readwritesplitting/distsql/parser/ReadwriteSplittingRuleStatementParserEngineTest.java b/shardingsphere-features/shardingsphere-readwrite-splitting/shardingsphere-readwrite-splitting-distsql/shardingsphere-readwrite-splitting-distsql-parser/src/test/java/org/apache/shardingsphere/readwri [...]
deleted file mode 100644
index 65598a0..0000000
--- a/shardingsphere-features/shardingsphere-readwrite-splitting/shardingsphere-readwrite-splitting-distsql/shardingsphere-readwrite-splitting-distsql-parser/src/test/java/org/apache/shardingsphere/readwritesplitting/distsql/parser/ReadwriteSplittingRuleStatementParserEngineTest.java
+++ /dev/null
@@ -1,133 +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.readwritesplitting.distsql.parser;
-
-import org.apache.shardingsphere.distsql.parser.api.DistSQLStatementParserEngine;
-import org.apache.shardingsphere.readwritesplitting.distsql.parser.segment.ReadwriteSplittingRuleSegment;
-import org.apache.shardingsphere.readwritesplitting.distsql.parser.statement.AlterReadwriteSplittingRuleStatement;
-import org.apache.shardingsphere.readwritesplitting.distsql.parser.statement.CreateReadwriteSplittingRuleStatement;
-import org.apache.shardingsphere.readwritesplitting.distsql.parser.statement.DropReadwriteSplittingRuleStatement;
-import org.apache.shardingsphere.readwritesplitting.distsql.parser.statement.ShowReadwriteSplittingRulesStatement;
-import org.apache.shardingsphere.sql.parser.sql.common.statement.SQLStatement;
-import org.junit.Test;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-import static org.hamcrest.CoreMatchers.is;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertThat;
-import static org.junit.Assert.assertTrue;
-
-// TODO use Parameterized + XML instead of static test
-public final class ReadwriteSplittingRuleStatementParserEngineTest {
-    
-    private static final String CREATE_STATIC_READWRITE_SPLITTING_RULE = "CREATE READWRITE_SPLITTING RULE ms_group_0 ("
-            + "WRITE_RESOURCE=primary_ds,"
-            + "READ_RESOURCES(replica_ds_0,replica_ds_1),"
-            + "TYPE(NAME=random)"
-            + ")";
-    
-    private static final String CREATE_DYNAMIC_READWRITE_SPLITTING_RULE = "CREATE READWRITE_SPLITTING RULE ms_group_1 ("
-            + "AUTO_AWARE_RESOURCE=group_0,"
-            + "TYPE(NAME=random,PROPERTIES(read_weight='2:1'))"
-            + ")";
-    
-    private static final String ALTER_READWRITE_SPLITTING_RULE = "ALTER READWRITE_SPLITTING RULE ms_group_0 ("
-            + "AUTO_AWARE_RESOURCE=group_0,"
-            + "TYPE(NAME=random,PROPERTIES(read_weight='2:1'))),"
-            + "ms_group_1 ("
-            + "WRITE_RESOURCE=primary_ds,"
-            + "READ_RESOURCES(replica_ds_0,replica_ds_1),"
-            + "TYPE(NAME=random)"
-            + ")";
-    
-    private static final String DROP_READWRITE_SPLITTING_RULE = "DROP READWRITE_SPLITTING RULE ms_group_0,ms_group_1";
-    
-    private static final String SHOW_READWRITE_SPLITTING_RULES = "SHOW READWRITE_SPLITTING RULES FROM readwrite_splitting_db";
-    
-    private final DistSQLStatementParserEngine engine = new DistSQLStatementParserEngine();
-    
-    @Test
-    public void assertParseStaticReadwriteSplittingRule() {
-        SQLStatement sqlStatement = engine.parse(CREATE_STATIC_READWRITE_SPLITTING_RULE);
-        assertTrue(sqlStatement instanceof CreateReadwriteSplittingRuleStatement);
-        CreateReadwriteSplittingRuleStatement statement = (CreateReadwriteSplittingRuleStatement) sqlStatement;
-        assertThat(statement.getRules().size(), is(1));
-        List<ReadwriteSplittingRuleSegment> readwriteSplittingRuleSegments
-                = new ArrayList<>(((CreateReadwriteSplittingRuleStatement) sqlStatement).getRules());
-        assertThat(readwriteSplittingRuleSegments.get(0).getName(), is("ms_group_0"));
-        assertThat(readwriteSplittingRuleSegments.get(0).getWriteDataSource(), is("primary_ds"));
-        assertThat(readwriteSplittingRuleSegments.get(0).getReadDataSources(), is(Arrays.asList("replica_ds_0", "replica_ds_1")));
-        assertThat(readwriteSplittingRuleSegments.get(0).getLoadBalancer(), is("random"));
-        assertThat(readwriteSplittingRuleSegments.get(0).getProps().size(), is(0));
-    }
-    
-    @Test
-    public void assertParseDynamicReadwriteSplittingRule() {
-        SQLStatement sqlStatement = engine.parse(CREATE_DYNAMIC_READWRITE_SPLITTING_RULE);
-        assertTrue(sqlStatement instanceof CreateReadwriteSplittingRuleStatement);
-        CreateReadwriteSplittingRuleStatement statement = (CreateReadwriteSplittingRuleStatement) sqlStatement;
-        assertThat(statement.getRules().size(), is(1));
-        List<ReadwriteSplittingRuleSegment> readwriteSplittingRuleSegments
-                = new ArrayList<>(((CreateReadwriteSplittingRuleStatement) sqlStatement).getRules());
-        assertThat(readwriteSplittingRuleSegments.get(0).getName(), is("ms_group_1"));
-        assertThat(readwriteSplittingRuleSegments.get(0).getAutoAwareResource(), is("group_0"));
-        assertNull(readwriteSplittingRuleSegments.get(0).getWriteDataSource());
-        assertNull(readwriteSplittingRuleSegments.get(0).getReadDataSources());
-        assertThat(readwriteSplittingRuleSegments.get(0).getLoadBalancer(), is("random"));
-        assertThat(readwriteSplittingRuleSegments.get(0).getProps().size(), is(1));
-        assertThat(readwriteSplittingRuleSegments.get(0).getProps().getProperty("read_weight"), is("'2:1'"));
-    }
-    
-    @Test
-    public void assertParseAlterReadwriteSplittingRule() {
-        SQLStatement sqlStatement = engine.parse(ALTER_READWRITE_SPLITTING_RULE);
-        assertTrue(sqlStatement instanceof AlterReadwriteSplittingRuleStatement);
-        AlterReadwriteSplittingRuleStatement statement = (AlterReadwriteSplittingRuleStatement) sqlStatement;
-        assertThat(statement.getRules().size(), is(2));
-        List<ReadwriteSplittingRuleSegment> readwriteSplittingRuleSegments = new ArrayList<>(((AlterReadwriteSplittingRuleStatement) sqlStatement).getRules());
-        assertThat(readwriteSplittingRuleSegments.get(0).getName(), is("ms_group_0"));
-        assertThat(readwriteSplittingRuleSegments.get(0).getAutoAwareResource(), is("group_0"));
-        assertNull(readwriteSplittingRuleSegments.get(0).getWriteDataSource());
-        assertNull(readwriteSplittingRuleSegments.get(0).getReadDataSources());
-        assertThat(readwriteSplittingRuleSegments.get(0).getLoadBalancer(), is("random"));
-        assertThat(readwriteSplittingRuleSegments.get(0).getProps().size(), is(1));
-        assertThat(readwriteSplittingRuleSegments.get(0).getProps().getProperty("read_weight"), is("'2:1'"));
-        assertThat(readwriteSplittingRuleSegments.get(1).getName(), is("ms_group_1"));
-        assertThat(readwriteSplittingRuleSegments.get(1).getWriteDataSource(), is("primary_ds"));
-        assertThat(readwriteSplittingRuleSegments.get(1).getReadDataSources(), is(Arrays.asList("replica_ds_0", "replica_ds_1")));
-        assertThat(readwriteSplittingRuleSegments.get(1).getLoadBalancer(), is("random"));
-        assertThat(readwriteSplittingRuleSegments.get(1).getProps().size(), is(0));
-    }
-    
-    @Test
-    public void assertParseDropReadwriteSplittingRule() {
-        SQLStatement sqlStatement = engine.parse(DROP_READWRITE_SPLITTING_RULE);
-        assertTrue(sqlStatement instanceof DropReadwriteSplittingRuleStatement);
-        assertThat(((DropReadwriteSplittingRuleStatement) sqlStatement).getRuleNames(), is(Arrays.asList("ms_group_0", "ms_group_1")));
-    }
-    
-    @Test
-    public void assertParseShowReadwriteSplittingRules() {
-        SQLStatement sqlStatement = engine.parse(SHOW_READWRITE_SPLITTING_RULES);
-        assertTrue(sqlStatement instanceof ShowReadwriteSplittingRulesStatement);
-        assertThat(((ShowReadwriteSplittingRulesStatement) sqlStatement).getSchema().get().getIdentifier().getValue(), is("readwrite_splitting_db"));
-    }
-}
diff --git a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-distsql/shardingsphere-sharding-distsql-parser/src/test/java/org/apache/shardingsphere/sharding/distsql/parser/core/ShardingRuleStatementParserEngineTest.java b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-distsql/shardingsphere-sharding-distsql-parser/src/test/java/org/apache/shardingsphere/sharding/distsql/parser/core/ShardingRuleStatementParserEngineTest.java
deleted file mode 100644
index bb60757..0000000
--- a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-distsql/shardingsphere-sharding-distsql-parser/src/test/java/org/apache/shardingsphere/sharding/distsql/parser/core/ShardingRuleStatementParserEngineTest.java
+++ /dev/null
@@ -1,216 +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.sharding.distsql.parser.core;
-
-import org.apache.shardingsphere.distsql.parser.api.DistSQLStatementParserEngine;
-import org.apache.shardingsphere.sharding.distsql.parser.segment.TableRuleSegment;
-import org.apache.shardingsphere.sharding.distsql.parser.segment.BindingTableRuleSegment;
-import org.apache.shardingsphere.sharding.distsql.parser.statement.AlterShardingBindingTableRulesStatement;
-import org.apache.shardingsphere.sharding.distsql.parser.statement.AlterShardingBroadcastTableRulesStatement;
-import org.apache.shardingsphere.sharding.distsql.parser.statement.AlterShardingTableRuleStatement;
-import org.apache.shardingsphere.sharding.distsql.parser.statement.CreateShardingBindingTableRulesStatement;
-import org.apache.shardingsphere.sharding.distsql.parser.statement.CreateShardingBroadcastTableRulesStatement;
-import org.apache.shardingsphere.sharding.distsql.parser.statement.CreateShardingTableRuleStatement;
-import org.apache.shardingsphere.sharding.distsql.parser.statement.DropShardingBindingTableRulesStatement;
-import org.apache.shardingsphere.sharding.distsql.parser.statement.DropShardingBroadcastTableRulesStatement;
-import org.apache.shardingsphere.sharding.distsql.parser.statement.DropShardingTableRuleStatement;
-import org.apache.shardingsphere.sharding.distsql.parser.statement.ShowShardingBindingTableRulesStatement;
-import org.apache.shardingsphere.sharding.distsql.parser.statement.ShowShardingBroadcastTableRulesStatement;
-import org.apache.shardingsphere.sharding.distsql.parser.statement.ShowShardingTableRulesStatement;
-import org.apache.shardingsphere.sql.parser.sql.common.statement.SQLStatement;
-import org.junit.Test;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-import java.util.stream.Collectors;
-
-import static org.hamcrest.CoreMatchers.is;
-import static org.junit.Assert.assertThat;
-import static org.junit.Assert.assertTrue;
-
-// TODO use Parameterized + XML instead of static test
-public final class ShardingRuleStatementParserEngineTest {
-    
-    private static final String CREATE_SHARDING_TABLE_RULE = "CREATE SHARDING TABLE RULE t_order (" 
-            + "RESOURCES(ms_group_0,ms_group_1)," 
-            + "SHARDING_COLUMN=order_id," 
-            + "TYPE(NAME=hash_mod,PROPERTIES('sharding-count'=4))," 
-            + "GENERATED_KEY(COLUMN=another_id,TYPE(NAME=snowflake,PROPERTIES(\"worker-id\"=123))))";
-    
-    private static final String CREATE_SHARDING_BINDING_TABLE_RULES = "CREATE SHARDING BINDING TABLE RULES (" 
-            + "(t_order,t_order_item), (t_1,t_2))";
-    
-    private static final String CREATE_SHARDING_BROADCAST_TABLE_RULES = "CREATE SHARDING BROADCAST TABLE RULES(t_1,t_2)";
-    
-    private static final String ALTER_SHARDING_TABLE_RULE = "ALTER SHARDING TABLE RULE t_order ("
-            + "RESOURCES(ms_group_0,ms_group_1),"
-            + "SHARDING_COLUMN=order_id,"
-            + "TYPE(NAME=hash_mod,PROPERTIES('sharding-count'=4)),"
-            + "GENERATED_KEY(COLUMN=another_id,TYPE(NAME=snowflake,PROPERTIES(\"worker-id\"=123))))";
-    
-    private static final String ALTER_SHARDING_BINDING_TABLE_RULES = "ALTER SHARDING BINDING TABLE RULES ("
-            + "(t_order,t_order_item), (t_1,t_2))";
-    
-    private static final String ALTER_SHARDING_BROADCAST_TABLE_RULES = "ALTER SHARDING BROADCAST TABLE RULES(t_1,t_2)";
-    
-    private static final String DROP_SHARDING_TABLE_RULE = "DROP SHARDING TABLE RULE t_order,t_order_item";
-    
-    private static final String DROP_SHARDING_BINDING_TABLE_RULES = "DROP SHARDING BINDING TABLE RULES";
-    
-    private static final String DROP_SHARDING_BROADCAST_TABLE_RULES = "DROP SHARDING BROADCAST TABLE RULES";
-    
-    private static final String SHOW_SHARDING_BINDING_TABLE_RULES = "SHOW SHARDING BINDING TABLE RULES FROM sharding_db";
-    
-    private static final String SHOW_SHARDING_BROADCAST_TABLE_RULES = "SHOW SHARDING BROADCAST TABLE RULES FROM sharding_db";
-    
-    private static final String SHOW_SHARDING_TABLE_RULES = "SHOW SHARDING TABLE RULES FROM schemaName";
-    
-    private static final String SHOW_SHARDING_TABLE_RULE = "SHOW SHARDING TABLE RULE t_order";
-    
-    private static final String SHOW_SHARDING_TABLE_RULE_FROM = "SHOW SHARDING TABLE RULE t_order FROM schemaName";
-    
-    private final DistSQLStatementParserEngine engine = new DistSQLStatementParserEngine();
-    
-    @Test
-    public void assertParseCreateShardingTableRule() {
-        SQLStatement sqlStatement = engine.parse(CREATE_SHARDING_TABLE_RULE);
-        assertTrue(sqlStatement instanceof CreateShardingTableRuleStatement);
-        assertThat(((CreateShardingTableRuleStatement) sqlStatement).getRules().size(), is(1));
-        TableRuleSegment tableRuleSegment = ((CreateShardingTableRuleStatement) sqlStatement).getRules().iterator().next();
-        assertThat(tableRuleSegment.getLogicTable(), is("t_order"));
-        assertTrue(tableRuleSegment.getDataSources().containsAll(Arrays.asList("ms_group_0", "ms_group_1")));
-        assertThat(tableRuleSegment.getTableStrategyColumn(), is("order_id"));
-        assertThat(tableRuleSegment.getKeyGenerateStrategy().getName(), is("snowflake"));
-        assertThat(tableRuleSegment.getKeyGenerateStrategy().getProps().getProperty("worker-id"), is("123"));
-        assertThat(tableRuleSegment.getKeyGenerateStrategyColumn(), is("another_id"));
-        assertThat(tableRuleSegment.getTableStrategy().getName(), is("hash_mod"));
-        assertThat(tableRuleSegment.getTableStrategy().getProps().getProperty("sharding-count"), is("4"));
-    }
-    
-    @Test
-    public void assertParseCreateShardingBindingTableRules() {
-        SQLStatement sqlStatement = engine.parse(CREATE_SHARDING_BINDING_TABLE_RULES);
-        assertTrue(sqlStatement instanceof CreateShardingBindingTableRulesStatement);
-        List<BindingTableRuleSegment> bindingTableRuleSegments = new ArrayList<>(((CreateShardingBindingTableRulesStatement) sqlStatement).getRules());
-        assertThat(bindingTableRuleSegments.size(), is(2));
-        BindingTableRuleSegment segment = bindingTableRuleSegments.get(0);
-        assertThat(segment.getTables(), is("t_order,t_order_item"));
-        segment = bindingTableRuleSegments.get(1);
-        assertThat(segment.getTables(), is("t_1,t_2"));
-    }
-    
-    @Test
-    public void assertParseCreateShardingBroadcastTableRules() {
-        SQLStatement sqlStatement = engine.parse(CREATE_SHARDING_BROADCAST_TABLE_RULES);
-        System.out.println(sqlStatement);
-        assertTrue(sqlStatement instanceof CreateShardingBroadcastTableRulesStatement);
-        assertThat(((CreateShardingBroadcastTableRulesStatement) sqlStatement).getTables(), is(Arrays.asList("t_1", "t_2")));
-    }
-    
-    @Test
-    public void assertParseAlterShardingTableRule() {
-        SQLStatement sqlStatement = engine.parse(ALTER_SHARDING_TABLE_RULE);
-        assertTrue(sqlStatement instanceof AlterShardingTableRuleStatement);
-        assertThat(((AlterShardingTableRuleStatement) sqlStatement).getRules().size(), is(1));
-        TableRuleSegment tableRuleSegment = ((AlterShardingTableRuleStatement) sqlStatement).getRules().iterator().next();
-        assertThat(tableRuleSegment.getLogicTable(), is("t_order"));
-        assertTrue(tableRuleSegment.getDataSources().containsAll(Arrays.asList("ms_group_0", "ms_group_1")));
-        assertThat(tableRuleSegment.getTableStrategyColumn(), is("order_id"));
-        assertThat(tableRuleSegment.getKeyGenerateStrategy().getName(), is("snowflake"));
-        assertThat(tableRuleSegment.getKeyGenerateStrategy().getProps().getProperty("worker-id"), is("123"));
-        assertThat(tableRuleSegment.getKeyGenerateStrategyColumn(), is("another_id"));
-        assertThat(tableRuleSegment.getTableStrategy().getName(), is("hash_mod"));
-        assertThat(tableRuleSegment.getTableStrategy().getProps().getProperty("sharding-count"), is("4"));
-    }
-    
-    @Test
-    public void assertParseAlterShardingBindingTableRules() {
-        SQLStatement sqlStatement = engine.parse(ALTER_SHARDING_BINDING_TABLE_RULES);
-        assertTrue(sqlStatement instanceof AlterShardingBindingTableRulesStatement);
-        List<BindingTableRuleSegment> bindingTableRuleSegments = new ArrayList<>(((AlterShardingBindingTableRulesStatement) sqlStatement).getRules());
-        assertThat(bindingTableRuleSegments.size(), is(2));
-        BindingTableRuleSegment segment = bindingTableRuleSegments.get(0);
-        assertThat(segment.getTables(), is("t_order,t_order_item"));
-        segment = bindingTableRuleSegments.get(1);
-        assertThat(segment.getTables(), is("t_1,t_2"));
-    }
-
-    @Test
-    public void assertParseAlterShardingBroadcastTableRules() {
-        SQLStatement sqlStatement = engine.parse(ALTER_SHARDING_BROADCAST_TABLE_RULES);
-        assertTrue(sqlStatement instanceof AlterShardingBroadcastTableRulesStatement);
-        assertThat(((AlterShardingBroadcastTableRulesStatement) sqlStatement).getTables(), is(Arrays.asList("t_1", "t_2")));
-    }
-    
-    @Test
-    public void assertParseDropShardingTableRule() {
-        SQLStatement sqlStatement = engine.parse(DROP_SHARDING_TABLE_RULE);
-        assertTrue(sqlStatement instanceof DropShardingTableRuleStatement);
-        assertThat(((DropShardingTableRuleStatement) sqlStatement).getTableNames().stream().map(each -> each.getIdentifier().getValue()).collect(Collectors.toList()),
-                is(Arrays.asList("t_order", "t_order_item")));
-    }
-    
-    @Test
-    public void assertParseDropShardingBindingTableRules() {
-        SQLStatement sqlStatement = engine.parse(DROP_SHARDING_BINDING_TABLE_RULES);
-        assertTrue(sqlStatement instanceof DropShardingBindingTableRulesStatement);
-    }
-    
-    @Test
-    public void assertParseDropShardingBroadcastTableRules() {
-        SQLStatement sqlStatement = engine.parse(DROP_SHARDING_BROADCAST_TABLE_RULES);
-        assertTrue(sqlStatement instanceof DropShardingBroadcastTableRulesStatement);
-    }
-    
-    @Test
-    public void assertParseShowShardingTableRules() {
-        SQLStatement sqlStatement = engine.parse(SHOW_SHARDING_TABLE_RULES);
-        assertTrue(sqlStatement instanceof ShowShardingTableRulesStatement);
-        assertThat(((ShowShardingTableRulesStatement) sqlStatement).getSchema().get().getIdentifier().getValue(), is("schemaName"));
-    }
-    
-    @Test
-    public void assertParseShowShardingTableRule() {
-        SQLStatement sqlStatement = engine.parse(SHOW_SHARDING_TABLE_RULE);
-        assertTrue(sqlStatement instanceof ShowShardingTableRulesStatement);
-        assertThat(((ShowShardingTableRulesStatement) sqlStatement).getTableName(), is("t_order"));
-    }
-    
-    @Test
-    public void assertParseShowShardingTableRuleFrom() {
-        SQLStatement sqlStatement = engine.parse(SHOW_SHARDING_TABLE_RULE_FROM);
-        assertTrue(sqlStatement instanceof ShowShardingTableRulesStatement);
-        assertThat(((ShowShardingTableRulesStatement) sqlStatement).getTableName(), is("t_order"));
-        assertThat(((ShowShardingTableRulesStatement) sqlStatement).getSchema().get().getIdentifier().getValue(), is("schemaName"));
-    }
-    
-    @Test
-    public void assertParseShowShardingBindingTableRules() {
-        SQLStatement sqlStatement = engine.parse(SHOW_SHARDING_BINDING_TABLE_RULES);
-        assertTrue(sqlStatement instanceof ShowShardingBindingTableRulesStatement);
-        assertThat(((ShowShardingBindingTableRulesStatement) sqlStatement).getSchema().get().getIdentifier().getValue(), is("sharding_db"));
-    }
-    
-    @Test
-    public void assertParseShowShardingBroadcastTableRules() {
-        SQLStatement sqlStatement = engine.parse(SHOW_SHARDING_BROADCAST_TABLE_RULES);
-        assertTrue(sqlStatement instanceof ShowShardingBroadcastTableRulesStatement);
-        assertThat(((ShowShardingBroadcastTableRulesStatement) sqlStatement).getSchema().get().getIdentifier().getValue(), is("sharding_db"));
-    }
-}
diff --git a/shardingsphere-scaling/shardingsphere-scaling-bootstrap/src/main/java/org/apache/shardingsphere/scaling/web/entity/ResponseContent.java b/shardingsphere-scaling/shardingsphere-scaling-bootstrap/src/main/java/org/apache/shardingsphere/scaling/web/entity/ResponseContent.java
index 921188e..d81a867 100644
--- a/shardingsphere-scaling/shardingsphere-scaling-bootstrap/src/main/java/org/apache/shardingsphere/scaling/web/entity/ResponseContent.java
+++ b/shardingsphere-scaling/shardingsphere-scaling-bootstrap/src/main/java/org/apache/shardingsphere/scaling/web/entity/ResponseContent.java
@@ -23,8 +23,8 @@ import lombok.Setter;
 /**
  * Http response content.
  */
-@Setter
 @Getter
+@Setter
 public final class ResponseContent<T> {
     
     private boolean success = true;
diff --git a/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/common/record/DataRecord.java b/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/common/record/DataRecord.java
index 911148f..31ba7f4 100644
--- a/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/common/record/DataRecord.java
+++ b/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/common/record/DataRecord.java
@@ -31,8 +31,8 @@ import java.util.List;
 /**
  * Data record.
  */
-@Setter
 @Getter
+@Setter
 @EqualsAndHashCode(of = {"tableName", "primaryKeyValue"}, callSuper = false)
 @ToString
 public final class DataRecord extends Record {
diff --git a/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/config/DumperConfiguration.java b/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/config/DumperConfiguration.java
index fd0a632..2a97be6 100644
--- a/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/config/DumperConfiguration.java
+++ b/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/config/DumperConfiguration.java
@@ -27,8 +27,8 @@ import java.util.Map;
 /**
  * Dumper configuration.
  */
-@Setter
 @Getter
+@Setter
 public class DumperConfiguration {
     
     private String dataSourceName;
diff --git a/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/config/HandleConfiguration.java b/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/config/HandleConfiguration.java
index a8776ad..346facd 100644
--- a/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/config/HandleConfiguration.java
+++ b/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/config/HandleConfiguration.java
@@ -25,8 +25,8 @@ import lombok.Setter;
  * Handle configuration.
  */
 @NoArgsConstructor
-@Setter
 @Getter
+@Setter
 public final class HandleConfiguration {
     
     private Long jobId;
diff --git a/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/config/ImporterConfiguration.java b/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/config/ImporterConfiguration.java
index bb10c3c..09ff6cf 100644
--- a/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/config/ImporterConfiguration.java
+++ b/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/config/ImporterConfiguration.java
@@ -27,8 +27,8 @@ import java.util.Set;
 /**
  * Importer configuration.
  */
-@Setter
 @Getter
+@Setter
 public final class ImporterConfiguration {
     
     private ScalingDataSourceConfiguration dataSourceConfig;
diff --git a/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/config/JobConfiguration.java b/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/config/JobConfiguration.java
index 06cd56d..06a2991 100644
--- a/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/config/JobConfiguration.java
+++ b/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/config/JobConfiguration.java
@@ -23,8 +23,8 @@ import lombok.Setter;
 /**
  * Scaling job configuration.
  */
-@Setter
 @Getter
+@Setter
 public final class JobConfiguration {
     
     private RuleConfiguration ruleConfig;
diff --git a/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/config/ServerConfiguration.java b/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/config/ServerConfiguration.java
index 78495fa..8d1500f 100644
--- a/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/config/ServerConfiguration.java
+++ b/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/config/ServerConfiguration.java
@@ -24,8 +24,8 @@ import org.apache.shardingsphere.governance.repository.api.config.GovernanceConf
 /**
  * Global server configuration.
  */
-@Setter
 @Getter
+@Setter
 public final class ServerConfiguration {
     
     private int port = 8080;
diff --git a/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/config/yaml/YamlServerConfiguration.java b/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/config/yaml/YamlServerConfiguration.java
index 7236de9..0029365e 100644
--- a/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/config/yaml/YamlServerConfiguration.java
+++ b/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/config/yaml/YamlServerConfiguration.java
@@ -25,8 +25,8 @@ import org.apache.shardingsphere.infra.yaml.config.YamlConfiguration;
 /**
  * Global server configuration.
  */
-@Setter
 @Getter
+@Setter
 public final class YamlServerConfiguration implements YamlConfiguration {
     
     private YamlScalingConfiguration scaling = new YamlScalingConfiguration();
diff --git a/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/executor/AbstractScalingExecutor.java b/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/executor/AbstractScalingExecutor.java
index e055eab..ea9bdd4 100644
--- a/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/executor/AbstractScalingExecutor.java
+++ b/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/executor/AbstractScalingExecutor.java
@@ -24,8 +24,8 @@ import lombok.Setter;
 /**
  * Abstract scaling executor.
  */
-@Setter
 @Getter
+@Setter
 public abstract class AbstractScalingExecutor implements ScalingExecutor {
     
     @Setter(AccessLevel.PROTECTED)
diff --git a/shardingsphere-scaling/shardingsphere-scaling-dialect/shardingsphere-scaling-mysql/src/main/java/org/apache/shardingsphere/scaling/mysql/binlog/BinlogContext.java b/shardingsphere-scaling/shardingsphere-scaling-dialect/shardingsphere-scaling-mysql/src/main/java/org/apache/shardingsphere/scaling/mysql/binlog/BinlogContext.java
index b969d23..d249470 100644
--- a/shardingsphere-scaling/shardingsphere-scaling-dialect/shardingsphere-scaling-mysql/src/main/java/org/apache/shardingsphere/scaling/mysql/binlog/BinlogContext.java
+++ b/shardingsphere-scaling/shardingsphere-scaling-dialect/shardingsphere-scaling-mysql/src/main/java/org/apache/shardingsphere/scaling/mysql/binlog/BinlogContext.java
@@ -17,10 +17,10 @@
 
 package org.apache.shardingsphere.scaling.mysql.binlog;
 
-import org.apache.shardingsphere.db.protocol.mysql.packet.binlog.row.MySQLBinlogTableMapEventPacket;
-import org.apache.shardingsphere.db.protocol.mysql.packet.binlog.row.column.MySQLBinlogColumnDef;
 import lombok.Getter;
 import lombok.Setter;
+import org.apache.shardingsphere.db.protocol.mysql.packet.binlog.row.MySQLBinlogTableMapEventPacket;
+import org.apache.shardingsphere.db.protocol.mysql.packet.binlog.row.column.MySQLBinlogColumnDef;
 
 import java.util.HashMap;
 import java.util.List;
@@ -29,8 +29,8 @@ import java.util.Map;
 /**
  * Binlog context.
  */
-@Setter
 @Getter
+@Setter
 public final class BinlogContext {
     
     private String fileName;
diff --git a/shardingsphere-scaling/shardingsphere-scaling-dialect/shardingsphere-scaling-mysql/src/main/java/org/apache/shardingsphere/scaling/mysql/binlog/BinlogPosition.java b/shardingsphere-scaling/shardingsphere-scaling-dialect/shardingsphere-scaling-mysql/src/main/java/org/apache/shardingsphere/scaling/mysql/binlog/BinlogPosition.java
index 264d293..47781ae 100644
--- a/shardingsphere-scaling/shardingsphere-scaling-dialect/shardingsphere-scaling-mysql/src/main/java/org/apache/shardingsphere/scaling/mysql/binlog/BinlogPosition.java
+++ b/shardingsphere-scaling/shardingsphere-scaling-dialect/shardingsphere-scaling-mysql/src/main/java/org/apache/shardingsphere/scaling/mysql/binlog/BinlogPosition.java
@@ -28,8 +28,8 @@ import org.apache.shardingsphere.scaling.core.job.position.ScalingPosition;
  */
 @RequiredArgsConstructor
 @AllArgsConstructor
-@Setter
 @Getter
+@Setter
 public final class BinlogPosition implements ScalingPosition<BinlogPosition> {
     
     private final String filename;
diff --git a/shardingsphere-scaling/shardingsphere-scaling-dialect/shardingsphere-scaling-mysql/src/main/java/org/apache/shardingsphere/scaling/mysql/binlog/event/AbstractBinlogEvent.java b/shardingsphere-scaling/shardingsphere-scaling-dialect/shardingsphere-scaling-mysql/src/main/java/org/apache/shardingsphere/scaling/mysql/binlog/event/AbstractBinlogEvent.java
index 43283bc..9bab8ed 100644
--- a/shardingsphere-scaling/shardingsphere-scaling-dialect/shardingsphere-scaling-mysql/src/main/java/org/apache/shardingsphere/scaling/mysql/binlog/event/AbstractBinlogEvent.java
+++ b/shardingsphere-scaling/shardingsphere-scaling-dialect/shardingsphere-scaling-mysql/src/main/java/org/apache/shardingsphere/scaling/mysql/binlog/event/AbstractBinlogEvent.java
@@ -23,8 +23,8 @@ import lombok.Setter;
 /**
  * Abstract binlog event.
  */
-@Setter
 @Getter
+@Setter
 public abstract class AbstractBinlogEvent {
     
     private long serverId;
diff --git a/shardingsphere-scaling/shardingsphere-scaling-dialect/shardingsphere-scaling-mysql/src/main/java/org/apache/shardingsphere/scaling/mysql/binlog/event/DeleteRowsEvent.java b/shardingsphere-scaling/shardingsphere-scaling-dialect/shardingsphere-scaling-mysql/src/main/java/org/apache/shardingsphere/scaling/mysql/binlog/event/DeleteRowsEvent.java
index 13932da..760c635 100644
--- a/shardingsphere-scaling/shardingsphere-scaling-dialect/shardingsphere-scaling-mysql/src/main/java/org/apache/shardingsphere/scaling/mysql/binlog/event/DeleteRowsEvent.java
+++ b/shardingsphere-scaling/shardingsphere-scaling-dialect/shardingsphere-scaling-mysql/src/main/java/org/apache/shardingsphere/scaling/mysql/binlog/event/DeleteRowsEvent.java
@@ -26,8 +26,8 @@ import java.util.List;
 /**
  * Delete rows event.
  */
-@Setter
 @Getter
+@Setter
 public final class DeleteRowsEvent extends AbstractRowsEvent {
     
     private List<Serializable[]> beforeRows;
diff --git a/shardingsphere-scaling/shardingsphere-scaling-dialect/shardingsphere-scaling-mysql/src/main/java/org/apache/shardingsphere/scaling/mysql/binlog/event/UpdateRowsEvent.java b/shardingsphere-scaling/shardingsphere-scaling-dialect/shardingsphere-scaling-mysql/src/main/java/org/apache/shardingsphere/scaling/mysql/binlog/event/UpdateRowsEvent.java
index c2ddb72..81f1c005 100644
--- a/shardingsphere-scaling/shardingsphere-scaling-dialect/shardingsphere-scaling-mysql/src/main/java/org/apache/shardingsphere/scaling/mysql/binlog/event/UpdateRowsEvent.java
+++ b/shardingsphere-scaling/shardingsphere-scaling-dialect/shardingsphere-scaling-mysql/src/main/java/org/apache/shardingsphere/scaling/mysql/binlog/event/UpdateRowsEvent.java
@@ -26,8 +26,8 @@ import java.util.List;
 /**
  * Update rows event.
  */
-@Setter
 @Getter
+@Setter
 public final class UpdateRowsEvent extends AbstractRowsEvent {
     
     private List<Serializable[]> beforeRows;
diff --git a/shardingsphere-scaling/shardingsphere-scaling-dialect/shardingsphere-scaling-mysql/src/main/java/org/apache/shardingsphere/scaling/mysql/binlog/event/WriteRowsEvent.java b/shardingsphere-scaling/shardingsphere-scaling-dialect/shardingsphere-scaling-mysql/src/main/java/org/apache/shardingsphere/scaling/mysql/binlog/event/WriteRowsEvent.java
index 6a6acf3..104cf49 100644
--- a/shardingsphere-scaling/shardingsphere-scaling-dialect/shardingsphere-scaling-mysql/src/main/java/org/apache/shardingsphere/scaling/mysql/binlog/event/WriteRowsEvent.java
+++ b/shardingsphere-scaling/shardingsphere-scaling-dialect/shardingsphere-scaling-mysql/src/main/java/org/apache/shardingsphere/scaling/mysql/binlog/event/WriteRowsEvent.java
@@ -26,8 +26,8 @@ import java.util.List;
 /**
  * Write rows event.
  */
-@Setter
 @Getter
+@Setter
 public final class WriteRowsEvent extends AbstractRowsEvent {
     
     private List<Serializable[]> afterRows;
diff --git a/shardingsphere-scaling/shardingsphere-scaling-dialect/shardingsphere-scaling-mysql/src/main/java/org/apache/shardingsphere/scaling/mysql/client/ServerInfo.java b/shardingsphere-scaling/shardingsphere-scaling-dialect/shardingsphere-scaling-mysql/src/main/java/org/apache/shardingsphere/scaling/mysql/client/ServerInfo.java
index b20cc4d..26ebfdf 100644
--- a/shardingsphere-scaling/shardingsphere-scaling-dialect/shardingsphere-scaling-mysql/src/main/java/org/apache/shardingsphere/scaling/mysql/client/ServerInfo.java
+++ b/shardingsphere-scaling/shardingsphere-scaling-dialect/shardingsphere-scaling-mysql/src/main/java/org/apache/shardingsphere/scaling/mysql/client/ServerInfo.java
@@ -23,8 +23,8 @@ import lombok.Setter;
 /**
  * MySQL server info.
  */
-@Setter
 @Getter
+@Setter
 public final class ServerInfo {
     
     private ServerVersion serverVersion;
diff --git a/shardingsphere-scaling/shardingsphere-scaling-dialect/shardingsphere-scaling-postgresql/src/main/java/org/apache/shardingsphere/scaling/postgresql/wal/event/AbstractRowEvent.java b/shardingsphere-scaling/shardingsphere-scaling-dialect/shardingsphere-scaling-postgresql/src/main/java/org/apache/shardingsphere/scaling/postgresql/wal/event/AbstractRowEvent.java
index 986baa0..e7180cc 100644
--- a/shardingsphere-scaling/shardingsphere-scaling-dialect/shardingsphere-scaling-postgresql/src/main/java/org/apache/shardingsphere/scaling/postgresql/wal/event/AbstractRowEvent.java
+++ b/shardingsphere-scaling/shardingsphere-scaling-dialect/shardingsphere-scaling-postgresql/src/main/java/org/apache/shardingsphere/scaling/postgresql/wal/event/AbstractRowEvent.java
@@ -23,8 +23,8 @@ import lombok.Setter;
 /**
  * Abstract row event.
  */
-@Setter
 @Getter
+@Setter
 public abstract class AbstractRowEvent extends AbstractWalEvent {
     
     private String schemaName;
diff --git a/shardingsphere-scaling/shardingsphere-scaling-dialect/shardingsphere-scaling-postgresql/src/main/java/org/apache/shardingsphere/scaling/postgresql/wal/event/AbstractWalEvent.java b/shardingsphere-scaling/shardingsphere-scaling-dialect/shardingsphere-scaling-postgresql/src/main/java/org/apache/shardingsphere/scaling/postgresql/wal/event/AbstractWalEvent.java
index 6d76291..6c9467a 100644
--- a/shardingsphere-scaling/shardingsphere-scaling-dialect/shardingsphere-scaling-postgresql/src/main/java/org/apache/shardingsphere/scaling/postgresql/wal/event/AbstractWalEvent.java
+++ b/shardingsphere-scaling/shardingsphere-scaling-dialect/shardingsphere-scaling-postgresql/src/main/java/org/apache/shardingsphere/scaling/postgresql/wal/event/AbstractWalEvent.java
@@ -24,8 +24,8 @@ import org.postgresql.replication.LogSequenceNumber;
 /**
  * Abstract wal event.
  */
-@Setter
 @Getter
+@Setter
 public abstract class AbstractWalEvent {
     
     private LogSequenceNumber logSequenceNumber;
diff --git a/shardingsphere-scaling/shardingsphere-scaling-dialect/shardingsphere-scaling-postgresql/src/main/java/org/apache/shardingsphere/scaling/postgresql/wal/event/DeleteRowEvent.java b/shardingsphere-scaling/shardingsphere-scaling-dialect/shardingsphere-scaling-postgresql/src/main/java/org/apache/shardingsphere/scaling/postgresql/wal/event/DeleteRowEvent.java
index bb164e7..decbd11 100644
--- a/shardingsphere-scaling/shardingsphere-scaling-dialect/shardingsphere-scaling-postgresql/src/main/java/org/apache/shardingsphere/scaling/postgresql/wal/event/DeleteRowEvent.java
+++ b/shardingsphere-scaling/shardingsphere-scaling-dialect/shardingsphere-scaling-postgresql/src/main/java/org/apache/shardingsphere/scaling/postgresql/wal/event/DeleteRowEvent.java
@@ -25,8 +25,8 @@ import java.util.List;
 /**
  * Delete row event.
  */
-@Setter
 @Getter
+@Setter
 public final class DeleteRowEvent extends AbstractRowEvent {
     
     private List<Object> primaryKeys;
diff --git a/shardingsphere-scaling/shardingsphere-scaling-dialect/shardingsphere-scaling-postgresql/src/main/java/org/apache/shardingsphere/scaling/postgresql/wal/event/UpdateRowEvent.java b/shardingsphere-scaling/shardingsphere-scaling-dialect/shardingsphere-scaling-postgresql/src/main/java/org/apache/shardingsphere/scaling/postgresql/wal/event/UpdateRowEvent.java
index ae0de3f..d282622 100644
--- a/shardingsphere-scaling/shardingsphere-scaling-dialect/shardingsphere-scaling-postgresql/src/main/java/org/apache/shardingsphere/scaling/postgresql/wal/event/UpdateRowEvent.java
+++ b/shardingsphere-scaling/shardingsphere-scaling-dialect/shardingsphere-scaling-postgresql/src/main/java/org/apache/shardingsphere/scaling/postgresql/wal/event/UpdateRowEvent.java
@@ -25,8 +25,8 @@ import java.util.List;
 /**
  * Update row event.
  */
-@Setter
 @Getter
+@Setter
 public final class UpdateRowEvent extends AbstractRowEvent {
     
     private List<Object> afterRow;
diff --git a/shardingsphere-scaling/shardingsphere-scaling-dialect/shardingsphere-scaling-postgresql/src/main/java/org/apache/shardingsphere/scaling/postgresql/wal/event/WriteRowEvent.java b/shardingsphere-scaling/shardingsphere-scaling-dialect/shardingsphere-scaling-postgresql/src/main/java/org/apache/shardingsphere/scaling/postgresql/wal/event/WriteRowEvent.java
index 862780f..db942e6 100644
--- a/shardingsphere-scaling/shardingsphere-scaling-dialect/shardingsphere-scaling-postgresql/src/main/java/org/apache/shardingsphere/scaling/postgresql/wal/event/WriteRowEvent.java
+++ b/shardingsphere-scaling/shardingsphere-scaling-dialect/shardingsphere-scaling-postgresql/src/main/java/org/apache/shardingsphere/scaling/postgresql/wal/event/WriteRowEvent.java
@@ -25,8 +25,8 @@ import java.util.List;
 /**
  * write row event.
  */
-@Setter
 @Getter
+@Setter
 public final class WriteRowEvent extends AbstractRowEvent {
     
     private List<Object> afterRow;
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/segment/dal/FromTableSegment.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/segment/dal/FromTableSegment.java
index bacc58c..41e0bd2 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/segment/dal/FromTableSegment.java
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/segment/dal/FromTableSegment.java
@@ -25,8 +25,8 @@ import org.apache.shardingsphere.sql.parser.sql.common.segment.generic.table.Sim
 /**
  * From table segment.
  */
-@Setter
 @Getter
+@Setter
 public final class FromTableSegment implements SQLSegment {
     
     private int startIndex;
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/segment/dml/expr/BetweenExpression.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/segment/dml/expr/BetweenExpression.java
index 4d05f87..0ae1d7d 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/segment/dml/expr/BetweenExpression.java
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/segment/dml/expr/BetweenExpression.java
@@ -21,9 +21,9 @@ import lombok.Getter;
 import lombok.RequiredArgsConstructor;
 import lombok.Setter;
 
-@Setter
-@Getter
 @RequiredArgsConstructor
+@Getter
+@Setter
 public final class BetweenExpression implements ExpressionSegment {
     
     private final int startIndex;
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/segment/dml/expr/ListExpression.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/segment/dml/expr/ListExpression.java
index b3c5cb1..20b7d9e 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/segment/dml/expr/ListExpression.java
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/segment/dml/expr/ListExpression.java
@@ -24,9 +24,9 @@ import lombok.Setter;
 import java.util.LinkedList;
 import java.util.List;
 
-@Setter
-@Getter
 @RequiredArgsConstructor
+@Getter
+@Setter
 public final class ListExpression implements ExpressionSegment {
     
     private final int startIndex;
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/segment/generic/table/DeleteMultiTableSegment.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/segment/generic/table/DeleteMultiTableSegment.java
index a4ba0d4..e5a1f56 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/segment/generic/table/DeleteMultiTableSegment.java
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/segment/generic/table/DeleteMultiTableSegment.java
@@ -25,8 +25,11 @@ import java.util.LinkedList;
 import java.util.List;
 import java.util.Optional;
 
-@Setter
+/**
+ * Delete multi table segment.
+ */
 @Getter
+@Setter
 public final class DeleteMultiTableSegment implements TableSegment {
     
     private int startIndex;
@@ -44,6 +47,5 @@ public final class DeleteMultiTableSegment implements TableSegment {
     
     @Override
     public void setAlias(final AliasSegment alias) {
-    
     }
 }
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/pom.xml b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/pom.xml
index 90d08ef..d5f2307 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/pom.xml
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/pom.xml
@@ -25,11 +25,11 @@
     </parent>
     <artifactId>shardingsphere-sql-parser-test</artifactId>
     <name>${project.artifactId}</name>
-
+    
     <properties>
         <maven.deploy.skip>true</maven.deploy.skip>
     </properties>
-
+    
     <dependencies>
         <dependency>
             <groupId>org.apache.shardingsphere</groupId>
@@ -41,12 +41,6 @@
             <artifactId>shardingsphere-sql-parser-statement</artifactId>
             <version>${project.version}</version>
         </dependency>
-
-        <dependency>
-            <groupId>junit</groupId>
-            <artifactId>junit</artifactId>
-            <scope>compile</scope>
-        </dependency>
         <dependency>
             <groupId>org.apache.shardingsphere</groupId>
             <artifactId>shardingsphere-distsql-parser-statement</artifactId>
@@ -55,27 +49,33 @@
         <dependency>
             <groupId>org.apache.shardingsphere</groupId>
             <artifactId>shardingsphere-distsql-parser-engine</artifactId>
-<version>${project.version}</version>
+            <version>${project.version}</version>
         </dependency>
         <dependency>
             <groupId>org.apache.shardingsphere</groupId>
-            <artifactId>shardingsphere-db-discovery-distsql</artifactId>
+            <artifactId>shardingsphere-sharding-distsql-parser</artifactId>
             <version>${project.version}</version>
         </dependency>
         <dependency>
             <groupId>org.apache.shardingsphere</groupId>
-            <artifactId>shardingsphere-readwrite-splitting-distsql</artifactId>
+            <artifactId>shardingsphere-readwrite-splitting-distsql-parser</artifactId>
             <version>${project.version}</version>
         </dependency>
         <dependency>
             <groupId>org.apache.shardingsphere</groupId>
-            <artifactId>shardingsphere-sharding-distsql</artifactId>
+            <artifactId>shardingsphere-db-discovery-distsql-parser</artifactId>
             <version>${project.version}</version>
         </dependency>
         <dependency>
             <groupId>org.apache.shardingsphere</groupId>
-            <artifactId>shardingsphere-encrypt-distsql</artifactId>
+            <artifactId>shardingsphere-encrypt-distsql-parser</artifactId>
             <version>${project.version}</version>
         </dependency>
+        
+        <dependency>
+            <groupId>junit</groupId>
+            <artifactId>junit</artifactId>
+            <scope>compile</scope>
+        </dependency>
     </dependencies>
 </project>
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/segment/distsql/AlgorithmAssert.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/segment/distsql/AlgorithmAssert.java
index 5d3ded9..ad2fd30 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/segment/distsql/AlgorithmAssert.java
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/segment/distsql/AlgorithmAssert.java
@@ -21,7 +21,7 @@ import lombok.AccessLevel;
 import lombok.NoArgsConstructor;
 import org.apache.shardingsphere.distsql.parser.segment.AlgorithmSegment;
 import org.apache.shardingsphere.test.sql.parser.parameterized.asserts.SQLCaseAssertContext;
-import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.segment.impl.distsql.ExpectedFunction;
+import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.segment.impl.distsql.ExpectedAlgorithm;
 import org.hamcrest.CoreMatchers;
 
 import static org.junit.Assert.assertNotNull;
@@ -29,26 +29,26 @@ import static org.junit.Assert.assertThat;
 import static org.junit.Assert.assertNull;
 
 /**
- * Function assert.
+ * Algorithm assert.
  */
 @NoArgsConstructor(access = AccessLevel.PRIVATE)
 public final class AlgorithmAssert {
-
+    
     /**
      * Assert function is correct with expected parser result.
      *
      * @param assertContext assert context
-     * @param actual        actual function
-     * @param expected      expected function test case
+     * @param actual actual function
+     * @param expected expected function test case
      */
-    public static void assertIs(final SQLCaseAssertContext assertContext, final AlgorithmSegment actual, final ExpectedFunction expected) {
-        if (null != expected) {
+    public static void assertIs(final SQLCaseAssertContext assertContext, final AlgorithmSegment actual, final ExpectedAlgorithm expected) {
+        if (null == expected) {
+            assertNull(assertContext.getText("Actual dataSource should not exist."), actual);
+        } else {
             assertNotNull(assertContext.getText("Actual dataSource should exist."), actual);
             assertThat(assertContext.getText(String.format("`%s`'s function segment assertion error: ", actual.getClass().getSimpleName())),
                     actual.getName(), CoreMatchers.is(expected.getAlgorithmName()));
             PropertiesAssert.assertIs(assertContext, actual.getProps(), expected.getAlgorithmProps());
-        } else {
-            assertNull(assertContext.getText("Actual dataSource should not exist."), actual);
         }
     }
 }
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/segment/distsql/DataSourceAssert.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/segment/distsql/DataSourceAssert.java
index bcb5d66..e16c4ba 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/segment/distsql/DataSourceAssert.java
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/segment/distsql/DataSourceAssert.java
@@ -33,16 +33,18 @@ import static org.junit.Assert.assertThat;
  */
 @NoArgsConstructor(access = AccessLevel.PRIVATE)
 public final class DataSourceAssert {
-
+    
     /**
      * Assert RQL statement is correct with expected parser result.
      *
      * @param assertContext assert context
-     * @param actual        actual RQL statement
-     * @param expected      expected RQL statement test case
+     * @param actual actual RQL statement
+     * @param expected expected RQL statement test case
      */
     public static void assertIs(final SQLCaseAssertContext assertContext, final DataSourceSegment actual, final ExpectedDataSource expected) {
-        if (null != expected) {
+        if (null == expected) {
+            assertNull(assertContext.getText("Actual dataSource should not exist."), actual);
+        } else {
             assertNotNull(assertContext.getText("Actual dataSource should exist."), actual);
             assertThat(assertContext.getText(String.format("`%s`'s datasource segment assertion error: ",
                     actual.getClass().getSimpleName())), actual.getName(), CoreMatchers.is(expected.getName()));
@@ -56,8 +58,6 @@ public final class DataSourceAssert {
                     actual.getClass().getSimpleName())), actual.getUser(), CoreMatchers.is(expected.getUser()));
             assertThat(assertContext.getText(String.format("`%s`'s datasource segment assertion error: ",
                     actual.getClass().getSimpleName())), actual.getPassword(), CoreMatchers.is(expected.getPassword()));
-        } else {
-            assertNull(assertContext.getText("Actual dataSource should not exist."), actual);
         }
     }
 }
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/segment/distsql/PropertiesAssert.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/segment/distsql/PropertiesAssert.java
index 6365e46..a18d915 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/segment/distsql/PropertiesAssert.java
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/segment/distsql/PropertiesAssert.java
@@ -34,7 +34,7 @@ import static org.junit.Assert.assertThat;
  */
 @NoArgsConstructor(access = AccessLevel.PRIVATE)
 public final class PropertiesAssert {
-
+    
     /**
      * Assert properties is correct with expected parser result.
      *
@@ -43,9 +43,9 @@ public final class PropertiesAssert {
      * @param expected expected properties test case
      */
     public static void assertIs(final SQLCaseAssertContext assertContext, final Properties actual, final ExpectedProperties expected) {
-        if (null != expected && null != expected.getProperty()) {
+        if (null != expected && null != expected.getProperties()) {
             assertNotNull(assertContext.getText("Actual should exist."), actual);
-            for (ExpectedProperty expectedProperty : expected.getProperty()) {
+            for (ExpectedProperty expectedProperty : expected.getProperties()) {
                 PropertyAssert.assertIs(assertContext, actual, expectedProperty);
             }
         } else {
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/segment/distsql/PropertyAssert.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/segment/distsql/PropertyAssert.java
index 5f4f32b..9f0d648 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/segment/distsql/PropertyAssert.java
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/segment/distsql/PropertyAssert.java
@@ -29,13 +29,12 @@ import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertThat;
 
-
 /**
  * Property assert.
  */
 @NoArgsConstructor(access = AccessLevel.PRIVATE)
 public final class PropertyAssert {
-
+    
     /**
      * Assert property is correct with expected parser result.
      *
@@ -44,11 +43,11 @@ public final class PropertyAssert {
      * @param expected expected property test case
      */
     public static void assertIs(final SQLCaseAssertContext assertContext, final Properties actual, final ExpectedProperty expected) {
-        if (null != expected) {
+        if (null == expected) {
+            assertNull(assertContext.getText("Actual should not exist."), actual);
+        } else {
             assertNotNull(assertContext.getText("Actual should exist."), actual);
             assertThat(assertContext.getText("properties assertion error: "), actual.getProperty(expected.getKey()), CoreMatchers.is(expected.getValue()));
-        } else {
-            assertNull(assertContext.getText("Actual should not exist."), actual);
         }
     }
 }
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/segment/distsql/SchemaAssert.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/segment/distsql/SchemaAssert.java
index f1106da..5dfb827 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/segment/distsql/SchemaAssert.java
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/segment/distsql/SchemaAssert.java
@@ -29,13 +29,13 @@ import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain
  */
 @NoArgsConstructor(access = AccessLevel.PRIVATE)
 public final class SchemaAssert {
-
+    
     /**
      * Assert schema is correct with expected parser result.
      *
      * @param assertContext assert context
-     * @param actual        actual schema
-     * @param expected      expected schema test case
+     * @param actual actual schema
+     * @param expected expected schema test case
      */
     public static void assertIs(final SQLCaseAssertContext assertContext, final SchemaSegment actual, final ExpectedSchema expected) {
         IdentifierValueAssert.assertIs(assertContext, actual.getIdentifier(), expected, "schema");
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/segment/distsql/TableRuleAssert.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/segment/distsql/TableRuleAssert.java
index 0af48d5..94c0b78 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/segment/distsql/TableRuleAssert.java
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/segment/distsql/TableRuleAssert.java
@@ -19,7 +19,7 @@ package org.apache.shardingsphere.test.sql.parser.parameterized.asserts.segment.
 
 import lombok.AccessLevel;
 import lombok.NoArgsConstructor;
-import org.apache.shardingsphere.sharding.distsql.parser.statement.segment.TableRuleSegment;
+import org.apache.shardingsphere.sharding.distsql.parser.segment.TableRuleSegment;
 import org.apache.shardingsphere.test.sql.parser.parameterized.asserts.SQLCaseAssertContext;
 import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.segment.impl.distsql.ExpectedTableRule;
 import org.hamcrest.CoreMatchers;
@@ -33,16 +33,18 @@ import static org.junit.Assert.assertThat;
  */
 @NoArgsConstructor(access = AccessLevel.PRIVATE)
 public final class TableRuleAssert {
-
+    
     /**
      * Assert table rule is correct with expected parser result.
      *
      * @param assertContext assert context
-     * @param actual        actual table rule
-     * @param expected      expected table rule test case
+     * @param actual actual table rule
+     * @param expected expected table rule test case
      */
     public static void assertIs(final SQLCaseAssertContext assertContext, final TableRuleSegment actual, final ExpectedTableRule expected) {
-        if (null != expected) {
+        if (null == expected) {
+            assertNull(assertContext.getText("Actual should not exist."), actual);
+        } else {
             assertNotNull(assertContext.getText("Actual should exist."), actual);
             assertThat(assertContext.getText(String.format("`%s`'s table rule segment assertion error: ", actual.getClass().getSimpleName())),
                     actual.getLogicTable(), CoreMatchers.is(expected.getLogicTable()));
@@ -54,8 +56,6 @@ public final class TableRuleAssert {
                     actual.getKeyGenerateStrategyColumn(), CoreMatchers.is(expected.getKeyGenerateStrategyColumn()));
             AlgorithmAssert.assertIs(assertContext, actual.getTableStrategy(), expected.getTableStrategy());
             AlgorithmAssert.assertIs(assertContext, actual.getKeyGenerateStrategy(), expected.getKeyGenerateStrategy());
-        } else {
-            assertNull(assertContext.getText("Actual should not exist."), actual);
         }
     }
 }
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/segment/distsql/rdl/DatabaseDiscoveryRuleAssert.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/segment/distsql/rdl/DatabaseDiscoveryRuleAssert.java
index c257a92..5eb6f8d 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/segment/distsql/rdl/DatabaseDiscoveryRuleAssert.java
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/segment/distsql/rdl/DatabaseDiscoveryRuleAssert.java
@@ -19,7 +19,7 @@ package org.apache.shardingsphere.test.sql.parser.parameterized.asserts.segment.
 
 import lombok.AccessLevel;
 import lombok.NoArgsConstructor;
-import org.apache.shardingsphere.dbdiscovery.distsql.parser.statement.segment.DatabaseDiscoveryRuleSegment;
+import org.apache.shardingsphere.dbdiscovery.distsql.parser.segment.DatabaseDiscoveryRuleSegment;
 import org.apache.shardingsphere.test.sql.parser.parameterized.asserts.SQLCaseAssertContext;
 import org.apache.shardingsphere.test.sql.parser.parameterized.asserts.segment.distsql.PropertiesAssert;
 import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.segment.impl.distsql.ExpectedProperties;
@@ -28,8 +28,8 @@ import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain
 import java.util.Properties;
 
 import static org.hamcrest.CoreMatchers.is;
-import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertThat;
 
 /**
@@ -37,23 +37,23 @@ import static org.junit.Assert.assertThat;
  */
 @NoArgsConstructor(access = AccessLevel.PRIVATE)
 public final class DatabaseDiscoveryRuleAssert {
-
+    
     /**
      * Assert database discovery rule is correct with expected parser result.
      *
      * @param assertContext assert context
-     * @param actual        actual database discovery rule
-     * @param expected      expected database discovery rule test case
+     * @param actual actual database discovery rule
+     * @param expected expected database discovery rule test case
      */
     public static void assertIs(final SQLCaseAssertContext assertContext, final DatabaseDiscoveryRuleSegment actual, final ExpectedDatabaseDiscoveryRule expected) {
-        if (null != expected) {
+        if (null == expected) {
+            assertNull(assertContext.getText("Actual should not exist"), actual);
+        } else {
             assertNotNull(assertContext.getText("Actual should exist"), actual);
             assertDatabaseDiscoveryRule(assertContext, actual, expected);
-        } else {
-            assertNull(assertContext.getText("Actual should not exist"), actual);
         }
     }
-
+    
     private static void assertDatabaseDiscoveryRule(final SQLCaseAssertContext assertContext, final DatabaseDiscoveryRuleSegment actual, final ExpectedDatabaseDiscoveryRule expected) {
         assertThat(assertContext.getText(String.format("`%s`'s discovery rule segment assertion error: ", actual.getClass().getSimpleName())), actual.getName(), is(expected.getName()));
         assertThat(assertContext.getText(String.format("`%s`'s discovery rule segment assertion error: ",
@@ -61,13 +61,13 @@ public final class DatabaseDiscoveryRuleAssert {
         assertThat(assertContext.getText(String.format("`%s`'s discovery rule segment assertion error: ", actual.getClass().getSimpleName())), actual.getDataSources(), is(expected.getDataSources()));
         assertProps(assertContext, actual.getProps(), expected.getProps());
     }
-
+    
     private static void assertProps(final SQLCaseAssertContext assertContext, final Properties actual, final ExpectedProperties expected) {
-        if (null != expected) {
+        if (null == expected) {
+            assertNull(assertContext.getText("Actual should not exist"), actual);
+        } else {
             assertNotNull(assertContext.getText("Actual should exist"), actual);
             PropertiesAssert.assertIs(assertContext, actual, expected);
-        } else {
-            assertNull(assertContext.getText("Actual should not exist"), actual);
         }
     }
 }
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/segment/distsql/rdl/EncryptColumnAssert.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/segment/distsql/rdl/EncryptColumnAssert.java
index 3ef7424..649cba3 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/segment/distsql/rdl/EncryptColumnAssert.java
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/segment/distsql/rdl/EncryptColumnAssert.java
@@ -19,7 +19,7 @@ package org.apache.shardingsphere.test.sql.parser.parameterized.asserts.segment.
 
 import lombok.AccessLevel;
 import lombok.NoArgsConstructor;
-import org.apache.shardingsphere.encrypt.distsql.parser.statement.segment.EncryptColumnSegment;
+import org.apache.shardingsphere.encrypt.distsql.parser.segment.EncryptColumnSegment;
 import org.apache.shardingsphere.test.sql.parser.parameterized.asserts.SQLCaseAssertContext;
 import org.apache.shardingsphere.test.sql.parser.parameterized.asserts.segment.distsql.AlgorithmAssert;
 import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.segment.impl.distsql.rdl.ExpectedEncryptColumn;
@@ -33,24 +33,24 @@ import static org.junit.Assert.assertThat;
  * Encrypt column assert.
  */
 @NoArgsConstructor(access = AccessLevel.PRIVATE)
-public class EncryptColumnAssert {
-
+public final class EncryptColumnAssert {
+    
     /**
      * Assert encrypt rule statement is correct with expected parser result.
      *
      * @param assertContext assert context
-     * @param actual        actual encrypt column
-     * @param expected      expected encrypt column test case
+     * @param actual actual encrypt column
+     * @param expected expected encrypt column test case
      */
     public static void assertIs(final SQLCaseAssertContext assertContext, final EncryptColumnSegment actual, final ExpectedEncryptColumn expected) {
-        if (null != expected) {
+        if (null == expected) {
+            assertNull(assertContext.getText("Actual should not exist."), actual);
+        } else {
             assertNotNull(assertContext.getText("Actual should exist."), actual);
             assertThat(assertContext.getText(String.format("`%s`'s assertion error", actual.getClass().getSimpleName())), actual.getName(), is(expected.getName()));
             assertThat(assertContext.getText(String.format("`%s`'s assertion error", actual.getClass().getSimpleName())), actual.getPlainColumn(), is(expected.getPlainColumn()));
             assertThat(assertContext.getText(String.format("`%s`'s assertion error", actual.getClass().getSimpleName())), actual.getCipherColumn(), is(expected.getCipherColumn()));
             AlgorithmAssert.assertIs(assertContext, actual.getEncryptor(), expected.getEncryptor());
-        } else {
-            assertNull(assertContext.getText("Actual should not exist."), actual);
         }
     }
 }
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/segment/distsql/rdl/EncryptRuleAssert.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/segment/distsql/rdl/EncryptRuleAssert.java
index 4a9c7ef..34db4fe 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/segment/distsql/rdl/EncryptRuleAssert.java
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/segment/distsql/rdl/EncryptRuleAssert.java
@@ -19,8 +19,8 @@ package org.apache.shardingsphere.test.sql.parser.parameterized.asserts.segment.
 
 import lombok.AccessLevel;
 import lombok.NoArgsConstructor;
-import org.apache.shardingsphere.encrypt.distsql.parser.statement.segment.EncryptColumnSegment;
-import org.apache.shardingsphere.encrypt.distsql.parser.statement.segment.EncryptRuleSegment;
+import org.apache.shardingsphere.encrypt.distsql.parser.segment.EncryptColumnSegment;
+import org.apache.shardingsphere.encrypt.distsql.parser.segment.EncryptRuleSegment;
 import org.apache.shardingsphere.test.sql.parser.parameterized.asserts.SQLCaseAssertContext;
 import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.segment.impl.distsql.rdl.ExpectedEncryptColumn;
 import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.segment.impl.distsql.rdl.ExpectedEncryptRule;
@@ -38,26 +38,28 @@ import static org.junit.Assert.assertThat;
  */
 @NoArgsConstructor(access = AccessLevel.PRIVATE)
 public final class EncryptRuleAssert {
-
+    
     /**
      * Assert encrypt rule is correct with expected parser result.
      *
      * @param assertContext assert context
-     * @param actual        actual encrypt rule
-     * @param expected      expected encrypt rule test case
+     * @param actual actual encrypt rule
+     * @param expected expected encrypt rule test case
      */
     public static void assertIs(final SQLCaseAssertContext assertContext, final EncryptRuleSegment actual, final ExpectedEncryptRule expected) {
-        if (null != expected) {
+        if (null == expected) {
+            assertNull(assertContext.getText("Actual should not exist."), actual);
+        } else {
             assertNotNull(assertContext.getText("Actual should exist."), actual);
             assertThat(assertContext.getText("encrypt rule assertion error: "), actual.getTableName(), is(expected.getTableName()));
             assertEncryptColumns(assertContext, actual.getColumns(), expected.getColumns());
-        } else {
-            assertNull(assertContext.getText("Actual should not exist."), actual);
         }
     }
-
+    
     private static void assertEncryptColumns(final SQLCaseAssertContext assertContext, final Collection<EncryptColumnSegment> actual, final List<ExpectedEncryptColumn> expected) {
-        if (null != expected) {
+        if (null == expected) {
+            assertNull(assertContext.getText("Actual should not exist."), actual);
+        } else {
             assertNotNull(assertContext.getText("Actual should exist."), actual);
             assertThat(assertContext.getText(String.format("Actual encrypt column size should be %s , but it was %s", expected.size(), actual.size())), actual.size(), is(expected.size()));
             int count = 0;
@@ -66,8 +68,6 @@ public final class EncryptRuleAssert {
                 EncryptColumnAssert.assertIs(assertContext, encryptColumnSegment, expectedEncryptColumn);
                 count++;
             }
-        } else {
-            assertNull(assertContext.getText("Actual should not exist."), actual);
         }
     }
 }
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/segment/distsql/rdl/ReadwriteSplittingRuleAssert.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/segment/distsql/rdl/ReadwriteSplittingRuleAssert.java
index 4882d00..b366c6c 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/segment/distsql/rdl/ReadwriteSplittingRuleAssert.java
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/segment/distsql/rdl/ReadwriteSplittingRuleAssert.java
@@ -19,7 +19,7 @@ package org.apache.shardingsphere.test.sql.parser.parameterized.asserts.segment.
 
 import lombok.AccessLevel;
 import lombok.NoArgsConstructor;
-import org.apache.shardingsphere.readwritesplitting.distsql.parser.statement.segment.ReadwriteSplittingRuleSegment;
+import org.apache.shardingsphere.readwritesplitting.distsql.parser.segment.ReadwriteSplittingRuleSegment;
 import org.apache.shardingsphere.test.sql.parser.parameterized.asserts.SQLCaseAssertContext;
 import org.apache.shardingsphere.test.sql.parser.parameterized.asserts.segment.distsql.PropertiesAssert;
 import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.segment.impl.distsql.rdl.ExceptedReadwriteSplittingRule;
@@ -34,16 +34,18 @@ import static org.junit.Assert.assertThat;
  */
 @NoArgsConstructor(access = AccessLevel.PRIVATE)
 public final class ReadwriteSplittingRuleAssert {
-
+    
     /**
      * Assert read-write splitting rule is correct with expected parser result.
      *
      * @param assertContext assert context
-     * @param actual        actual read-write splitting rule
-     * @param expected      expected read-write splitting rule test case
+     * @param actual actual read-write splitting rule
+     * @param expected expected read-write splitting rule test case
      */
     public static void assertIs(final SQLCaseAssertContext assertContext, final ReadwriteSplittingRuleSegment actual, final ExceptedReadwriteSplittingRule expected) {
-        if (null != expected) {
+        if (null == expected) {
+            assertNull(assertContext.getText("Actual should not exit."), actual);
+        } else {
             assertNotNull(assertContext.getText("Actual should exit."), actual);
             assertThat(assertContext.getText(String.format("`%s`'s read-write splitting rule segment assertion error: ",
                     actual.getClass().getSimpleName())), actual.getName(), is(expected.getName()));
@@ -56,8 +58,6 @@ public final class ReadwriteSplittingRuleAssert {
             assertThat(assertContext.getText(String.format("`%s`'s read-write splitting rule segment assertion error: ",
                     actual.getClass().getSimpleName())), actual.getLoadBalancer(), is(expected.getLoadBalancer()));
             PropertiesAssert.assertIs(assertContext, actual.getProps(), expected.getProps());
-        } else {
-            assertNull(assertContext.getText("Actual should not exit."), actual);
         }
     }
 }
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/segment/distsql/rdl/ShardingBindingTableRuleAssert.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/segment/distsql/rdl/ShardingBindingTableRuleAssert.java
index 2383ae4..33ae1c9 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/segment/distsql/rdl/ShardingBindingTableRuleAssert.java
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/segment/distsql/rdl/ShardingBindingTableRuleAssert.java
@@ -19,7 +19,7 @@ package org.apache.shardingsphere.test.sql.parser.parameterized.asserts.segment.
 
 import lombok.AccessLevel;
 import lombok.NoArgsConstructor;
-import org.apache.shardingsphere.sharding.distsql.parser.statement.segment.ShardingBindingTableRuleSegment;
+import org.apache.shardingsphere.sharding.distsql.parser.segment.BindingTableRuleSegment;
 import org.apache.shardingsphere.test.sql.parser.parameterized.asserts.SQLCaseAssertContext;
 import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.segment.impl.distsql.rdl.ExpectedShardingBindingTableRule;
 
@@ -33,21 +33,21 @@ import static org.junit.Assert.assertThat;
  */
 @NoArgsConstructor(access = AccessLevel.PRIVATE)
 public final class ShardingBindingTableRuleAssert {
-
+    
     /**
      * Assert sharding binding table rule is correct with expected parser result.
      *
      * @param assertContext assert context
-     * @param actual        actual sharding binding table rule
-     * @param expected      expected sharding binding table rule test case
+     * @param actual actual sharding binding table rule
+     * @param expected expected sharding binding table rule test case
      */
-    public static void assertIs(final SQLCaseAssertContext assertContext, final ShardingBindingTableRuleSegment actual, final ExpectedShardingBindingTableRule expected) {
-        if (null != expected) {
+    public static void assertIs(final SQLCaseAssertContext assertContext, final BindingTableRuleSegment actual, final ExpectedShardingBindingTableRule expected) {
+        if (null == expected) {
+            assertNull(assertContext.getText("Actual should not exist."), actual);
+        } else {
             assertNotNull(assertContext.getText("Actual should exist."), actual);
             assertThat(assertContext.getText(String.format("`%s`'s sharding binding table rule segment assertion error: ",
                     actual.getClass().getSimpleName())), actual.getTables(), is(expected.getTables()));
-        } else {
-            assertNull(assertContext.getText("Actual should not exist."), actual);
         }
     }
 }
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/RDLStatementAssert.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/RDLStatementAssert.java
index 54546e1..6b1476c 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/RDLStatementAssert.java
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/RDLStatementAssert.java
@@ -58,13 +58,13 @@ import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain
  */
 @NoArgsConstructor(access = AccessLevel.PRIVATE)
 public final class RDLStatementAssert {
-
+    
     /**
      * Assert SQL statement is correct with expected parser result.
      *
      * @param assertContext assert context
-     * @param actual        actual RDL statement
-     * @param expected      expected parser result
+     * @param actual actual RDL statement
+     * @param expected expected parser result
      */
     public static void assertIs(final SQLCaseAssertContext assertContext, final RDLStatement actual, final SQLParserTestCase expected) {
         if (actual instanceof AlterDatabaseDiscoveryRuleStatement) {
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/alter/AlterRuleStatementAssert.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/alter/AlterRuleStatementAssert.java
index 9de69bb..cb28fc6 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/alter/AlterRuleStatementAssert.java
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/alter/AlterRuleStatementAssert.java
@@ -43,13 +43,13 @@ import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain
  * Alter rule statement assert.
  */
 public final class AlterRuleStatementAssert {
-
+    
     /**
      * Assert alter sharding table rule statement is correct with expected parser result.
      *
      * @param assertContext assert context
-     * @param actual        actual alter sharding table rule statement
-     * @param expected      expected alter sharding table rule statement test case
+     * @param actual actual alter sharding table rule statement
+     * @param expected expected alter sharding table rule statement test case
      */
     public static void assertIs(final SQLCaseAssertContext assertContext, final AlterRuleStatement actual, final SQLParserTestCase expected) {
         if (actual instanceof AlterDatabaseDiscoveryRuleStatement) {
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/alter/impl/AlterDatabaseDiscoveryRuleStatementAssert.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/alter/impl/AlterDatabaseDiscoveryRuleStatementAssert.java
index 3942c14..658a7d2 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/alter/impl/AlterDatabaseDiscoveryRuleStatementAssert.java
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/alter/impl/AlterDatabaseDiscoveryRuleStatementAssert.java
@@ -19,8 +19,8 @@ package org.apache.shardingsphere.test.sql.parser.parameterized.asserts.statemen
 
 import lombok.AccessLevel;
 import lombok.NoArgsConstructor;
+import org.apache.shardingsphere.dbdiscovery.distsql.parser.segment.DatabaseDiscoveryRuleSegment;
 import org.apache.shardingsphere.dbdiscovery.distsql.parser.statement.AlterDatabaseDiscoveryRuleStatement;
-import org.apache.shardingsphere.dbdiscovery.distsql.parser.statement.segment.DatabaseDiscoveryRuleSegment;
 import org.apache.shardingsphere.test.sql.parser.parameterized.asserts.SQLCaseAssertContext;
 import org.apache.shardingsphere.test.sql.parser.parameterized.asserts.segment.distsql.rdl.DatabaseDiscoveryRuleAssert;
 import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.segment.impl.distsql.rdl.ExpectedDatabaseDiscoveryRule;
@@ -39,26 +39,29 @@ import static org.junit.Assert.assertThat;
  */
 @NoArgsConstructor(access = AccessLevel.PRIVATE)
 public final class AlterDatabaseDiscoveryRuleStatementAssert {
-
+    
     /**
      * Assert alter database discovery rule statement is correct with expected parser result.
      *
      * @param assertContext assert context
-     * @param actual        actual alter database discovery rule statement
-     * @param expected      expected alter database discovery rule statement test case
+     * @param actual actual alter database discovery rule statement
+     * @param expected expected alter database discovery rule statement test case
      */
     public static void assertIs(final SQLCaseAssertContext assertContext, final AlterDatabaseDiscoveryRuleStatement actual, final AlterDataBaseDiscoveryRuleStatementTestCase expected) {
-        if (null != expected) {
+        if (null == expected) {
+            assertNull(assertContext.getText("Actual should not exist."), actual);
+        } else {
             assertNotNull(assertContext.getText("Actual should exist."), actual);
             assertDatabaseDiscoveryRules(assertContext, actual.getRules(), expected.getDatabaseDiscoveryRules());
-        } else {
-            assertNull(assertContext.getText("Actual should not exist."), actual);
+            
         }
     }
 
     private static void assertDatabaseDiscoveryRules(final SQLCaseAssertContext assertContext, final Collection<DatabaseDiscoveryRuleSegment> actual,
                                                      final List<ExpectedDatabaseDiscoveryRule> expected) {
-        if (null != expected) {
+        if (null == expected) {
+            assertNull(assertContext.getText("Actual should not exist."), actual);
+        } else {
             assertNotNull(assertContext.getText("Actual should exist."), actual);
             assertThat(assertContext.getText(String.format("Actual database discovery rule size should be %s , but it was %s", expected.size(), actual.size())),
                     actual.size(), is(expected.size()));
@@ -68,8 +71,6 @@ public final class AlterDatabaseDiscoveryRuleStatementAssert {
                 DatabaseDiscoveryRuleAssert.assertIs(assertContext, databaseDiscoveryRuleSegment, expectedDatabaseDiscoveryRule);
                 count++;
             }
-        } else {
-            assertNull(assertContext.getText("Actual should not exist."), actual);
         }
     }
 
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/alter/impl/AlterEncryptRuleStatementAssert.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/alter/impl/AlterEncryptRuleStatementAssert.java
index 387e1e0..943dbbb 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/alter/impl/AlterEncryptRuleStatementAssert.java
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/alter/impl/AlterEncryptRuleStatementAssert.java
@@ -19,8 +19,8 @@ package org.apache.shardingsphere.test.sql.parser.parameterized.asserts.statemen
 
 import lombok.AccessLevel;
 import lombok.NoArgsConstructor;
+import org.apache.shardingsphere.encrypt.distsql.parser.segment.EncryptRuleSegment;
 import org.apache.shardingsphere.encrypt.distsql.parser.statement.AlterEncryptRuleStatement;
-import org.apache.shardingsphere.encrypt.distsql.parser.statement.segment.EncryptRuleSegment;
 import org.apache.shardingsphere.test.sql.parser.parameterized.asserts.SQLCaseAssertContext;
 import org.apache.shardingsphere.test.sql.parser.parameterized.asserts.segment.distsql.rdl.EncryptRuleAssert;
 import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.segment.impl.distsql.rdl.ExpectedEncryptRule;
@@ -39,25 +39,27 @@ import static org.junit.Assert.assertThat;
  */
 @NoArgsConstructor(access = AccessLevel.PRIVATE)
 public final class AlterEncryptRuleStatementAssert {
-
+    
     /**
      * Assert create encrypt rule statement is correct with expected parser result.
      *
      * @param assertContext assert context
-     * @param actual        actual create encrypt rule statement
-     * @param expected      expected create encrypt rule statement test case
+     * @param actual actual create encrypt rule statement
+     * @param expected expected create encrypt rule statement test case
      */
     public static void assertIs(final SQLCaseAssertContext assertContext, final AlterEncryptRuleStatement actual, final AlterEncryptRuleStatementTestCase expected) {
-        if (null != expected) {
+        if (null == expected) {
+            assertNull(assertContext.getText("Actual should not exist."), actual);
+        } else {
             assertNotNull(assertContext.getText("Actual should exist."), actual);
             assertEncryptRules(assertContext, actual.getRules(), expected.getEncryptRules());
-        } else {
-            assertNull(assertContext.getText("Actual should not exist."), actual);
         }
     }
-
+    
     private static void assertEncryptRules(final SQLCaseAssertContext assertContext, final Collection<EncryptRuleSegment> actual, final List<ExpectedEncryptRule> expected) {
-        if (null != expected) {
+        if (null == expected) {
+            assertNull(assertContext.getText("Actual should not exist."), actual);
+        } else {
             assertNotNull(assertContext.getText("Actual should exist."), actual);
             assertThat(assertContext.getText(String.format("Actual encrypt rule size should be %s , but it was %s", expected.size(), actual.size())), actual.size(), is(expected.size()));
             int count = 0;
@@ -66,8 +68,6 @@ public final class AlterEncryptRuleStatementAssert {
                 assertThat(assertContext.getText("encrypt rule table name assertion error: "), encryptRuleSegment.getTableName(), is(expectedEncryptRule.getTableName()));
                 EncryptRuleAssert.assertIs(assertContext, encryptRuleSegment, expectedEncryptRule);
             }
-        } else {
-            assertNull(assertContext.getText("Actual should not exist."), actual);
         }
     }
 }
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/alter/impl/AlterReadwriteSplittingRuleStatementAssert.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/alter/impl/AlterReadwriteSplittingRuleStatementAssert.java
index 6a286ba..9d7da3c 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/alter/impl/AlterReadwriteSplittingRuleStatementAssert.java
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/alter/impl/AlterReadwriteSplittingRuleStatementAssert.java
@@ -19,8 +19,8 @@ package org.apache.shardingsphere.test.sql.parser.parameterized.asserts.statemen
 
 import lombok.AccessLevel;
 import lombok.NoArgsConstructor;
+import org.apache.shardingsphere.readwritesplitting.distsql.parser.segment.ReadwriteSplittingRuleSegment;
 import org.apache.shardingsphere.readwritesplitting.distsql.parser.statement.AlterReadwriteSplittingRuleStatement;
-import org.apache.shardingsphere.readwritesplitting.distsql.parser.statement.segment.ReadwriteSplittingRuleSegment;
 import org.apache.shardingsphere.test.sql.parser.parameterized.asserts.SQLCaseAssertContext;
 import org.apache.shardingsphere.test.sql.parser.parameterized.asserts.segment.distsql.rdl.ReadwriteSplittingRuleAssert;
 import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.segment.impl.distsql.rdl.ExceptedReadwriteSplittingRule;
@@ -39,7 +39,7 @@ import static org.junit.Assert.assertThat;
  */
 @NoArgsConstructor(access = AccessLevel.PRIVATE)
 public final class AlterReadwriteSplittingRuleStatementAssert {
-
+    
     /**
      * Assert alter readwrite splitting rule statement is correct with expected parser result.
      *
@@ -48,17 +48,19 @@ public final class AlterReadwriteSplittingRuleStatementAssert {
      * @param expected expected alter readwrite splitting rule statement result
      */
     public static void assertIs(final SQLCaseAssertContext assertContext, final AlterReadwriteSplittingRuleStatement actual, final AlterReadWriteSplittingRuleStatementTestCase expected) {
-        if (null != expected) {
+        if (null == expected) {
+            assertNull(assertContext.getText("Actual should not exist."), actual);
+        } else {
             assertNotNull(assertContext.getText("Actual should exist."), actual);
             assertReadwriteSplittingRule(assertContext, actual.getRules(), expected.getReadwriteSplittingRules());
-        } else {
-            assertNull(assertContext.getText("Actual should not exist."), actual);
         }
     }
-
+    
     private static void assertReadwriteSplittingRule(final SQLCaseAssertContext assertContext, final Collection<ReadwriteSplittingRuleSegment> actual,
                                                      final List<ExceptedReadwriteSplittingRule> expected) {
-        if (null != expected) {
+        if (null == expected) {
+            assertNull(assertContext.getText("Actual should not exist."), actual);
+        } else {
             assertNotNull(assertContext.getText("Actual should exist."), actual);
             assertThat(assertContext.getText(String.format("Actual readwrite splitting size should be %s , but it was %s", expected.size(), actual.size())), actual.size(), is(expected.size()));
             int count = 0;
@@ -67,8 +69,6 @@ public final class AlterReadwriteSplittingRuleStatementAssert {
                 ReadwriteSplittingRuleAssert.assertIs(assertContext, readwriteSplittingRuleSegment, exceptedReadwriteSplittingRule);
                 count++;
             }
-        } else {
-            assertNull(assertContext.getText("Actual should not exist."), actual);
         }
     }
 }
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/alter/impl/AlterShardingBindingTableRulesStatementAssert.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/alter/impl/AlterShardingBindingTableRulesStatementAssert.java
index 4c72cc0..9f3c73d 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/alter/impl/AlterShardingBindingTableRulesStatementAssert.java
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/alter/impl/AlterShardingBindingTableRulesStatementAssert.java
@@ -19,8 +19,8 @@ package org.apache.shardingsphere.test.sql.parser.parameterized.asserts.statemen
 
 import lombok.AccessLevel;
 import lombok.NoArgsConstructor;
+import org.apache.shardingsphere.sharding.distsql.parser.segment.BindingTableRuleSegment;
 import org.apache.shardingsphere.sharding.distsql.parser.statement.AlterShardingBindingTableRulesStatement;
-import org.apache.shardingsphere.sharding.distsql.parser.statement.segment.ShardingBindingTableRuleSegment;
 import org.apache.shardingsphere.test.sql.parser.parameterized.asserts.SQLCaseAssertContext;
 import org.apache.shardingsphere.test.sql.parser.parameterized.asserts.segment.distsql.rdl.ShardingBindingTableRuleAssert;
 import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.segment.impl.distsql.rdl.ExpectedShardingBindingTableRule;
@@ -39,37 +39,37 @@ import static org.junit.Assert.assertThat;
  */
 @NoArgsConstructor(access = AccessLevel.PRIVATE)
 public final class AlterShardingBindingTableRulesStatementAssert {
-
+    
     /**
      * Assert alter sharding binding table rule statement is correct with expected parser result.
      *
      * @param assertContext assert context
-     * @param actual        actual alter sharding binding table rule statement
-     * @param expected      expected alter sharding binding table rule statement test case
+     * @param actual actual alter sharding binding table rule statement
+     * @param expected expected alter sharding binding table rule statement test case
      */
     public static void assertIs(final SQLCaseAssertContext assertContext, final AlterShardingBindingTableRulesStatement actual, final AlterShardingBindingTableRulesStatementTestCase expected) {
-        if (null != expected) {
+        if (null == expected) {
+            assertNull(assertContext.getText("Actual should not exist."), actual);
+        } else {
             assertNotNull(assertContext.getText("Actual should exist."), actual);
             assertShardingBindingTableRules(assertContext, actual.getRules(), expected.getRules());
-        } else {
-            assertNull(assertContext.getText("Actual should not exist."), actual);
         }
     }
-
-    private static void assertShardingBindingTableRules(final SQLCaseAssertContext assertContext, final Collection<ShardingBindingTableRuleSegment> actual,
+    
+    private static void assertShardingBindingTableRules(final SQLCaseAssertContext assertContext, final Collection<BindingTableRuleSegment> actual,
                                                         final List<ExpectedShardingBindingTableRule> expected) {
-        if (null != expected) {
+        if (null == expected) {
+            assertNull(assertContext.getText("Actual should not exist."), actual);
+        } else {
             assertNotNull(assertContext.getText("Actual should exist."), actual);
             assertThat(assertContext.getText(String.format("Actual sharding binding table rule size should be %s , but it was %s", expected.size(), actual.size())),
                     actual.size(), is(expected.size()));
             int count = 0;
-            for (ShardingBindingTableRuleSegment shardingBindingTableRuleSegment : actual) {
+            for (BindingTableRuleSegment shardingBindingTableRuleSegment : actual) {
                 ExpectedShardingBindingTableRule expectedShardingBindingTableRule = expected.get(count);
                 ShardingBindingTableRuleAssert.assertIs(assertContext, shardingBindingTableRuleSegment, expectedShardingBindingTableRule);
                 count++;
             }
-        } else {
-            assertNull(assertContext.getText("Actual should not exist."), actual);
         }
     }
 }
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/alter/impl/AlterShardingBroadcastTableRulesStatementAssert.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/alter/impl/AlterShardingBroadcastTableRulesStatementAssert.java
index 9e72109..792c1f6 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/alter/impl/AlterShardingBroadcastTableRulesStatementAssert.java
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/alter/impl/AlterShardingBroadcastTableRulesStatementAssert.java
@@ -33,20 +33,20 @@ import static org.junit.Assert.assertThat;
  */
 @NoArgsConstructor(access = AccessLevel.PRIVATE)
 public final class AlterShardingBroadcastTableRulesStatementAssert {
-
+    
     /**
      * Assert alter sharding broadcast table rule statement is correct with expected parser result.
      *
      * @param assertContext assert context
-     * @param actual        actual alter sharding broadcast table rule statement
-     * @param expected      expected alter sharding broadcast table rule statement test case
+     * @param actual actual alter sharding broadcast table rule statement
+     * @param expected expected alter sharding broadcast table rule statement test case
      */
     public static void assertIs(final SQLCaseAssertContext assertContext, final AlterShardingBroadcastTableRulesStatement actual, final AlterShardingBroadcastTableRulesStatementTestCase expected) {
-        if (null != expected) {
+        if (null == expected) {
+            assertNull(assertContext.getText("Actual should not exist."), actual);
+        } else {
             assertNotNull(assertContext.getText("Actual should exist."), actual);
             assertThat(assertContext.getText("sharding broadcast table rule assertion error : "), actual.getTables(), is(expected.getTables()));
-        } else {
-            assertNull(assertContext.getText("Actual should not exist."), actual);
         }
     }
 }
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/alter/impl/AlterShardingTableRuleStatementAssert.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/alter/impl/AlterShardingTableRuleStatementAssert.java
index 01cec74..5c9fe65 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/alter/impl/AlterShardingTableRuleStatementAssert.java
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/alter/impl/AlterShardingTableRuleStatementAssert.java
@@ -19,8 +19,8 @@ package org.apache.shardingsphere.test.sql.parser.parameterized.asserts.statemen
 
 import lombok.AccessLevel;
 import lombok.NoArgsConstructor;
+import org.apache.shardingsphere.sharding.distsql.parser.segment.TableRuleSegment;
 import org.apache.shardingsphere.sharding.distsql.parser.statement.AlterShardingTableRuleStatement;
-import org.apache.shardingsphere.sharding.distsql.parser.statement.segment.TableRuleSegment;
 import org.apache.shardingsphere.test.sql.parser.parameterized.asserts.SQLCaseAssertContext;
 import org.apache.shardingsphere.test.sql.parser.parameterized.asserts.segment.distsql.TableRuleAssert;
 import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.segment.impl.distsql.ExpectedTableRule;
@@ -37,33 +37,33 @@ import static org.junit.Assert.assertNull;
  */
 @NoArgsConstructor(access = AccessLevel.PRIVATE)
 public final class AlterShardingTableRuleStatementAssert {
-
+    
     /**
      * Assert alter sharding table rule statement is correct with expected parser result.
      *
      * @param assertContext assert context
-     * @param actual        actual alter sharding table rule statement
-     * @param expected      expected alter sharding table rule statement test case
+     * @param actual actual alter sharding table rule statement
+     * @param expected expected alter sharding table rule statement test case
      */
     public static void assertIs(final SQLCaseAssertContext assertContext, final AlterShardingTableRuleStatement actual, final AlterShardingTableRuleStatementTestCase expected) {
-        if (null != expected) {
+        if (null == expected) {
+            assertNull(assertContext.getText("Actual should not exist."), actual);
+        } else {
             assertNotNull(assertContext.getText("Actual should exist."), actual);
             assertShardingTableRules(assertContext, actual.getRules(), expected.getTableRules());
-        } else {
-            assertNull(assertContext.getText("Actual should not exist."), actual);
         }
     }
-
+    
     private static void assertShardingTableRules(final SQLCaseAssertContext assertContext, final Collection<TableRuleSegment> actual, final List<ExpectedTableRule> expected) {
-        if (null != expected) {
+        if (null == expected) {
+            assertNull(assertContext.getText("Actual should not exist."), actual);
+        } else {
             assertNotNull(assertContext.getText("Actual should exist."), actual);
             int count = 0;
             for (TableRuleSegment tableRuleSegment : actual) {
                 ExpectedTableRule expectedTableRule = expected.get(count);
                 TableRuleAssert.assertIs(assertContext, tableRuleSegment, expectedTableRule);
             }
-        } else {
-            assertNull(assertContext.getText("Actual should not exist."), actual);
         }
     }
 }
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/create/AddResourceStatementAssert.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/create/AddResourceStatementAssert.java
index 0320b19..e4781c4 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/create/AddResourceStatementAssert.java
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/create/AddResourceStatementAssert.java
@@ -39,25 +39,27 @@ import static org.junit.Assert.assertThat;
  */
 @NoArgsConstructor(access = AccessLevel.PRIVATE)
 public final class AddResourceStatementAssert {
-
+    
     /**
      * Assert add resource statement is correct with expected parser result.
      *
      * @param assertContext assert context
-     * @param actual        actual add resource statement
-     * @param expected      expected add resource statement test case
+     * @param actual actual add resource statement
+     * @param expected expected add resource statement test case
      */
     public static void assertIs(final SQLCaseAssertContext assertContext, final AddResourceStatement actual, final AddResourceStatementTestCase expected) {
-        if (null != expected) {
+        if (null == expected) {
+            assertNull(assertContext.getText("Actual should not exist."), actual);
+        } else {
             assertNotNull(assertContext.getText("Actual should exist."), actual);
             assertDataSources(assertContext, actual.getDataSources(), expected.getDataSources());
-        } else {
-            assertNull(assertContext.getText("Actual should not exist."), actual);
         }
     }
-
+    
     private static void assertDataSources(final SQLCaseAssertContext assertContext, final Collection<DataSourceSegment> actual, final List<ExpectedDataSource> expected) {
-        if (null != expected) {
+        if (null == expected) {
+            assertNull(assertContext.getText("Actual should not exist."), actual);
+        } else {
             assertNotNull(assertContext.getText("Actual should exist."), actual);
             assertThat(assertContext.getText(String.format("Actual datasource size should be %s , but it was %s", expected.size(), actual.size())), actual.size(), is(expected.size()));
             int count = 0;
@@ -65,8 +67,6 @@ public final class AddResourceStatementAssert {
                 DataSourceAssert.assertIs(assertContext, actualDataSource, expected.get(count));
                 count++;
             }
-        } else {
-            assertNull(assertContext.getText("Actual should not exist."), actual);
         }
     }
 }
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/create/CreateRuleStatementAssert.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/create/CreateRuleStatementAssert.java
index 2d7978e..3852462 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/create/CreateRuleStatementAssert.java
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/create/CreateRuleStatementAssert.java
@@ -46,13 +46,13 @@ import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain
  */
 @NoArgsConstructor(access = AccessLevel.PRIVATE)
 public final class CreateRuleStatementAssert {
-
+    
     /**
      * Assert create RDL statement is correct with expected parser result.
      *
      * @param assertContext assert context
-     * @param actual        actual create RDL statement
-     * @param expected      expected create RDL statement test case
+     * @param actual actual create RDL statement
+     * @param expected expected create RDL statement test case
      */
     public static void assertIs(final SQLCaseAssertContext assertContext, final CreateRuleStatement actual, final SQLParserTestCase expected) {
         if (actual instanceof CreateDatabaseDiscoveryRuleStatement) {
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/create/impl/CreateDatabaseDiscoveryRuleStatementAssert.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/create/impl/CreateDatabaseDiscoveryRuleStatementAssert.java
index 7f077fe..5bc3adb 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/create/impl/CreateDatabaseDiscoveryRuleStatementAssert.java
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/create/impl/CreateDatabaseDiscoveryRuleStatementAssert.java
@@ -19,8 +19,8 @@ package org.apache.shardingsphere.test.sql.parser.parameterized.asserts.statemen
 
 import lombok.AccessLevel;
 import lombok.NoArgsConstructor;
+import org.apache.shardingsphere.dbdiscovery.distsql.parser.segment.DatabaseDiscoveryRuleSegment;
 import org.apache.shardingsphere.dbdiscovery.distsql.parser.statement.CreateDatabaseDiscoveryRuleStatement;
-import org.apache.shardingsphere.dbdiscovery.distsql.parser.statement.segment.DatabaseDiscoveryRuleSegment;
 import org.apache.shardingsphere.test.sql.parser.parameterized.asserts.SQLCaseAssertContext;
 import org.apache.shardingsphere.test.sql.parser.parameterized.asserts.segment.distsql.rdl.DatabaseDiscoveryRuleAssert;
 import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.segment.impl.distsql.rdl.ExpectedDatabaseDiscoveryRule;
@@ -39,26 +39,28 @@ import static org.junit.Assert.assertThat;
  */
 @NoArgsConstructor(access = AccessLevel.PRIVATE)
 public final class CreateDatabaseDiscoveryRuleStatementAssert {
-
+    
     /**
      * Assert create database discovery rule statement is correct with expected parser result.
      *
      * @param assertContext assert context
-     * @param actual        actual create database discovery rule statement
-     * @param expected      expected create database discovery rule statement test case
+     * @param actual actual create database discovery rule statement
+     * @param expected expected create database discovery rule statement test case
      */
     public static void assertIs(final SQLCaseAssertContext assertContext, final CreateDatabaseDiscoveryRuleStatement actual, final CreateDataBaseDiscoveryRuleStatementTestCase expected) {
-        if (null != expected) {
+        if (null == expected) {
+            assertNull(assertContext.getText("Actual should not exist."), actual);
+        } else {
             assertNotNull(assertContext.getText("Actual should exist."), actual);
             assertDatabaseDiscoveryRules(assertContext, actual.getRules(), expected.getDatabaseDiscoveryRules());
-        } else {
-            assertNull(assertContext.getText("Actual should not exist."), actual);
         }
     }
-
+    
     private static void assertDatabaseDiscoveryRules(final SQLCaseAssertContext assertContext, final Collection<DatabaseDiscoveryRuleSegment> actual,
                                                      final List<ExpectedDatabaseDiscoveryRule> expected) {
-        if (null != expected) {
+        if (null == expected) {
+            assertNull(assertContext.getText("Actual should not exist."), actual);
+        } else {
             assertNotNull(assertContext.getText("Actual should exist."), actual);
             assertThat(assertContext.getText(String.format("Actual database discovery rule size should be %s , but it was %s", expected.size(), actual.size())), actual.size(), is(expected.size()));
             int count = 0;
@@ -66,8 +68,6 @@ public final class CreateDatabaseDiscoveryRuleStatementAssert {
                 DatabaseDiscoveryRuleAssert.assertIs(assertContext, databaseDiscoveryRuleSegment, expected.get(count));
                 count++;
             }
-        } else {
-            assertNull(assertContext.getText("Actual should not exist."), actual);
         }
     }
 }
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/create/impl/CreateEncryptRuleStatementAssert.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/create/impl/CreateEncryptRuleStatementAssert.java
index 8ca60c3..ce10a0c 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/create/impl/CreateEncryptRuleStatementAssert.java
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/create/impl/CreateEncryptRuleStatementAssert.java
@@ -19,8 +19,8 @@ package org.apache.shardingsphere.test.sql.parser.parameterized.asserts.statemen
 
 import lombok.AccessLevel;
 import lombok.NoArgsConstructor;
+import org.apache.shardingsphere.encrypt.distsql.parser.segment.EncryptRuleSegment;
 import org.apache.shardingsphere.encrypt.distsql.parser.statement.CreateEncryptRuleStatement;
-import org.apache.shardingsphere.encrypt.distsql.parser.statement.segment.EncryptRuleSegment;
 import org.apache.shardingsphere.test.sql.parser.parameterized.asserts.SQLCaseAssertContext;
 import org.apache.shardingsphere.test.sql.parser.parameterized.asserts.segment.distsql.rdl.EncryptRuleAssert;
 import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.segment.impl.distsql.rdl.ExpectedEncryptRule;
@@ -39,25 +39,27 @@ import static org.junit.Assert.assertThat;
  */
 @NoArgsConstructor(access = AccessLevel.PRIVATE)
 public final class CreateEncryptRuleStatementAssert {
-
+    
     /**
      * Assert create encrypt rule statement is correct with expected parser result.
      *
      * @param assertContext assert context
-     * @param actual        actual create encrypt rule statement
-     * @param expected      expected create encrypt rule statement test case
+     * @param actual actual create encrypt rule statement
+     * @param expected expected create encrypt rule statement test case
      */
     public static void assertIs(final SQLCaseAssertContext assertContext, final CreateEncryptRuleStatement actual, final CreateEncryptRuleStatementTestCase expected) {
-        if (null != expected) {
+        if (null == expected) {
+            assertNull(assertContext.getText("Actual should not exist."), actual);   
+        } else {
             assertNotNull(assertContext.getText("Actual should exist."), actual);
             assertEncryptRules(assertContext, actual.getRules(), expected.getEncryptRules());
-        } else {
-            assertNull(assertContext.getText("Actual should not exist."), actual);
         }
     }
-
+    
     private static void assertEncryptRules(final SQLCaseAssertContext assertContext, final Collection<EncryptRuleSegment> actual, final List<ExpectedEncryptRule> expected) {
-        if (null != expected) {
+        if (null == expected) {
+            assertNull(assertContext.getText("Actual should not exist."), actual);
+        } else {
             assertNotNull(assertContext.getText("Actual should exist."), actual);
             assertThat(assertContext.getText(String.format("Actual encrypt rule size should be %s , but it was %s",
                     expected.size(), actual.size())), actual.size(), is(expected.size()));
@@ -68,8 +70,6 @@ public final class CreateEncryptRuleStatementAssert {
                 EncryptRuleAssert.assertIs(assertContext, encryptRuleSegment, expectedEncryptRule);
                 count++;
             }
-        } else {
-            assertNull(assertContext.getText("Actual should not exist."), actual);
         }
     }
 }
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/create/impl/CreateReadwriteSplittingRuleStatementAssert.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/create/impl/CreateReadwriteSplittingRuleStatementAssert.java
index 212fc42..dba6f21 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/create/impl/CreateReadwriteSplittingRuleStatementAssert.java
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/create/impl/CreateReadwriteSplittingRuleStatementAssert.java
@@ -19,8 +19,8 @@ package org.apache.shardingsphere.test.sql.parser.parameterized.asserts.statemen
 
 import lombok.AccessLevel;
 import lombok.NoArgsConstructor;
+import org.apache.shardingsphere.readwritesplitting.distsql.parser.segment.ReadwriteSplittingRuleSegment;
 import org.apache.shardingsphere.readwritesplitting.distsql.parser.statement.CreateReadwriteSplittingRuleStatement;
-import org.apache.shardingsphere.readwritesplitting.distsql.parser.statement.segment.ReadwriteSplittingRuleSegment;
 import org.apache.shardingsphere.test.sql.parser.parameterized.asserts.SQLCaseAssertContext;
 import org.apache.shardingsphere.test.sql.parser.parameterized.asserts.segment.distsql.rdl.ReadwriteSplittingRuleAssert;
 import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.segment.impl.distsql.rdl.ExceptedReadwriteSplittingRule;
@@ -39,26 +39,28 @@ import static org.junit.Assert.assertThat;
  */
 @NoArgsConstructor(access = AccessLevel.PRIVATE)
 public final class CreateReadwriteSplittingRuleStatementAssert {
-
+    
     /**
      * Assert create readwrite splitting rule statement is correct with expected parser result.
      *
      * @param assertContext assert context
-     * @param actual        actual create readwrite splitting rule statement
-     * @param expected      expected create readwrite splitting rule statement test case
+     * @param actual actual create readwrite splitting rule statement
+     * @param expected expected create readwrite splitting rule statement test case
      */
     public static void assertIs(final SQLCaseAssertContext assertContext, final CreateReadwriteSplittingRuleStatement actual, final CreateReadWriteSplittingRuleStatementTestCase expected) {
-        if (null != expected) {
+        if (null == expected) {
+            assertNull(assertContext.getText("Actual should not exist."), actual);
+        } else {
             assertNotNull(assertContext.getText("Actual should exist."), actual);
             assertReadwriteSplittingRule(assertContext, actual.getRules(), expected.getReadwriteSplittingRules());
-        } else {
-            assertNull(assertContext.getText("Actual should not exist."), actual);
         }
     }
-
+    
     private static void assertReadwriteSplittingRule(final SQLCaseAssertContext assertContext, final Collection<ReadwriteSplittingRuleSegment> actual,
                                                      final List<ExceptedReadwriteSplittingRule> expected) {
-        if (null != expected) {
+        if (null == expected) {
+            assertNull(assertContext.getText("Actual should not exist."), actual);
+        } else {
             assertNotNull(assertContext.getText("Actual should exist."), actual);
             assertThat(assertContext.getText(String.format("Actual readwrite splitting rule size should be %s , but it was %s",
                     expected.size(), actual.size())), actual.size(), is(expected.size()));
@@ -68,8 +70,6 @@ public final class CreateReadwriteSplittingRuleStatementAssert {
                 ReadwriteSplittingRuleAssert.assertIs(assertContext, readwriteSplittingRuleSegment, exceptedReadwriteSplittingRule);
                 count++;
             }
-        } else {
-            assertNull(assertContext.getText("Actual should not exist."), actual);
         }
     }
 }
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/create/impl/CreateShardingBindingTableRulesStatementAssert.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/create/impl/CreateShardingBindingTableRulesStatementAssert.java
index 52c0882..b13bc64 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/create/impl/CreateShardingBindingTableRulesStatementAssert.java
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/create/impl/CreateShardingBindingTableRulesStatementAssert.java
@@ -19,8 +19,8 @@ package org.apache.shardingsphere.test.sql.parser.parameterized.asserts.statemen
 
 import lombok.AccessLevel;
 import lombok.NoArgsConstructor;
+import org.apache.shardingsphere.sharding.distsql.parser.segment.BindingTableRuleSegment;
 import org.apache.shardingsphere.sharding.distsql.parser.statement.CreateShardingBindingTableRulesStatement;
-import org.apache.shardingsphere.sharding.distsql.parser.statement.segment.ShardingBindingTableRuleSegment;
 import org.apache.shardingsphere.test.sql.parser.parameterized.asserts.SQLCaseAssertContext;
 import org.apache.shardingsphere.test.sql.parser.parameterized.asserts.segment.distsql.rdl.ShardingBindingTableRuleAssert;
 import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.segment.impl.distsql.rdl.ExpectedShardingBindingTableRule;
@@ -39,37 +39,37 @@ import static org.junit.Assert.assertThat;
  */
 @NoArgsConstructor(access = AccessLevel.PRIVATE)
 public final class CreateShardingBindingTableRulesStatementAssert {
-
+    
     /**
      * Assert create sharding binding table rule statement is correct with expected parser result.
      *
      * @param assertContext assert context
-     * @param actual        actual create sharding binding table rule statement
-     * @param expected      expected create sharding binding table rule statement test case
+     * @param actual actual create sharding binding table rule statement
+     * @param expected expected create sharding binding table rule statement test case
      */
     public static void assertIs(final SQLCaseAssertContext assertContext, final CreateShardingBindingTableRulesStatement actual, final CreateShardingBindingTableRulesStatementTestCase expected) {
-        if (null != expected) {
+        if (null == expected) {
+            assertNull(assertContext.getText("Actual should not exist."), actual);
+        } else {
             assertNotNull(assertContext.getText("Actual should exist."), actual);
             assertShardingBindingTableRules(assertContext, actual.getRules(), expected.getRules());
-        } else {
-            assertNull(assertContext.getText("Actual should not exist."), actual);
         }
     }
-
-    private static void assertShardingBindingTableRules(final SQLCaseAssertContext assertContext, final Collection<ShardingBindingTableRuleSegment> actual,
+    
+    private static void assertShardingBindingTableRules(final SQLCaseAssertContext assertContext, final Collection<BindingTableRuleSegment> actual,
                                                         final List<ExpectedShardingBindingTableRule> expected) {
-        if (null != expected) {
+        if (null == expected) {
+            assertNull(assertContext.getText("Actual should not exist."), actual);
+        } else {
             assertNotNull(assertContext.getText("Actual should exist."), actual);
             assertThat(assertContext.getText(String.format("Actual sharding binding table rule size should be %s , but it was %s",
                     expected.size(), actual.size())), actual.size(), is(expected.size()));
             int count = 0;
-            for (ShardingBindingTableRuleSegment shardingBindingTableRuleSegment : actual) {
+            for (BindingTableRuleSegment shardingBindingTableRuleSegment : actual) {
                 ExpectedShardingBindingTableRule expectedShardingBindingTableRule = expected.get(count);
                 ShardingBindingTableRuleAssert.assertIs(assertContext, shardingBindingTableRuleSegment, expectedShardingBindingTableRule);
                 count++;
             }
-        } else {
-            assertNull(assertContext.getText("Actual should not exist."), actual);
         }
     }
 }
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/create/impl/CreateShardingBroadcastTableRulesStatementAssert.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/create/impl/CreateShardingBroadcastTableRulesStatementAssert.java
index 17f70c1..729ab36 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/create/impl/CreateShardingBroadcastTableRulesStatementAssert.java
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/create/impl/CreateShardingBroadcastTableRulesStatementAssert.java
@@ -33,20 +33,20 @@ import static org.junit.Assert.assertThat;
  */
 @NoArgsConstructor(access = AccessLevel.PRIVATE)
 public final class CreateShardingBroadcastTableRulesStatementAssert {
-
+    
     /**
      * Assert create sharding binding table rule statement is correct with expected parser result.
      *
      * @param assertContext assert context
-     * @param actual        actual create sharding broadcast table rule statement
-     * @param expected      expected create sharding broadcast table rule statement test case
+     * @param actual actual create sharding broadcast table rule statement
+     * @param expected expected create sharding broadcast table rule statement test case
      */
     public static void assertIs(final SQLCaseAssertContext assertContext, final CreateShardingBroadcastTableRulesStatement actual, final CreateShardingBroadcastTableRulesStatementTestCase expected) {
-        if (null != expected) {
+        if (null == expected) {
+            assertNull(assertContext.getText("Actual should not exist."), actual);
+        } else {
             assertNotNull(assertContext.getText("Actual should exist."), actual);
             assertThat(assertContext.getText("create sharding broadcast table rule assertion error: "), actual.getTables(), is(expected.getTables()));
-        } else {
-            assertNull(assertContext.getText("Actual should not exist."), actual);
         }
     }
 }
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/create/impl/CreateShardingTableRuleStatementAssert.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/create/impl/CreateShardingTableRuleStatementAssert.java
index e129c2e..50f5c4c 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/create/impl/CreateShardingTableRuleStatementAssert.java
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/create/impl/CreateShardingTableRuleStatementAssert.java
@@ -19,8 +19,8 @@ package org.apache.shardingsphere.test.sql.parser.parameterized.asserts.statemen
 
 import lombok.AccessLevel;
 import lombok.NoArgsConstructor;
+import org.apache.shardingsphere.sharding.distsql.parser.segment.TableRuleSegment;
 import org.apache.shardingsphere.sharding.distsql.parser.statement.CreateShardingTableRuleStatement;
-import org.apache.shardingsphere.sharding.distsql.parser.statement.segment.TableRuleSegment;
 import org.apache.shardingsphere.test.sql.parser.parameterized.asserts.SQLCaseAssertContext;
 import org.apache.shardingsphere.test.sql.parser.parameterized.asserts.segment.distsql.TableRuleAssert;
 import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.segment.impl.distsql.ExpectedTableRule;
@@ -42,28 +42,28 @@ public final class CreateShardingTableRuleStatementAssert {
      * Assert create sharding binding table rule statement is correct with expected parser result.
      *
      * @param assertContext assert context
-     * @param actual        actual create sharding table rule statement
-     * @param expected      expected create sharding table rule statement test case
+     * @param actual actual create sharding table rule statement
+     * @param expected expected create sharding table rule statement test case
      */
     public static void assertIs(final SQLCaseAssertContext assertContext, final CreateShardingTableRuleStatement actual, final CreateShardingTableRuleStatementTestCase expected) {
-        if (null != expected) {
+        if (null == expected) {
+            assertNull(assertContext.getText("Actual should not exist."), actual);
+        } else {
             assertNotNull(assertContext.getText("Actual should exist."), actual);
             assertShardingTableRules(assertContext, actual.getRules(), expected.getTableRules());
-        } else {
-            assertNull(assertContext.getText("Actual should not exist."), actual);
         }
     }
 
     private static void assertShardingTableRules(final SQLCaseAssertContext assertContext, final Collection<TableRuleSegment> actual, final List<ExpectedTableRule> expected) {
-        if (null != expected) {
+        if (null == expected) {
+            assertNull(assertContext.getText("Actual should not exist."), actual);
+        } else {
             assertNotNull(assertContext.getText("Actual should exist."), actual);
             int count = 0;
             for (TableRuleSegment tableRuleSegment : actual) {
                 ExpectedTableRule expectedTableRule = expected.get(count);
                 TableRuleAssert.assertIs(assertContext, tableRuleSegment, expectedTableRule);
             }
-        } else {
-            assertNull(assertContext.getText("Actual should not exist."), actual);
         }
     }
 }
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/drop/DropResourceStatementAssert.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/drop/DropResourceStatementAssert.java
index 87646dd..ef8e169 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/drop/DropResourceStatementAssert.java
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/drop/DropResourceStatementAssert.java
@@ -32,19 +32,19 @@ import static org.junit.Assert.assertThat;
  */
 @NoArgsConstructor(access = AccessLevel.PRIVATE)
 public final class DropResourceStatementAssert {
-
+    
     /**
      * Assert drop resource statement is correct with expected parser result.
      *
      * @param assertContext assert context
-     * @param actual        actual drop resource statement
-     * @param expected      expected drop resource statement test case
+     * @param actual actual drop resource statement
+     * @param expected expected drop resource statement test case
      */
     public static void assertIs(final SQLCaseAssertContext assertContext, final DropResourceStatement actual, final DropResourceStatementTestCase expected) {
-        if (null != expected.getDataSources()) {
-            assertThat(assertContext.getText("resource assertion error: "), actual.getNames(), is(expected.getDataSources()));
-        } else {
+        if (null == expected.getDataSources()) {
             assertNull(assertContext.getText("Actual resource should not exist."), actual);
+        } else {
+            assertThat(assertContext.getText("resource assertion error: "), actual.getNames(), is(expected.getDataSources()));
         }
     }
 }
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/drop/DropRuleStatementAssert.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/drop/DropRuleStatementAssert.java
index 77e9440..9d422e3 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/drop/DropRuleStatementAssert.java
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/drop/DropRuleStatementAssert.java
@@ -46,13 +46,13 @@ import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain
  */
 @NoArgsConstructor(access = AccessLevel.PRIVATE)
 public final class DropRuleStatementAssert {
-
+    
     /**
      * Assert drop RDL statement is correct with expected parser result.
      *
      * @param assertContext assert context
-     * @param actual        actual drop RDL statement
-     * @param expected      expected drop RDL statement test case
+     * @param actual actual drop RDL statement
+     * @param expected expected drop RDL statement test case
      */
     public static void assertIs(final SQLCaseAssertContext assertContext, final DropRuleStatement actual, final SQLParserTestCase expected) {
         if (actual instanceof DropDatabaseDiscoveryRuleStatement) {
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/drop/impl/DropDatabaseDiscoveryRuleStatementAssert.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/drop/impl/DropDatabaseDiscoveryRuleStatementAssert.java
index 1872375..58277e5 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/drop/impl/DropDatabaseDiscoveryRuleStatementAssert.java
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/drop/impl/DropDatabaseDiscoveryRuleStatementAssert.java
@@ -33,20 +33,20 @@ import static org.junit.Assert.assertThat;
  */
 @NoArgsConstructor(access = AccessLevel.PRIVATE)
 public final class DropDatabaseDiscoveryRuleStatementAssert {
-
+    
     /**
      * Assert drop database discovery rule statement is correct with expected parser result.
      *
      * @param assertContext assert context
-     * @param actual        actual drop database discovery rule statement
-     * @param expected      expected drop database discovery rule statement test case
+     * @param actual actual drop database discovery rule statement
+     * @param expected expected drop database discovery rule statement test case
      */
     public static void assertIs(final SQLCaseAssertContext assertContext, final DropDatabaseDiscoveryRuleStatement actual, final DropDataBaseDiscoveryRuleStatementTestCase expected) {
-        if (null != expected) {
+        if (null == expected) {
+            assertNull(assertContext.getText("Actual should not exist."), actual);
+        } else {
             assertNotNull(assertContext.getText("Actual should exist."), actual);
             assertThat(assertContext.getText("database discovery rule assertion error: "), actual.getRuleNames(), is(expected.getDatabaseDiscoveryRules()));
-        } else {
-            assertNull(assertContext.getText("Actual should not exist."), actual);
         }
     }
 }
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/drop/impl/DropEncryptRuleStatementAssert.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/drop/impl/DropEncryptRuleStatementAssert.java
index edd4c99..4e4fd4d 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/drop/impl/DropEncryptRuleStatementAssert.java
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/drop/impl/DropEncryptRuleStatementAssert.java
@@ -33,20 +33,20 @@ import static org.junit.Assert.assertThat;
  */
 @NoArgsConstructor(access = AccessLevel.PRIVATE)
 public final class DropEncryptRuleStatementAssert {
-
+    
     /**
      * Assert drop encrypt rule statement is correct with expected parser result.
      *
      * @param assertContext assert context
-     * @param actual        actual drop encrypt rule statement
-     * @param expected      expected drop encrypt rule statement test case
+     * @param actual actual drop encrypt rule statement
+     * @param expected expected drop encrypt rule statement test case
      */
     public static void assertIs(final SQLCaseAssertContext assertContext, final DropEncryptRuleStatement actual, final DropEncryptRuleStatementTestCase expected) {
-        if (null != expected) {
+        if (null == expected) {
+            assertNull(assertContext.getText("Actual should not exist."), actual);
+        } else {
             assertNotNull(assertContext.getText("Actual should exist."), actual);
             assertThat(assertContext.getText("encrypt rule assertion error: "), actual.getTables(), is(expected.getTables()));
-        } else {
-            assertNull(assertContext.getText("Actual should not exist."), actual);
         }
     }
 }
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/drop/impl/DropReadwriteSplittingRuleStatementAssert.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/drop/impl/DropReadwriteSplittingRuleStatementAssert.java
index f007681..7317069 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/drop/impl/DropReadwriteSplittingRuleStatementAssert.java
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/drop/impl/DropReadwriteSplittingRuleStatementAssert.java
@@ -33,20 +33,20 @@ import static org.junit.Assert.assertThat;
  */
 @NoArgsConstructor(access = AccessLevel.PRIVATE)
 public final class DropReadwriteSplittingRuleStatementAssert {
-
+    
     /**
      * Assert drop readwrite splitting rule statement is correct with expected parser result.
      *
      * @param assertContext assert context
-     * @param actual        actual drop readwrite splitting rule statement
-     * @param expected      expected drop readwrite splitting rule statement test case
+     * @param actual actual drop readwrite splitting rule statement
+     * @param expected expected drop readwrite splitting rule statement test case
      */
     public static void assertIs(final SQLCaseAssertContext assertContext, final DropReadwriteSplittingRuleStatement actual, final DropReadWriteSplittingRuleStatementTestCase expected) {
-        if (null != expected) {
+        if (null == expected) {
+            assertNull(assertContext.getText("Actual should not exist."), actual);
+        } else {
             assertNotNull(assertContext.getText("Actual should exist."), actual);
             assertThat(assertContext.getText("read-write splitting assertion error: "), actual.getRuleNames(), is(expected.getReadwriteSplittingRules()));
-        } else {
-            assertNull(assertContext.getText("Actual should not exist."), actual);
         }
     }
 }
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/drop/impl/DropShardingBindingTableRulesStatementAssert.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/drop/impl/DropShardingBindingTableRulesStatementAssert.java
index 54ead25..b0e13f3 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/drop/impl/DropShardingBindingTableRulesStatementAssert.java
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/drop/impl/DropShardingBindingTableRulesStatementAssert.java
@@ -28,13 +28,13 @@ import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain
  */
 @NoArgsConstructor(access = AccessLevel.PRIVATE)
 public final class DropShardingBindingTableRulesStatementAssert {
-
+    
     /**
      * Assert drop sharding binding table rule statement is correct with expected parser result.
      *
      * @param assertContext assert context
-     * @param actual        actual drop sharding binding table rule statement
-     * @param expected      expected drop sharding binding table rule statement test case
+     * @param actual actual drop sharding binding table rule statement
+     * @param expected expected drop sharding binding table rule statement test case
      */
     public static void assertIs(final SQLCaseAssertContext assertContext, final DropShardingBindingTableRulesStatement actual, final DropShardingBindingTableRulesStatementTestCase expected) {
     }
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/drop/impl/DropShardingBroadcastTableRulesStatementAssert.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/drop/impl/DropShardingBroadcastTableRulesStatementAssert.java
index 5ae3702..4e536af 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/drop/impl/DropShardingBroadcastTableRulesStatementAssert.java
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/drop/impl/DropShardingBroadcastTableRulesStatementAssert.java
@@ -28,13 +28,13 @@ import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain
  */
 @NoArgsConstructor(access = AccessLevel.PRIVATE)
 public final class DropShardingBroadcastTableRulesStatementAssert {
-
+    
     /**
      * Assert drop sharding broadcast table rule statement is correct with expected parser result.
      *
      * @param assertContext assert context
-     * @param actual        actual drop sharding broadcast table rule statement
-     * @param expected      expected drop sharding broadcast table rule statement test case
+     * @param actual actual drop sharding broadcast table rule statement
+     * @param expected expected drop sharding broadcast table rule statement test case
      */
     public static void assertIs(final SQLCaseAssertContext assertContext, final DropShardingBroadcastTableRulesStatement actual, final DropShardingBroadcastTableRulesStatementTestCase expected) {
     }
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/drop/impl/DropShardingTableRuleStatementAssert.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/drop/impl/DropShardingTableRuleStatementAssert.java
index 1a0f815..8b7e4a8 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/drop/impl/DropShardingTableRuleStatementAssert.java
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/drop/impl/DropShardingTableRuleStatementAssert.java
@@ -28,13 +28,13 @@ import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain
  */
 @NoArgsConstructor(access = AccessLevel.PRIVATE)
 public final class DropShardingTableRuleStatementAssert {
-
+    
     /**
      * Assert drop sharding table rule statement is correct with expected parser result.
      *
      * @param assertContext assert context
-     * @param actual        actual drop sharding table rule statement
-     * @param expected      expected drop sharding table rule statement test case
+     * @param actual actual drop sharding table rule statement
+     * @param expected expected drop sharding table rule statement test case
      */
     public static void assertIs(final SQLCaseAssertContext assertContext, final DropShardingTableRuleStatement actual, final DropShardingTableRuleStatementTestCase expected) {
     }
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/SQLParserTestCasesRegistryFactory.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/SQLParserTestCasesRegistryFactory.java
index 9ceda16..796aef2 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/SQLParserTestCasesRegistryFactory.java
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/SQLParserTestCasesRegistryFactory.java
@@ -28,7 +28,7 @@ public final class SQLParserTestCasesRegistryFactory {
     
     @Getter
     private final SQLParserTestCasesRegistry registry = new SQLParserTestCasesRegistry("case/");
-
+    
     /**
      * Get singleton instance.
      *
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/SQLParserTestCases.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/SQLParserTestCases.java
index 4200cc6..01557b4 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/SQLParserTestCases.java
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/SQLParserTestCases.java
@@ -133,163 +133,163 @@ import java.util.Map;
 @XmlRootElement(name = "sql-parser-test-cases")
 @Getter
 public final class SQLParserTestCases {
-
+    
     @XmlElement(name = "select")
     private final List<SelectStatementTestCase> selectTestCases = new LinkedList<>();
-
+    
     @XmlElement(name = "update")
     private final List<UpdateStatementTestCase> updateTestCases = new LinkedList<>();
-
+    
     @XmlElement(name = "delete")
     private final List<DeleteStatementTestCase> deleteTestCases = new LinkedList<>();
     
     @XmlElement(name = "insert")
     private final List<InsertStatementTestCase> insertTestCases = new LinkedList<>();
-
+    
     @XmlElement(name = "create-table")
     private final List<CreateTableStatementTestCase> createTableTestCases = new LinkedList<>();
-
+    
     @XmlElement(name = "alter-table")
     private final List<AlterTableStatementTestCase> alterTableTestCases = new LinkedList<>();
-
+    
     @XmlElement(name = "drop-table")
     private final List<DropTableStatementTestCase> dropTableTestCases = new LinkedList<>();
-
+    
     @XmlElement(name = "truncate")
     private final List<TruncateStatementTestCase> truncateTestCases = new LinkedList<>();
-
+    
     @XmlElement(name = "create-index")
     private final List<CreateIndexStatementTestCase> createIndexTestCases = new LinkedList<>();
-
+    
     @XmlElement(name = "alter-index")
     private final List<AlterIndexStatementTestCase> alterIndexTestCases = new LinkedList<>();
-
+    
     @XmlElement(name = "drop-index")
     private final List<DropIndexStatementTestCase> dropIndexTestCases = new LinkedList<>();
-
+    
     @XmlElement(name = "set-constraints")
     private final List<SetConstraintsStatementTestCase> setConstraintsTestCases = new LinkedList<>();
-
+    
     @XmlElement(name = "set-transaction")
     private final List<SetTransactionStatementTestCase> setTransactionTestCases = new LinkedList<>();
-
+    
     @XmlElement(name = "begin-transaction")
     private final List<BeginTransactionStatementTestCase> beginTransactionTestCases = new LinkedList<>();
-
+    
     @XmlElement(name = "set-auto-commit")
     private final List<SetAutoCommitStatementTestCase> setAutoCommitTestCases = new LinkedList<>();
-
+    
     @XmlElement(name = "commit")
     private final List<CommitStatementTestCase> commitTestCases = new LinkedList<>();
-
+    
     @XmlElement(name = "rollback")
     private final List<RollbackStatementTestCase> rollbackTestCases = new LinkedList<>();
-
+    
     @XmlElement(name = "savepoint")
     private final List<SavepointStatementTestCase> savepointTestCases = new LinkedList<>();
-
+    
     @XmlElement(name = "grant")
     private final List<GrantStatementTestCase> grantTestCases = new LinkedList<>();
-
+    
     @XmlElement(name = "revoke")
     private final List<RevokeStatementTestCase> revokeTestCases = new LinkedList<>();
-
+    
     @XmlElement(name = "create-user")
     private final List<CreateUserStatementTestCase> createUserTestCases = new LinkedList<>();
-
+    
     @XmlElement(name = "alter-user")
     private final List<AlterUserStatementTestCase> alterUserTestCases = new LinkedList<>();
-
+    
     @XmlElement(name = "drop-user")
     private final List<DropUserStatementTestCase> dropUserTestCases = new LinkedList<>();
-
+    
     @XmlElement(name = "rename-user")
     private final List<RenameUserStatementTestCase> renameUserTestCases = new LinkedList<>();
-
+    
     @XmlElement(name = "deny-user")
     private final List<DenyUserStatementTestCase> denyUserTestCases = new LinkedList<>();
-
+    
     @XmlElement(name = "create-login")
     private final List<CreateLoginStatementTestCase> createLoginTestCases = new LinkedList<>();
-
+    
     @XmlElement(name = "alter-login")
     private final List<AlterLoginStatementTestCase> alterLoginTestCases = new LinkedList<>();
-
+    
     @XmlElement(name = "drop-login")
     private final List<DropLoginStatementTestCase> dropLoginTestCases = new LinkedList<>();
-
+    
     @XmlElement(name = "create-role")
     private final List<CreateRoleStatementTestCase> createRoleTestCases = new LinkedList<>();
-
+    
     @XmlElement(name = "alter-role")
     private final List<AlterRoleStatementTestCase> alterRoleTestCases = new LinkedList<>();
-
+    
     @XmlElement(name = "drop-role")
     private final List<DropRoleStatementTestCase> dropRoleTestCases = new LinkedList<>();
-
+    
     @XmlElement(name = "set-default-role")
     private final List<SetDefaultRoleStatementTestCase> setDefaultRoleTestCases = new LinkedList<>();
-
+    
     @XmlElement(name = "set-role")
     private final List<SetRoleStatementTestCase> setRoleTestCases = new LinkedList<>();
-
+    
     @XmlElement(name = "set-password")
     private final List<SetPasswordStatementTestCase> setPasswordTestCases = new LinkedList<>();
-
+    
     @XmlElement(name = "use")
     private final List<UseStatementTestCase> useTestCases = new LinkedList<>();
-
+    
     @XmlElement(name = "describe")
     private final List<ExplainStatementTestCase> describeTestCases = new LinkedList<>();
-
+    
     @XmlElement(name = "show-databases")
     private final List<ShowDatabasesStatementTestCase> showDatabasesTestCases = new LinkedList<>();
-
+    
     @XmlElement(name = "show-tables")
     private final List<ShowTablesStatementTestCase> showTablesTestCases = new LinkedList<>();
-
+    
     @XmlElement(name = "show-columns")
     private final List<ShowColumnsStatementTestCase> showColumnsTestCases = new LinkedList<>();
-
+    
     @XmlElement(name = "show-create-table")
     private final List<ShowCreateTableStatementTestCase> showCreateTableTestCases = new LinkedList<>();
-
+    
     @XmlElement(name = "show-table-status")
     private final List<ShowTableStatusStatementTestCase> showTableStatusTestCases = new LinkedList<>();
-
+    
     @XmlElement(name = "show-index")
     private final List<ShowIndexStatementTestCase> showIndexTestCases = new LinkedList<>();
-
+    
     @XmlElement(name = "show")
     private final List<ShowStatementTestCase> showTestCases = new LinkedList<>();
-
+    
     @XmlElement(name = "set-variable")
     private final List<SetVariableStatementTestCase> setVariableTestCases = new LinkedList<>();
-
+    
     @XmlElement(name = "common")
     private final List<CommonStatementTestCase> commonTestCases = new LinkedList<>();
-
+    
     @XmlElement(name = "alter-function")
     private final List<AlterFunctionStatementTestCase> alterFunctionTestCases = new LinkedList<>();
-
+    
     @XmlElement(name = "alter-database")
     private final List<AlterDatabaseStatementTestCase> alterDatabaseTestCase = new LinkedList<>();
-
+    
     @XmlElement(name = "alter-procedure")
     private final List<AlterProcedureStatementTestCase> alterProcedureTestCase = new LinkedList<>();
-
+    
     @XmlElement(name = "alter-server")
     private final List<AlterServerStatementTestCase> alterServerTestCase = new LinkedList<>();
-
+    
     @XmlElement(name = "alter-session")
     private final List<AlterSessionStatementTestCase> alterSessionTestCase = new LinkedList<>();
-
+    
     @XmlElement(name = "alter-synonym")
     private final List<AlterSynonymStatementTestCase> alterSynonymTestCase = new LinkedList<>();
-
+    
     @XmlElement(name = "alter-system")
     private final List<AlterSystemStatementTestCase> alterSystemTestCase = new LinkedList<>();
-
+    
     @XmlElement(name = "create-database")
     private final List<CreateDatabaseStatementTestCase> createDatabaseTestCase = new LinkedList<>();
     
@@ -310,124 +310,124 @@ public final class SQLParserTestCases {
     
     @XmlElement(name = "drop-database")
     private final List<DropDatabaseStatementTestCase> dropDatabaseTestCase = new LinkedList<>();
-
+    
     @XmlElement(name = "drop-function")
     private final List<DropFunctionStatementTestCase> dropFunctionTestCase = new LinkedList<>();
-
+    
     @XmlElement(name = "drop-procedure")
     private final List<DropProcedureStatementTestCase> dropProcedureTestCase = new LinkedList<>();
-
+    
     @XmlElement(name = "drop-server")
     private final List<DropServerStatementTestCase> dropServerTestCase = new LinkedList<>();
-
+    
     @XmlElement(name = "drop-trigger")
     private final List<DropTriggerStatementTestCase> dropTriggerTestCase = new LinkedList<>();
-
+    
     @XmlElement(name = "drop-view")
     private final List<DropViewStatementTestCase> dropViewTestCase = new LinkedList<>();
-
+    
     @XmlElement(name = "call")
     private final List<CallStatementTestCase> callProcedureTestCase = new LinkedList<>();
-
+    
     @XmlElement(name = "xa")
     private final List<XATestCase> xaTestCase = new LinkedList<>();
-
+    
     @XmlElement(name = "merge")
     private final List<MergeStatementTestCase> mergeTestCase = new LinkedList<>();
-
+    
     @XmlElement(name = "create-sequence")
     private final List<CreateSequenceStatementTestCase> createSequenceTestCase = new LinkedList<>();
-
+    
     @XmlElement(name = "alter-sequence")
     private final List<AlterSequenceStatementTestCase> alterSequenceTestCase = new LinkedList<>();
-
+    
     @XmlElement(name = "drop-sequence")
     private final List<DropSequenceStatementTestCase> dropSequenceTestCase = new LinkedList<>();
-
+    
     @XmlElement(name = "analyze")
     private final List<AnalyzeStatementTestCase> analyzeTestCase = new LinkedList<>();
-
+    
     @XmlElement(name = "add-resource")
     private final List<AddResourceStatementTestCase> addResourceTestCase = new LinkedList<>();
-
+    
     @XmlElement(name = "alter-database-discovery-rule")
     private final List<AlterDataBaseDiscoveryRuleStatementTestCase> alterDataBaseDiscoveryRuleTestCase = new LinkedList<>();
-
+    
     @XmlElement(name = "alter-encrypt-rule")
     private final List<AlterEncryptRuleStatementTestCase> alterEncryptRuleTestCase = new LinkedList<>();
-
+    
     @XmlElement(name = "alter-readwrite-splitting-rule")
     private final List<AlterReadWriteSplittingRuleStatementTestCase> alterReadWriteSplittingRuleTestCase = new LinkedList<>();
-
+    
     @XmlElement(name = "alter-sharding-binding-table-rules")
     private final List<AlterShardingBindingTableRulesStatementTestCase> alterShardingBindingTableRulesTestCase = new LinkedList<>();
-
+    
     @XmlElement(name = "alter-sharding-broadcast-table-rules")
     private final List<AlterShardingBroadcastTableRulesStatementTestCase> alterShardingBroadcastTableRulesTestCase = new LinkedList<>();
-
+    
     @XmlElement(name = "alter-sharding-table-rule")
     private final List<AlterShardingTableRuleStatementTestCase> alterShardingTableRuleTestCase = new LinkedList<>();
-
+    
     @XmlElement(name = "create-database-discovery-rule")
     private final List<CreateDataBaseDiscoveryRuleStatementTestCase> createDataBaseDiscoveryRuleTestCase = new LinkedList<>();
-
+    
     @XmlElement(name = "create-encrypt-rule")
     private final List<CreateEncryptRuleStatementTestCase> createEncryptRuleTestCase = new LinkedList<>();
-
+    
     @XmlElement(name = "create-readwrite-splitting-rule")
     private final List<CreateReadWriteSplittingRuleStatementTestCase> createReadWriteSplittingRuleTestCase = new LinkedList<>();
-
+    
     @XmlElement(name = "create-sharding-binding-table-rule")
     private final List<CreateShardingBindingTableRulesStatementTestCase> createShardingBindingTableRulesTestCase = new LinkedList<>();
-
+    
     @XmlElement(name = "create-sharding-broadcast-table-rule")
     private final List<CreateShardingBroadcastTableRulesStatementTestCase> createShardingBroadcastTableRulesTestCase = new LinkedList<>();
-
+    
     @XmlElement(name = "create-sharding-table-rule")
     private final List<CreateShardingTableRuleStatementTestCase> createShardingTableRuleTestCase = new LinkedList<>();
-
+    
     @XmlElement(name = "drop-database-discovery-rule")
     private final List<DropDataBaseDiscoveryRuleStatementTestCase> dropDataBaseDiscoveryRuleTestCase = new LinkedList<>();
-
+    
     @XmlElement(name = "drop-encrypt-rule")
     private final List<DropEncryptRuleStatementTestCase> dropEncryptRuleTestCase = new LinkedList<>();
-
+    
     @XmlElement(name = "drop-readwrite-splitting-rule")
     private final List<DropReadWriteSplittingRuleStatementTestCase> dropReadWriteSplittingRuleTestCase = new LinkedList<>();
-
+    
     @XmlElement(name = "drop-resource")
     private final List<DropResourceStatementTestCase> dropResourceTestCase = new LinkedList<>();
-
+    
     @XmlElement(name = "drop-sharding-binding-table-rules")
     private final List<DropShardingBindingTableRulesStatementTestCase> dropShardingBindingTableRulesTestCase = new LinkedList<>();
-
+    
     @XmlElement(name = "drop-sharding-broadcast-table-rules")
     private final List<DropShardingBroadcastTableRulesStatementTestCase> dropShardingBroadcastTableRulesTestCase = new LinkedList<>();
-
+    
     @XmlElement(name = "drop-sharding-table-rule")
     private final List<DropShardingTableRuleStatementTestCase> dropShardingTableRuleTestCase = new LinkedList<>();
-
+    
     @XmlElement(name = "show-db-discovery-rules")
     private final List<ShowDataBaseDiscoveryRulesStatementTestCase> showDataBaseDiscoveryRulesTestCase = new LinkedList<>();
-
+    
     @XmlElement(name = "show-encrypt-rules")
     private final List<ShowEncryptRulesStatementTestCase> showEncryptRulesTestCase = new LinkedList<>();
-
+    
     @XmlElement(name = "show-readwrite-splitting-rules")
     private final List<ShowReadWriteSplittingRulesStatementTestCase> showReadWriteSplittingRulesTestCase = new LinkedList<>();
-
+    
     @XmlElement(name = "show-sharding-binding-table-rules")
     private final List<ShowShardingBindingTableRulesStatementTestCase> showShardingBindingTableRulesTestCase = new LinkedList<>();
-
+    
     @XmlElement(name = "show-sharding-broadcast-table-rules")
     private final List<ShowShardingBroadcastTableRulesStatementTestCase> showShardingBroadcastTableRulesTestCase = new LinkedList<>();
-
+    
     @XmlElement(name = "show-sharding-table-rules")
     private final List<ShowShardingTableRulesStatementTestCase> showShardingTableRulesTestCase = new LinkedList<>();
-
+    
     @XmlElement(name = "show-sharding-table-rule")
     private final List<ShowShardingTableRulesStatementTestCase> showShardingTableRuleTestCase = new LinkedList<>();
-
+    
     /**
      * Get all SQL parser test cases.
      *
@@ -535,7 +535,7 @@ public final class SQLParserTestCases {
         putAll(showShardingTableRuleTestCase, result);
         return result;
     }
-
+    
     private void putAll(final List<? extends SQLParserTestCase> sqlParserTestCases, final Map<String, SQLParserTestCase> target) {
         Map<String, SQLParserTestCase> sqlParserTestCaseMap = getSQLParserTestCases(sqlParserTestCases);
         Collection<String> sqlParserTestCaseIds = new HashSet<>(sqlParserTestCaseMap.keySet());
@@ -543,7 +543,7 @@ public final class SQLParserTestCases {
         Preconditions.checkState(sqlParserTestCaseIds.isEmpty(), "Find duplicated SQL Case IDs: %s", sqlParserTestCaseIds);
         target.putAll(sqlParserTestCaseMap);
     }
-
+    
     private Map<String, SQLParserTestCase> getSQLParserTestCases(final List<? extends SQLParserTestCase> sqlParserTestCases) {
         Map<String, SQLParserTestCase> result = new HashMap<>(sqlParserTestCases.size(), 1);
         for (SQLParserTestCase each : sqlParserTestCases) {
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/assignment/ExpectedValueAssign.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/assignment/ExpectedValueAssign.java
index 34d3792..bb11bf4 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/assignment/ExpectedValueAssign.java
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/assignment/ExpectedValueAssign.java
@@ -24,8 +24,11 @@ import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain
 import javax.xml.bind.annotation.XmlAttribute;
 import javax.xml.bind.annotation.XmlElement;
 
-@Setter
+/**
+ * Expected value assign.
+ */
 @Getter
+@Setter
 public final class ExpectedValueAssign extends AbstractExpectedSQLSegment {
     
     @XmlElement
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/assignment/ExpectedVariable.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/assignment/ExpectedVariable.java
index 2bd3ac7..75a9bf4 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/assignment/ExpectedVariable.java
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/assignment/ExpectedVariable.java
@@ -23,8 +23,11 @@ import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain
 
 import javax.xml.bind.annotation.XmlAttribute;
 
-@Setter
+/**
+ * Expected variable.
+ */
 @Getter
+@Setter
 public final class ExpectedVariable extends AbstractExpectedSQLSegment {
     
     @XmlAttribute
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/distsql/ExpectedFunction.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/distsql/ExpectedAlgorithm.java
similarity index 91%
rename from shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/distsql/ExpectedFunction.java
rename to shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/distsql/ExpectedAlgorithm.java
index 5b7fa76..e9b6412 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/distsql/ExpectedFunction.java
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/distsql/ExpectedAlgorithm.java
@@ -23,15 +23,16 @@ import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain
 
 import javax.xml.bind.annotation.XmlElement;
 
-@Setter
+/**
+ * Expected algorithm.
+ */
 @Getter
-public final class ExpectedFunction extends AbstractExpectedIdentifierSQLSegment {
+@Setter
+public final class ExpectedAlgorithm extends AbstractExpectedIdentifierSQLSegment {
     
     @XmlElement
     private String algorithmName;
     
     @XmlElement(name = "properties")
     private ExpectedProperties algorithmProps;
-    
-    
 }
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/distsql/ExpectedDataSource.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/distsql/ExpectedDataSource.java
index 55d29d1..d2968f4 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/distsql/ExpectedDataSource.java
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/distsql/ExpectedDataSource.java
@@ -29,22 +29,22 @@ import javax.xml.bind.annotation.XmlElement;
 @Getter
 @Setter
 public final class ExpectedDataSource extends SQLParserTestCase {
-
+    
     @XmlElement
     private String name;
-
+    
     @XmlElement
     private String hostName;
-
+    
     @XmlElement
     private String port;
-
+    
     @XmlElement
     private String db;
-
+    
     @XmlElement
     private String user;
-
+    
     @XmlElement
     private String password;
 }
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/distsql/ExpectedProperties.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/distsql/ExpectedProperties.java
index e484f78..67c510a 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/distsql/ExpectedProperties.java
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/distsql/ExpectedProperties.java
@@ -24,10 +24,13 @@ import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain
 import javax.xml.bind.annotation.XmlElement;
 import java.util.List;
 
+/**
+ * Expected properties.
+ */
 @Getter
 @Setter
 public final class ExpectedProperties extends AbstractExpectedIdentifierSQLSegment {
-
-    @XmlElement
-    private List<ExpectedProperty> property;
+    
+    @XmlElement(name = "property")
+    private List<ExpectedProperty> properties;
 }
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/distsql/ExpectedProperty.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/distsql/ExpectedProperty.java
index a322b63..94cca5a 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/distsql/ExpectedProperty.java
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/distsql/ExpectedProperty.java
@@ -23,13 +23,16 @@ import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain
 
 import javax.xml.bind.annotation.XmlElement;
 
-@Setter
+/**
+ * Expected property.
+ */
 @Getter
+@Setter
 public final class ExpectedProperty extends AbstractExpectedIdentifierSQLSegment {
-
+    
     @XmlElement
     private String key;
-
+    
     @XmlElement
     private String value;
 }
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/distsql/ExpectedTableRule.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/distsql/ExpectedTableRule.java
index 347b26a..1530da7 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/distsql/ExpectedTableRule.java
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/distsql/ExpectedTableRule.java
@@ -33,19 +33,19 @@ public final class ExpectedTableRule extends SQLParserTestCase {
     
     @XmlElement(name = "table")
     private String logicTable;
-
+    
     @XmlElement(name = "data-source")
     private List<String> dataSources;
-
+    
     @XmlElement(name = "table-strategy-column")
     private String tableStrategyColumn;
-
+    
     @XmlElement(name = "key-generate-strategy-column")
     private String keyGenerateStrategyColumn;
-
+    
     @XmlElement(name = "table-strategy")
-    private ExpectedFunction tableStrategy;
-
+    private ExpectedAlgorithm tableStrategy;
+    
     @XmlElement(name = "key-generate-strategy")
-    private ExpectedFunction keyGenerateStrategy;
+    private ExpectedAlgorithm keyGenerateStrategy;
 }
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/distsql/rdl/ExceptedReadwriteSplittingRule.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/distsql/rdl/ExceptedReadwriteSplittingRule.java
index 2b362ea..4a36ff7 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/distsql/rdl/ExceptedReadwriteSplittingRule.java
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/distsql/rdl/ExceptedReadwriteSplittingRule.java
@@ -25,25 +25,28 @@ import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain
 import javax.xml.bind.annotation.XmlElement;
 import java.util.List;
 
+/**
+ * Excepted readwrite splitting rule.
+ */
 @Getter
 @Setter
 public final class ExceptedReadwriteSplittingRule extends AbstractExpectedIdentifierSQLSegment {
     
     @XmlElement
     private String name;
-
+    
     @XmlElement(name = "auto-aware-resource")
     private String autoAwareResource;
-
+    
     @XmlElement(name = "write-data-source")
     private String writeDataSource;
-
+    
     @XmlElement(name = "read-data-source")
     private List<String> readDataSources;
-
+    
     @XmlElement(name = "load-balancer")
     private String loadBalancer;
-
+    
     @XmlElement(name = "properties")
     private ExpectedProperties props;
 }
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/distsql/rdl/ExpectedDatabaseDiscoveryRule.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/distsql/rdl/ExpectedDatabaseDiscoveryRule.java
index f9b89cd..2024e37 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/distsql/rdl/ExpectedDatabaseDiscoveryRule.java
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/distsql/rdl/ExpectedDatabaseDiscoveryRule.java
@@ -25,19 +25,22 @@ import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain
 import javax.xml.bind.annotation.XmlElement;
 import java.util.List;
 
-@Setter
+/**
+ * Expected database discovery rule.
+ */
 @Getter
+@Setter
 public final class ExpectedDatabaseDiscoveryRule extends AbstractExpectedIdentifierSQLSegment {
     
     @XmlElement
     private String name;
-
+    
     @XmlElement(name = "data-source")
     private List<String> dataSources;
-
+    
     @XmlElement(name = "discovery-type")
     private String discoveryTypeName;
-
+    
     @XmlElement(name = "properties")
     private ExpectedProperties props;
 }
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/distsql/rdl/ExpectedEncryptColumn.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/distsql/rdl/ExpectedEncryptColumn.java
index 88b1bc6..5720652 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/distsql/rdl/ExpectedEncryptColumn.java
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/distsql/rdl/ExpectedEncryptColumn.java
@@ -20,23 +20,26 @@ package org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domai
 import lombok.Getter;
 import lombok.Setter;
 import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.segment.AbstractExpectedIdentifierSQLSegment;
-import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.segment.impl.distsql.ExpectedFunction;
+import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.segment.impl.distsql.ExpectedAlgorithm;
 
 import javax.xml.bind.annotation.XmlElement;
 
-@Setter
+/**
+ * Expected encrypt column.
+ */
 @Getter
+@Setter
 public final class ExpectedEncryptColumn extends AbstractExpectedIdentifierSQLSegment {
-
+    
     @XmlElement
     private String name;
-
+    
     @XmlElement(name = "plain-column")
     private String plainColumn;
-
+    
     @XmlElement(name = "cipher-column")
     private String cipherColumn;
-
+    
     @XmlElement
-    private ExpectedFunction encryptor;
+    private ExpectedAlgorithm encryptor;
 }
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/distsql/rdl/ExpectedEncryptRule.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/distsql/rdl/ExpectedEncryptRule.java
index 2a90515..6e23df0 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/distsql/rdl/ExpectedEncryptRule.java
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/distsql/rdl/ExpectedEncryptRule.java
@@ -24,14 +24,16 @@ import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain
 import javax.xml.bind.annotation.XmlElement;
 import java.util.List;
 
+/**
+ * Expected encrypt rule.
+ */
 @Getter
 @Setter
 public final class ExpectedEncryptRule extends AbstractExpectedIdentifierSQLSegment {
-
+    
     @XmlElement(name = "table")
     private String tableName;
-
+    
     @XmlElement(name = "column")
     private List<ExpectedEncryptColumn> columns;
-
 }
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/distsql/rdl/ExpectedShardingBindingTableRule.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/distsql/rdl/ExpectedShardingBindingTableRule.java
index 09dfbc0..4742287 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/distsql/rdl/ExpectedShardingBindingTableRule.java
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/distsql/rdl/ExpectedShardingBindingTableRule.java
@@ -23,10 +23,13 @@ import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain
 
 import javax.xml.bind.annotation.XmlElement;
 
-@Setter
+/**
+ * Expected sharding binding table rule.
+ */
 @Getter
+@Setter
 public final class ExpectedShardingBindingTableRule extends AbstractExpectedIdentifierSQLSegment {
-
+    
     @XmlElement
     private String tables;
 }
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/expr/ExpectedBetweenExpression.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/expr/ExpectedBetweenExpression.java
index 84c0498..392eddb 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/expr/ExpectedBetweenExpression.java
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/expr/ExpectedBetweenExpression.java
@@ -23,18 +23,22 @@ import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain
 
 import javax.xml.bind.annotation.XmlElement;
 
-@Setter
+/**
+ * Expected between expression.
+ */
 @Getter
-public class ExpectedBetweenExpression extends AbstractExpectedSQLSegment implements ExpectedExpressionSegment {
+@Setter
+public final class ExpectedBetweenExpression extends AbstractExpectedSQLSegment implements ExpectedExpressionSegment {
+    
     @XmlElement(name = "not")
     private boolean not;
-
+    
     @XmlElement(name = "left")
     private ExpectedExpression left;
-
+    
     @XmlElement(name = "between-expr")
     private ExpectedExpression betweenExpr;
-
+    
     @XmlElement(name = "and-expr")
     private ExpectedExpression andExpr;
 }
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/expr/ExpectedBinaryOperationExpression.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/expr/ExpectedBinaryOperationExpression.java
index b83cfb5..6b1acdb 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/expr/ExpectedBinaryOperationExpression.java
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/expr/ExpectedBinaryOperationExpression.java
@@ -23,15 +23,19 @@ import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain
 
 import javax.xml.bind.annotation.XmlElement;
 
-@Setter
+/**
+ * Expected binary operation expression.
+ */
 @Getter
-public class ExpectedBinaryOperationExpression extends AbstractExpectedSQLSegment implements ExpectedExpressionSegment {
+@Setter
+public final class ExpectedBinaryOperationExpression extends AbstractExpectedSQLSegment implements ExpectedExpressionSegment {
+    
     @XmlElement(name = "left")
     private ExpectedExpression left;
-
+    
     @XmlElement(name = "operator")
     private String operator;
-
+    
     @XmlElement(name = "right")
     private ExpectedExpression right;
 }
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/expr/ExpectedExistsSubquery.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/expr/ExpectedExistsSubquery.java
index 6af059b..8f67848 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/expr/ExpectedExistsSubquery.java
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/expr/ExpectedExistsSubquery.java
@@ -24,12 +24,16 @@ import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain
 
 import javax.xml.bind.annotation.XmlElement;
 
-@Setter
+/**
+ * Expected exists subquery.
+ */
 @Getter
-public class ExpectedExistsSubquery extends AbstractExpectedSQLSegment implements ExpectedExpressionSegment {
+@Setter
+public final class ExpectedExistsSubquery extends AbstractExpectedSQLSegment implements ExpectedExpressionSegment {
+    
     @XmlElement(name = "not")
     private boolean not;
-
+    
     @XmlElement(name = "subquery")
     private ExpectedSubquery subquery;
 }
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/expr/ExpectedExpression.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/expr/ExpectedExpression.java
index 702c728..af8346b 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/expr/ExpectedExpression.java
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/expr/ExpectedExpression.java
@@ -29,43 +29,46 @@ import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain
 
 import javax.xml.bind.annotation.XmlElement;
 
+/**
+ * Expected expression.
+ */
 @Getter
 @Setter
-public class ExpectedExpression extends AbstractExpectedSQLSegment {
-
+public final class ExpectedExpression extends AbstractExpectedSQLSegment {
+    
     @XmlElement(name = "between-expression")
     private ExpectedBetweenExpression betweenExpression;
-
+    
     @XmlElement(name = "binary-operation-expression")
     private ExpectedBinaryOperationExpression binaryOperationExpression;
-
+    
     @XmlElement(name = "column")
     private ExpectedColumn column;
-
+    
     @XmlElement(name = "common-expression")
     private ExpectedCommonExpression commonExpression;
-
+    
     @XmlElement(name = "exists-subquery")
     private ExpectedExistsSubquery existsSubquery;
-
+    
     @XmlElement(name = "expression-projection")
     private ExpectedExpressionProjection expressionProjection;
-
+    
     @XmlElement(name = "in-expression")
     private ExpectedInExpression inExpression;
-
+    
     @XmlElement(name = "list-expression")
     private ExpectedListExpression listExpression;
-
+    
     @XmlElement(name = "literal-expression")
     private ExpectedLiteralExpression literalExpression;
-
+    
     @XmlElement(name = "not-expression")
     private ExpectedNotExpression notExpression;
-
+    
     @XmlElement(name = "parameter-marker-expression")
     private ExpectedParameterMarkerExpression parameterMarkerExpression;
-
+    
     @XmlElement(name = "subquery")
     private ExpectedSubquery subquery;
 }
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/expr/ExpectedExpressionSegment.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/expr/ExpectedExpressionSegment.java
index 035958e..80b8f70 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/expr/ExpectedExpressionSegment.java
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/expr/ExpectedExpressionSegment.java
@@ -17,5 +17,8 @@
 
 package org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.segment.impl.expr;
 
+/**
+ * Expected expression segment.
+ */
 public interface ExpectedExpressionSegment {
 }
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/expr/ExpectedInExpression.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/expr/ExpectedInExpression.java
index f0e840a..ce925fc 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/expr/ExpectedInExpression.java
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/expr/ExpectedInExpression.java
@@ -23,15 +23,19 @@ import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain
 
 import javax.xml.bind.annotation.XmlElement;
 
-@Setter
+/**
+ * Expected in expression.
+ */
 @Getter
-public class ExpectedInExpression extends AbstractExpectedSQLSegment implements ExpectedExpressionSegment {
+@Setter
+public final class ExpectedInExpression extends AbstractExpectedSQLSegment implements ExpectedExpressionSegment {
+    
     @XmlElement(name = "not")
     private boolean not;
-
+    
     @XmlElement(name = "left")
     private ExpectedExpression left;
-
+    
     @XmlElement(name = "right")
     private ExpectedExpression right;
 }
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/expr/ExpectedListExpression.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/expr/ExpectedListExpression.java
index 2660ddf..1ba1e7f 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/expr/ExpectedListExpression.java
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/expr/ExpectedListExpression.java
@@ -25,10 +25,13 @@ import javax.xml.bind.annotation.XmlElement;
 import java.util.LinkedList;
 import java.util.List;
 
-@Setter
+/**
+ * Expected list expression.
+ */
 @Getter
-public class ExpectedListExpression extends AbstractExpectedSQLSegment implements ExpectedExpressionSegment {
-
+@Setter
+public final class ExpectedListExpression extends AbstractExpectedSQLSegment implements ExpectedExpressionSegment {
+    
     @XmlElement(name = "items")
     private List<ExpectedExpression> items = new LinkedList<>();
 }
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/expr/ExpectedNotExpression.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/expr/ExpectedNotExpression.java
index a1291f7..8880094 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/expr/ExpectedNotExpression.java
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/expr/ExpectedNotExpression.java
@@ -23,10 +23,13 @@ import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain
 
 import javax.xml.bind.annotation.XmlElement;
 
-@Setter
+/**
+ * Expected not expression.
+ */
 @Getter
+@Setter
 public class ExpectedNotExpression extends AbstractExpectedSQLSegment implements ExpectedExpressionSegment {
-
+    
     @XmlElement(name = "expr")
     private ExpectedExpression expr;
 }
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/expr/complex/ExpectedBaseComplexExpression.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/expr/complex/ExpectedBaseComplexExpression.java
index d1dd37d..91f72fd 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/expr/complex/ExpectedBaseComplexExpression.java
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/expr/complex/ExpectedBaseComplexExpression.java
@@ -23,9 +23,12 @@ import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain
 
 import javax.xml.bind.annotation.XmlAttribute;
 
+/**
+ * Expected base complex expression.
+ */
 @Getter
 @Setter
-public class ExpectedBaseComplexExpression extends AbstractExpectedSQLSegment implements ExpectedComplexExpressionSegment {
+public abstract class ExpectedBaseComplexExpression extends AbstractExpectedSQLSegment implements ExpectedComplexExpressionSegment {
     
     @XmlAttribute
     private String text;
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/expr/complex/ExpectedCommonExpression.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/expr/complex/ExpectedCommonExpression.java
index 8e51c24..86d14dd 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/expr/complex/ExpectedCommonExpression.java
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/expr/complex/ExpectedCommonExpression.java
@@ -22,6 +22,9 @@ import lombok.Setter;
 
 import javax.xml.bind.annotation.XmlAttribute;
 
+/**
+ * Expected common expression.
+ */
 @Getter
 @Setter
 public final class ExpectedCommonExpression extends ExpectedBaseComplexExpression {
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/expr/complex/ExpectedComplexExpressionSegment.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/expr/complex/ExpectedComplexExpressionSegment.java
index b4f6cca..764b704 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/expr/complex/ExpectedComplexExpressionSegment.java
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/expr/complex/ExpectedComplexExpressionSegment.java
@@ -19,6 +19,9 @@ package org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domai
 
 import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.segment.impl.expr.ExpectedExpressionSegment;
 
+/**
+ * Expected complex expression segment.
+ */
 public interface ExpectedComplexExpressionSegment extends ExpectedExpressionSegment {
     
     /**
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/expr/simple/ExpectedBaseSimpleExpression.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/expr/simple/ExpectedBaseSimpleExpression.java
index 683f55e..5b775df 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/expr/simple/ExpectedBaseSimpleExpression.java
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/expr/simple/ExpectedBaseSimpleExpression.java
@@ -19,5 +19,8 @@ package org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domai
 
 import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.segment.AbstractExpectedSQLSegment;
 
-public class ExpectedBaseSimpleExpression extends AbstractExpectedSQLSegment implements ExpectedSimpleExpressionSegment {
+/**
+ * Expected base simple expression.
+ */
+public abstract class ExpectedBaseSimpleExpression extends AbstractExpectedSQLSegment implements ExpectedSimpleExpressionSegment {
 }
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/expr/simple/ExpectedLiteralExpression.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/expr/simple/ExpectedLiteralExpression.java
index b69c264..ff6f7f5 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/expr/simple/ExpectedLiteralExpression.java
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/expr/simple/ExpectedLiteralExpression.java
@@ -22,6 +22,9 @@ import lombok.Setter;
 
 import javax.xml.bind.annotation.XmlAttribute;
 
+/**
+ * Expected literal expression.
+ */
 @Getter
 @Setter
 public final class ExpectedLiteralExpression extends ExpectedBaseSimpleExpression {
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/expr/simple/ExpectedParameterMarkerExpression.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/expr/simple/ExpectedParameterMarkerExpression.java
index 552b2c9..28b8f87 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/expr/simple/ExpectedParameterMarkerExpression.java
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/expr/simple/ExpectedParameterMarkerExpression.java
@@ -22,6 +22,9 @@ import lombok.Setter;
 
 import javax.xml.bind.annotation.XmlAttribute;
 
+/**
+ * Expected parameter marker expression.
+ */
 @Getter
 @Setter
 public final class ExpectedParameterMarkerExpression extends ExpectedBaseSimpleExpression {
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/expr/simple/ExpectedSimpleExpressionSegment.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/expr/simple/ExpectedSimpleExpressionSegment.java
index 6492265..b1e0847 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/expr/simple/ExpectedSimpleExpressionSegment.java
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/expr/simple/ExpectedSimpleExpressionSegment.java
@@ -19,5 +19,8 @@ package org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domai
 
 import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.segment.impl.expr.ExpectedExpressionSegment;
 
+/**
+ * Expected simple expression segment.
+ */
 public interface ExpectedSimpleExpressionSegment extends ExpectedExpressionSegment {
 }
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/expr/simple/ExpectedSubquery.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/expr/simple/ExpectedSubquery.java
index 9915139..fd190a5 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/expr/simple/ExpectedSubquery.java
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/expr/simple/ExpectedSubquery.java
@@ -23,6 +23,9 @@ import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain
 
 import javax.xml.bind.annotation.XmlElement;
 
+/**
+ * Expected subquery.
+ */
 @Getter
 @Setter
 public final class ExpectedSubquery extends ExpectedBaseSimpleExpression {
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/having/ExpectedHavingClause.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/having/ExpectedHavingClause.java
index a0b0263..1076da3 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/having/ExpectedHavingClause.java
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/having/ExpectedHavingClause.java
@@ -29,11 +29,11 @@ import javax.xml.bind.annotation.XmlElement;
 /**
  * Expected having clause.
  */
+@XmlAccessorType(XmlAccessType.FIELD)
 @Getter
 @Setter
-@XmlAccessorType(XmlAccessType.FIELD)
 public final class ExpectedHavingClause extends AbstractExpectedSQLSegment {
-
+    
     @XmlElement(name = "expr")
     private ExpectedExpression expr;
 }
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/index/ExpectedIndex.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/index/ExpectedIndex.java
index 1bcce17..241e9ec 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/index/ExpectedIndex.java
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/index/ExpectedIndex.java
@@ -17,14 +17,10 @@
 
 package org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.segment.impl.index;
 
-import lombok.Getter;
-import lombok.Setter;
 import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.segment.AbstractExpectedIdentifierSQLSegment;
 
 /**
  * Expected index.
  */
-@Getter
-@Setter
 public final class ExpectedIndex extends AbstractExpectedIdentifierSQLSegment {
 }
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/impl/ShowDataBaseDiscoveryRulesStatementTestCase.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/impl/ShowDataBaseDiscoveryRulesStatementTestCase.java
index cff508c..5807a8c 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/impl/ShowDataBaseDiscoveryRulesStatementTestCase.java
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/impl/ShowDataBaseDiscoveryRulesStatementTestCase.java
@@ -30,7 +30,7 @@ import javax.xml.bind.annotation.XmlElement;
 @Getter
 @Setter
 public final class ShowDataBaseDiscoveryRulesStatementTestCase extends SQLParserTestCase {
-
+    
     @XmlElement
     private ExpectedSchema schema;
 }
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/impl/ShowEncryptRulesStatementTestCase.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/impl/ShowEncryptRulesStatementTestCase.java
index 5b0278b..80fdca6 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/impl/ShowEncryptRulesStatementTestCase.java
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/impl/ShowEncryptRulesStatementTestCase.java
@@ -25,15 +25,15 @@ import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain
 import javax.xml.bind.annotation.XmlElement;
 
 /**
- *  * Show encrypt rules statement test case.
+ * Show encrypt rules statement test case.
  */
 @Getter
 @Setter
 public final class ShowEncryptRulesStatementTestCase extends SQLParserTestCase {
-
+    
     @XmlElement(name = "table")
     private String tableName;
-
+    
     @XmlElement
     private ExpectedSchema schema;
 }
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/impl/ShowReadWriteSplittingRulesStatementTestCase.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/impl/ShowReadWriteSplittingRulesStatementTestCase.java
index 54327d3..7254abb 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/impl/ShowReadWriteSplittingRulesStatementTestCase.java
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/impl/ShowReadWriteSplittingRulesStatementTestCase.java
@@ -30,7 +30,7 @@ import javax.xml.bind.annotation.XmlElement;
 @Getter
 @Setter
 public final class ShowReadWriteSplittingRulesStatementTestCase extends SQLParserTestCase {
-
+    
     @XmlElement
     private ExpectedSchema schema;
 }
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/impl/ShowShardingBindingTableRulesStatementTestCase.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/impl/ShowShardingBindingTableRulesStatementTestCase.java
index 2c72471..d4e579d 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/impl/ShowShardingBindingTableRulesStatementTestCase.java
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/impl/ShowShardingBindingTableRulesStatementTestCase.java
@@ -30,7 +30,7 @@ import javax.xml.bind.annotation.XmlElement;
 @Getter
 @Setter
 public final class ShowShardingBindingTableRulesStatementTestCase extends SQLParserTestCase {
-
+    
     @XmlElement
     private ExpectedSchema schema;
 }
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/impl/ShowShardingBroadcastTableRulesStatementTestCase.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/impl/ShowShardingBroadcastTableRulesStatementTestCase.java
index ab1eebf..393c667 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/impl/ShowShardingBroadcastTableRulesStatementTestCase.java
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/impl/ShowShardingBroadcastTableRulesStatementTestCase.java
@@ -30,7 +30,7 @@ import javax.xml.bind.annotation.XmlElement;
 @Getter
 @Setter
 public final class ShowShardingBroadcastTableRulesStatementTestCase extends SQLParserTestCase {
-
+    
     @XmlElement
     private ExpectedSchema schema;
 }
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/impl/ShowShardingTableRulesStatementTestCase.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/impl/ShowShardingTableRulesStatementTestCase.java
index 884100d..881e91d 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/impl/ShowShardingTableRulesStatementTestCase.java
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/impl/ShowShardingTableRulesStatementTestCase.java
@@ -30,10 +30,10 @@ import javax.xml.bind.annotation.XmlElement;
 @Getter
 @Setter
 public final class ShowShardingTableRulesStatementTestCase extends SQLParserTestCase {
-
+    
     @XmlElement(name = "table")
     private String tableName;
-
+    
     @XmlElement
     private ExpectedSchema schema;
 }
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/rdl/alter/AlterDataBaseDiscoveryRuleStatementTestCase.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/rdl/alter/AlterDataBaseDiscoveryRuleStatementTestCase.java
index 7035566..f040606 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/rdl/alter/AlterDataBaseDiscoveryRuleStatementTestCase.java
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/rdl/alter/AlterDataBaseDiscoveryRuleStatementTestCase.java
@@ -32,7 +32,7 @@ import java.util.List;
 @Getter
 @Setter
 public final class AlterDataBaseDiscoveryRuleStatementTestCase extends SQLParserTestCase {
-
+    
     @XmlElement(name = "database-discovery")
     private final List<ExpectedDatabaseDiscoveryRule> databaseDiscoveryRules = new LinkedList<>();
 }
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/rdl/alter/AlterReadWriteSplittingRuleStatementTestCase.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/rdl/alter/AlterReadWriteSplittingRuleStatementTestCase.java
index 26012da..57c1979 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/rdl/alter/AlterReadWriteSplittingRuleStatementTestCase.java
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/rdl/alter/AlterReadWriteSplittingRuleStatementTestCase.java
@@ -32,7 +32,7 @@ import java.util.List;
 @Getter
 @Setter
 public final class AlterReadWriteSplittingRuleStatementTestCase extends SQLParserTestCase {
-
+    
     @XmlElement(name = "read-write-splitting")
     private List<ExceptedReadwriteSplittingRule> readwriteSplittingRules = new LinkedList<>();
 }
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/rdl/alter/AlterShardingBindingTableRulesStatementTestCase.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/rdl/alter/AlterShardingBindingTableRulesStatementTestCase.java
index 4c821a6..4b0be90 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/rdl/alter/AlterShardingBindingTableRulesStatementTestCase.java
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/rdl/alter/AlterShardingBindingTableRulesStatementTestCase.java
@@ -32,7 +32,7 @@ import java.util.List;
 @Getter
 @Setter
 public final class AlterShardingBindingTableRulesStatementTestCase extends SQLParserTestCase {
-
+    
     @XmlElement(name = "rules")
     private final List<ExpectedShardingBindingTableRule> rules = new LinkedList<>();
 }
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/rdl/alter/AlterShardingBroadcastTableRulesStatementTestCase.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/rdl/alter/AlterShardingBroadcastTableRulesStatementTestCase.java
index e031e96..45634a4 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/rdl/alter/AlterShardingBroadcastTableRulesStatementTestCase.java
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/rdl/alter/AlterShardingBroadcastTableRulesStatementTestCase.java
@@ -31,7 +31,7 @@ import java.util.List;
 @Getter
 @Setter
 public final class AlterShardingBroadcastTableRulesStatementTestCase extends SQLParserTestCase {
-
+    
     @XmlElement(name = "table")
     private final List<String> tables = new LinkedList<>();
 }
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/rdl/alter/AlterShardingTableRuleStatementTestCase.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/rdl/alter/AlterShardingTableRuleStatementTestCase.java
index 13607b0..d54fe46 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/rdl/alter/AlterShardingTableRuleStatementTestCase.java
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/rdl/alter/AlterShardingTableRuleStatementTestCase.java
@@ -32,7 +32,7 @@ import java.util.List;
 @Getter
 @Setter
 public final class AlterShardingTableRuleStatementTestCase extends SQLParserTestCase {
-
+    
     @XmlElement(name = "tables")
     private final List<ExpectedTableRule> tableRules = new LinkedList<>();
 }
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/rdl/create/AddResourceStatementTestCase.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/rdl/create/AddResourceStatementTestCase.java
index 2917cb8..d676ba7 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/rdl/create/AddResourceStatementTestCase.java
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/rdl/create/AddResourceStatementTestCase.java
@@ -32,7 +32,7 @@ import java.util.List;
 @Getter
 @Setter
 public final class AddResourceStatementTestCase extends SQLParserTestCase {
-
+    
     @XmlElement(name = "dataSource")
     private final List<ExpectedDataSource> dataSources = new LinkedList<>();
 }
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/rdl/create/CreateDataBaseDiscoveryRuleStatementTestCase.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/rdl/create/CreateDataBaseDiscoveryRuleStatementTestCase.java
index 15b6933..86ecd5a 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/rdl/create/CreateDataBaseDiscoveryRuleStatementTestCase.java
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/rdl/create/CreateDataBaseDiscoveryRuleStatementTestCase.java
@@ -32,7 +32,7 @@ import java.util.List;
 @Getter
 @Setter
 public final class CreateDataBaseDiscoveryRuleStatementTestCase extends SQLParserTestCase {
-
+    
     @XmlElement(name = "database-discovery")
     private final List<ExpectedDatabaseDiscoveryRule> databaseDiscoveryRules = new LinkedList<>();
 }
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/rdl/create/CreateEncryptRuleStatementTestCase.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/rdl/create/CreateEncryptRuleStatementTestCase.java
index b751bf4..43b84a3 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/rdl/create/CreateEncryptRuleStatementTestCase.java
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/rdl/create/CreateEncryptRuleStatementTestCase.java
@@ -32,7 +32,7 @@ import java.util.List;
 @Getter
 @Setter
 public final class CreateEncryptRuleStatementTestCase extends SQLParserTestCase {
-
+    
     @XmlElement(name = "encrypt-rule")
     private final List<ExpectedEncryptRule> encryptRules = new LinkedList<>();
 }
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/rdl/create/CreateShardingBindingTableRulesStatementTestCase.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/rdl/create/CreateShardingBindingTableRulesStatementTestCase.java
index e47bc35..fe6e308 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/rdl/create/CreateShardingBindingTableRulesStatementTestCase.java
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/rdl/create/CreateShardingBindingTableRulesStatementTestCase.java
@@ -32,7 +32,7 @@ import java.util.List;
 @Getter
 @Setter
 public final class CreateShardingBindingTableRulesStatementTestCase extends SQLParserTestCase {
-
+    
     @XmlElement(name = "rules")
     private final List<ExpectedShardingBindingTableRule> rules = new LinkedList<>();
 }
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/rdl/create/CreateShardingBroadcastTableRulesStatementTestCase.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/rdl/create/CreateShardingBroadcastTableRulesStatementTestCase.java
index 21cc0e0..8b14dd7 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/rdl/create/CreateShardingBroadcastTableRulesStatementTestCase.java
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/rdl/create/CreateShardingBroadcastTableRulesStatementTestCase.java
@@ -31,7 +31,7 @@ import java.util.List;
 @Getter
 @Setter
 public final class CreateShardingBroadcastTableRulesStatementTestCase extends SQLParserTestCase {
-
+    
     @XmlElement(name = "table")
     private final List<String> tables = new LinkedList<>();
 }
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/rdl/create/CreateShardingTableRuleStatementTestCase.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/rdl/create/CreateShardingTableRuleStatementTestCase.java
index 0b03707..c60c0f1 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/rdl/create/CreateShardingTableRuleStatementTestCase.java
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/rdl/create/CreateShardingTableRuleStatementTestCase.java
@@ -32,7 +32,7 @@ import java.util.List;
 @Getter
 @Setter
 public final class CreateShardingTableRuleStatementTestCase extends SQLParserTestCase {
-
+    
     @XmlElement(name = "tables")
     private final List<ExpectedTableRule> tableRules = new LinkedList<>();
 }
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/rdl/drop/DropDataBaseDiscoveryRuleStatementTestCase.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/rdl/drop/DropDataBaseDiscoveryRuleStatementTestCase.java
index ba26c8f..1feb744 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/rdl/drop/DropDataBaseDiscoveryRuleStatementTestCase.java
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/rdl/drop/DropDataBaseDiscoveryRuleStatementTestCase.java
@@ -31,7 +31,7 @@ import java.util.List;
 @Getter
 @Setter
 public final class DropDataBaseDiscoveryRuleStatementTestCase extends SQLParserTestCase {
-
+    
     @XmlElement(name = "rule-name")
     private final List<String> databaseDiscoveryRules = new LinkedList<>();
 }
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/rdl/drop/DropEncryptRuleStatementTestCase.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/rdl/drop/DropEncryptRuleStatementTestCase.java
index 6afa7ff..2121eee 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/rdl/drop/DropEncryptRuleStatementTestCase.java
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/rdl/drop/DropEncryptRuleStatementTestCase.java
@@ -31,7 +31,7 @@ import java.util.List;
 @Getter
 @Setter
 public final class DropEncryptRuleStatementTestCase extends SQLParserTestCase {
-
+    
     @XmlElement(name = "table")
     private final List<String> tables = new LinkedList<>();
 }
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/rdl/drop/DropReadWriteSplittingRuleStatementTestCase.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/rdl/drop/DropReadWriteSplittingRuleStatementTestCase.java
index dc2a4bb..7595d12 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/rdl/drop/DropReadWriteSplittingRuleStatementTestCase.java
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/rdl/drop/DropReadWriteSplittingRuleStatementTestCase.java
@@ -31,7 +31,7 @@ import java.util.List;
 @Getter
 @Setter
 public final class DropReadWriteSplittingRuleStatementTestCase extends SQLParserTestCase {
-
+    
     @XmlElement(name = "read-write-splitting-rule")
     private List<String> readwriteSplittingRules = new LinkedList<>();
 }
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/rdl/drop/DropResourceStatementTestCase.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/rdl/drop/DropResourceStatementTestCase.java
index b506260..ef623ea 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/rdl/drop/DropResourceStatementTestCase.java
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/rdl/drop/DropResourceStatementTestCase.java
@@ -31,7 +31,7 @@ import java.util.List;
 @Getter
 @Setter
 public final class DropResourceStatementTestCase extends SQLParserTestCase {
-
+    
     @XmlElement(name = "data-source")
     private final List<String> dataSources = new LinkedList<>();
 }
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/rdl/drop/DropShardingBindingTableRulesStatementTestCase.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/rdl/drop/DropShardingBindingTableRulesStatementTestCase.java
index c4178a0..e00a4d4 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/rdl/drop/DropShardingBindingTableRulesStatementTestCase.java
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/rdl/drop/DropShardingBindingTableRulesStatementTestCase.java
@@ -17,14 +17,10 @@
 
 package org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.rdl.drop;
 
-import lombok.Getter;
-import lombok.Setter;
 import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.SQLParserTestCase;
 
 /**
  * Drop sharding binding table rules statement test case.
  */
-@Getter
-@Setter
 public final class DropShardingBindingTableRulesStatementTestCase extends SQLParserTestCase {
 }
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/rdl/drop/DropShardingBroadcastTableRulesStatementTestCase.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/rdl/drop/DropShardingBroadcastTableRulesStatementTestCase.java
index 2df4277..ce69f3d 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/rdl/drop/DropShardingBroadcastTableRulesStatementTestCase.java
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/rdl/drop/DropShardingBroadcastTableRulesStatementTestCase.java
@@ -17,14 +17,10 @@
 
 package org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.rdl.drop;
 
-import lombok.Getter;
-import lombok.Setter;
 import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.SQLParserTestCase;
 
 /**
  * Drop sharding broadcast table rules statement test cast.
  */
-@Getter
-@Setter
 public final class DropShardingBroadcastTableRulesStatementTestCase extends SQLParserTestCase {
 }
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/rdl/drop/DropShardingTableRuleStatementTestCase.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/rdl/drop/DropShardingTableRuleStatementTestCase.java
index 2559ff7..ba447ac 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/rdl/drop/DropShardingTableRuleStatementTestCase.java
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/rdl/drop/DropShardingTableRuleStatementTestCase.java
@@ -18,7 +18,6 @@
 package org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.rdl.drop;
 
 import lombok.Getter;
-import lombok.Setter;
 import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.SQLParserTestCase;
 
 import javax.xml.bind.annotation.XmlElement;
@@ -29,9 +28,8 @@ import java.util.List;
  * Drop sharding table rule statement test case.
  */
 @Getter
-@Setter
 public final class DropShardingTableRuleStatementTestCase extends SQLParserTestCase {
-
+    
     @XmlElement(name = "table")
     private final List<String> tables = new LinkedList<>();
 }
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/sql/SQLCase.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/sql/SQLCase.java
index 800467c..498cbfe 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/sql/SQLCase.java
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/sql/SQLCase.java
@@ -40,7 +40,7 @@ public final class SQLCase {
     
     @XmlAttribute(name = "db-types")
     private String databaseTypes;
-
+    
     @XmlAttribute(name = "rule-type")
     private String ruleType;
 }
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/resources/case/rdl/alter.xml b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/resources/case/rdl/alter.xml
index 5b94ec0..96837ef 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/resources/case/rdl/alter.xml
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/resources/case/rdl/alter.xml
@@ -44,7 +44,7 @@
             </key-generate-strategy>
         </tables>
     </alter-sharding-table-rule>
-
+    
     <alter-sharding-binding-table-rules sql-case-id="alter-sharding-binding-table-rules">
         <rules>
             <tables>t_order,t_order_item</tables>
@@ -53,12 +53,12 @@
             <tables>t_1,t_2</tables>
         </rules>
     </alter-sharding-binding-table-rules>
-
+    
     <alter-sharding-broadcast-table-rules sql-case-id="alter-sharding-broadcast-table-rules">
         <table>t_1</table>
         <table>t_2</table>
     </alter-sharding-broadcast-table-rules>
-
+    
     <alter-readwrite-splitting-rule sql-case-id="alter-readwrite-splitting-rule">
         <read-write-splitting>
             <name>ms_group_0</name>
@@ -77,10 +77,10 @@
             <read-data-source>replica_ds_0</read-data-source>
             <read-data-source>replica_ds_1</read-data-source>
             <load-balancer>random</load-balancer>
-            <properties></properties>
+            <properties />
         </read-write-splitting>
     </alter-readwrite-splitting-rule>
-
+    
     <alter-database-discovery-rule sql-case-id="alter-database-discovery-rule">
         <database-discovery>
             <name>ha_group_0</name>
@@ -90,7 +90,7 @@
             <properties>
                 <property>
                     <key>keepAliveCron</key>
-                    <value></value>
+                    <value />
                 </property>
                 <property>
                     <key>groupName</key>
@@ -106,7 +106,7 @@
             <properties>
                 <property>
                     <key>keepAliveCron</key>
-                    <value></value>
+                    <value />
                 </property>
                 <property>
                     <key>groupName</key>
@@ -115,7 +115,7 @@
             </properties>
         </database-discovery>
     </alter-database-discovery-rule>
-
+    
     <alter-encrypt-rule sql-case-id="alter-encrypt-rule">
         <encrypt-rule>
             <table>t_encrypt</table>
@@ -142,4 +142,4 @@
             </column>
         </encrypt-rule>
     </alter-encrypt-rule>
-</sql-parser-test-cases>
\ No newline at end of file
+</sql-parser-test-cases>
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/resources/case/rdl/create.xml b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/resources/case/rdl/create.xml
index 063c7f8..c1c5ae3 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/resources/case/rdl/create.xml
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/resources/case/rdl/create.xml
@@ -24,10 +24,10 @@
             <port>3306</port>
             <db>test0</db>
             <user>ROOT</user>
-            <password></password>
+            <password />
         </dataSource>
     </add-resource>
-
+    
     <add-resource sql-case-id="add-resource-single-with-password">
         <dataSource>
             <name>ds_0</name>
@@ -38,7 +38,7 @@
             <password>123456</password>
         </dataSource>
     </add-resource>
-
+    
     <add-resource sql-case-id="add-resource-multiple">
         <dataSource>
             <name>ds_0</name>
@@ -85,7 +85,7 @@
             </key-generate-strategy>
         </tables>
     </create-sharding-table-rule>
-
+    
     <create-sharding-binding-table-rule sql-case-id="create-sharding-binding-table-rule">
         <rules>
             <tables>t_order,t_order_item</tables>
@@ -94,12 +94,12 @@
             <tables>t_1,t_2</tables>
         </rules>
     </create-sharding-binding-table-rule>
-
+    
     <create-sharding-broadcast-table-rule sql-case-id="create-sharding-broadcast-table-rule">
         <table>t_1</table>
         <table>t_2</table>
     </create-sharding-broadcast-table-rule>
-
+    
     <create-readwrite-splitting-rule sql-case-id="create-static-readwrite-splitting-rule">
         <read-write-splitting>
             <name>ms_group_0</name>
@@ -107,10 +107,10 @@
             <read-data-source>replica_ds_0</read-data-source>
             <read-data-source>replica_ds_1</read-data-source>
             <load-balancer>random</load-balancer>
-            <properties></properties>
+            <properties />
         </read-write-splitting>
     </create-readwrite-splitting-rule>
-
+    
     <create-readwrite-splitting-rule sql-case-id="create-dynamic-readwrite-splitting-rule">
         <read-write-splitting>
             <name>ms_group_1</name>
@@ -124,7 +124,7 @@
             </properties>
         </read-write-splitting>
     </create-readwrite-splitting-rule>
-
+    
     <create-database-discovery-rule sql-case-id="create-database-discovery-rule">
         <database-discovery>
             <name>ha_group_0</name>
@@ -134,7 +134,7 @@
             <properties>
                 <property>
                     <key>keepAliveCron</key>
-                    <value></value>
+                    <value />
                 </property>
                 <property>
                     <key>groupName</key>
@@ -150,7 +150,7 @@
             <properties>
                 <property>
                     <key>keepAliveCron</key>
-                    <value></value>
+                    <value />
                 </property>
                 <property>
                     <key>groupName</key>
@@ -159,7 +159,7 @@
             </properties>
         </database-discovery>
     </create-database-discovery-rule>
-
+    
     <create-encrypt-rule sql-case-id="create-encrypt-rule">
         <encrypt-rule>
             <table>t_encrypt</table>
@@ -186,4 +186,4 @@
             </column>
         </encrypt-rule>
     </create-encrypt-rule>
-</sql-parser-test-cases>
\ No newline at end of file
+</sql-parser-test-cases>
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/resources/case/rdl/drop.xml b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/resources/case/rdl/drop.xml
index ade768e..61c88ec 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/resources/case/rdl/drop.xml
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/resources/case/rdl/drop.xml
@@ -21,28 +21,25 @@
         <data-source>ds_0</data-source>
         <data-source>ds_1</data-source>
     </drop-resource>
-
-    <drop-sharding-table-rule sql-case-id="drop-sharding-table-rule">
-
-    </drop-sharding-table-rule>
-
-    <drop-sharding-binding-table-rules sql-case-id="drop-sharding-binding-table-rules"/>
-
-    <drop-sharding-broadcast-table-rules sql-case-id="drop-sharding-broadcast-table-rules"/>
-
+    
+    <drop-sharding-table-rule sql-case-id="drop-sharding-table-rule" />
+    
+    <drop-sharding-binding-table-rules sql-case-id="drop-sharding-binding-table-rules" />
+    
+    <drop-sharding-broadcast-table-rules sql-case-id="drop-sharding-broadcast-table-rules" />
+    
     <drop-readwrite-splitting-rule sql-case-id="drop-readwrite-splitting-rule">
         <read-write-splitting-rule>ms_group_0</read-write-splitting-rule>
         <read-write-splitting-rule>ms_group_1</read-write-splitting-rule>
     </drop-readwrite-splitting-rule>
-
+    
     <drop-database-discovery-rule sql-case-id="drop-database-discovery-rule">
         <rule-name>ha_group_0</rule-name>
         <rule-name>ha_group_1</rule-name>
     </drop-database-discovery-rule>
-
+    
     <drop-encrypt-rule sql-case-id="drop-encrypt-rule">
         <table>t_encrypt</table>
         <table>t_encrypt_order</table>
     </drop-encrypt-rule>
-
-</sql-parser-test-cases>
\ No newline at end of file
+</sql-parser-test-cases>
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/resources/case/rql/show.xml b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/resources/case/rql/show.xml
index 85ebeeb..4a05cd2 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/resources/case/rql/show.xml
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/resources/case/rql/show.xml
@@ -17,41 +17,40 @@
   -->
 
 <sql-parser-test-cases>
-    <show-sharding-binding-table-rules sql-case-id = "show-sharding-binding-table-rules">
-        <schema name = "sharding_db" start-index="39" stop-index="49"/>
+    <show-sharding-binding-table-rules sql-case-id="show-sharding-binding-table-rules">
+        <schema name="sharding_db" start-index="39" stop-index="49"/>
     </show-sharding-binding-table-rules>
-
-    <show-sharding-broadcast-table-rules sql-case-id = "show-sharding-broadcast-table-rules">
-        <schema name = "sharding_db" start-index="41" stop-index="51"/>
+    
+    <show-sharding-broadcast-table-rules sql-case-id="show-sharding-broadcast-table-rules">
+        <schema name="sharding_db" start-index="41" stop-index="51"/>
     </show-sharding-broadcast-table-rules>
-
-    <show-sharding-table-rules sql-case-id = "show-sharding-table-rules">
-        <schema name = "schemaName" start-index="31" stop-index="40"/>
+    
+    <show-sharding-table-rules sql-case-id="show-sharding-table-rules">
+        <schema name="schemaName" start-index="31" stop-index="40"/>
     </show-sharding-table-rules>
-
-    <show-sharding-table-rules sql-case-id = "show-sharding-table-rule">
+    
+    <show-sharding-table-rules sql-case-id="show-sharding-table-rule">
         <table>t_order</table>
     </show-sharding-table-rules>
-
-    <show-sharding-table-rules sql-case-id = "show-sharding-table-rule-from">
+    
+    <show-sharding-table-rules sql-case-id="show-sharding-table-rule-from">
         <table>t_order</table>
-        <schema name = "schemaName" start-index="38" stop-index="47"/>
+        <schema name="schemaName" start-index="38" stop-index="47"/>
     </show-sharding-table-rules>
-
-    <show-readwrite-splitting-rules sql-case-id = "show-readwrite-splitting-rules">
-        <schema name = "readwrite_splitting_db" start-index="36" stop-index="57"/>
+    
+    <show-readwrite-splitting-rules sql-case-id="show-readwrite-splitting-rules">
+        <schema name="readwrite_splitting_db" start-index="36" stop-index="57"/>
     </show-readwrite-splitting-rules>
-
-    <show-db-discovery-rules sql-case-id = "show-db-discovery-rules">
-        <schema name = "db_discovery_db" start-index="29" stop-index="43"/>
+    
+    <show-db-discovery-rules sql-case-id="show-db-discovery-rules">
+        <schema name="db_discovery_db" start-index="29" stop-index="43"/>
     </show-db-discovery-rules>
-
-    <show-encrypt-rules sql-case-id = "show-encrypt-rules">
-        <schema name = "encrypt_db" start-index="24" stop-index="33"/>
+    
+    <show-encrypt-rules sql-case-id="show-encrypt-rules">
+        <schema name="encrypt_db" start-index="24" stop-index="33"/>
     </show-encrypt-rules>
-
-    <show-encrypt-rules sql-case-id = "show-encrypt-table-rules">
-        <schema name = "encrypt_db" start-index="39" stop-index="48"/>
+    
+    <show-encrypt-rules sql-case-id="show-encrypt-table-rules">
+        <schema name="encrypt_db" start-index="39" stop-index="48"/>
     </show-encrypt-rules>
-
-</sql-parser-test-cases>
\ No newline at end of file
+</sql-parser-test-cases>
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/resources/sql/supported/rdl/alter.xml b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/resources/sql/supported/rdl/alter.xml
index ddc9aa5..82d8a61 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/resources/sql/supported/rdl/alter.xml
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/resources/sql/supported/rdl/alter.xml
@@ -17,18 +17,10 @@
   -->
 
 <sql-cases>
-    <sql-case id="alter-sharding-table-rule" value="ALTER SHARDING TABLE RULE t_order (RESOURCES(ms_group_0,ms_group_1),
-    SHARDING_COLUMN=order_id, TYPE(NAME=hash_mod,PROPERTIES('sharding-count'=4)),GENERATED_KEY(COLUMN=another_id,TYPE(NAME=snowflake,PROPERTIES('worker-id'=123))))"
-              db-types="DistSQL"/>
-    <sql-case id="alter-sharding-binding-table-rules"
-              value="ALTER SHARDING BINDING TABLE RULES ((t_order,t_order_item), (t_1,t_2))" db-types="DistSQL"/>
-    <sql-case id="alter-sharding-broadcast-table-rules" value="ALTER SHARDING BROADCAST TABLE RULES(t_1,t_2)" db-types="DistSQL"/>
-    <sql-case id="alter-readwrite-splitting-rule" value="ALTER READWRITE_SPLITTING RULE ms_group_0 (AUTO_AWARE_RESOURCE=group_0,
-    TYPE(NAME=random,PROPERTIES(read_weight='2:1'))), ms_group_1 (WRITE_RESOURCE=primary_ds, READ_RESOURCES(replica_ds_0,replica_ds_1),TYPE(NAME=random))" db-types="DistSQL"/>
-    <sql-case id="alter-database-discovery-rule" value="ALTER DB_DISCOVERY RULE ha_group_0 (RESOURCES(resource0,resource1),
-    TYPE(NAME=mgr,PROPERTIES(groupName='92504d5b-6dec',keepAliveCron=''))),ha_group_1 (RESOURCES(resource2,resource3),
-    TYPE(NAME=mgr2,PROPERTIES(groupName='92504d5b-6dec-2',keepAliveCron='')))" db-types="DistSQL"/>
-    <sql-case id="alter-encrypt-rule" value="ALTER ENCRYPT RULE t_encrypt (RESOURCE=ds_1,
-    COLUMNS((NAME=user_id,PLAIN=user_plain,CIPHER=user_cipher,TYPE(NAME=AES,PROPERTIES('aes-key-value'='123456abc'))),
-    (NAME=order_id, CIPHER =order_cipher,TYPE(NAME=MD5))))" db-types="DistSQL"/>
-</sql-cases>
\ No newline at end of file
+    <sql-case id="alter-sharding-table-rule" value="ALTER SHARDING TABLE RULE t_order (RESOURCES(ms_group_0,ms_group_1), SHARDING_COLUMN=order_id, TYPE(NAME=hash_mod,PROPERTIES('sharding-count'=4)),GENERATED_KEY(COLUMN=another_id,TYPE(NAME=snowflake,PROPERTIES('worker-id'=123))))" db-types="DistSQL" />
+    <sql-case id="alter-sharding-binding-table-rules" value="ALTER SHARDING BINDING TABLE RULES ((t_order,t_order_item), (t_1,t_2))" db-types="DistSQL" />
+    <sql-case id="alter-sharding-broadcast-table-rules" value="ALTER SHARDING BROADCAST TABLE RULES(t_1,t_2)" db-types="DistSQL" />
+    <sql-case id="alter-readwrite-splitting-rule" value="ALTER READWRITE_SPLITTING RULE ms_group_0 (AUTO_AWARE_RESOURCE=group_0, TYPE(NAME=random,PROPERTIES(read_weight='2:1'))), ms_group_1 (WRITE_RESOURCE=primary_ds, READ_RESOURCES(replica_ds_0,replica_ds_1),TYPE(NAME=random))" db-types="DistSQL" />
+    <sql-case id="alter-database-discovery-rule" value="ALTER DB_DISCOVERY RULE ha_group_0 (RESOURCES(resource0,resource1), TYPE(NAME=mgr,PROPERTIES(groupName='92504d5b-6dec',keepAliveCron=''))),ha_group_1 (RESOURCES(resource2,resource3),TYPE(NAME=mgr2,PROPERTIES(groupName='92504d5b-6dec-2',keepAliveCron='')))" db-types="DistSQL" />
+    <sql-case id="alter-encrypt-rule" value="ALTER ENCRYPT RULE t_encrypt (RESOURCE=ds_1, COLUMNS((NAME=user_id,PLAIN=user_plain,CIPHER=user_cipher,TYPE(NAME=AES,PROPERTIES('aes-key-value'='123456abc'))), (NAME=order_id, CIPHER =order_cipher,TYPE(NAME=MD5))))" db-types="DistSQL" />
+</sql-cases>
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/resources/sql/supported/rdl/create.xml b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/resources/sql/supported/rdl/create.xml
index d58ba19..041f468 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/resources/sql/supported/rdl/create.xml
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/resources/sql/supported/rdl/create.xml
@@ -17,21 +17,14 @@
   -->
 
 <sql-cases>
-    <sql-case id="add-resource-single-without-password" value="ADD RESOURCE ds_0(HOST=127.0.0.1,PORT=3306,DB=test0,USER=ROOT);" db-types="DistSQL"/>
-    <sql-case id="add-resource-single-with-password" value="ADD RESOURCE ds_0(HOST=127.0.0.1,PORT=3306,DB=test0,USER=ROOT,PASSWORD=123456);" db-types="DistSQL"/>
-    <sql-case id="add-resource-multiple" value="ADD RESOURCE ds_0(HOST=127.0.0.1,PORT=3306,DB=test0,USER=ROOT,PASSWORD=123456), ds_1(HOST=127.0.0.1,PORT=3306,DB=test1,USER=ROOT,PASSWORD=123456);" db-types="DistSQL"/>
-    <sql-case id="create-sharding-table-rule" value="CREATE SHARDING TABLE RULE t_order (RESOURCES(ms_group_0,ms_group_1),
-    SHARDING_COLUMN=order_id,TYPE(NAME=hash_mod,PROPERTIES('sharding-count'=4)), GENERATED_KEY(COLUMN=another_id,TYPE(NAME=snowflake,PROPERTIES('worker-id'=123))))" db-types="DistSQL"/>
-    <sql-case id="create-sharding-binding-table-rule" value="CREATE SHARDING BINDING TABLE RULES ((t_order,t_order_item), (t_1,t_2))" db-types="DistSQL"/>
+    <sql-case id="add-resource-single-without-password" value="ADD RESOURCE ds_0(HOST=127.0.0.1,PORT=3306,DB=test0,USER=ROOT);" db-types="DistSQL" />
+    <sql-case id="add-resource-single-with-password" value="ADD RESOURCE ds_0(HOST=127.0.0.1,PORT=3306,DB=test0,USER=ROOT,PASSWORD=123456);" db-types="DistSQL" />
+    <sql-case id="add-resource-multiple" value="ADD RESOURCE ds_0(HOST=127.0.0.1,PORT=3306,DB=test0,USER=ROOT,PASSWORD=123456), ds_1(HOST=127.0.0.1,PORT=3306,DB=test1,USER=ROOT,PASSWORD=123456);" db-types="DistSQL" />
+    <sql-case id="create-sharding-table-rule" value="CREATE SHARDING TABLE RULE t_order (RESOURCES(ms_group_0,ms_group_1), SHARDING_COLUMN=order_id,TYPE(NAME=hash_mod,PROPERTIES('sharding-count'=4)), GENERATED_KEY(COLUMN=another_id,TYPE(NAME=snowflake,PROPERTIES('worker-id'=123))))" db-types="DistSQL" />
+    <sql-case id="create-sharding-binding-table-rule" value="CREATE SHARDING BINDING TABLE RULES ((t_order,t_order_item), (t_1,t_2))" db-types="DistSQL" />
     <sql-case id="create-sharding-broadcast-table-rule" value="CREATE SHARDING BROADCAST TABLE RULES(t_1,t_2)" db-types="DistSQL" />
-    <sql-case id="create-static-readwrite-splitting-rule" value="CREATE READWRITE_SPLITTING RULE ms_group_0
-    (WRITE_RESOURCE=primary_ds, READ_RESOURCES(replica_ds_0,replica_ds_1), TYPE(NAME=random)))" db-types="DistSQL"/>
-    <sql-case id="create-dynamic-readwrite-splitting-rule" value="CREATE READWRITE_SPLITTING RULE ms_group_1
-(AUTO_AWARE_RESOURCE=group_0, TYPE(NAME=random,PROPERTIES(read_weight='2:1')))" db-types="DistSQL"/>
-    <sql-case id="create-database-discovery-rule" value="CREATE DB_DISCOVERY RULE ha_group_0 (RESOURCES(resource0,resource1),
-    TYPE(NAME=mgr,PROPERTIES(groupName='92504d5b-6dec',keepAliveCron=''))), ha_group_1 (RESOURCES(resource2,resource3),
-    TYPE(NAME=mgr2,PROPERTIES(groupName='92504d5b-6dec-2',keepAliveCron='')))" db-types="DistSQL"/>
-    <sql-case id="create-encrypt-rule" value="CREATE ENCRYPT RULE t_encrypt (RESOURCE=ds_1,
-    COLUMNS((NAME=user_id,PLAIN=user_plain,CIPHER=user_cipher,TYPE(NAME=AES,PROPERTIES('aes-key-value'='123456abc'))),
-    (NAME=order_id, CIPHER =order_cipher,TYPE(NAME=MD5))))" db-types="DistSQL"/>
-</sql-cases>
\ No newline at end of file
+    <sql-case id="create-static-readwrite-splitting-rule" value="CREATE READWRITE_SPLITTING RULE ms_group_0 (WRITE_RESOURCE=primary_ds, READ_RESOURCES(replica_ds_0,replica_ds_1), TYPE(NAME=random)))" db-types="DistSQL" />
+    <sql-case id="create-dynamic-readwrite-splitting-rule" value="CREATE READWRITE_SPLITTING RULE ms_group_1(AUTO_AWARE_RESOURCE=group_0, TYPE(NAME=random,PROPERTIES(read_weight='2:1')))" db-types="DistSQL" />
+    <sql-case id="create-database-discovery-rule" value="CREATE DB_DISCOVERY RULE ha_group_0 (RESOURCES(resource0,resource1), TYPE(NAME=mgr,PROPERTIES(groupName='92504d5b-6dec',keepAliveCron=''))), ha_group_1 (RESOURCES(resource2,resource3), TYPE(NAME=mgr2,PROPERTIES(groupName='92504d5b-6dec-2',keepAliveCron='')))" db-types="DistSQL" />
+    <sql-case id="create-encrypt-rule" value="CREATE ENCRYPT RULE t_encrypt (RESOURCE=ds_1, COLUMNS((NAME=user_id,PLAIN=user_plain,CIPHER=user_cipher,TYPE(NAME=AES,PROPERTIES('aes-key-value'='123456abc'))), (NAME=order_id, CIPHER =order_cipher,TYPE(NAME=MD5))))" db-types="DistSQL" />
+</sql-cases>
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/resources/sql/supported/rdl/drop.xml b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/resources/sql/supported/rdl/drop.xml
index 1807062..bdd5d3a 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/resources/sql/supported/rdl/drop.xml
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/resources/sql/supported/rdl/drop.xml
@@ -17,11 +17,11 @@
   -->
 
 <sql-cases>
-    <sql-case id="drop-resource" value="DROP RESOURCE ds_0,ds_1" db-types="DistSQL"/>
-    <sql-case id="drop-sharding-table-rule" value="DROP SHARDING TABLE RULE t_order,t_order_item" db-types="DistSQL"/>
-    <sql-case id="drop-sharding-binding-table-rules" value="DROP SHARDING BINDING TABLE RULES" db-types="DistSQL"/>
-    <sql-case id="drop-sharding-broadcast-table-rules" value="DROP SHARDING BROADCAST TABLE RULES" db-types="DistSQL"/>
-    <sql-case id="drop-readwrite-splitting-rule" value="DROP READWRITE_SPLITTING RULE ms_group_0,ms_group_1" db-types="DistSQL"/>
-    <sql-case id="drop-database-discovery-rule" value="DROP DB_DISCOVERY RULE ha_group_0,ha_group_1" db-types="DistSQL"/>
-    <sql-case id="drop-encrypt-rule" value="DROP ENCRYPT RULE t_encrypt,t_encrypt_order" db-types="DistSQL"/>
+    <sql-case id="drop-resource" value="DROP RESOURCE ds_0,ds_1" db-types="DistSQL" />
+    <sql-case id="drop-sharding-table-rule" value="DROP SHARDING TABLE RULE t_order,t_order_item" db-types="DistSQL" />
+    <sql-case id="drop-sharding-binding-table-rules" value="DROP SHARDING BINDING TABLE RULES" db-types="DistSQL" />
+    <sql-case id="drop-sharding-broadcast-table-rules" value="DROP SHARDING BROADCAST TABLE RULES" db-types="DistSQL" />
+    <sql-case id="drop-readwrite-splitting-rule" value="DROP READWRITE_SPLITTING RULE ms_group_0,ms_group_1" db-types="DistSQL" />
+    <sql-case id="drop-database-discovery-rule" value="DROP DB_DISCOVERY RULE ha_group_0,ha_group_1" db-types="DistSQL" />
+    <sql-case id="drop-encrypt-rule" value="DROP ENCRYPT RULE t_encrypt,t_encrypt_order" db-types="DistSQL" />
 </sql-cases>
\ No newline at end of file
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/resources/sql/supported/rql/show.xml b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/resources/sql/supported/rql/show.xml
index f3a7641..015ba29 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/resources/sql/supported/rql/show.xml
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/resources/sql/supported/rql/show.xml
@@ -17,18 +17,13 @@
   -->
 
 <sql-cases>
-    <sql-case id="show-sharding-binding-table-rules" value="SHOW SHARDING BINDING TABLE RULES FROM sharding_db"
-              db-types="DistSQL"/>
-    <sql-case id="show-sharding-broadcast-table-rules" value="SHOW SHARDING BROADCAST TABLE RULES FROM sharding_db"
-              db-types="DistSQL"/>
-    <sql-case id="show-sharding-table-rules" value="SHOW SHARDING TABLE RULES FROM schemaName" db-types="DistSQL"/>
-    <sql-case id="show-sharding-table-rule" value="SHOW SHARDING TABLE RULE t_order" db-types="DistSQL"/>
-    <sql-case id="show-sharding-table-rule-from" value="SHOW SHARDING TABLE RULE t_order FROM schemaName"
-              db-types="DistSQL"/>
-    <sql-case id="show-readwrite-splitting-rules" value="SHOW READWRITE_SPLITTING RULES FROM readwrite_splitting_db"
-              db-types="DistSQL"/>
-    <sql-case id="show-db-discovery-rules" value="SHOW DB_DISCOVERY RULES FROM db_discovery_db" db-types="DistSQL"/>
-    <sql-case id="show-encrypt-rules" value="SHOW ENCRYPT RULES FROM encrypt_db" db-types="DistSQL"/>
-    <sql-case id="show-encrypt-table-rules" value="SHOW ENCRYPT TABLE RULE t_encrypt FROM encrypt_db"
-              db-types="DistSQL"/>
-</sql-cases>
\ No newline at end of file
+    <sql-case id="show-sharding-binding-table-rules" value="SHOW SHARDING BINDING TABLE RULES FROM sharding_db" db-types="DistSQL" />
+    <sql-case id="show-sharding-broadcast-table-rules" value="SHOW SHARDING BROADCAST TABLE RULES FROM sharding_db" db-types="DistSQL" />
+    <sql-case id="show-sharding-table-rules" value="SHOW SHARDING TABLE RULES FROM schemaName" db-types="DistSQL" />
+    <sql-case id="show-sharding-table-rule" value="SHOW SHARDING TABLE RULE t_order" db-types="DistSQL" />
+    <sql-case id="show-sharding-table-rule-from" value="SHOW SHARDING TABLE RULE t_order FROM schemaName" db-types="DistSQL" />
+    <sql-case id="show-readwrite-splitting-rules" value="SHOW READWRITE_SPLITTING RULES FROM readwrite_splitting_db" db-types="DistSQL" />
+    <sql-case id="show-db-discovery-rules" value="SHOW DB_DISCOVERY RULES FROM db_discovery_db" db-types="DistSQL" />
+    <sql-case id="show-encrypt-rules" value="SHOW ENCRYPT RULES FROM encrypt_db" db-types="DistSQL" />
+    <sql-case id="show-encrypt-table-rules" value="SHOW ENCRYPT TABLE RULE t_encrypt FROM encrypt_db" db-types="DistSQL" />
+</sql-cases>