You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by to...@apache.org on 2023/04/21 17:33:18 UTC

[shardingsphere] branch master updated: Refactor package structures of sql-parser (#25267)

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

totalo 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 6cd542146a6 Refactor package structures of sql-parser (#25267)
6cd542146a6 is described below

commit 6cd542146a63864dc56ec884ee8bf0431020cf4f
Author: Liang Zhang <zh...@apache.org>
AuthorDate: Sat Apr 22 01:33:09 2023 +0800

    Refactor package structures of sql-parser (#25267)
---
 .../parser/core/kernel/KernelDistSQLParser.java    |  2 +-
 .../kernel/KernelDistSQLStatementParserEngine.java |  2 +-
 .../core/kernel/KernelDistSQLStatementVisitor.java |  2 +-
 .../parser/core/utility/UtilityDistSQLParser.java  |  2 +-
 .../UtilityDistSQLStatementParserEngine.java       |  2 +-
 .../utility/UtilityDistSQLStatementVisitor.java    |  2 +-
 .../distsql/parser/segment/AlgorithmSegment.java   |  2 +-
 .../distsql/parser/segment/DataSourceSegment.java  |  2 +-
 .../segment/InventoryIncrementalRuleSegment.java   |  2 +-
 .../distsql/parser/segment/ReadOrWriteSegment.java |  2 +-
 docs/document/content/dev-manual/sql-parser.cn.md  |  4 +--
 docs/document/content/dev-manual/sql-parser.en.md  |  6 ++--
 .../statement/MySQLParserStatementExample.java     |  4 +--
 .../statement/OpenGaussParserStatementExample.java |  4 +--
 .../statement/OracleParserStatementExample.java    |  4 +--
 .../PostgreSQLParserStatementExample.java          |  4 +--
 .../statement/SQL92ParserStatementExample.java     |  4 +--
 .../statement/SQLServerParserStatementExample.java |  4 +--
 .../distsql/parser/core/EncryptDistSQLParser.java  |  2 +-
 .../core/EncryptDistSQLStatementVisitor.java       |  2 +-
 .../parser/segment/EncryptColumnSegment.java       |  2 +-
 .../distsql/parser/segment/EncryptRuleSegment.java |  2 +-
 .../distsql/parser/core/MaskDistSQLParser.java     |  2 +-
 .../parser/core/MaskDistSQLStatementVisitor.java   |  2 +-
 .../distsql/parser/segment/MaskColumnSegment.java  |  2 +-
 .../distsql/parser/segment/MaskRuleSegment.java    |  2 +-
 .../core/ReadwriteSplittingDistSQLParser.java      |  2 +-
 .../ReadwriteSplittingDistSQLStatementVisitor.java |  2 +-
 .../segment/ReadwriteSplittingRuleSegment.java     |  2 +-
 .../distsql/parser/core/ShadowDistSQLParser.java   |  2 +-
 .../parser/core/ShadowDistSQLStatementVisitor.java |  2 +-
 .../parser/segment/ShadowAlgorithmSegment.java     |  2 +-
 .../distsql/parser/segment/ShadowRuleSegment.java  |  2 +-
 .../distsql/parser/core/ShardingDistSQLParser.java |  2 +-
 .../core/ShardingDistSQLStatementVisitor.java      |  2 +-
 .../segment/strategy/AuditStrategySegment.java     |  2 +-
 .../strategy/KeyGenerateStrategySegment.java       |  2 +-
 .../segment/strategy/ShardingAuditorSegment.java   |  2 +-
 .../segment/strategy/ShardingStrategySegment.java  |  2 +-
 .../segment/table/AbstractTableRuleSegment.java    |  2 +-
 .../segment/table/TableReferenceRuleSegment.java   |  2 +-
 .../parser/sql/SQLStatementParserExecutor.java     |  6 ++--
 .../parser/core/AuthorityDistSQLParser.java        |  2 +-
 .../core/AuthorityDistSQLStatementVisitor.java     |  2 +-
 .../cdc/distsql/parser/core/CDCDistSQLParser.java  |  2 +-
 .../parser/core/CDCDistSQLStatementVisitor.java    |  2 +-
 .../parser/core/MigrationDistSQLParser.java        |  2 +-
 .../core/MigrationDistSQLStatementVisitor.java     |  2 +-
 .../parser/core/SQLParserDistSQLParser.java        |  2 +-
 .../core/SQLParserDistSQLStatementVisitor.java     |  2 +-
 .../distsql/parser/segment/CacheOptionSegment.java |  2 +-
 .../parser/core/SQLTranslatorDistSQLParser.java    |  2 +-
 .../core/SQLTranslatorDistSQLStatementVisitor.java |  2 +-
 .../distsql/parser/core/TrafficDistSQLParser.java  |  2 +-
 .../core/TrafficDistSQLStatementVisitor.java       |  2 +-
 .../distsql/parser/segment/TrafficRuleSegment.java |  2 +-
 .../parser/core/TransactionDistSQLParser.java      |  2 +-
 .../core/TransactionDistSQLStatementVisitor.java   |  2 +-
 .../parser/segment/TransactionProviderSegment.java |  2 +-
 .../hbase/result/HBaseSupportedSQLStatement.java   |  4 +--
 .../sql/parser/mysql/parser/MySQLParser.java       |  2 +-
 .../sql/parser/mysql/parser/MySQLParserFacade.java |  4 +--
 .../format/MySQLFormatSQLVisitor.java              |  4 +--
 .../{ => visitor}/stat/MySQLSQLStatVisitor.java    |  2 +-
 .../MySQLSQLStatementVisitorFacade.java}           | 32 +++++++++++-----------
 .../type/MySQLDALStatementSQLVisitor.java          |  6 ++--
 .../type/MySQLDCLStatementSQLVisitor.java          |  6 ++--
 .../type/MySQLDDLStatementSQLVisitor.java          |  6 ++--
 .../type/MySQLDMLStatementSQLVisitor.java          |  6 ++--
 .../type/MySQLRLStatementSQLVisitor.java           |  6 ++--
 .../type/MySQLStatementSQLVisitor.java             |  4 +--
 .../type/MySQLTCLStatementSQLVisitor.java          |  6 ++--
 ...sql.parser.api.visitor.format.SQLFormatVisitor} |  2 +-
 ...ngsphere.sql.parser.spi.SQLDialectParserFacade} |  0
 ...phere.sql.parser.spi.SQLStatementVisitorFacade} |  2 +-
 .../format/MySQLFormatSQLVisitorIT.java            |  2 +-
 .../stat/MySQLSQLStatVisitorTest.java              |  2 +-
 .../{ => statement}/MySQLXAVisitorTest.java        |  4 +--
 .../parser/opengauss/parser/OpenGaussParser.java   |  2 +-
 .../opengauss/parser/OpenGaussParserFacade.java    |  4 +--
 .../OpenGaussSQLStatementVisitorFacade.java}       | 30 ++++++++++----------
 .../type/OpenGaussDALStatementSQLVisitor.java      |  6 ++--
 .../type/OpenGaussDCLStatementSQLVisitor.java      |  6 ++--
 .../type/OpenGaussDDLStatementSQLVisitor.java      |  6 ++--
 .../type/OpenGaussDMLStatementSQLVisitor.java      |  6 ++--
 .../type/OpenGaussStatementSQLVisitor.java         |  4 +--
 .../type/OpenGaussTCLStatementSQLVisitor.java      |  6 ++--
 ...ngsphere.sql.parser.spi.SQLDialectParserFacade} |  0
 ...phere.sql.parser.spi.SQLStatementVisitorFacade} |  2 +-
 ....shardingsphere.sql.parser.spi.SQLVisitorFacade | 18 ------------
 .../sql/parser/oracle/parser/OracleParser.java     |  2 +-
 .../parser/oracle/parser/OracleParserFacade.java   |  4 +--
 .../OracleSQLStatementVisitorFacade.java}          | 30 ++++++++++----------
 .../type/OracleDALStatementSQLVisitor.java         |  6 ++--
 .../type/OracleDCLStatementSQLVisitor.java         |  6 ++--
 .../type/OracleDDLStatementSQLVisitor.java         |  6 ++--
 .../type/OracleDMLStatementSQLVisitor.java         |  6 ++--
 .../type/OracleStatementSQLVisitor.java            |  4 +--
 .../type/OracleTCLStatementSQLVisitor.java         |  6 ++--
 ...ngsphere.sql.parser.spi.SQLDialectParserFacade} |  0
 ...phere.sql.parser.spi.SQLStatementVisitorFacade} |  2 +-
 ....shardingsphere.sql.parser.spi.SQLVisitorFacade | 18 ------------
 .../parser/postgresql/parser/PostgreSQLParser.java |  2 +-
 .../postgresql/parser/PostgreSQLParserFacade.java  |  4 +--
 .../PostgreSQLSQLStatementVisitorFacade.java}      | 30 ++++++++++----------
 .../type/PostgreSQLDALStatementSQLVisitor.java     |  6 ++--
 .../type/PostgreSQLDCLStatementSQLVisitor.java     |  6 ++--
 .../type/PostgreSQLDDLStatementSQLVisitor.java     |  6 ++--
 .../type/PostgreSQLDMLStatementSQLVisitor.java     |  6 ++--
 .../type/PostgreSQLStatementSQLVisitor.java        |  4 +--
 .../type/PostgreSQLTCLStatementSQLVisitor.java     |  6 ++--
 ...ngsphere.sql.parser.spi.SQLDialectParserFacade} |  0
 ...phere.sql.parser.spi.SQLStatementVisitorFacade} |  2 +-
 ....shardingsphere.sql.parser.spi.SQLVisitorFacade | 18 ------------
 .../sql/parser/sql92/parser/SQL92Parser.java       |  2 +-
 .../sql/parser/sql92/parser/SQL92ParserFacade.java |  4 +--
 .../SQL92SQLStatementVisitorFacade.java}           | 30 ++++++++++----------
 .../type/SQL92DALStatementSQLVisitor.java          |  4 +--
 .../type/SQL92DCLStatementSQLVisitor.java          |  6 ++--
 .../type/SQL92DDLStatementSQLVisitor.java          |  6 ++--
 .../type/SQL92DMLStatementSQLVisitor.java          |  6 ++--
 .../type/SQL92StatementSQLVisitor.java             |  4 +--
 .../type/SQL92TCLStatementSQLVisitor.java          |  6 ++--
 ...ngsphere.sql.parser.spi.SQLDialectParserFacade} |  0
 ...phere.sql.parser.spi.SQLStatementVisitorFacade} |  2 +-
 ....shardingsphere.sql.parser.spi.SQLVisitorFacade | 18 ------------
 .../parser/sqlserver/parser/SQLServerParser.java   |  2 +-
 .../sqlserver/parser/SQLServerParserFacade.java    |  4 +--
 .../SQLServerSQLStatementVisitorFacade.java}       | 30 ++++++++++----------
 .../type/SQLServerDALStatementSQLVisitor.java      |  6 ++--
 .../type/SQLServerDCLStatementSQLVisitor.java      |  6 ++--
 .../type/SQLServerDDLStatementSQLVisitor.java      |  6 ++--
 .../type/SQLServerDMLStatementSQLVisitor.java      |  4 +--
 .../type/SQLServerStatementSQLVisitor.java         |  4 +--
 .../type/SQLServerTCLStatementSQLVisitor.java      |  6 ++--
 ...ngsphere.sql.parser.spi.SQLDialectParserFacade} |  0
 ...phere.sql.parser.spi.SQLStatementVisitorFacade} |  2 +-
 ....shardingsphere.sql.parser.spi.SQLVisitorFacade | 18 ------------
 .../sql/parser/api/SQLFormatEngine.java            |  2 +-
 ...rEngine.java => SQLStatementVisitorEngine.java} |  8 +++---
 .../sql/parser/core/ParseASTNode.java              |  2 +-
 .../core/database/parser/SQLParserExecutor.java    |  4 +--
 ...actory.java => SQLStatementVisitorFactory.java} | 10 +++----
 .../sql/parser/fixture/ParserFixture.java          |  2 +-
 ....java => SQLStatementVisitorFacadeFixture.java} | 16 +++++------
 ...phere.sql.parser.spi.SQLStatementVisitorFacade} |  2 +-
 ....shardingsphere.sql.parser.spi.SQLVisitorFacade | 18 ------------
 .../sql/parser/api/{visitor => }/ASTNode.java      |  2 +-
 .../sql/parser/api/parser/SQLParser.java           |  2 +-
 .../api/{ => visitor}/format/SQLFormatVisitor.java |  2 +-
 .../visitor/{type => statement}/DALSQLVisitor.java |  2 +-
 .../visitor/{type => statement}/DCLSQLVisitor.java |  2 +-
 .../visitor/{type => statement}/DDLSQLVisitor.java |  2 +-
 .../visitor/{type => statement}/DMLSQLVisitor.java |  2 +-
 .../visitor/{type => statement}/RLSQLVisitor.java  |  2 +-
 .../{type => statement}/SQLTypeVisitor.java        |  2 +-
 .../visitor/{type => statement}/TCLSQLVisitor.java |  2 +-
 ...rserFacade.java => SQLDialectParserFacade.java} |  2 +-
 ...rFacade.java => SQLStatementVisitorFacade.java} |  4 +--
 .../sql/parser/sql/common/segment/SQLSegment.java  |  2 +-
 .../parser/sql/common/statement/SQLStatement.java  |  2 +-
 .../sql/parser/sql/common/util/SQLUtils.java       |  2 +-
 .../sql/parser/sql/common/value/ValueASTNode.java  |  2 +-
 .../test/it/optimize/SQLNodeConverterEngineIT.java |  4 +--
 .../sql/parser/external/ExternalSQLParserIT.java   |  4 +--
 .../sql/parser/internal/InternalSQLParserIT.java   |  4 +--
 166 files changed, 344 insertions(+), 452 deletions(-)

diff --git a/distsql/parser/src/main/java/org/apache/shardingsphere/distsql/parser/core/kernel/KernelDistSQLParser.java b/distsql/parser/src/main/java/org/apache/shardingsphere/distsql/parser/core/kernel/KernelDistSQLParser.java
index 69b1c8c591e..3d6e06d1b25 100644
--- a/distsql/parser/src/main/java/org/apache/shardingsphere/distsql/parser/core/kernel/KernelDistSQLParser.java
+++ b/distsql/parser/src/main/java/org/apache/shardingsphere/distsql/parser/core/kernel/KernelDistSQLParser.java
@@ -21,7 +21,7 @@ import org.antlr.v4.runtime.CommonTokenStream;
 import org.antlr.v4.runtime.TokenStream;
 import org.apache.shardingsphere.distsql.parser.autogen.KernelDistSQLStatementParser;
 import org.apache.shardingsphere.sql.parser.api.parser.SQLParser;
-import org.apache.shardingsphere.sql.parser.api.visitor.ASTNode;
+import org.apache.shardingsphere.sql.parser.api.ASTNode;
 import org.apache.shardingsphere.sql.parser.core.ParseASTNode;
 
 /**
diff --git a/distsql/parser/src/main/java/org/apache/shardingsphere/distsql/parser/core/kernel/KernelDistSQLStatementParserEngine.java b/distsql/parser/src/main/java/org/apache/shardingsphere/distsql/parser/core/kernel/KernelDistSQLStatementParserEngine.java
index 13877a147b6..133b2f4921c 100644
--- a/distsql/parser/src/main/java/org/apache/shardingsphere/distsql/parser/core/kernel/KernelDistSQLStatementParserEngine.java
+++ b/distsql/parser/src/main/java/org/apache/shardingsphere/distsql/parser/core/kernel/KernelDistSQLStatementParserEngine.java
@@ -18,7 +18,7 @@
 package org.apache.shardingsphere.distsql.parser.core.kernel;
 
 import org.antlr.v4.runtime.tree.ErrorNode;
-import org.apache.shardingsphere.sql.parser.api.visitor.ASTNode;
+import org.apache.shardingsphere.sql.parser.api.ASTNode;
 import org.apache.shardingsphere.sql.parser.core.ParseASTNode;
 import org.apache.shardingsphere.sql.parser.core.SQLParserFactory;
 import org.apache.shardingsphere.sql.parser.exception.SQLParsingException;
diff --git a/distsql/parser/src/main/java/org/apache/shardingsphere/distsql/parser/core/kernel/KernelDistSQLStatementVisitor.java b/distsql/parser/src/main/java/org/apache/shardingsphere/distsql/parser/core/kernel/KernelDistSQLStatementVisitor.java
index 8df35ca66c6..f9d9797cbaf 100644
--- a/distsql/parser/src/main/java/org/apache/shardingsphere/distsql/parser/core/kernel/KernelDistSQLStatementVisitor.java
+++ b/distsql/parser/src/main/java/org/apache/shardingsphere/distsql/parser/core/kernel/KernelDistSQLStatementVisitor.java
@@ -108,7 +108,7 @@ import org.apache.shardingsphere.distsql.parser.statement.rql.show.ShowLogicalTa
 import org.apache.shardingsphere.distsql.parser.statement.rql.show.ShowRulesUsedStorageUnitStatement;
 import org.apache.shardingsphere.distsql.parser.statement.rql.show.ShowSingleTableStatement;
 import org.apache.shardingsphere.distsql.parser.statement.rql.show.ShowStorageUnitsStatement;
-import org.apache.shardingsphere.sql.parser.api.visitor.ASTNode;
+import org.apache.shardingsphere.sql.parser.api.ASTNode;
 import org.apache.shardingsphere.sql.parser.api.visitor.SQLVisitor;
 import org.apache.shardingsphere.sql.parser.sql.common.segment.generic.DatabaseSegment;
 import org.apache.shardingsphere.sql.parser.sql.common.value.identifier.IdentifierValue;
diff --git a/distsql/parser/src/main/java/org/apache/shardingsphere/distsql/parser/core/utility/UtilityDistSQLParser.java b/distsql/parser/src/main/java/org/apache/shardingsphere/distsql/parser/core/utility/UtilityDistSQLParser.java
index e6d132fc0c0..b4aaa7a99e3 100644
--- a/distsql/parser/src/main/java/org/apache/shardingsphere/distsql/parser/core/utility/UtilityDistSQLParser.java
+++ b/distsql/parser/src/main/java/org/apache/shardingsphere/distsql/parser/core/utility/UtilityDistSQLParser.java
@@ -21,7 +21,7 @@ import org.antlr.v4.runtime.CommonTokenStream;
 import org.antlr.v4.runtime.TokenStream;
 import org.apache.shardingsphere.distsql.parser.autogen.UtilityDistSQLStatementParser;
 import org.apache.shardingsphere.sql.parser.api.parser.SQLParser;
-import org.apache.shardingsphere.sql.parser.api.visitor.ASTNode;
+import org.apache.shardingsphere.sql.parser.api.ASTNode;
 import org.apache.shardingsphere.sql.parser.core.ParseASTNode;
 
 /**
diff --git a/distsql/parser/src/main/java/org/apache/shardingsphere/distsql/parser/core/utility/UtilityDistSQLStatementParserEngine.java b/distsql/parser/src/main/java/org/apache/shardingsphere/distsql/parser/core/utility/UtilityDistSQLStatementParserEngine.java
index 8208143268f..7a427888f70 100644
--- a/distsql/parser/src/main/java/org/apache/shardingsphere/distsql/parser/core/utility/UtilityDistSQLStatementParserEngine.java
+++ b/distsql/parser/src/main/java/org/apache/shardingsphere/distsql/parser/core/utility/UtilityDistSQLStatementParserEngine.java
@@ -19,7 +19,7 @@ package org.apache.shardingsphere.distsql.parser.core.utility;
 
 import org.antlr.v4.runtime.misc.ParseCancellationException;
 import org.antlr.v4.runtime.tree.ErrorNode;
-import org.apache.shardingsphere.sql.parser.api.visitor.ASTNode;
+import org.apache.shardingsphere.sql.parser.api.ASTNode;
 import org.apache.shardingsphere.sql.parser.core.ParseASTNode;
 import org.apache.shardingsphere.sql.parser.core.SQLParserFactory;
 import org.apache.shardingsphere.sql.parser.exception.SQLParsingException;
diff --git a/distsql/parser/src/main/java/org/apache/shardingsphere/distsql/parser/core/utility/UtilityDistSQLStatementVisitor.java b/distsql/parser/src/main/java/org/apache/shardingsphere/distsql/parser/core/utility/UtilityDistSQLStatementVisitor.java
index 3e30e5fd50e..e9be59b8f06 100644
--- a/distsql/parser/src/main/java/org/apache/shardingsphere/distsql/parser/core/utility/UtilityDistSQLStatementVisitor.java
+++ b/distsql/parser/src/main/java/org/apache/shardingsphere/distsql/parser/core/utility/UtilityDistSQLStatementVisitor.java
@@ -24,7 +24,7 @@ import org.apache.shardingsphere.distsql.parser.autogen.UtilityDistSQLStatementP
 import org.apache.shardingsphere.distsql.parser.statement.rul.sql.FormatStatement;
 import org.apache.shardingsphere.distsql.parser.statement.rul.sql.ParseStatement;
 import org.apache.shardingsphere.distsql.parser.statement.rul.sql.PreviewStatement;
-import org.apache.shardingsphere.sql.parser.api.visitor.ASTNode;
+import org.apache.shardingsphere.sql.parser.api.ASTNode;
 import org.apache.shardingsphere.sql.parser.api.visitor.SQLVisitor;
 
 /**
diff --git a/distsql/statement/src/main/java/org/apache/shardingsphere/distsql/parser/segment/AlgorithmSegment.java b/distsql/statement/src/main/java/org/apache/shardingsphere/distsql/parser/segment/AlgorithmSegment.java
index 83642d17767..548bb1d8cca 100644
--- a/distsql/statement/src/main/java/org/apache/shardingsphere/distsql/parser/segment/AlgorithmSegment.java
+++ b/distsql/statement/src/main/java/org/apache/shardingsphere/distsql/parser/segment/AlgorithmSegment.java
@@ -19,7 +19,7 @@ package org.apache.shardingsphere.distsql.parser.segment;
 
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
-import org.apache.shardingsphere.sql.parser.api.visitor.ASTNode;
+import org.apache.shardingsphere.sql.parser.api.ASTNode;
 
 import java.util.Properties;
 
diff --git a/distsql/statement/src/main/java/org/apache/shardingsphere/distsql/parser/segment/DataSourceSegment.java b/distsql/statement/src/main/java/org/apache/shardingsphere/distsql/parser/segment/DataSourceSegment.java
index 76b597ae0e6..f38321d875d 100644
--- a/distsql/statement/src/main/java/org/apache/shardingsphere/distsql/parser/segment/DataSourceSegment.java
+++ b/distsql/statement/src/main/java/org/apache/shardingsphere/distsql/parser/segment/DataSourceSegment.java
@@ -19,7 +19,7 @@ package org.apache.shardingsphere.distsql.parser.segment;
 
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
-import org.apache.shardingsphere.sql.parser.api.visitor.ASTNode;
+import org.apache.shardingsphere.sql.parser.api.ASTNode;
 
 import java.util.Properties;
 
diff --git a/distsql/statement/src/main/java/org/apache/shardingsphere/distsql/parser/segment/InventoryIncrementalRuleSegment.java b/distsql/statement/src/main/java/org/apache/shardingsphere/distsql/parser/segment/InventoryIncrementalRuleSegment.java
index cef9647400d..d5134913bdd 100644
--- a/distsql/statement/src/main/java/org/apache/shardingsphere/distsql/parser/segment/InventoryIncrementalRuleSegment.java
+++ b/distsql/statement/src/main/java/org/apache/shardingsphere/distsql/parser/segment/InventoryIncrementalRuleSegment.java
@@ -19,7 +19,7 @@ package org.apache.shardingsphere.distsql.parser.segment;
 
 import lombok.Getter;
 import lombok.Setter;
-import org.apache.shardingsphere.sql.parser.api.visitor.ASTNode;
+import org.apache.shardingsphere.sql.parser.api.ASTNode;
 
 /**
  * Inventory incremental rule segment.
diff --git a/distsql/statement/src/main/java/org/apache/shardingsphere/distsql/parser/segment/ReadOrWriteSegment.java b/distsql/statement/src/main/java/org/apache/shardingsphere/distsql/parser/segment/ReadOrWriteSegment.java
index 408c519d4ae..5b8e5c86068 100644
--- a/distsql/statement/src/main/java/org/apache/shardingsphere/distsql/parser/segment/ReadOrWriteSegment.java
+++ b/distsql/statement/src/main/java/org/apache/shardingsphere/distsql/parser/segment/ReadOrWriteSegment.java
@@ -19,7 +19,7 @@ package org.apache.shardingsphere.distsql.parser.segment;
 
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
-import org.apache.shardingsphere.sql.parser.api.visitor.ASTNode;
+import org.apache.shardingsphere.sql.parser.api.ASTNode;
 
 /**
  * Read or Write configuration segment.
diff --git a/docs/document/content/dev-manual/sql-parser.cn.md b/docs/document/content/dev-manual/sql-parser.cn.md
index e3a1eefe86c..2909fc443d2 100644
--- a/docs/document/content/dev-manual/sql-parser.cn.md
+++ b/docs/document/content/dev-manual/sql-parser.cn.md
@@ -9,7 +9,7 @@ chapter = true
 
 ### 全限定类名
 
-[`org.apache.shardingsphere.sql.parser.spi.DatabaseTypedSQLParserFacade`](https://github.com/apache/shardingsphere/blob/master/sql-parser/spi/src/main/java/org/apache/shardingsphere/sql/parser/spi/DatabaseTypedSQLParserFacade.java)
+[`org.apache.shardingsphere.sql.parser.spi.SQLDialectParserFacade`](https://github.com/apache/shardingsphere/blob/master/sql-parser/spi/src/main/java/org/apache/shardingsphere/sql/parser/spi/SQLDialectParserFacade.java)
 
 ### 定义
 
@@ -31,7 +31,7 @@ chapter = true
 
 ### 全限定类名
 
-[`org.apache.shardingsphere.sql.parser.spi.SQLVisitorFacade`](https://github.com/apache/shardingsphere/blob/master/sql-parser/spi/src/main/java/org/apache/shardingsphere/sql/parser/spi/SQLVisitorFacade.java)
+[`org.apache.shardingsphere.sql.parser.spi.SQLStatementVisitorFacade`](https://github.com/apache/shardingsphere/blob/master/sql-parser/spi/src/main/java/org/apache/shardingsphere/sql/parser/spi/SQLVisitorFacade.java)
 
 ### 定义
 
diff --git a/docs/document/content/dev-manual/sql-parser.en.md b/docs/document/content/dev-manual/sql-parser.en.md
index 3162d5836e5..8cd18c92cf5 100644
--- a/docs/document/content/dev-manual/sql-parser.en.md
+++ b/docs/document/content/dev-manual/sql-parser.en.md
@@ -9,7 +9,7 @@ chapter = true
 
 ### Fully-qualified class name
 
-[`org.apache.shardingsphere.sql.parser.spi.DatabaseTypedSQLParserFacade`](https://github.com/apache/shardingsphere/blob/master/sql-parser/spi/src/main/java/org/apache/shardingsphere/sql/parser/spi/DatabaseTypedSQLParserFacade.java)
+[`org.apache.shardingsphere.sql.parser.spi.SQLDialectParserFacade`](https://github.com/apache/shardingsphere/blob/master/sql-parser/spi/src/main/java/org/apache/shardingsphere/sql/parser/spi/SQLDialectParserFacade.java)
 
 ### Definition
 
@@ -26,11 +26,11 @@ Database typed SQL parser facade service definition
 | SQL92                | SQL parser entry based on SQL92      | [`org.apache.shardingsphere.sql.parser.sql92.parser.SQL92ParserFacade`](https://github.com/apache/shardingsphere/blob/master/sql-parser/dialect/sql92/src/main/java/org/apache/shardingsphere/sql/parser/sql92/parser/SQL92ParserFacade.java)                          |
 | openGauss            | SQL parser entry based on openGauss  | [`org.apache.shardingsphere.sql.parser.opengauss.parser.OpenGaussParserFacade`](https://github.com/apache/shardingsphere/blob/master/sql-parser/dialect/opengauss/src/main/java/org/apache/shardingsphere/sql/parser/opengauss/parser/OpenGaussParserFacade.java)      |
 
-## SQLVisitorFacade
+## SQLStatementVisitorFacade
 
 ### Fully-qualified class name
 
-[`org.apache.shardingsphere.sql.parser.spi.SQLVisitorFacade`](https://github.com/apache/shardingsphere/blob/master/sql-parser/spi/src/main/java/org/apache/shardingsphere/sql/parser/spi/SQLVisitorFacade.java)
+[`org.apache.shardingsphere.sql.parser.spi.SQLStatementVisitorFacade`](https://github.com/apache/shardingsphere/blob/master/sql-parser/spi/src/main/java/org/apache/shardingsphere/sql/parser/spi/SQLStatementVisitorFacade.java)
 
 ### Definition
 
diff --git a/examples/shardingsphere-parser-example/src/main/java/org/apache/shardingsphere/example/parser/mysql/statement/MySQLParserStatementExample.java b/examples/shardingsphere-parser-example/src/main/java/org/apache/shardingsphere/example/parser/mysql/statement/MySQLParserStatementExample.java
index 2bde7b6c0ab..b1f2776f6c0 100644
--- a/examples/shardingsphere-parser-example/src/main/java/org/apache/shardingsphere/example/parser/mysql/statement/MySQLParserStatementExample.java
+++ b/examples/shardingsphere-parser-example/src/main/java/org/apache/shardingsphere/example/parser/mysql/statement/MySQLParserStatementExample.java
@@ -19,7 +19,7 @@ package org.apache.shardingsphere.example.parser.mysql.statement;
 
 import org.apache.shardingsphere.sql.parser.api.CacheOption;
 import org.apache.shardingsphere.sql.parser.api.SQLParserEngine;
-import org.apache.shardingsphere.sql.parser.api.SQLVisitorEngine;
+import org.apache.shardingsphere.sql.parser.api.SQLStatementVisitorEngine;
 import org.apache.shardingsphere.sql.parser.core.ParseASTNode;
 import org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.MySQLStatement;
 
@@ -57,7 +57,7 @@ public final class MySQLParserStatementExample {
             CacheOption cacheOption = new CacheOption(128, 1024L);
             SQLParserEngine parserEngine = new SQLParserEngine("MySQL", cacheOption);
             ParseASTNode parseASTNode = parserEngine.parse(each, false);
-            SQLVisitorEngine visitorEngine = new SQLVisitorEngine("MySQL", false);
+            SQLStatementVisitorEngine visitorEngine = new SQLStatementVisitorEngine("MySQL", false);
             MySQLStatement sqlStatement = visitorEngine.visit(parseASTNode);
             System.out.println(sqlStatement.toString());
         });
diff --git a/examples/shardingsphere-parser-example/src/main/java/org/apache/shardingsphere/example/parser/opengauss/statement/OpenGaussParserStatementExample.java b/examples/shardingsphere-parser-example/src/main/java/org/apache/shardingsphere/example/parser/opengauss/statement/OpenGaussParserStatementExample.java
index 81ebce5e7f1..e46788c55a3 100644
--- a/examples/shardingsphere-parser-example/src/main/java/org/apache/shardingsphere/example/parser/opengauss/statement/OpenGaussParserStatementExample.java
+++ b/examples/shardingsphere-parser-example/src/main/java/org/apache/shardingsphere/example/parser/opengauss/statement/OpenGaussParserStatementExample.java
@@ -19,7 +19,7 @@ package org.apache.shardingsphere.example.parser.opengauss.statement;
 
 import org.apache.shardingsphere.sql.parser.api.CacheOption;
 import org.apache.shardingsphere.sql.parser.api.SQLParserEngine;
-import org.apache.shardingsphere.sql.parser.api.SQLVisitorEngine;
+import org.apache.shardingsphere.sql.parser.api.SQLStatementVisitorEngine;
 import org.apache.shardingsphere.sql.parser.core.ParseASTNode;
 import org.apache.shardingsphere.sql.parser.sql.dialect.statement.opengauss.OpenGaussStatement;
 
@@ -55,7 +55,7 @@ public final class OpenGaussParserStatementExample {
             CacheOption cacheOption = new CacheOption(128, 1024L);
             SQLParserEngine parserEngine = new SQLParserEngine("openGauss", cacheOption);
             ParseASTNode parseASTNode = parserEngine.parse(sql, false);
-            SQLVisitorEngine visitorEngine = new SQLVisitorEngine("openGauss", false);
+            SQLStatementVisitorEngine visitorEngine = new SQLStatementVisitorEngine("openGauss", false);
             OpenGaussStatement sqlStatement = visitorEngine.visit(parseASTNode);
             System.out.println(sqlStatement.toString());
         });
diff --git a/examples/shardingsphere-parser-example/src/main/java/org/apache/shardingsphere/example/parser/oracle/statement/OracleParserStatementExample.java b/examples/shardingsphere-parser-example/src/main/java/org/apache/shardingsphere/example/parser/oracle/statement/OracleParserStatementExample.java
index cc3deae8567..681e667879c 100644
--- a/examples/shardingsphere-parser-example/src/main/java/org/apache/shardingsphere/example/parser/oracle/statement/OracleParserStatementExample.java
+++ b/examples/shardingsphere-parser-example/src/main/java/org/apache/shardingsphere/example/parser/oracle/statement/OracleParserStatementExample.java
@@ -19,7 +19,7 @@ package org.apache.shardingsphere.example.parser.oracle.statement;
 
 import org.apache.shardingsphere.sql.parser.api.CacheOption;
 import org.apache.shardingsphere.sql.parser.api.SQLParserEngine;
-import org.apache.shardingsphere.sql.parser.api.SQLVisitorEngine;
+import org.apache.shardingsphere.sql.parser.api.SQLStatementVisitorEngine;
 import org.apache.shardingsphere.sql.parser.core.ParseASTNode;
 import org.apache.shardingsphere.sql.parser.sql.dialect.statement.oracle.OracleStatement;
 
@@ -55,7 +55,7 @@ public final class OracleParserStatementExample {
             CacheOption cacheOption = new CacheOption(128, 1024L);
             SQLParserEngine parserEngine = new SQLParserEngine("Oracle", cacheOption);
             ParseASTNode parseASTNode = parserEngine.parse(sql, false);
-            SQLVisitorEngine visitorEngine = new SQLVisitorEngine("Oracle", false);
+            SQLStatementVisitorEngine visitorEngine = new SQLStatementVisitorEngine("Oracle", false);
             OracleStatement sqlStatement = visitorEngine.visit(parseASTNode);
             System.out.println(sqlStatement.toString());
         });
diff --git a/examples/shardingsphere-parser-example/src/main/java/org/apache/shardingsphere/example/parser/postgresql/statement/PostgreSQLParserStatementExample.java b/examples/shardingsphere-parser-example/src/main/java/org/apache/shardingsphere/example/parser/postgresql/statement/PostgreSQLParserStatementExample.java
index 07e0218b5c7..f64fa07dd49 100644
--- a/examples/shardingsphere-parser-example/src/main/java/org/apache/shardingsphere/example/parser/postgresql/statement/PostgreSQLParserStatementExample.java
+++ b/examples/shardingsphere-parser-example/src/main/java/org/apache/shardingsphere/example/parser/postgresql/statement/PostgreSQLParserStatementExample.java
@@ -19,7 +19,7 @@ package org.apache.shardingsphere.example.parser.postgresql.statement;
 
 import org.apache.shardingsphere.sql.parser.api.CacheOption;
 import org.apache.shardingsphere.sql.parser.api.SQLParserEngine;
-import org.apache.shardingsphere.sql.parser.api.SQLVisitorEngine;
+import org.apache.shardingsphere.sql.parser.api.SQLStatementVisitorEngine;
 import org.apache.shardingsphere.sql.parser.core.ParseASTNode;
 import org.apache.shardingsphere.sql.parser.sql.dialect.statement.postgresql.PostgreSQLStatement;
 
@@ -55,7 +55,7 @@ public final class PostgreSQLParserStatementExample {
             CacheOption cacheOption = new CacheOption(128, 1024L);
             SQLParserEngine parserEngine = new SQLParserEngine("PostgreSQL", cacheOption);
             ParseASTNode parseASTNode = parserEngine.parse(sql, false);
-            SQLVisitorEngine visitorEngine = new SQLVisitorEngine("PostgreSQL", false);
+            SQLStatementVisitorEngine visitorEngine = new SQLStatementVisitorEngine("PostgreSQL", false);
             PostgreSQLStatement sqlStatement = visitorEngine.visit(parseASTNode);
             System.out.println(sqlStatement.toString());
         });
diff --git a/examples/shardingsphere-parser-example/src/main/java/org/apache/shardingsphere/example/parser/sql92/statement/SQL92ParserStatementExample.java b/examples/shardingsphere-parser-example/src/main/java/org/apache/shardingsphere/example/parser/sql92/statement/SQL92ParserStatementExample.java
index 82eb41c65d9..6f2e368346c 100644
--- a/examples/shardingsphere-parser-example/src/main/java/org/apache/shardingsphere/example/parser/sql92/statement/SQL92ParserStatementExample.java
+++ b/examples/shardingsphere-parser-example/src/main/java/org/apache/shardingsphere/example/parser/sql92/statement/SQL92ParserStatementExample.java
@@ -19,7 +19,7 @@ package org.apache.shardingsphere.example.parser.sql92.statement;
 
 import org.apache.shardingsphere.sql.parser.api.CacheOption;
 import org.apache.shardingsphere.sql.parser.api.SQLParserEngine;
-import org.apache.shardingsphere.sql.parser.api.SQLVisitorEngine;
+import org.apache.shardingsphere.sql.parser.api.SQLStatementVisitorEngine;
 import org.apache.shardingsphere.sql.parser.core.ParseASTNode;
 import org.apache.shardingsphere.sql.parser.sql.dialect.statement.sql92.SQL92Statement;
 
@@ -55,7 +55,7 @@ public final class SQL92ParserStatementExample {
             CacheOption cacheOption = new CacheOption(128, 1024L);
             SQLParserEngine parserEngine = new SQLParserEngine("SQL92", cacheOption);
             ParseASTNode parseASTNode = parserEngine.parse(sql, false);
-            SQLVisitorEngine visitorEngine = new SQLVisitorEngine("SQL92", false);
+            SQLStatementVisitorEngine visitorEngine = new SQLStatementVisitorEngine("SQL92", false);
             SQL92Statement sqlStatement = visitorEngine.visit(parseASTNode);
             System.out.println(sqlStatement.toString());
         });
diff --git a/examples/shardingsphere-parser-example/src/main/java/org/apache/shardingsphere/example/parser/sqlserver/statement/SQLServerParserStatementExample.java b/examples/shardingsphere-parser-example/src/main/java/org/apache/shardingsphere/example/parser/sqlserver/statement/SQLServerParserStatementExample.java
index 542c4816481..65b68e3609b 100644
--- a/examples/shardingsphere-parser-example/src/main/java/org/apache/shardingsphere/example/parser/sqlserver/statement/SQLServerParserStatementExample.java
+++ b/examples/shardingsphere-parser-example/src/main/java/org/apache/shardingsphere/example/parser/sqlserver/statement/SQLServerParserStatementExample.java
@@ -19,7 +19,7 @@ package org.apache.shardingsphere.example.parser.sqlserver.statement;
 
 import org.apache.shardingsphere.sql.parser.api.CacheOption;
 import org.apache.shardingsphere.sql.parser.api.SQLParserEngine;
-import org.apache.shardingsphere.sql.parser.api.SQLVisitorEngine;
+import org.apache.shardingsphere.sql.parser.api.SQLStatementVisitorEngine;
 import org.apache.shardingsphere.sql.parser.core.ParseASTNode;
 import org.apache.shardingsphere.sql.parser.sql.dialect.statement.sqlserver.SQLServerStatement;
 
@@ -57,7 +57,7 @@ public final class SQLServerParserStatementExample {
             CacheOption cacheOption = new CacheOption(128, 1024L);
             SQLParserEngine parserEngine = new SQLParserEngine("SQLServer", cacheOption);
             ParseASTNode parseASTNode = parserEngine.parse(sql, false);
-            SQLVisitorEngine visitorEngine = new SQLVisitorEngine("SQLServer", false);
+            SQLStatementVisitorEngine visitorEngine = new SQLStatementVisitorEngine("SQLServer", false);
             SQLServerStatement sqlStatement = visitorEngine.visit(parseASTNode);
             System.out.println(sqlStatement);
         });
diff --git a/features/encrypt/distsql/parser/src/main/java/org/apache/shardingsphere/encrypt/distsql/parser/core/EncryptDistSQLParser.java b/features/encrypt/distsql/parser/src/main/java/org/apache/shardingsphere/encrypt/distsql/parser/core/EncryptDistSQLParser.java
index e31056a3809..8023244feb9 100644
--- a/features/encrypt/distsql/parser/src/main/java/org/apache/shardingsphere/encrypt/distsql/parser/core/EncryptDistSQLParser.java
+++ b/features/encrypt/distsql/parser/src/main/java/org/apache/shardingsphere/encrypt/distsql/parser/core/EncryptDistSQLParser.java
@@ -21,7 +21,7 @@ import org.antlr.v4.runtime.CommonTokenStream;
 import org.antlr.v4.runtime.TokenStream;
 import org.apache.shardingsphere.distsql.parser.autogen.EncryptDistSQLStatementParser;
 import org.apache.shardingsphere.sql.parser.api.parser.SQLParser;
-import org.apache.shardingsphere.sql.parser.api.visitor.ASTNode;
+import org.apache.shardingsphere.sql.parser.api.ASTNode;
 import org.apache.shardingsphere.sql.parser.core.ParseASTNode;
 
 /**
diff --git a/features/encrypt/distsql/parser/src/main/java/org/apache/shardingsphere/encrypt/distsql/parser/core/EncryptDistSQLStatementVisitor.java b/features/encrypt/distsql/parser/src/main/java/org/apache/shardingsphere/encrypt/distsql/parser/core/EncryptDistSQLStatementVisitor.java
index d8a77a9ff3b..67e21820389 100644
--- a/features/encrypt/distsql/parser/src/main/java/org/apache/shardingsphere/encrypt/distsql/parser/core/EncryptDistSQLStatementVisitor.java
+++ b/features/encrypt/distsql/parser/src/main/java/org/apache/shardingsphere/encrypt/distsql/parser/core/EncryptDistSQLStatementVisitor.java
@@ -39,7 +39,7 @@ import org.apache.shardingsphere.encrypt.distsql.parser.statement.CountEncryptRu
 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.api.visitor.ASTNode;
+import org.apache.shardingsphere.sql.parser.api.ASTNode;
 import org.apache.shardingsphere.sql.parser.api.visitor.SQLVisitor;
 import org.apache.shardingsphere.sql.parser.sql.common.segment.generic.DatabaseSegment;
 import org.apache.shardingsphere.sql.parser.sql.common.segment.generic.table.TableNameSegment;
diff --git a/features/encrypt/distsql/statement/src/main/java/org/apache/shardingsphere/encrypt/distsql/parser/segment/EncryptColumnSegment.java b/features/encrypt/distsql/statement/src/main/java/org/apache/shardingsphere/encrypt/distsql/parser/segment/EncryptColumnSegment.java
index 6e122511b45..60e57ddd048 100644
--- a/features/encrypt/distsql/statement/src/main/java/org/apache/shardingsphere/encrypt/distsql/parser/segment/EncryptColumnSegment.java
+++ b/features/encrypt/distsql/statement/src/main/java/org/apache/shardingsphere/encrypt/distsql/parser/segment/EncryptColumnSegment.java
@@ -22,7 +22,7 @@ import lombok.AllArgsConstructor;
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
 import org.apache.shardingsphere.distsql.parser.segment.AlgorithmSegment;
-import org.apache.shardingsphere.sql.parser.api.visitor.ASTNode;
+import org.apache.shardingsphere.sql.parser.api.ASTNode;
 
 /**
  * Encrypt column segment.
diff --git a/features/encrypt/distsql/statement/src/main/java/org/apache/shardingsphere/encrypt/distsql/parser/segment/EncryptRuleSegment.java b/features/encrypt/distsql/statement/src/main/java/org/apache/shardingsphere/encrypt/distsql/parser/segment/EncryptRuleSegment.java
index 41e84a3bdad..fc02b509c68 100644
--- a/features/encrypt/distsql/statement/src/main/java/org/apache/shardingsphere/encrypt/distsql/parser/segment/EncryptRuleSegment.java
+++ b/features/encrypt/distsql/statement/src/main/java/org/apache/shardingsphere/encrypt/distsql/parser/segment/EncryptRuleSegment.java
@@ -19,7 +19,7 @@ package org.apache.shardingsphere.encrypt.distsql.parser.segment;
 
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
-import org.apache.shardingsphere.sql.parser.api.visitor.ASTNode;
+import org.apache.shardingsphere.sql.parser.api.ASTNode;
 
 import java.util.Collection;
 
diff --git a/features/mask/distsql/parser/src/main/java/org/apache/shardingsphere/mask/distsql/parser/core/MaskDistSQLParser.java b/features/mask/distsql/parser/src/main/java/org/apache/shardingsphere/mask/distsql/parser/core/MaskDistSQLParser.java
index 43589551c65..3a3f0667d16 100644
--- a/features/mask/distsql/parser/src/main/java/org/apache/shardingsphere/mask/distsql/parser/core/MaskDistSQLParser.java
+++ b/features/mask/distsql/parser/src/main/java/org/apache/shardingsphere/mask/distsql/parser/core/MaskDistSQLParser.java
@@ -21,7 +21,7 @@ import org.antlr.v4.runtime.CommonTokenStream;
 import org.antlr.v4.runtime.TokenStream;
 import org.apache.shardingsphere.distsql.parser.autogen.MaskDistSQLStatementParser;
 import org.apache.shardingsphere.sql.parser.api.parser.SQLParser;
-import org.apache.shardingsphere.sql.parser.api.visitor.ASTNode;
+import org.apache.shardingsphere.sql.parser.api.ASTNode;
 import org.apache.shardingsphere.sql.parser.core.ParseASTNode;
 
 /**
diff --git a/features/mask/distsql/parser/src/main/java/org/apache/shardingsphere/mask/distsql/parser/core/MaskDistSQLStatementVisitor.java b/features/mask/distsql/parser/src/main/java/org/apache/shardingsphere/mask/distsql/parser/core/MaskDistSQLStatementVisitor.java
index 1427624c2e8..48a7195e2aa 100644
--- a/features/mask/distsql/parser/src/main/java/org/apache/shardingsphere/mask/distsql/parser/core/MaskDistSQLStatementVisitor.java
+++ b/features/mask/distsql/parser/src/main/java/org/apache/shardingsphere/mask/distsql/parser/core/MaskDistSQLStatementVisitor.java
@@ -38,7 +38,7 @@ import org.apache.shardingsphere.mask.distsql.parser.statement.CountMaskRuleStat
 import org.apache.shardingsphere.mask.distsql.parser.statement.CreateMaskRuleStatement;
 import org.apache.shardingsphere.mask.distsql.parser.statement.DropMaskRuleStatement;
 import org.apache.shardingsphere.mask.distsql.parser.statement.ShowMaskRulesStatement;
-import org.apache.shardingsphere.sql.parser.api.visitor.ASTNode;
+import org.apache.shardingsphere.sql.parser.api.ASTNode;
 import org.apache.shardingsphere.sql.parser.api.visitor.SQLVisitor;
 import org.apache.shardingsphere.sql.parser.sql.common.segment.generic.DatabaseSegment;
 import org.apache.shardingsphere.sql.parser.sql.common.value.identifier.IdentifierValue;
diff --git a/features/mask/distsql/statement/src/main/java/org/apache/shardingsphere/mask/distsql/parser/segment/MaskColumnSegment.java b/features/mask/distsql/statement/src/main/java/org/apache/shardingsphere/mask/distsql/parser/segment/MaskColumnSegment.java
index 7cd6d90eebe..644b8e5d111 100644
--- a/features/mask/distsql/statement/src/main/java/org/apache/shardingsphere/mask/distsql/parser/segment/MaskColumnSegment.java
+++ b/features/mask/distsql/statement/src/main/java/org/apache/shardingsphere/mask/distsql/parser/segment/MaskColumnSegment.java
@@ -20,7 +20,7 @@ package org.apache.shardingsphere.mask.distsql.parser.segment;
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
 import org.apache.shardingsphere.distsql.parser.segment.AlgorithmSegment;
-import org.apache.shardingsphere.sql.parser.api.visitor.ASTNode;
+import org.apache.shardingsphere.sql.parser.api.ASTNode;
 
 /**
  * Mask column segment.
diff --git a/features/mask/distsql/statement/src/main/java/org/apache/shardingsphere/mask/distsql/parser/segment/MaskRuleSegment.java b/features/mask/distsql/statement/src/main/java/org/apache/shardingsphere/mask/distsql/parser/segment/MaskRuleSegment.java
index 8f9a9c7f54a..09c8d3495c5 100644
--- a/features/mask/distsql/statement/src/main/java/org/apache/shardingsphere/mask/distsql/parser/segment/MaskRuleSegment.java
+++ b/features/mask/distsql/statement/src/main/java/org/apache/shardingsphere/mask/distsql/parser/segment/MaskRuleSegment.java
@@ -19,7 +19,7 @@ package org.apache.shardingsphere.mask.distsql.parser.segment;
 
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
-import org.apache.shardingsphere.sql.parser.api.visitor.ASTNode;
+import org.apache.shardingsphere.sql.parser.api.ASTNode;
 
 import java.util.Collection;
 
diff --git a/features/readwrite-splitting/distsql/parser/src/main/java/org/apache/shardingsphere/readwritesplitting/distsql/parser/core/ReadwriteSplittingDistSQLParser.java b/features/readwrite-splitting/distsql/parser/src/main/java/org/apache/shardingsphere/readwritesplitting/distsql/parser/core/ReadwriteSplittingDistSQLParser.java
index c2299ebf145..43974fd78ad 100644
--- a/features/readwrite-splitting/distsql/parser/src/main/java/org/apache/shardingsphere/readwritesplitting/distsql/parser/core/ReadwriteSplittingDistSQLParser.java
+++ b/features/readwrite-splitting/distsql/parser/src/main/java/org/apache/shardingsphere/readwritesplitting/distsql/parser/core/ReadwriteSplittingDistSQLParser.java
@@ -21,7 +21,7 @@ import org.antlr.v4.runtime.CommonTokenStream;
 import org.antlr.v4.runtime.TokenStream;
 import org.apache.shardingsphere.distsql.parser.autogen.ReadwriteSplittingDistSQLStatementParser;
 import org.apache.shardingsphere.sql.parser.api.parser.SQLParser;
-import org.apache.shardingsphere.sql.parser.api.visitor.ASTNode;
+import org.apache.shardingsphere.sql.parser.api.ASTNode;
 import org.apache.shardingsphere.sql.parser.core.ParseASTNode;
 
 /**
diff --git a/features/readwrite-splitting/distsql/parser/src/main/java/org/apache/shardingsphere/readwritesplitting/distsql/parser/core/ReadwriteSplittingDistSQLStatementVisitor.java b/features/readwrite-splitting/distsql/parser/src/main/java/org/apache/shardingsphere/readwritesplitting/distsql/parser/core/ReadwriteSplittingDistSQLStatementVisitor.java
index c23d3eb1524..52f3d5f823c 100644
--- a/features/readwrite-splitting/distsql/parser/src/main/java/org/apache/shardingsphere/readwritesplitting/distsql/parser/core/ReadwriteSplittingDistSQLStatementVisitor.java
+++ b/features/readwrite-splitting/distsql/parser/src/main/java/org/apache/shardingsphere/readwritesplitting/distsql/parser/core/ReadwriteSplittingDistSQLStatementVisitor.java
@@ -40,7 +40,7 @@ import org.apache.shardingsphere.readwritesplitting.distsql.parser.statement.Dro
 import org.apache.shardingsphere.readwritesplitting.distsql.parser.statement.ShowReadwriteSplittingRulesStatement;
 import org.apache.shardingsphere.readwritesplitting.distsql.parser.statement.ShowStatusFromReadwriteSplittingRulesStatement;
 import org.apache.shardingsphere.readwritesplitting.distsql.parser.statement.status.AlterReadwriteSplittingStorageUnitStatusStatement;
-import org.apache.shardingsphere.sql.parser.api.visitor.ASTNode;
+import org.apache.shardingsphere.sql.parser.api.ASTNode;
 import org.apache.shardingsphere.sql.parser.api.visitor.SQLVisitor;
 import org.apache.shardingsphere.sql.parser.sql.common.segment.generic.DatabaseSegment;
 import org.apache.shardingsphere.sql.parser.sql.common.value.identifier.IdentifierValue;
diff --git a/features/readwrite-splitting/distsql/statement/src/main/java/org/apache/shardingsphere/readwritesplitting/distsql/parser/segment/ReadwriteSplittingRuleSegment.java b/features/readwrite-splitting/distsql/statement/src/main/java/org/apache/shardingsphere/readwritesplitting/distsql/parser/segment/ReadwriteSplittingRuleSegment.java
index 1399b66a093..efc7913a0de 100644
--- a/features/readwrite-splitting/distsql/statement/src/main/java/org/apache/shardingsphere/readwritesplitting/distsql/parser/segment/ReadwriteSplittingRuleSegment.java
+++ b/features/readwrite-splitting/distsql/statement/src/main/java/org/apache/shardingsphere/readwritesplitting/distsql/parser/segment/ReadwriteSplittingRuleSegment.java
@@ -22,7 +22,7 @@ import lombok.AccessLevel;
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
 import org.apache.shardingsphere.distsql.parser.segment.AlgorithmSegment;
-import org.apache.shardingsphere.sql.parser.api.visitor.ASTNode;
+import org.apache.shardingsphere.sql.parser.api.ASTNode;
 
 import java.util.Collection;
 
diff --git a/features/shadow/distsql/parser/src/main/java/org/apache/shardingsphere/shadow/distsql/parser/core/ShadowDistSQLParser.java b/features/shadow/distsql/parser/src/main/java/org/apache/shardingsphere/shadow/distsql/parser/core/ShadowDistSQLParser.java
index 155d5489c0d..21795a43808 100644
--- a/features/shadow/distsql/parser/src/main/java/org/apache/shardingsphere/shadow/distsql/parser/core/ShadowDistSQLParser.java
+++ b/features/shadow/distsql/parser/src/main/java/org/apache/shardingsphere/shadow/distsql/parser/core/ShadowDistSQLParser.java
@@ -21,7 +21,7 @@ import org.antlr.v4.runtime.CommonTokenStream;
 import org.antlr.v4.runtime.TokenStream;
 import org.apache.shardingsphere.distsql.parser.autogen.ShadowDistSQLStatementParser;
 import org.apache.shardingsphere.sql.parser.api.parser.SQLParser;
-import org.apache.shardingsphere.sql.parser.api.visitor.ASTNode;
+import org.apache.shardingsphere.sql.parser.api.ASTNode;
 import org.apache.shardingsphere.sql.parser.core.ParseASTNode;
 
 /**
diff --git a/features/shadow/distsql/parser/src/main/java/org/apache/shardingsphere/shadow/distsql/parser/core/ShadowDistSQLStatementVisitor.java b/features/shadow/distsql/parser/src/main/java/org/apache/shardingsphere/shadow/distsql/parser/core/ShadowDistSQLStatementVisitor.java
index fe6fa9b9e9e..2f1099377d1 100644
--- a/features/shadow/distsql/parser/src/main/java/org/apache/shardingsphere/shadow/distsql/parser/core/ShadowDistSQLStatementVisitor.java
+++ b/features/shadow/distsql/parser/src/main/java/org/apache/shardingsphere/shadow/distsql/parser/core/ShadowDistSQLStatementVisitor.java
@@ -51,7 +51,7 @@ import org.apache.shardingsphere.shadow.distsql.parser.statement.ShowDefaultShad
 import org.apache.shardingsphere.shadow.distsql.parser.statement.ShowShadowAlgorithmsStatement;
 import org.apache.shardingsphere.shadow.distsql.parser.statement.ShowShadowRulesStatement;
 import org.apache.shardingsphere.shadow.distsql.parser.statement.ShowShadowTableRulesStatement;
-import org.apache.shardingsphere.sql.parser.api.visitor.ASTNode;
+import org.apache.shardingsphere.sql.parser.api.ASTNode;
 import org.apache.shardingsphere.sql.parser.api.visitor.SQLVisitor;
 import org.apache.shardingsphere.sql.parser.sql.common.segment.generic.DatabaseSegment;
 import org.apache.shardingsphere.sql.parser.sql.common.value.identifier.IdentifierValue;
diff --git a/features/shadow/distsql/statement/src/main/java/org/apache/shardingsphere/shadow/distsql/parser/segment/ShadowAlgorithmSegment.java b/features/shadow/distsql/statement/src/main/java/org/apache/shardingsphere/shadow/distsql/parser/segment/ShadowAlgorithmSegment.java
index 5024c19db40..54ec82dc722 100644
--- a/features/shadow/distsql/statement/src/main/java/org/apache/shardingsphere/shadow/distsql/parser/segment/ShadowAlgorithmSegment.java
+++ b/features/shadow/distsql/statement/src/main/java/org/apache/shardingsphere/shadow/distsql/parser/segment/ShadowAlgorithmSegment.java
@@ -20,7 +20,7 @@ package org.apache.shardingsphere.shadow.distsql.parser.segment;
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
 import org.apache.shardingsphere.distsql.parser.segment.AlgorithmSegment;
-import org.apache.shardingsphere.sql.parser.api.visitor.ASTNode;
+import org.apache.shardingsphere.sql.parser.api.ASTNode;
 
 /**
  * Shadow algorithms segment.
diff --git a/features/shadow/distsql/statement/src/main/java/org/apache/shardingsphere/shadow/distsql/parser/segment/ShadowRuleSegment.java b/features/shadow/distsql/statement/src/main/java/org/apache/shardingsphere/shadow/distsql/parser/segment/ShadowRuleSegment.java
index ad8ed4e545c..342235e290c 100644
--- a/features/shadow/distsql/statement/src/main/java/org/apache/shardingsphere/shadow/distsql/parser/segment/ShadowRuleSegment.java
+++ b/features/shadow/distsql/statement/src/main/java/org/apache/shardingsphere/shadow/distsql/parser/segment/ShadowRuleSegment.java
@@ -19,7 +19,7 @@ package org.apache.shardingsphere.shadow.distsql.parser.segment;
 
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
-import org.apache.shardingsphere.sql.parser.api.visitor.ASTNode;
+import org.apache.shardingsphere.sql.parser.api.ASTNode;
 
 import java.util.Collection;
 import java.util.Map;
diff --git a/features/sharding/distsql/parser/src/main/java/org/apache/shardingsphere/sharding/distsql/parser/core/ShardingDistSQLParser.java b/features/sharding/distsql/parser/src/main/java/org/apache/shardingsphere/sharding/distsql/parser/core/ShardingDistSQLParser.java
index e734e52cd58..2b928379c49 100644
--- a/features/sharding/distsql/parser/src/main/java/org/apache/shardingsphere/sharding/distsql/parser/core/ShardingDistSQLParser.java
+++ b/features/sharding/distsql/parser/src/main/java/org/apache/shardingsphere/sharding/distsql/parser/core/ShardingDistSQLParser.java
@@ -21,7 +21,7 @@ import org.antlr.v4.runtime.CommonTokenStream;
 import org.antlr.v4.runtime.TokenStream;
 import org.apache.shardingsphere.distsql.parser.autogen.ShardingDistSQLStatementParser;
 import org.apache.shardingsphere.sql.parser.api.parser.SQLParser;
-import org.apache.shardingsphere.sql.parser.api.visitor.ASTNode;
+import org.apache.shardingsphere.sql.parser.api.ASTNode;
 import org.apache.shardingsphere.sql.parser.core.ParseASTNode;
 
 /**
diff --git a/features/sharding/distsql/parser/src/main/java/org/apache/shardingsphere/sharding/distsql/parser/core/ShardingDistSQLStatementVisitor.java b/features/sharding/distsql/parser/src/main/java/org/apache/shardingsphere/sharding/distsql/parser/core/ShardingDistSQLStatementVisitor.java
index 0f74dd2b062..1f28e29eeee 100644
--- a/features/sharding/distsql/parser/src/main/java/org/apache/shardingsphere/sharding/distsql/parser/core/ShardingDistSQLStatementVisitor.java
+++ b/features/sharding/distsql/parser/src/main/java/org/apache/shardingsphere/sharding/distsql/parser/core/ShardingDistSQLStatementVisitor.java
@@ -103,7 +103,7 @@ import org.apache.shardingsphere.sharding.distsql.parser.statement.ShowShardingT
 import org.apache.shardingsphere.sharding.distsql.parser.statement.ShowUnusedShardingAlgorithmsStatement;
 import org.apache.shardingsphere.sharding.distsql.parser.statement.ShowUnusedShardingAuditorsStatement;
 import org.apache.shardingsphere.sharding.distsql.parser.statement.ShowUnusedShardingKeyGeneratorsStatement;
-import org.apache.shardingsphere.sql.parser.api.visitor.ASTNode;
+import org.apache.shardingsphere.sql.parser.api.ASTNode;
 import org.apache.shardingsphere.sql.parser.api.visitor.SQLVisitor;
 import org.apache.shardingsphere.sql.parser.sql.common.segment.generic.DatabaseSegment;
 import org.apache.shardingsphere.sql.parser.sql.common.segment.generic.table.TableNameSegment;
diff --git a/features/sharding/distsql/statement/src/main/java/org/apache/shardingsphere/sharding/distsql/parser/segment/strategy/AuditStrategySegment.java b/features/sharding/distsql/statement/src/main/java/org/apache/shardingsphere/sharding/distsql/parser/segment/strategy/AuditStrategySegment.java
index 4460236192e..bfc81b69c56 100644
--- a/features/sharding/distsql/statement/src/main/java/org/apache/shardingsphere/sharding/distsql/parser/segment/strategy/AuditStrategySegment.java
+++ b/features/sharding/distsql/statement/src/main/java/org/apache/shardingsphere/sharding/distsql/parser/segment/strategy/AuditStrategySegment.java
@@ -19,7 +19,7 @@ package org.apache.shardingsphere.sharding.distsql.parser.segment.strategy;
 
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
-import org.apache.shardingsphere.sql.parser.api.visitor.ASTNode;
+import org.apache.shardingsphere.sql.parser.api.ASTNode;
 
 import java.util.Collection;
 
diff --git a/features/sharding/distsql/statement/src/main/java/org/apache/shardingsphere/sharding/distsql/parser/segment/strategy/KeyGenerateStrategySegment.java b/features/sharding/distsql/statement/src/main/java/org/apache/shardingsphere/sharding/distsql/parser/segment/strategy/KeyGenerateStrategySegment.java
index 04907577af2..32c4fed27dc 100644
--- a/features/sharding/distsql/statement/src/main/java/org/apache/shardingsphere/sharding/distsql/parser/segment/strategy/KeyGenerateStrategySegment.java
+++ b/features/sharding/distsql/statement/src/main/java/org/apache/shardingsphere/sharding/distsql/parser/segment/strategy/KeyGenerateStrategySegment.java
@@ -19,7 +19,7 @@ package org.apache.shardingsphere.sharding.distsql.parser.segment.strategy;
 
 import lombok.Getter;
 import org.apache.shardingsphere.distsql.parser.segment.AlgorithmSegment;
-import org.apache.shardingsphere.sql.parser.api.visitor.ASTNode;
+import org.apache.shardingsphere.sql.parser.api.ASTNode;
 
 import java.util.Optional;
 
diff --git a/features/sharding/distsql/statement/src/main/java/org/apache/shardingsphere/sharding/distsql/parser/segment/strategy/ShardingAuditorSegment.java b/features/sharding/distsql/statement/src/main/java/org/apache/shardingsphere/sharding/distsql/parser/segment/strategy/ShardingAuditorSegment.java
index dbfaa12eece..d3c89ff24fd 100644
--- a/features/sharding/distsql/statement/src/main/java/org/apache/shardingsphere/sharding/distsql/parser/segment/strategy/ShardingAuditorSegment.java
+++ b/features/sharding/distsql/statement/src/main/java/org/apache/shardingsphere/sharding/distsql/parser/segment/strategy/ShardingAuditorSegment.java
@@ -20,7 +20,7 @@ package org.apache.shardingsphere.sharding.distsql.parser.segment.strategy;
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
 import org.apache.shardingsphere.distsql.parser.segment.AlgorithmSegment;
-import org.apache.shardingsphere.sql.parser.api.visitor.ASTNode;
+import org.apache.shardingsphere.sql.parser.api.ASTNode;
 
 /**
  * Sharding auditor segment.
diff --git a/features/sharding/distsql/statement/src/main/java/org/apache/shardingsphere/sharding/distsql/parser/segment/strategy/ShardingStrategySegment.java b/features/sharding/distsql/statement/src/main/java/org/apache/shardingsphere/sharding/distsql/parser/segment/strategy/ShardingStrategySegment.java
index a04eada7dcd..d19dc8e79c8 100644
--- a/features/sharding/distsql/statement/src/main/java/org/apache/shardingsphere/sharding/distsql/parser/segment/strategy/ShardingStrategySegment.java
+++ b/features/sharding/distsql/statement/src/main/java/org/apache/shardingsphere/sharding/distsql/parser/segment/strategy/ShardingStrategySegment.java
@@ -20,7 +20,7 @@ package org.apache.shardingsphere.sharding.distsql.parser.segment.strategy;
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
 import org.apache.shardingsphere.distsql.parser.segment.AlgorithmSegment;
-import org.apache.shardingsphere.sql.parser.api.visitor.ASTNode;
+import org.apache.shardingsphere.sql.parser.api.ASTNode;
 
 /**
  * Sharding strategy segment.
diff --git a/features/sharding/distsql/statement/src/main/java/org/apache/shardingsphere/sharding/distsql/parser/segment/table/AbstractTableRuleSegment.java b/features/sharding/distsql/statement/src/main/java/org/apache/shardingsphere/sharding/distsql/parser/segment/table/AbstractTableRuleSegment.java
index 6821f835c88..fb6eee4c40e 100644
--- a/features/sharding/distsql/statement/src/main/java/org/apache/shardingsphere/sharding/distsql/parser/segment/table/AbstractTableRuleSegment.java
+++ b/features/sharding/distsql/statement/src/main/java/org/apache/shardingsphere/sharding/distsql/parser/segment/table/AbstractTableRuleSegment.java
@@ -23,7 +23,7 @@ import lombok.RequiredArgsConstructor;
 import lombok.Setter;
 import org.apache.shardingsphere.sharding.distsql.parser.segment.strategy.AuditStrategySegment;
 import org.apache.shardingsphere.sharding.distsql.parser.segment.strategy.KeyGenerateStrategySegment;
-import org.apache.shardingsphere.sql.parser.api.visitor.ASTNode;
+import org.apache.shardingsphere.sql.parser.api.ASTNode;
 
 import java.util.Collection;
 
diff --git a/features/sharding/distsql/statement/src/main/java/org/apache/shardingsphere/sharding/distsql/parser/segment/table/TableReferenceRuleSegment.java b/features/sharding/distsql/statement/src/main/java/org/apache/shardingsphere/sharding/distsql/parser/segment/table/TableReferenceRuleSegment.java
index c6c05113475..6e891429c90 100644
--- a/features/sharding/distsql/statement/src/main/java/org/apache/shardingsphere/sharding/distsql/parser/segment/table/TableReferenceRuleSegment.java
+++ b/features/sharding/distsql/statement/src/main/java/org/apache/shardingsphere/sharding/distsql/parser/segment/table/TableReferenceRuleSegment.java
@@ -19,7 +19,7 @@ package org.apache.shardingsphere.sharding.distsql.parser.segment.table;
 
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
-import org.apache.shardingsphere.sql.parser.api.visitor.ASTNode;
+import org.apache.shardingsphere.sql.parser.api.ASTNode;
 
 import java.util.Arrays;
 import java.util.Collection;
diff --git a/infra/parser/src/main/java/org/apache/shardingsphere/infra/parser/sql/SQLStatementParserExecutor.java b/infra/parser/src/main/java/org/apache/shardingsphere/infra/parser/sql/SQLStatementParserExecutor.java
index 03c2b177a16..0d7081d05cd 100644
--- a/infra/parser/src/main/java/org/apache/shardingsphere/infra/parser/sql/SQLStatementParserExecutor.java
+++ b/infra/parser/src/main/java/org/apache/shardingsphere/infra/parser/sql/SQLStatementParserExecutor.java
@@ -19,7 +19,7 @@ package org.apache.shardingsphere.infra.parser.sql;
 
 import org.apache.shardingsphere.sql.parser.api.CacheOption;
 import org.apache.shardingsphere.sql.parser.api.SQLParserEngine;
-import org.apache.shardingsphere.sql.parser.api.SQLVisitorEngine;
+import org.apache.shardingsphere.sql.parser.api.SQLStatementVisitorEngine;
 import org.apache.shardingsphere.sql.parser.sql.common.statement.SQLStatement;
 
 /**
@@ -29,11 +29,11 @@ public final class SQLStatementParserExecutor {
     
     private final SQLParserEngine parserEngine;
     
-    private final SQLVisitorEngine visitorEngine;
+    private final SQLStatementVisitorEngine visitorEngine;
     
     public SQLStatementParserExecutor(final String databaseType, final CacheOption parseTreeCacheOption, final boolean isParseComment) {
         parserEngine = new SQLParserEngine(databaseType, parseTreeCacheOption);
-        visitorEngine = new SQLVisitorEngine(databaseType, isParseComment);
+        visitorEngine = new SQLStatementVisitorEngine(databaseType, isParseComment);
     }
     
     /**
diff --git a/kernel/authority/distsql/parser/src/main/java/org/apache/shardingsphere/authority/distsql/parser/core/AuthorityDistSQLParser.java b/kernel/authority/distsql/parser/src/main/java/org/apache/shardingsphere/authority/distsql/parser/core/AuthorityDistSQLParser.java
index c1da9d9c8e9..cbb94746702 100644
--- a/kernel/authority/distsql/parser/src/main/java/org/apache/shardingsphere/authority/distsql/parser/core/AuthorityDistSQLParser.java
+++ b/kernel/authority/distsql/parser/src/main/java/org/apache/shardingsphere/authority/distsql/parser/core/AuthorityDistSQLParser.java
@@ -21,7 +21,7 @@ import org.antlr.v4.runtime.CommonTokenStream;
 import org.antlr.v4.runtime.TokenStream;
 import org.apache.shardingsphere.distsql.parser.autogen.AuthorityDistSQLStatementParser;
 import org.apache.shardingsphere.sql.parser.api.parser.SQLParser;
-import org.apache.shardingsphere.sql.parser.api.visitor.ASTNode;
+import org.apache.shardingsphere.sql.parser.api.ASTNode;
 import org.apache.shardingsphere.sql.parser.core.ParseASTNode;
 
 /**
diff --git a/kernel/authority/distsql/parser/src/main/java/org/apache/shardingsphere/authority/distsql/parser/core/AuthorityDistSQLStatementVisitor.java b/kernel/authority/distsql/parser/src/main/java/org/apache/shardingsphere/authority/distsql/parser/core/AuthorityDistSQLStatementVisitor.java
index 00afd0fdfc5..3db81f8a850 100644
--- a/kernel/authority/distsql/parser/src/main/java/org/apache/shardingsphere/authority/distsql/parser/core/AuthorityDistSQLStatementVisitor.java
+++ b/kernel/authority/distsql/parser/src/main/java/org/apache/shardingsphere/authority/distsql/parser/core/AuthorityDistSQLStatementVisitor.java
@@ -20,7 +20,7 @@ package org.apache.shardingsphere.authority.distsql.parser.core;
 import org.apache.shardingsphere.authority.distsql.parser.statement.ShowAuthorityRuleStatement;
 import org.apache.shardingsphere.distsql.parser.autogen.AuthorityDistSQLStatementBaseVisitor;
 import org.apache.shardingsphere.distsql.parser.autogen.AuthorityDistSQLStatementParser.ShowAuthorityRuleContext;
-import org.apache.shardingsphere.sql.parser.api.visitor.ASTNode;
+import org.apache.shardingsphere.sql.parser.api.ASTNode;
 import org.apache.shardingsphere.sql.parser.api.visitor.SQLVisitor;
 
 /**
diff --git a/kernel/data-pipeline/distsql/parser/src/main/java/org/apache/shardingsphere/cdc/distsql/parser/core/CDCDistSQLParser.java b/kernel/data-pipeline/distsql/parser/src/main/java/org/apache/shardingsphere/cdc/distsql/parser/core/CDCDistSQLParser.java
index a1e1fd73027..f68b4a9f959 100644
--- a/kernel/data-pipeline/distsql/parser/src/main/java/org/apache/shardingsphere/cdc/distsql/parser/core/CDCDistSQLParser.java
+++ b/kernel/data-pipeline/distsql/parser/src/main/java/org/apache/shardingsphere/cdc/distsql/parser/core/CDCDistSQLParser.java
@@ -21,7 +21,7 @@ import org.antlr.v4.runtime.CommonTokenStream;
 import org.antlr.v4.runtime.TokenStream;
 import org.apache.shardingsphere.distsql.parser.autogen.CDCDistSQLStatementParser;
 import org.apache.shardingsphere.sql.parser.api.parser.SQLParser;
-import org.apache.shardingsphere.sql.parser.api.visitor.ASTNode;
+import org.apache.shardingsphere.sql.parser.api.ASTNode;
 import org.apache.shardingsphere.sql.parser.core.ParseASTNode;
 
 /**
diff --git a/kernel/data-pipeline/distsql/parser/src/main/java/org/apache/shardingsphere/cdc/distsql/parser/core/CDCDistSQLStatementVisitor.java b/kernel/data-pipeline/distsql/parser/src/main/java/org/apache/shardingsphere/cdc/distsql/parser/core/CDCDistSQLStatementVisitor.java
index cdb3cd8aa22..cb271ad5715 100644
--- a/kernel/data-pipeline/distsql/parser/src/main/java/org/apache/shardingsphere/cdc/distsql/parser/core/CDCDistSQLStatementVisitor.java
+++ b/kernel/data-pipeline/distsql/parser/src/main/java/org/apache/shardingsphere/cdc/distsql/parser/core/CDCDistSQLStatementVisitor.java
@@ -23,7 +23,7 @@ import org.apache.shardingsphere.cdc.distsql.statement.ShowStreamingStatusStatem
 import org.apache.shardingsphere.distsql.parser.autogen.CDCDistSQLStatementBaseVisitor;
 import org.apache.shardingsphere.distsql.parser.autogen.CDCDistSQLStatementParser.ShowStreamingListContext;
 import org.apache.shardingsphere.distsql.parser.autogen.CDCDistSQLStatementParser.ShowStreamingStatusContext;
-import org.apache.shardingsphere.sql.parser.api.visitor.ASTNode;
+import org.apache.shardingsphere.sql.parser.api.ASTNode;
 import org.apache.shardingsphere.sql.parser.api.visitor.SQLVisitor;
 import org.apache.shardingsphere.sql.parser.sql.common.value.identifier.IdentifierValue;
 
diff --git a/kernel/data-pipeline/distsql/parser/src/main/java/org/apache/shardingsphere/migration/distsql/parser/core/MigrationDistSQLParser.java b/kernel/data-pipeline/distsql/parser/src/main/java/org/apache/shardingsphere/migration/distsql/parser/core/MigrationDistSQLParser.java
index 2cbfd06a023..84f2964f707 100644
--- a/kernel/data-pipeline/distsql/parser/src/main/java/org/apache/shardingsphere/migration/distsql/parser/core/MigrationDistSQLParser.java
+++ b/kernel/data-pipeline/distsql/parser/src/main/java/org/apache/shardingsphere/migration/distsql/parser/core/MigrationDistSQLParser.java
@@ -21,7 +21,7 @@ import org.antlr.v4.runtime.CommonTokenStream;
 import org.antlr.v4.runtime.TokenStream;
 import org.apache.shardingsphere.distsql.parser.autogen.MigrationDistSQLStatementParser;
 import org.apache.shardingsphere.sql.parser.api.parser.SQLParser;
-import org.apache.shardingsphere.sql.parser.api.visitor.ASTNode;
+import org.apache.shardingsphere.sql.parser.api.ASTNode;
 import org.apache.shardingsphere.sql.parser.core.ParseASTNode;
 
 /**
diff --git a/kernel/data-pipeline/distsql/parser/src/main/java/org/apache/shardingsphere/migration/distsql/parser/core/MigrationDistSQLStatementVisitor.java b/kernel/data-pipeline/distsql/parser/src/main/java/org/apache/shardingsphere/migration/distsql/parser/core/MigrationDistSQLStatementVisitor.java
index 4721476bde0..fc564000bd3 100644
--- a/kernel/data-pipeline/distsql/parser/src/main/java/org/apache/shardingsphere/migration/distsql/parser/core/MigrationDistSQLStatementVisitor.java
+++ b/kernel/data-pipeline/distsql/parser/src/main/java/org/apache/shardingsphere/migration/distsql/parser/core/MigrationDistSQLStatementVisitor.java
@@ -64,7 +64,7 @@ import org.apache.shardingsphere.migration.distsql.statement.StopMigrationCheckS
 import org.apache.shardingsphere.migration.distsql.statement.StopMigrationStatement;
 import org.apache.shardingsphere.migration.distsql.statement.UnregisterMigrationSourceStorageUnitStatement;
 import org.apache.shardingsphere.migration.distsql.statement.pojo.SourceTargetEntry;
-import org.apache.shardingsphere.sql.parser.api.visitor.ASTNode;
+import org.apache.shardingsphere.sql.parser.api.ASTNode;
 import org.apache.shardingsphere.sql.parser.api.visitor.SQLVisitor;
 import org.apache.shardingsphere.sql.parser.sql.common.value.identifier.IdentifierValue;
 
diff --git a/kernel/parser/distsql/parser/src/main/java/org/apache/shardingsphere/parser/distsql/parser/core/SQLParserDistSQLParser.java b/kernel/parser/distsql/parser/src/main/java/org/apache/shardingsphere/parser/distsql/parser/core/SQLParserDistSQLParser.java
index f98cf4959b6..1d9cca0479e 100644
--- a/kernel/parser/distsql/parser/src/main/java/org/apache/shardingsphere/parser/distsql/parser/core/SQLParserDistSQLParser.java
+++ b/kernel/parser/distsql/parser/src/main/java/org/apache/shardingsphere/parser/distsql/parser/core/SQLParserDistSQLParser.java
@@ -21,7 +21,7 @@ import org.antlr.v4.runtime.CommonTokenStream;
 import org.antlr.v4.runtime.TokenStream;
 import org.apache.shardingsphere.distsql.parser.autogen.SQLParserDistSQLStatementParser;
 import org.apache.shardingsphere.sql.parser.api.parser.SQLParser;
-import org.apache.shardingsphere.sql.parser.api.visitor.ASTNode;
+import org.apache.shardingsphere.sql.parser.api.ASTNode;
 import org.apache.shardingsphere.sql.parser.core.ParseASTNode;
 
 /**
diff --git a/kernel/parser/distsql/parser/src/main/java/org/apache/shardingsphere/parser/distsql/parser/core/SQLParserDistSQLStatementVisitor.java b/kernel/parser/distsql/parser/src/main/java/org/apache/shardingsphere/parser/distsql/parser/core/SQLParserDistSQLStatementVisitor.java
index 9b11c1a17a5..e918651659b 100644
--- a/kernel/parser/distsql/parser/src/main/java/org/apache/shardingsphere/parser/distsql/parser/core/SQLParserDistSQLStatementVisitor.java
+++ b/kernel/parser/distsql/parser/src/main/java/org/apache/shardingsphere/parser/distsql/parser/core/SQLParserDistSQLStatementVisitor.java
@@ -26,7 +26,7 @@ import org.apache.shardingsphere.distsql.parser.autogen.SQLParserDistSQLStatemen
 import org.apache.shardingsphere.parser.distsql.parser.segment.CacheOptionSegment;
 import org.apache.shardingsphere.parser.distsql.parser.statement.queryable.ShowSQLParserRuleStatement;
 import org.apache.shardingsphere.parser.distsql.parser.statement.updatable.AlterSQLParserRuleStatement;
-import org.apache.shardingsphere.sql.parser.api.visitor.ASTNode;
+import org.apache.shardingsphere.sql.parser.api.ASTNode;
 import org.apache.shardingsphere.sql.parser.api.visitor.SQLVisitor;
 import org.apache.shardingsphere.sql.parser.sql.common.value.identifier.IdentifierValue;
 
diff --git a/kernel/parser/distsql/statement/src/main/java/org/apache/shardingsphere/parser/distsql/parser/segment/CacheOptionSegment.java b/kernel/parser/distsql/statement/src/main/java/org/apache/shardingsphere/parser/distsql/parser/segment/CacheOptionSegment.java
index 73a1043a0bc..08990c578e4 100644
--- a/kernel/parser/distsql/statement/src/main/java/org/apache/shardingsphere/parser/distsql/parser/segment/CacheOptionSegment.java
+++ b/kernel/parser/distsql/statement/src/main/java/org/apache/shardingsphere/parser/distsql/parser/segment/CacheOptionSegment.java
@@ -19,7 +19,7 @@ package org.apache.shardingsphere.parser.distsql.parser.segment;
 
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
-import org.apache.shardingsphere.sql.parser.api.visitor.ASTNode;
+import org.apache.shardingsphere.sql.parser.api.ASTNode;
 
 /**
  * Cache option segment.
diff --git a/kernel/sql-translator/distsql/parser/src/main/java/org/apache/shardingsphere/sqltranslator/distsql/parser/core/SQLTranslatorDistSQLParser.java b/kernel/sql-translator/distsql/parser/src/main/java/org/apache/shardingsphere/sqltranslator/distsql/parser/core/SQLTranslatorDistSQLParser.java
index b9fadc905cc..f387a05c94d 100644
--- a/kernel/sql-translator/distsql/parser/src/main/java/org/apache/shardingsphere/sqltranslator/distsql/parser/core/SQLTranslatorDistSQLParser.java
+++ b/kernel/sql-translator/distsql/parser/src/main/java/org/apache/shardingsphere/sqltranslator/distsql/parser/core/SQLTranslatorDistSQLParser.java
@@ -21,7 +21,7 @@ import org.antlr.v4.runtime.CommonTokenStream;
 import org.antlr.v4.runtime.TokenStream;
 import org.apache.shardingsphere.distsql.parser.autogen.SQLTranslatorDistSQLStatementParser;
 import org.apache.shardingsphere.sql.parser.api.parser.SQLParser;
-import org.apache.shardingsphere.sql.parser.api.visitor.ASTNode;
+import org.apache.shardingsphere.sql.parser.api.ASTNode;
 import org.apache.shardingsphere.sql.parser.core.ParseASTNode;
 
 /**
diff --git a/kernel/sql-translator/distsql/parser/src/main/java/org/apache/shardingsphere/sqltranslator/distsql/parser/core/SQLTranslatorDistSQLStatementVisitor.java b/kernel/sql-translator/distsql/parser/src/main/java/org/apache/shardingsphere/sqltranslator/distsql/parser/core/SQLTranslatorDistSQLStatementVisitor.java
index 72427c8b964..2897c0b4c9d 100644
--- a/kernel/sql-translator/distsql/parser/src/main/java/org/apache/shardingsphere/sqltranslator/distsql/parser/core/SQLTranslatorDistSQLStatementVisitor.java
+++ b/kernel/sql-translator/distsql/parser/src/main/java/org/apache/shardingsphere/sqltranslator/distsql/parser/core/SQLTranslatorDistSQLStatementVisitor.java
@@ -19,7 +19,7 @@ package org.apache.shardingsphere.sqltranslator.distsql.parser.core;
 
 import org.apache.shardingsphere.distsql.parser.autogen.SQLTranslatorDistSQLStatementBaseVisitor;
 import org.apache.shardingsphere.distsql.parser.autogen.SQLTranslatorDistSQLStatementParser.ShowSQLTranslatorRuleContext;
-import org.apache.shardingsphere.sql.parser.api.visitor.ASTNode;
+import org.apache.shardingsphere.sql.parser.api.ASTNode;
 import org.apache.shardingsphere.sql.parser.api.visitor.SQLVisitor;
 import org.apache.shardingsphere.sqltranslator.distsql.parser.statement.ShowSQLTranslatorRuleStatement;
 
diff --git a/kernel/traffic/distsql/parser/src/main/java/org/apache/shardingsphere/traffic/distsql/parser/core/TrafficDistSQLParser.java b/kernel/traffic/distsql/parser/src/main/java/org/apache/shardingsphere/traffic/distsql/parser/core/TrafficDistSQLParser.java
index 5090548d1f3..3c2070b79d4 100644
--- a/kernel/traffic/distsql/parser/src/main/java/org/apache/shardingsphere/traffic/distsql/parser/core/TrafficDistSQLParser.java
+++ b/kernel/traffic/distsql/parser/src/main/java/org/apache/shardingsphere/traffic/distsql/parser/core/TrafficDistSQLParser.java
@@ -21,7 +21,7 @@ import org.antlr.v4.runtime.CommonTokenStream;
 import org.antlr.v4.runtime.TokenStream;
 import org.apache.shardingsphere.distsql.parser.autogen.TrafficDistSQLStatementParser;
 import org.apache.shardingsphere.sql.parser.api.parser.SQLParser;
-import org.apache.shardingsphere.sql.parser.api.visitor.ASTNode;
+import org.apache.shardingsphere.sql.parser.api.ASTNode;
 import org.apache.shardingsphere.sql.parser.core.ParseASTNode;
 
 /**
diff --git a/kernel/traffic/distsql/parser/src/main/java/org/apache/shardingsphere/traffic/distsql/parser/core/TrafficDistSQLStatementVisitor.java b/kernel/traffic/distsql/parser/src/main/java/org/apache/shardingsphere/traffic/distsql/parser/core/TrafficDistSQLStatementVisitor.java
index 7227f3be28e..2b94312a617 100644
--- a/kernel/traffic/distsql/parser/src/main/java/org/apache/shardingsphere/traffic/distsql/parser/core/TrafficDistSQLStatementVisitor.java
+++ b/kernel/traffic/distsql/parser/src/main/java/org/apache/shardingsphere/traffic/distsql/parser/core/TrafficDistSQLStatementVisitor.java
@@ -28,7 +28,7 @@ import org.apache.shardingsphere.distsql.parser.autogen.TrafficDistSQLStatementP
 import org.apache.shardingsphere.distsql.parser.autogen.TrafficDistSQLStatementParser.ShowTrafficRulesContext;
 import org.apache.shardingsphere.distsql.parser.autogen.TrafficDistSQLStatementParser.TrafficRuleDefinitionContext;
 import org.apache.shardingsphere.distsql.parser.segment.AlgorithmSegment;
-import org.apache.shardingsphere.sql.parser.api.visitor.ASTNode;
+import org.apache.shardingsphere.sql.parser.api.ASTNode;
 import org.apache.shardingsphere.sql.parser.api.visitor.SQLVisitor;
 import org.apache.shardingsphere.sql.parser.sql.common.value.identifier.IdentifierValue;
 import org.apache.shardingsphere.traffic.distsql.parser.segment.TrafficRuleSegment;
diff --git a/kernel/traffic/distsql/statement/src/main/java/org/apache/shardingsphere/traffic/distsql/parser/segment/TrafficRuleSegment.java b/kernel/traffic/distsql/statement/src/main/java/org/apache/shardingsphere/traffic/distsql/parser/segment/TrafficRuleSegment.java
index d8b38561f3a..446410bb585 100644
--- a/kernel/traffic/distsql/statement/src/main/java/org/apache/shardingsphere/traffic/distsql/parser/segment/TrafficRuleSegment.java
+++ b/kernel/traffic/distsql/statement/src/main/java/org/apache/shardingsphere/traffic/distsql/parser/segment/TrafficRuleSegment.java
@@ -20,7 +20,7 @@ package org.apache.shardingsphere.traffic.distsql.parser.segment;
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
 import org.apache.shardingsphere.distsql.parser.segment.AlgorithmSegment;
-import org.apache.shardingsphere.sql.parser.api.visitor.ASTNode;
+import org.apache.shardingsphere.sql.parser.api.ASTNode;
 
 import java.util.Collection;
 
diff --git a/kernel/transaction/distsql/parser/src/main/java/org/apache/shardingsphere/transaction/distsql/parser/core/TransactionDistSQLParser.java b/kernel/transaction/distsql/parser/src/main/java/org/apache/shardingsphere/transaction/distsql/parser/core/TransactionDistSQLParser.java
index 6b3a1c313f4..3b11440cb5f 100644
--- a/kernel/transaction/distsql/parser/src/main/java/org/apache/shardingsphere/transaction/distsql/parser/core/TransactionDistSQLParser.java
+++ b/kernel/transaction/distsql/parser/src/main/java/org/apache/shardingsphere/transaction/distsql/parser/core/TransactionDistSQLParser.java
@@ -21,7 +21,7 @@ import org.antlr.v4.runtime.CommonTokenStream;
 import org.antlr.v4.runtime.TokenStream;
 import org.apache.shardingsphere.distsql.parser.autogen.TransactionDistSQLStatementParser;
 import org.apache.shardingsphere.sql.parser.api.parser.SQLParser;
-import org.apache.shardingsphere.sql.parser.api.visitor.ASTNode;
+import org.apache.shardingsphere.sql.parser.api.ASTNode;
 import org.apache.shardingsphere.sql.parser.core.ParseASTNode;
 
 /**
diff --git a/kernel/transaction/distsql/parser/src/main/java/org/apache/shardingsphere/transaction/distsql/parser/core/TransactionDistSQLStatementVisitor.java b/kernel/transaction/distsql/parser/src/main/java/org/apache/shardingsphere/transaction/distsql/parser/core/TransactionDistSQLStatementVisitor.java
index 27f5a396105..4dbca5c19af 100644
--- a/kernel/transaction/distsql/parser/src/main/java/org/apache/shardingsphere/transaction/distsql/parser/core/TransactionDistSQLStatementVisitor.java
+++ b/kernel/transaction/distsql/parser/src/main/java/org/apache/shardingsphere/transaction/distsql/parser/core/TransactionDistSQLStatementVisitor.java
@@ -25,7 +25,7 @@ import org.apache.shardingsphere.distsql.parser.autogen.TransactionDistSQLStatem
 import org.apache.shardingsphere.distsql.parser.autogen.TransactionDistSQLStatementParser.ProviderDefinitionContext;
 import org.apache.shardingsphere.distsql.parser.autogen.TransactionDistSQLStatementParser.ShowTransactionRuleContext;
 import org.apache.shardingsphere.distsql.parser.autogen.TransactionDistSQLStatementParser.TransactionRuleDefinitionContext;
-import org.apache.shardingsphere.sql.parser.api.visitor.ASTNode;
+import org.apache.shardingsphere.sql.parser.api.ASTNode;
 import org.apache.shardingsphere.sql.parser.api.visitor.SQLVisitor;
 import org.apache.shardingsphere.sql.parser.sql.common.value.identifier.IdentifierValue;
 import org.apache.shardingsphere.transaction.distsql.parser.segment.TransactionProviderSegment;
diff --git a/kernel/transaction/distsql/statement/src/main/java/org/apache/shardingsphere/transaction/distsql/parser/segment/TransactionProviderSegment.java b/kernel/transaction/distsql/statement/src/main/java/org/apache/shardingsphere/transaction/distsql/parser/segment/TransactionProviderSegment.java
index 78f8cf4cc2c..f1dbb4c0496 100644
--- a/kernel/transaction/distsql/statement/src/main/java/org/apache/shardingsphere/transaction/distsql/parser/segment/TransactionProviderSegment.java
+++ b/kernel/transaction/distsql/statement/src/main/java/org/apache/shardingsphere/transaction/distsql/parser/segment/TransactionProviderSegment.java
@@ -19,7 +19,7 @@ package org.apache.shardingsphere.transaction.distsql.parser.segment;
 
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
-import org.apache.shardingsphere.sql.parser.api.visitor.ASTNode;
+import org.apache.shardingsphere.sql.parser.api.ASTNode;
 
 import java.util.Properties;
 
diff --git a/proxy/backend/type/hbase/src/test/java/org/apache/shardingsphere/proxy/backend/hbase/result/HBaseSupportedSQLStatement.java b/proxy/backend/type/hbase/src/test/java/org/apache/shardingsphere/proxy/backend/hbase/result/HBaseSupportedSQLStatement.java
index e41da0cc9d5..0f32047fa02 100644
--- a/proxy/backend/type/hbase/src/test/java/org/apache/shardingsphere/proxy/backend/hbase/result/HBaseSupportedSQLStatement.java
+++ b/proxy/backend/type/hbase/src/test/java/org/apache/shardingsphere/proxy/backend/hbase/result/HBaseSupportedSQLStatement.java
@@ -19,7 +19,7 @@ package org.apache.shardingsphere.proxy.backend.hbase.result;
 
 import org.apache.shardingsphere.sql.parser.api.CacheOption;
 import org.apache.shardingsphere.sql.parser.api.SQLParserEngine;
-import org.apache.shardingsphere.sql.parser.api.SQLVisitorEngine;
+import org.apache.shardingsphere.sql.parser.api.SQLStatementVisitorEngine;
 import org.apache.shardingsphere.sql.parser.sql.common.statement.SQLStatement;
 
 /**
@@ -52,7 +52,7 @@ public final class HBaseSupportedSQLStatement {
      * @return SQL statement
      */
     public static SQLStatement parseSQLStatement(final String sql) {
-        return new SQLVisitorEngine("MySQL", false).visit(new SQLParserEngine("MySQL", new CacheOption(128, 4)).parse(sql, false));
+        return new SQLStatementVisitorEngine("MySQL", false).visit(new SQLParserEngine("MySQL", new CacheOption(128, 4)).parse(sql, false));
     }
     
     /**
diff --git a/sql-parser/dialect/mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/parser/MySQLParser.java b/sql-parser/dialect/mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/parser/MySQLParser.java
index 011bb878fb6..f162109a9f0 100644
--- a/sql-parser/dialect/mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/parser/MySQLParser.java
+++ b/sql-parser/dialect/mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/parser/MySQLParser.java
@@ -20,7 +20,7 @@ package org.apache.shardingsphere.sql.parser.mysql.parser;
 import org.antlr.v4.runtime.CommonTokenStream;
 import org.antlr.v4.runtime.TokenStream;
 import org.apache.shardingsphere.sql.parser.api.parser.SQLParser;
-import org.apache.shardingsphere.sql.parser.api.visitor.ASTNode;
+import org.apache.shardingsphere.sql.parser.api.ASTNode;
 import org.apache.shardingsphere.sql.parser.autogen.MySQLStatementParser;
 import org.apache.shardingsphere.sql.parser.core.ParseASTNode;
 
diff --git a/sql-parser/dialect/mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/parser/MySQLParserFacade.java b/sql-parser/dialect/mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/parser/MySQLParserFacade.java
index a4c9bdd50bd..54b95768ec8 100644
--- a/sql-parser/dialect/mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/parser/MySQLParserFacade.java
+++ b/sql-parser/dialect/mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/parser/MySQLParserFacade.java
@@ -19,12 +19,12 @@ package org.apache.shardingsphere.sql.parser.mysql.parser;
 
 import org.apache.shardingsphere.sql.parser.api.parser.SQLLexer;
 import org.apache.shardingsphere.sql.parser.api.parser.SQLParser;
-import org.apache.shardingsphere.sql.parser.spi.DatabaseTypedSQLParserFacade;
+import org.apache.shardingsphere.sql.parser.spi.SQLDialectParserFacade;
 
 /**
  * SQL parser facade for MySQL.
  */
-public final class MySQLParserFacade implements DatabaseTypedSQLParserFacade {
+public final class MySQLParserFacade implements SQLDialectParserFacade {
     
     @Override
     public Class<? extends SQLLexer> getLexerClass() {
diff --git a/sql-parser/dialect/mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/format/MySQLFormatSQLVisitor.java b/sql-parser/dialect/mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/format/MySQLFormatSQLVisitor.java
similarity index 99%
rename from sql-parser/dialect/mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/format/MySQLFormatSQLVisitor.java
rename to sql-parser/dialect/mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/format/MySQLFormatSQLVisitor.java
index 5611ab72835..418426d0146 100644
--- a/sql-parser/dialect/mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/format/MySQLFormatSQLVisitor.java
+++ b/sql-parser/dialect/mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/format/MySQLFormatSQLVisitor.java
@@ -15,12 +15,12 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.sql.parser.mysql.format;
+package org.apache.shardingsphere.sql.parser.mysql.visitor.format;
 
 import org.antlr.v4.runtime.tree.ParseTree;
 import org.antlr.v4.runtime.tree.RuleNode;
 import org.antlr.v4.runtime.tree.TerminalNode;
-import org.apache.shardingsphere.sql.parser.api.format.SQLFormatVisitor;
+import org.apache.shardingsphere.sql.parser.api.visitor.format.SQLFormatVisitor;
 import org.apache.shardingsphere.sql.parser.autogen.MySQLStatementBaseVisitor;
 import org.apache.shardingsphere.sql.parser.autogen.MySQLStatementParser.AliasContext;
 import org.apache.shardingsphere.sql.parser.autogen.MySQLStatementParser.AlterCommandListContext;
diff --git a/sql-parser/dialect/mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/stat/MySQLSQLStatVisitor.java b/sql-parser/dialect/mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/stat/MySQLSQLStatVisitor.java
similarity index 99%
rename from sql-parser/dialect/mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/stat/MySQLSQLStatVisitor.java
rename to sql-parser/dialect/mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/stat/MySQLSQLStatVisitor.java
index 741b72cbb7f..3673127153b 100644
--- a/sql-parser/dialect/mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/stat/MySQLSQLStatVisitor.java
+++ b/sql-parser/dialect/mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/stat/MySQLSQLStatVisitor.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.sql.parser.mysql.stat;
+package org.apache.shardingsphere.sql.parser.mysql.visitor.stat;
 
 import lombok.Getter;
 import org.antlr.v4.runtime.tree.TerminalNode;
diff --git a/sql-parser/dialect/mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/facade/MySQLSQLVisitorFacade.java b/sql-parser/dialect/mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/statement/MySQLSQLStatementVisitorFacade.java
similarity index 55%
rename from sql-parser/dialect/mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/facade/MySQLSQLVisitorFacade.java
rename to sql-parser/dialect/mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/statement/MySQLSQLStatementVisitorFacade.java
index c217d74a0d2..46eea419dc5 100644
--- a/sql-parser/dialect/mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/facade/MySQLSQLVisitorFacade.java
+++ b/sql-parser/dialect/mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/statement/MySQLSQLStatementVisitorFacade.java
@@ -15,26 +15,26 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.sql.parser.mysql.visitor.facade;
+package org.apache.shardingsphere.sql.parser.mysql.visitor.statement;
 
-import org.apache.shardingsphere.sql.parser.mysql.visitor.type.MySQLRLStatementSQLVisitor;
-import org.apache.shardingsphere.sql.parser.spi.SQLVisitorFacade;
-import org.apache.shardingsphere.sql.parser.api.visitor.type.DALSQLVisitor;
-import org.apache.shardingsphere.sql.parser.api.visitor.type.DCLSQLVisitor;
-import org.apache.shardingsphere.sql.parser.api.visitor.type.DDLSQLVisitor;
-import org.apache.shardingsphere.sql.parser.api.visitor.type.DMLSQLVisitor;
-import org.apache.shardingsphere.sql.parser.api.visitor.type.RLSQLVisitor;
-import org.apache.shardingsphere.sql.parser.api.visitor.type.TCLSQLVisitor;
-import org.apache.shardingsphere.sql.parser.mysql.visitor.type.MySQLDALStatementSQLVisitor;
-import org.apache.shardingsphere.sql.parser.mysql.visitor.type.MySQLDCLStatementSQLVisitor;
-import org.apache.shardingsphere.sql.parser.mysql.visitor.type.MySQLDDLStatementSQLVisitor;
-import org.apache.shardingsphere.sql.parser.mysql.visitor.type.MySQLDMLStatementSQLVisitor;
-import org.apache.shardingsphere.sql.parser.mysql.visitor.type.MySQLTCLStatementSQLVisitor;
+import org.apache.shardingsphere.sql.parser.mysql.visitor.statement.type.MySQLRLStatementSQLVisitor;
+import org.apache.shardingsphere.sql.parser.spi.SQLStatementVisitorFacade;
+import org.apache.shardingsphere.sql.parser.api.visitor.statement.DALSQLVisitor;
+import org.apache.shardingsphere.sql.parser.api.visitor.statement.DCLSQLVisitor;
+import org.apache.shardingsphere.sql.parser.api.visitor.statement.DDLSQLVisitor;
+import org.apache.shardingsphere.sql.parser.api.visitor.statement.DMLSQLVisitor;
+import org.apache.shardingsphere.sql.parser.api.visitor.statement.RLSQLVisitor;
+import org.apache.shardingsphere.sql.parser.api.visitor.statement.TCLSQLVisitor;
+import org.apache.shardingsphere.sql.parser.mysql.visitor.statement.type.MySQLDALStatementSQLVisitor;
+import org.apache.shardingsphere.sql.parser.mysql.visitor.statement.type.MySQLDCLStatementSQLVisitor;
+import org.apache.shardingsphere.sql.parser.mysql.visitor.statement.type.MySQLDDLStatementSQLVisitor;
+import org.apache.shardingsphere.sql.parser.mysql.visitor.statement.type.MySQLDMLStatementSQLVisitor;
+import org.apache.shardingsphere.sql.parser.mysql.visitor.statement.type.MySQLTCLStatementSQLVisitor;
 
 /**
- * SQL visitor facade for MySQL.
+ * SQL statement visitor facade for MySQL.
  */
-public final class MySQLSQLVisitorFacade implements SQLVisitorFacade {
+public final class MySQLSQLStatementVisitorFacade implements SQLStatementVisitorFacade {
     
     @Override
     public Class<? extends DMLSQLVisitor> getDMLVisitorClass() {
diff --git a/sql-parser/dialect/mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/type/MySQLDALStatementSQLVisitor.java b/sql-parser/dialect/mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/statement/type/MySQLDALStatementSQLVisitor.java
similarity index 99%
rename from sql-parser/dialect/mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/type/MySQLDALStatementSQLVisitor.java
rename to sql-parser/dialect/mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/statement/type/MySQLDALStatementSQLVisitor.java
index f7b46b37ee6..872a86b6fa9 100644
--- a/sql-parser/dialect/mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/type/MySQLDALStatementSQLVisitor.java
+++ b/sql-parser/dialect/mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/statement/type/MySQLDALStatementSQLVisitor.java
@@ -15,10 +15,10 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.sql.parser.mysql.visitor.type;
+package org.apache.shardingsphere.sql.parser.mysql.visitor.statement.type;
 
-import org.apache.shardingsphere.sql.parser.api.visitor.ASTNode;
-import org.apache.shardingsphere.sql.parser.api.visitor.type.DALSQLVisitor;
+import org.apache.shardingsphere.sql.parser.api.ASTNode;
+import org.apache.shardingsphere.sql.parser.api.visitor.statement.DALSQLVisitor;
 import org.apache.shardingsphere.sql.parser.autogen.MySQLStatementParser.AlterResourceGroupContext;
 import org.apache.shardingsphere.sql.parser.autogen.MySQLStatementParser.AnalyzeTableContext;
 import org.apache.shardingsphere.sql.parser.autogen.MySQLStatementParser.BinaryLogFileIndexNumberContext;
diff --git a/sql-parser/dialect/mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/type/MySQLDCLStatementSQLVisitor.java b/sql-parser/dialect/mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/statement/type/MySQLDCLStatementSQLVisitor.java
similarity index 99%
rename from sql-parser/dialect/mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/type/MySQLDCLStatementSQLVisitor.java
rename to sql-parser/dialect/mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/statement/type/MySQLDCLStatementSQLVisitor.java
index 32d84aa1d3d..440adca2a57 100644
--- a/sql-parser/dialect/mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/type/MySQLDCLStatementSQLVisitor.java
+++ b/sql-parser/dialect/mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/statement/type/MySQLDCLStatementSQLVisitor.java
@@ -15,10 +15,10 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.sql.parser.mysql.visitor.type;
+package org.apache.shardingsphere.sql.parser.mysql.visitor.statement.type;
 
-import org.apache.shardingsphere.sql.parser.api.visitor.ASTNode;
-import org.apache.shardingsphere.sql.parser.api.visitor.type.DCLSQLVisitor;
+import org.apache.shardingsphere.sql.parser.api.ASTNode;
+import org.apache.shardingsphere.sql.parser.api.visitor.statement.DCLSQLVisitor;
 import org.apache.shardingsphere.sql.parser.autogen.MySQLStatementParser.AccountLockPasswordExpireOptionContext;
 import org.apache.shardingsphere.sql.parser.autogen.MySQLStatementParser.AccountLockPasswordExpireOptionsContext;
 import org.apache.shardingsphere.sql.parser.autogen.MySQLStatementParser.AlterUserContext;
diff --git a/sql-parser/dialect/mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/type/MySQLDDLStatementSQLVisitor.java b/sql-parser/dialect/mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/statement/type/MySQLDDLStatementSQLVisitor.java
similarity index 99%
rename from sql-parser/dialect/mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/type/MySQLDDLStatementSQLVisitor.java
rename to sql-parser/dialect/mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/statement/type/MySQLDDLStatementSQLVisitor.java
index 85c8ebc123e..ef4ee94e07b 100644
--- a/sql-parser/dialect/mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/type/MySQLDDLStatementSQLVisitor.java
+++ b/sql-parser/dialect/mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/statement/type/MySQLDDLStatementSQLVisitor.java
@@ -15,11 +15,11 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.sql.parser.mysql.visitor.type;
+package org.apache.shardingsphere.sql.parser.mysql.visitor.statement.type;
 
 import com.google.common.base.Preconditions;
-import org.apache.shardingsphere.sql.parser.api.visitor.ASTNode;
-import org.apache.shardingsphere.sql.parser.api.visitor.type.DDLSQLVisitor;
+import org.apache.shardingsphere.sql.parser.api.ASTNode;
+import org.apache.shardingsphere.sql.parser.api.visitor.statement.DDLSQLVisitor;
 import org.apache.shardingsphere.sql.parser.autogen.MySQLStatementParser.AddColumnContext;
 import org.apache.shardingsphere.sql.parser.autogen.MySQLStatementParser.AddTableConstraintContext;
 import org.apache.shardingsphere.sql.parser.autogen.MySQLStatementParser.AlterCheckContext;
diff --git a/sql-parser/dialect/mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/type/MySQLDMLStatementSQLVisitor.java b/sql-parser/dialect/mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/statement/type/MySQLDMLStatementSQLVisitor.java
similarity index 93%
rename from sql-parser/dialect/mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/type/MySQLDMLStatementSQLVisitor.java
rename to sql-parser/dialect/mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/statement/type/MySQLDMLStatementSQLVisitor.java
index a17c9151b01..b27f9dd3fbd 100644
--- a/sql-parser/dialect/mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/type/MySQLDMLStatementSQLVisitor.java
+++ b/sql-parser/dialect/mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/statement/type/MySQLDMLStatementSQLVisitor.java
@@ -15,10 +15,10 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.sql.parser.mysql.visitor.type;
+package org.apache.shardingsphere.sql.parser.mysql.visitor.statement.type;
 
-import org.apache.shardingsphere.sql.parser.api.visitor.ASTNode;
-import org.apache.shardingsphere.sql.parser.api.visitor.type.DMLSQLVisitor;
+import org.apache.shardingsphere.sql.parser.api.ASTNode;
+import org.apache.shardingsphere.sql.parser.api.visitor.statement.DMLSQLVisitor;
 import org.apache.shardingsphere.sql.parser.autogen.MySQLStatementParser.CallContext;
 import org.apache.shardingsphere.sql.parser.autogen.MySQLStatementParser.DoStatementContext;
 import org.apache.shardingsphere.sql.parser.autogen.MySQLStatementParser.LoadDataStatementContext;
diff --git a/sql-parser/dialect/mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/type/MySQLRLStatementSQLVisitor.java b/sql-parser/dialect/mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/statement/type/MySQLRLStatementSQLVisitor.java
similarity index 90%
rename from sql-parser/dialect/mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/type/MySQLRLStatementSQLVisitor.java
rename to sql-parser/dialect/mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/statement/type/MySQLRLStatementSQLVisitor.java
index 33664cd2f6f..e3d2ec263c6 100644
--- a/sql-parser/dialect/mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/type/MySQLRLStatementSQLVisitor.java
+++ b/sql-parser/dialect/mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/statement/type/MySQLRLStatementSQLVisitor.java
@@ -15,10 +15,10 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.sql.parser.mysql.visitor.type;
+package org.apache.shardingsphere.sql.parser.mysql.visitor.statement.type;
 
-import org.apache.shardingsphere.sql.parser.api.visitor.ASTNode;
-import org.apache.shardingsphere.sql.parser.api.visitor.type.RLSQLVisitor;
+import org.apache.shardingsphere.sql.parser.api.ASTNode;
+import org.apache.shardingsphere.sql.parser.api.visitor.statement.RLSQLVisitor;
 import org.apache.shardingsphere.sql.parser.autogen.MySQLStatementParser.ChangeMasterToContext;
 import org.apache.shardingsphere.sql.parser.autogen.MySQLStatementParser.StartSlaveContext;
 import org.apache.shardingsphere.sql.parser.autogen.MySQLStatementParser.StopSlaveContext;
diff --git a/sql-parser/dialect/mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/type/MySQLStatementSQLVisitor.java b/sql-parser/dialect/mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/statement/type/MySQLStatementSQLVisitor.java
similarity index 99%
rename from sql-parser/dialect/mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/type/MySQLStatementSQLVisitor.java
rename to sql-parser/dialect/mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/statement/type/MySQLStatementSQLVisitor.java
index f13419764ba..e79d06b0a33 100644
--- a/sql-parser/dialect/mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/type/MySQLStatementSQLVisitor.java
+++ b/sql-parser/dialect/mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/statement/type/MySQLStatementSQLVisitor.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.sql.parser.mysql.visitor.type;
+package org.apache.shardingsphere.sql.parser.mysql.visitor.statement.type;
 
 import lombok.AccessLevel;
 import lombok.Getter;
@@ -23,7 +23,7 @@ import org.antlr.v4.runtime.ParserRuleContext;
 import org.antlr.v4.runtime.Token;
 import org.antlr.v4.runtime.misc.Interval;
 import org.antlr.v4.runtime.tree.TerminalNode;
-import org.apache.shardingsphere.sql.parser.api.visitor.ASTNode;
+import org.apache.shardingsphere.sql.parser.api.ASTNode;
 import org.apache.shardingsphere.sql.parser.autogen.MySQLStatementBaseVisitor;
 import org.apache.shardingsphere.sql.parser.autogen.MySQLStatementParser.AggregationFunctionContext;
 import org.apache.shardingsphere.sql.parser.autogen.MySQLStatementParser.AliasContext;
diff --git a/sql-parser/dialect/mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/type/MySQLTCLStatementSQLVisitor.java b/sql-parser/dialect/mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/statement/type/MySQLTCLStatementSQLVisitor.java
similarity index 97%
rename from sql-parser/dialect/mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/type/MySQLTCLStatementSQLVisitor.java
rename to sql-parser/dialect/mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/statement/type/MySQLTCLStatementSQLVisitor.java
index b671e105a8a..3164634a750 100644
--- a/sql-parser/dialect/mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/type/MySQLTCLStatementSQLVisitor.java
+++ b/sql-parser/dialect/mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/statement/type/MySQLTCLStatementSQLVisitor.java
@@ -15,11 +15,11 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.sql.parser.mysql.visitor.type;
+package org.apache.shardingsphere.sql.parser.mysql.visitor.statement.type;
 
 import org.antlr.v4.runtime.Token;
-import org.apache.shardingsphere.sql.parser.api.visitor.ASTNode;
-import org.apache.shardingsphere.sql.parser.api.visitor.type.TCLSQLVisitor;
+import org.apache.shardingsphere.sql.parser.api.ASTNode;
+import org.apache.shardingsphere.sql.parser.api.visitor.statement.TCLSQLVisitor;
 import org.apache.shardingsphere.sql.parser.autogen.MySQLStatementParser.BeginTransactionContext;
 import org.apache.shardingsphere.sql.parser.autogen.MySQLStatementParser.CommitContext;
 import org.apache.shardingsphere.sql.parser.autogen.MySQLStatementParser.LockContext;
diff --git a/sql-parser/dialect/mysql/src/main/resources/META-INF/services/org.apache.shardingsphere.sql.parser.spi.SQLVisitorFacade b/sql-parser/dialect/mysql/src/main/resources/META-INF/services/org.apache.shardingsphere.sql.parser.api.visitor.format.SQLFormatVisitor
similarity index 90%
rename from sql-parser/dialect/mysql/src/main/resources/META-INF/services/org.apache.shardingsphere.sql.parser.spi.SQLVisitorFacade
rename to sql-parser/dialect/mysql/src/main/resources/META-INF/services/org.apache.shardingsphere.sql.parser.api.visitor.format.SQLFormatVisitor
index 570f7719c42..40361266c0e 100644
--- a/sql-parser/dialect/mysql/src/main/resources/META-INF/services/org.apache.shardingsphere.sql.parser.spi.SQLVisitorFacade
+++ b/sql-parser/dialect/mysql/src/main/resources/META-INF/services/org.apache.shardingsphere.sql.parser.api.visitor.format.SQLFormatVisitor
@@ -15,4 +15,4 @@
 # limitations under the License.
 #
 
-org.apache.shardingsphere.sql.parser.mysql.visitor.facade.MySQLSQLVisitorFacade
+org.apache.shardingsphere.sql.parser.mysql.visitor.format.MySQLFormatSQLVisitor
diff --git a/sql-parser/dialect/mysql/src/main/resources/META-INF/services/org.apache.shardingsphere.sql.parser.spi.DatabaseTypedSQLParserFacade b/sql-parser/dialect/mysql/src/main/resources/META-INF/services/org.apache.shardingsphere.sql.parser.spi.SQLDialectParserFacade
similarity index 100%
rename from sql-parser/dialect/mysql/src/main/resources/META-INF/services/org.apache.shardingsphere.sql.parser.spi.DatabaseTypedSQLParserFacade
rename to sql-parser/dialect/mysql/src/main/resources/META-INF/services/org.apache.shardingsphere.sql.parser.spi.SQLDialectParserFacade
diff --git a/sql-parser/dialect/mysql/src/main/resources/META-INF/services/org.apache.shardingsphere.sql.parser.api.format.SQLFormatVisitor b/sql-parser/dialect/mysql/src/main/resources/META-INF/services/org.apache.shardingsphere.sql.parser.spi.SQLStatementVisitorFacade
similarity index 89%
copy from sql-parser/dialect/mysql/src/main/resources/META-INF/services/org.apache.shardingsphere.sql.parser.api.format.SQLFormatVisitor
copy to sql-parser/dialect/mysql/src/main/resources/META-INF/services/org.apache.shardingsphere.sql.parser.spi.SQLStatementVisitorFacade
index 9f2f27a519b..830261090e9 100644
--- a/sql-parser/dialect/mysql/src/main/resources/META-INF/services/org.apache.shardingsphere.sql.parser.api.format.SQLFormatVisitor
+++ b/sql-parser/dialect/mysql/src/main/resources/META-INF/services/org.apache.shardingsphere.sql.parser.spi.SQLStatementVisitorFacade
@@ -15,4 +15,4 @@
 # limitations under the License.
 #
 
-org.apache.shardingsphere.sql.parser.mysql.format.MySQLFormatSQLVisitor
+org.apache.shardingsphere.sql.parser.mysql.visitor.statement.MySQLSQLStatementVisitorFacade
diff --git a/sql-parser/dialect/mysql/src/test/java/org/apache/shardingsphere/sql/parser/mysql/format/MySQLFormatSQLVisitorIT.java b/sql-parser/dialect/mysql/src/test/java/org/apache/shardingsphere/sql/parser/mysql/visitor/format/MySQLFormatSQLVisitorIT.java
similarity index 99%
rename from sql-parser/dialect/mysql/src/test/java/org/apache/shardingsphere/sql/parser/mysql/format/MySQLFormatSQLVisitorIT.java
rename to sql-parser/dialect/mysql/src/test/java/org/apache/shardingsphere/sql/parser/mysql/visitor/format/MySQLFormatSQLVisitorIT.java
index ad8b1d40827..a7395084f55 100644
--- a/sql-parser/dialect/mysql/src/test/java/org/apache/shardingsphere/sql/parser/mysql/format/MySQLFormatSQLVisitorIT.java
+++ b/sql-parser/dialect/mysql/src/test/java/org/apache/shardingsphere/sql/parser/mysql/visitor/format/MySQLFormatSQLVisitorIT.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.sql.parser.mysql.format;
+package org.apache.shardingsphere.sql.parser.mysql.visitor.format;
 
 import org.apache.shardingsphere.sql.parser.api.CacheOption;
 import org.apache.shardingsphere.sql.parser.api.SQLFormatEngine;
diff --git a/sql-parser/dialect/mysql/src/test/java/org/apache/shardingsphere/sql/parser/mysql/stat/MySQLSQLStatVisitorTest.java b/sql-parser/dialect/mysql/src/test/java/org/apache/shardingsphere/sql/parser/mysql/visitor/stat/MySQLSQLStatVisitorTest.java
similarity index 98%
rename from sql-parser/dialect/mysql/src/test/java/org/apache/shardingsphere/sql/parser/mysql/stat/MySQLSQLStatVisitorTest.java
rename to sql-parser/dialect/mysql/src/test/java/org/apache/shardingsphere/sql/parser/mysql/visitor/stat/MySQLSQLStatVisitorTest.java
index 8b92e079af3..eed818ab390 100644
--- a/sql-parser/dialect/mysql/src/test/java/org/apache/shardingsphere/sql/parser/mysql/stat/MySQLSQLStatVisitorTest.java
+++ b/sql-parser/dialect/mysql/src/test/java/org/apache/shardingsphere/sql/parser/mysql/visitor/stat/MySQLSQLStatVisitorTest.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.sql.parser.mysql.stat;
+package org.apache.shardingsphere.sql.parser.mysql.visitor.stat;
 
 import org.antlr.v4.runtime.CodePointBuffer;
 import org.antlr.v4.runtime.CodePointCharStream;
diff --git a/sql-parser/dialect/mysql/src/test/java/org/apache/shardingsphere/sql/parser/mysql/visitor/MySQLXAVisitorTest.java b/sql-parser/dialect/mysql/src/test/java/org/apache/shardingsphere/sql/parser/mysql/visitor/statement/MySQLXAVisitorTest.java
similarity index 95%
rename from sql-parser/dialect/mysql/src/test/java/org/apache/shardingsphere/sql/parser/mysql/visitor/MySQLXAVisitorTest.java
rename to sql-parser/dialect/mysql/src/test/java/org/apache/shardingsphere/sql/parser/mysql/visitor/statement/MySQLXAVisitorTest.java
index 24b501f69d4..b5c8e798ac1 100644
--- a/sql-parser/dialect/mysql/src/test/java/org/apache/shardingsphere/sql/parser/mysql/visitor/MySQLXAVisitorTest.java
+++ b/sql-parser/dialect/mysql/src/test/java/org/apache/shardingsphere/sql/parser/mysql/visitor/statement/MySQLXAVisitorTest.java
@@ -15,14 +15,14 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.sql.parser.mysql.visitor;
+package org.apache.shardingsphere.sql.parser.mysql.visitor.statement;
 
 import org.antlr.v4.runtime.CodePointBuffer;
 import org.antlr.v4.runtime.CodePointCharStream;
 import org.antlr.v4.runtime.CommonTokenStream;
 import org.apache.shardingsphere.sql.parser.autogen.MySQLStatementParser;
 import org.apache.shardingsphere.sql.parser.mysql.parser.MySQLLexer;
-import org.apache.shardingsphere.sql.parser.mysql.visitor.type.MySQLTCLStatementSQLVisitor;
+import org.apache.shardingsphere.sql.parser.mysql.visitor.statement.type.MySQLTCLStatementSQLVisitor;
 import org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.tcl.MySQLXAStatement;
 import org.junit.jupiter.api.extension.ExtensionContext;
 import org.junit.jupiter.params.ParameterizedTest;
diff --git a/sql-parser/dialect/opengauss/src/main/java/org/apache/shardingsphere/sql/parser/opengauss/parser/OpenGaussParser.java b/sql-parser/dialect/opengauss/src/main/java/org/apache/shardingsphere/sql/parser/opengauss/parser/OpenGaussParser.java
index 1f564626c74..78aa34aff8e 100644
--- a/sql-parser/dialect/opengauss/src/main/java/org/apache/shardingsphere/sql/parser/opengauss/parser/OpenGaussParser.java
+++ b/sql-parser/dialect/opengauss/src/main/java/org/apache/shardingsphere/sql/parser/opengauss/parser/OpenGaussParser.java
@@ -20,7 +20,7 @@ package org.apache.shardingsphere.sql.parser.opengauss.parser;
 import org.antlr.v4.runtime.CommonTokenStream;
 import org.antlr.v4.runtime.TokenStream;
 import org.apache.shardingsphere.sql.parser.api.parser.SQLParser;
-import org.apache.shardingsphere.sql.parser.api.visitor.ASTNode;
+import org.apache.shardingsphere.sql.parser.api.ASTNode;
 import org.apache.shardingsphere.sql.parser.autogen.OpenGaussStatementParser;
 import org.apache.shardingsphere.sql.parser.core.ParseASTNode;
 
diff --git a/sql-parser/dialect/opengauss/src/main/java/org/apache/shardingsphere/sql/parser/opengauss/parser/OpenGaussParserFacade.java b/sql-parser/dialect/opengauss/src/main/java/org/apache/shardingsphere/sql/parser/opengauss/parser/OpenGaussParserFacade.java
index efb0939834e..64581d93d68 100644
--- a/sql-parser/dialect/opengauss/src/main/java/org/apache/shardingsphere/sql/parser/opengauss/parser/OpenGaussParserFacade.java
+++ b/sql-parser/dialect/opengauss/src/main/java/org/apache/shardingsphere/sql/parser/opengauss/parser/OpenGaussParserFacade.java
@@ -19,12 +19,12 @@ package org.apache.shardingsphere.sql.parser.opengauss.parser;
 
 import org.apache.shardingsphere.sql.parser.api.parser.SQLLexer;
 import org.apache.shardingsphere.sql.parser.api.parser.SQLParser;
-import org.apache.shardingsphere.sql.parser.spi.DatabaseTypedSQLParserFacade;
+import org.apache.shardingsphere.sql.parser.spi.SQLDialectParserFacade;
 
 /**
  * SQL parser facade for openGauss.
  */
-public final class OpenGaussParserFacade implements DatabaseTypedSQLParserFacade {
+public final class OpenGaussParserFacade implements SQLDialectParserFacade {
     
     @Override
     public Class<? extends SQLLexer> getLexerClass() {
diff --git a/sql-parser/dialect/opengauss/src/main/java/org/apache/shardingsphere/sql/parser/opengauss/visitor/facade/OpenGaussSQLVisitorFacade.java b/sql-parser/dialect/opengauss/src/main/java/org/apache/shardingsphere/sql/parser/opengauss/visitor/statement/OpenGaussSQLStatementVisitorFacade.java
similarity index 56%
rename from sql-parser/dialect/opengauss/src/main/java/org/apache/shardingsphere/sql/parser/opengauss/visitor/facade/OpenGaussSQLVisitorFacade.java
rename to sql-parser/dialect/opengauss/src/main/java/org/apache/shardingsphere/sql/parser/opengauss/visitor/statement/OpenGaussSQLStatementVisitorFacade.java
index e2f3b3212e1..e12bbcd5360 100644
--- a/sql-parser/dialect/opengauss/src/main/java/org/apache/shardingsphere/sql/parser/opengauss/visitor/facade/OpenGaussSQLVisitorFacade.java
+++ b/sql-parser/dialect/opengauss/src/main/java/org/apache/shardingsphere/sql/parser/opengauss/visitor/statement/OpenGaussSQLStatementVisitorFacade.java
@@ -15,25 +15,25 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.sql.parser.opengauss.visitor.facade;
+package org.apache.shardingsphere.sql.parser.opengauss.visitor.statement;
 
-import org.apache.shardingsphere.sql.parser.api.visitor.type.DALSQLVisitor;
-import org.apache.shardingsphere.sql.parser.api.visitor.type.DCLSQLVisitor;
-import org.apache.shardingsphere.sql.parser.api.visitor.type.DDLSQLVisitor;
-import org.apache.shardingsphere.sql.parser.api.visitor.type.DMLSQLVisitor;
-import org.apache.shardingsphere.sql.parser.api.visitor.type.RLSQLVisitor;
-import org.apache.shardingsphere.sql.parser.api.visitor.type.TCLSQLVisitor;
-import org.apache.shardingsphere.sql.parser.opengauss.visitor.type.OpenGaussDALStatementSQLVisitor;
-import org.apache.shardingsphere.sql.parser.opengauss.visitor.type.OpenGaussDCLStatementSQLVisitor;
-import org.apache.shardingsphere.sql.parser.opengauss.visitor.type.OpenGaussDDLStatementSQLVisitor;
-import org.apache.shardingsphere.sql.parser.opengauss.visitor.type.OpenGaussDMLStatementSQLVisitor;
-import org.apache.shardingsphere.sql.parser.opengauss.visitor.type.OpenGaussTCLStatementSQLVisitor;
-import org.apache.shardingsphere.sql.parser.spi.SQLVisitorFacade;
+import org.apache.shardingsphere.sql.parser.api.visitor.statement.DALSQLVisitor;
+import org.apache.shardingsphere.sql.parser.api.visitor.statement.DCLSQLVisitor;
+import org.apache.shardingsphere.sql.parser.api.visitor.statement.DDLSQLVisitor;
+import org.apache.shardingsphere.sql.parser.api.visitor.statement.DMLSQLVisitor;
+import org.apache.shardingsphere.sql.parser.api.visitor.statement.RLSQLVisitor;
+import org.apache.shardingsphere.sql.parser.api.visitor.statement.TCLSQLVisitor;
+import org.apache.shardingsphere.sql.parser.opengauss.visitor.statement.type.OpenGaussDCLStatementSQLVisitor;
+import org.apache.shardingsphere.sql.parser.opengauss.visitor.statement.type.OpenGaussDDLStatementSQLVisitor;
+import org.apache.shardingsphere.sql.parser.opengauss.visitor.statement.type.OpenGaussTCLStatementSQLVisitor;
+import org.apache.shardingsphere.sql.parser.opengauss.visitor.statement.type.OpenGaussDALStatementSQLVisitor;
+import org.apache.shardingsphere.sql.parser.opengauss.visitor.statement.type.OpenGaussDMLStatementSQLVisitor;
+import org.apache.shardingsphere.sql.parser.spi.SQLStatementVisitorFacade;
 
 /**
- * SQL visitor facade for openGauss.
+ * SQL statement visitor facade for openGauss.
  */
-public final class OpenGaussSQLVisitorFacade implements SQLVisitorFacade {
+public final class OpenGaussSQLStatementVisitorFacade implements SQLStatementVisitorFacade {
     
     @Override
     public Class<? extends DMLSQLVisitor> getDMLVisitorClass() {
diff --git a/sql-parser/dialect/opengauss/src/main/java/org/apache/shardingsphere/sql/parser/opengauss/visitor/type/OpenGaussDALStatementSQLVisitor.java b/sql-parser/dialect/opengauss/src/main/java/org/apache/shardingsphere/sql/parser/opengauss/visitor/statement/type/OpenGaussDALStatementSQLVisitor.java
similarity index 97%
rename from sql-parser/dialect/opengauss/src/main/java/org/apache/shardingsphere/sql/parser/opengauss/visitor/type/OpenGaussDALStatementSQLVisitor.java
rename to sql-parser/dialect/opengauss/src/main/java/org/apache/shardingsphere/sql/parser/opengauss/visitor/statement/type/OpenGaussDALStatementSQLVisitor.java
index cd917b24e93..724ba8223e0 100644
--- a/sql-parser/dialect/opengauss/src/main/java/org/apache/shardingsphere/sql/parser/opengauss/visitor/type/OpenGaussDALStatementSQLVisitor.java
+++ b/sql-parser/dialect/opengauss/src/main/java/org/apache/shardingsphere/sql/parser/opengauss/visitor/statement/type/OpenGaussDALStatementSQLVisitor.java
@@ -15,10 +15,10 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.sql.parser.opengauss.visitor.type;
+package org.apache.shardingsphere.sql.parser.opengauss.visitor.statement.type;
 
-import org.apache.shardingsphere.sql.parser.api.visitor.ASTNode;
-import org.apache.shardingsphere.sql.parser.api.visitor.type.DALSQLVisitor;
+import org.apache.shardingsphere.sql.parser.api.ASTNode;
+import org.apache.shardingsphere.sql.parser.api.visitor.statement.DALSQLVisitor;
 import org.apache.shardingsphere.sql.parser.autogen.OpenGaussStatementParser.AnalyzeTableContext;
 import org.apache.shardingsphere.sql.parser.autogen.OpenGaussStatementParser.ColIdContext;
 import org.apache.shardingsphere.sql.parser.autogen.OpenGaussStatementParser.ConfigurationParameterClauseContext;
diff --git a/sql-parser/dialect/opengauss/src/main/java/org/apache/shardingsphere/sql/parser/opengauss/visitor/type/OpenGaussDCLStatementSQLVisitor.java b/sql-parser/dialect/opengauss/src/main/java/org/apache/shardingsphere/sql/parser/opengauss/visitor/statement/type/OpenGaussDCLStatementSQLVisitor.java
similarity index 95%
rename from sql-parser/dialect/opengauss/src/main/java/org/apache/shardingsphere/sql/parser/opengauss/visitor/type/OpenGaussDCLStatementSQLVisitor.java
rename to sql-parser/dialect/opengauss/src/main/java/org/apache/shardingsphere/sql/parser/opengauss/visitor/statement/type/OpenGaussDCLStatementSQLVisitor.java
index b0ea30fd8a8..e730acb88ec 100644
--- a/sql-parser/dialect/opengauss/src/main/java/org/apache/shardingsphere/sql/parser/opengauss/visitor/type/OpenGaussDCLStatementSQLVisitor.java
+++ b/sql-parser/dialect/opengauss/src/main/java/org/apache/shardingsphere/sql/parser/opengauss/visitor/statement/type/OpenGaussDCLStatementSQLVisitor.java
@@ -15,10 +15,10 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.sql.parser.opengauss.visitor.type;
+package org.apache.shardingsphere.sql.parser.opengauss.visitor.statement.type;
 
-import org.apache.shardingsphere.sql.parser.api.visitor.ASTNode;
-import org.apache.shardingsphere.sql.parser.api.visitor.type.DCLSQLVisitor;
+import org.apache.shardingsphere.sql.parser.api.ASTNode;
+import org.apache.shardingsphere.sql.parser.api.visitor.statement.DCLSQLVisitor;
 import org.apache.shardingsphere.sql.parser.autogen.OpenGaussStatementParser.AlterRoleContext;
 import org.apache.shardingsphere.sql.parser.autogen.OpenGaussStatementParser.AlterUserContext;
 import org.apache.shardingsphere.sql.parser.autogen.OpenGaussStatementParser.CreateRoleContext;
diff --git a/sql-parser/dialect/opengauss/src/main/java/org/apache/shardingsphere/sql/parser/opengauss/visitor/type/OpenGaussDDLStatementSQLVisitor.java b/sql-parser/dialect/opengauss/src/main/java/org/apache/shardingsphere/sql/parser/opengauss/visitor/statement/type/OpenGaussDDLStatementSQLVisitor.java
similarity index 99%
rename from sql-parser/dialect/opengauss/src/main/java/org/apache/shardingsphere/sql/parser/opengauss/visitor/type/OpenGaussDDLStatementSQLVisitor.java
rename to sql-parser/dialect/opengauss/src/main/java/org/apache/shardingsphere/sql/parser/opengauss/visitor/statement/type/OpenGaussDDLStatementSQLVisitor.java
index a418c8bf450..7a45e65dbef 100644
--- a/sql-parser/dialect/opengauss/src/main/java/org/apache/shardingsphere/sql/parser/opengauss/visitor/type/OpenGaussDDLStatementSQLVisitor.java
+++ b/sql-parser/dialect/opengauss/src/main/java/org/apache/shardingsphere/sql/parser/opengauss/visitor/statement/type/OpenGaussDDLStatementSQLVisitor.java
@@ -15,10 +15,10 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.sql.parser.opengauss.visitor.type;
+package org.apache.shardingsphere.sql.parser.opengauss.visitor.statement.type;
 
-import org.apache.shardingsphere.sql.parser.api.visitor.ASTNode;
-import org.apache.shardingsphere.sql.parser.api.visitor.type.DDLSQLVisitor;
+import org.apache.shardingsphere.sql.parser.api.ASTNode;
+import org.apache.shardingsphere.sql.parser.api.visitor.statement.DDLSQLVisitor;
 import org.apache.shardingsphere.sql.parser.autogen.OpenGaussStatementParser.AbsoluteCountContext;
 import org.apache.shardingsphere.sql.parser.autogen.OpenGaussStatementParser.AddColumnSpecificationContext;
 import org.apache.shardingsphere.sql.parser.autogen.OpenGaussStatementParser.AddConstraintSpecificationContext;
diff --git a/sql-parser/dialect/opengauss/src/main/java/org/apache/shardingsphere/sql/parser/opengauss/visitor/type/OpenGaussDMLStatementSQLVisitor.java b/sql-parser/dialect/opengauss/src/main/java/org/apache/shardingsphere/sql/parser/opengauss/visitor/statement/type/OpenGaussDMLStatementSQLVisitor.java
similarity index 93%
rename from sql-parser/dialect/opengauss/src/main/java/org/apache/shardingsphere/sql/parser/opengauss/visitor/type/OpenGaussDMLStatementSQLVisitor.java
rename to sql-parser/dialect/opengauss/src/main/java/org/apache/shardingsphere/sql/parser/opengauss/visitor/statement/type/OpenGaussDMLStatementSQLVisitor.java
index 2e2a4dabee7..9ee3537b9c0 100644
--- a/sql-parser/dialect/opengauss/src/main/java/org/apache/shardingsphere/sql/parser/opengauss/visitor/type/OpenGaussDMLStatementSQLVisitor.java
+++ b/sql-parser/dialect/opengauss/src/main/java/org/apache/shardingsphere/sql/parser/opengauss/visitor/statement/type/OpenGaussDMLStatementSQLVisitor.java
@@ -15,10 +15,10 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.sql.parser.opengauss.visitor.type;
+package org.apache.shardingsphere.sql.parser.opengauss.visitor.statement.type;
 
-import org.apache.shardingsphere.sql.parser.api.visitor.ASTNode;
-import org.apache.shardingsphere.sql.parser.api.visitor.type.DMLSQLVisitor;
+import org.apache.shardingsphere.sql.parser.api.ASTNode;
+import org.apache.shardingsphere.sql.parser.api.visitor.statement.DMLSQLVisitor;
 import org.apache.shardingsphere.sql.parser.autogen.OpenGaussStatementParser.CallContext;
 import org.apache.shardingsphere.sql.parser.autogen.OpenGaussStatementParser.CheckpointContext;
 import org.apache.shardingsphere.sql.parser.autogen.OpenGaussStatementParser.CopyContext;
diff --git a/sql-parser/dialect/opengauss/src/main/java/org/apache/shardingsphere/sql/parser/opengauss/visitor/type/OpenGaussStatementSQLVisitor.java b/sql-parser/dialect/opengauss/src/main/java/org/apache/shardingsphere/sql/parser/opengauss/visitor/statement/type/OpenGaussStatementSQLVisitor.java
similarity index 99%
rename from sql-parser/dialect/opengauss/src/main/java/org/apache/shardingsphere/sql/parser/opengauss/visitor/type/OpenGaussStatementSQLVisitor.java
rename to sql-parser/dialect/opengauss/src/main/java/org/apache/shardingsphere/sql/parser/opengauss/visitor/statement/type/OpenGaussStatementSQLVisitor.java
index 901d8ee46fb..df8cd3c508a 100644
--- a/sql-parser/dialect/opengauss/src/main/java/org/apache/shardingsphere/sql/parser/opengauss/visitor/type/OpenGaussStatementSQLVisitor.java
+++ b/sql-parser/dialect/opengauss/src/main/java/org/apache/shardingsphere/sql/parser/opengauss/visitor/statement/type/OpenGaussStatementSQLVisitor.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.sql.parser.opengauss.visitor.type;
+package org.apache.shardingsphere.sql.parser.opengauss.visitor.statement.type;
 
 import lombok.AccessLevel;
 import lombok.Getter;
@@ -23,7 +23,7 @@ import org.antlr.v4.runtime.ParserRuleContext;
 import org.antlr.v4.runtime.misc.Interval;
 import org.antlr.v4.runtime.tree.ParseTree;
 import org.antlr.v4.runtime.tree.TerminalNode;
-import org.apache.shardingsphere.sql.parser.api.visitor.ASTNode;
+import org.apache.shardingsphere.sql.parser.api.ASTNode;
 import org.apache.shardingsphere.sql.parser.autogen.OpenGaussStatementBaseVisitor;
 import org.apache.shardingsphere.sql.parser.autogen.OpenGaussStatementParser.AExprContext;
 import org.apache.shardingsphere.sql.parser.autogen.OpenGaussStatementParser.AexprConstContext;
diff --git a/sql-parser/dialect/opengauss/src/main/java/org/apache/shardingsphere/sql/parser/opengauss/visitor/type/OpenGaussTCLStatementSQLVisitor.java b/sql-parser/dialect/opengauss/src/main/java/org/apache/shardingsphere/sql/parser/opengauss/visitor/statement/type/OpenGaussTCLStatementSQLVisitor.java
similarity index 96%
rename from sql-parser/dialect/opengauss/src/main/java/org/apache/shardingsphere/sql/parser/opengauss/visitor/type/OpenGaussTCLStatementSQLVisitor.java
rename to sql-parser/dialect/opengauss/src/main/java/org/apache/shardingsphere/sql/parser/opengauss/visitor/statement/type/OpenGaussTCLStatementSQLVisitor.java
index 9c8083e31ee..955cdd233e4 100644
--- a/sql-parser/dialect/opengauss/src/main/java/org/apache/shardingsphere/sql/parser/opengauss/visitor/type/OpenGaussTCLStatementSQLVisitor.java
+++ b/sql-parser/dialect/opengauss/src/main/java/org/apache/shardingsphere/sql/parser/opengauss/visitor/statement/type/OpenGaussTCLStatementSQLVisitor.java
@@ -15,10 +15,10 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.sql.parser.opengauss.visitor.type;
+package org.apache.shardingsphere.sql.parser.opengauss.visitor.statement.type;
 
-import org.apache.shardingsphere.sql.parser.api.visitor.ASTNode;
-import org.apache.shardingsphere.sql.parser.api.visitor.type.TCLSQLVisitor;
+import org.apache.shardingsphere.sql.parser.api.ASTNode;
+import org.apache.shardingsphere.sql.parser.api.visitor.statement.TCLSQLVisitor;
 import org.apache.shardingsphere.sql.parser.autogen.OpenGaussStatementParser.AbortContext;
 import org.apache.shardingsphere.sql.parser.autogen.OpenGaussStatementParser.BeginTransactionContext;
 import org.apache.shardingsphere.sql.parser.autogen.OpenGaussStatementParser.CommitContext;
diff --git a/sql-parser/dialect/opengauss/src/main/resources/META-INF/services/org.apache.shardingsphere.sql.parser.spi.DatabaseTypedSQLParserFacade b/sql-parser/dialect/opengauss/src/main/resources/META-INF/services/org.apache.shardingsphere.sql.parser.spi.SQLDialectParserFacade
similarity index 100%
rename from sql-parser/dialect/opengauss/src/main/resources/META-INF/services/org.apache.shardingsphere.sql.parser.spi.DatabaseTypedSQLParserFacade
rename to sql-parser/dialect/opengauss/src/main/resources/META-INF/services/org.apache.shardingsphere.sql.parser.spi.SQLDialectParserFacade
diff --git a/sql-parser/dialect/mysql/src/main/resources/META-INF/services/org.apache.shardingsphere.sql.parser.api.format.SQLFormatVisitor b/sql-parser/dialect/opengauss/src/main/resources/META-INF/services/org.apache.shardingsphere.sql.parser.spi.SQLStatementVisitorFacade
similarity index 88%
copy from sql-parser/dialect/mysql/src/main/resources/META-INF/services/org.apache.shardingsphere.sql.parser.api.format.SQLFormatVisitor
copy to sql-parser/dialect/opengauss/src/main/resources/META-INF/services/org.apache.shardingsphere.sql.parser.spi.SQLStatementVisitorFacade
index 9f2f27a519b..1695996e0a1 100644
--- a/sql-parser/dialect/mysql/src/main/resources/META-INF/services/org.apache.shardingsphere.sql.parser.api.format.SQLFormatVisitor
+++ b/sql-parser/dialect/opengauss/src/main/resources/META-INF/services/org.apache.shardingsphere.sql.parser.spi.SQLStatementVisitorFacade
@@ -15,4 +15,4 @@
 # limitations under the License.
 #
 
-org.apache.shardingsphere.sql.parser.mysql.format.MySQLFormatSQLVisitor
+org.apache.shardingsphere.sql.parser.opengauss.visitor.statement.OpenGaussSQLStatementVisitorFacade
diff --git a/sql-parser/dialect/opengauss/src/main/resources/META-INF/services/org.apache.shardingsphere.sql.parser.spi.SQLVisitorFacade b/sql-parser/dialect/opengauss/src/main/resources/META-INF/services/org.apache.shardingsphere.sql.parser.spi.SQLVisitorFacade
deleted file mode 100644
index f0ae5be6312..00000000000
--- a/sql-parser/dialect/opengauss/src/main/resources/META-INF/services/org.apache.shardingsphere.sql.parser.spi.SQLVisitorFacade
+++ /dev/null
@@ -1,18 +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.
-#
-
-org.apache.shardingsphere.sql.parser.opengauss.visitor.facade.OpenGaussSQLVisitorFacade
diff --git a/sql-parser/dialect/oracle/src/main/java/org/apache/shardingsphere/sql/parser/oracle/parser/OracleParser.java b/sql-parser/dialect/oracle/src/main/java/org/apache/shardingsphere/sql/parser/oracle/parser/OracleParser.java
index c1e6bfd0b69..34df41ba290 100644
--- a/sql-parser/dialect/oracle/src/main/java/org/apache/shardingsphere/sql/parser/oracle/parser/OracleParser.java
+++ b/sql-parser/dialect/oracle/src/main/java/org/apache/shardingsphere/sql/parser/oracle/parser/OracleParser.java
@@ -20,7 +20,7 @@ package org.apache.shardingsphere.sql.parser.oracle.parser;
 import org.antlr.v4.runtime.CommonTokenStream;
 import org.antlr.v4.runtime.TokenStream;
 import org.apache.shardingsphere.sql.parser.api.parser.SQLParser;
-import org.apache.shardingsphere.sql.parser.api.visitor.ASTNode;
+import org.apache.shardingsphere.sql.parser.api.ASTNode;
 import org.apache.shardingsphere.sql.parser.autogen.OracleStatementParser;
 import org.apache.shardingsphere.sql.parser.core.ParseASTNode;
 
diff --git a/sql-parser/dialect/oracle/src/main/java/org/apache/shardingsphere/sql/parser/oracle/parser/OracleParserFacade.java b/sql-parser/dialect/oracle/src/main/java/org/apache/shardingsphere/sql/parser/oracle/parser/OracleParserFacade.java
index dea7af21caa..3f220f6170a 100644
--- a/sql-parser/dialect/oracle/src/main/java/org/apache/shardingsphere/sql/parser/oracle/parser/OracleParserFacade.java
+++ b/sql-parser/dialect/oracle/src/main/java/org/apache/shardingsphere/sql/parser/oracle/parser/OracleParserFacade.java
@@ -19,12 +19,12 @@ package org.apache.shardingsphere.sql.parser.oracle.parser;
 
 import org.apache.shardingsphere.sql.parser.api.parser.SQLLexer;
 import org.apache.shardingsphere.sql.parser.api.parser.SQLParser;
-import org.apache.shardingsphere.sql.parser.spi.DatabaseTypedSQLParserFacade;
+import org.apache.shardingsphere.sql.parser.spi.SQLDialectParserFacade;
 
 /**
  * SQL parser facade for Oracle.
  */
-public final class OracleParserFacade implements DatabaseTypedSQLParserFacade {
+public final class OracleParserFacade implements SQLDialectParserFacade {
     
     @Override
     public Class<? extends SQLLexer> getLexerClass() {
diff --git a/sql-parser/dialect/oracle/src/main/java/org/apache/shardingsphere/sql/parser/oracle/visitor/facade/OracleSQLVisitorFacade.java b/sql-parser/dialect/oracle/src/main/java/org/apache/shardingsphere/sql/parser/oracle/visitor/statement/OracleSQLStatementVisitorFacade.java
similarity index 57%
rename from sql-parser/dialect/oracle/src/main/java/org/apache/shardingsphere/sql/parser/oracle/visitor/facade/OracleSQLVisitorFacade.java
rename to sql-parser/dialect/oracle/src/main/java/org/apache/shardingsphere/sql/parser/oracle/visitor/statement/OracleSQLStatementVisitorFacade.java
index baf9511baa5..6d70bbbd570 100644
--- a/sql-parser/dialect/oracle/src/main/java/org/apache/shardingsphere/sql/parser/oracle/visitor/facade/OracleSQLVisitorFacade.java
+++ b/sql-parser/dialect/oracle/src/main/java/org/apache/shardingsphere/sql/parser/oracle/visitor/statement/OracleSQLStatementVisitorFacade.java
@@ -15,25 +15,25 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.sql.parser.oracle.visitor.facade;
+package org.apache.shardingsphere.sql.parser.oracle.visitor.statement;
 
-import org.apache.shardingsphere.sql.parser.spi.SQLVisitorFacade;
-import org.apache.shardingsphere.sql.parser.api.visitor.type.DALSQLVisitor;
-import org.apache.shardingsphere.sql.parser.api.visitor.type.DCLSQLVisitor;
-import org.apache.shardingsphere.sql.parser.api.visitor.type.DDLSQLVisitor;
-import org.apache.shardingsphere.sql.parser.api.visitor.type.DMLSQLVisitor;
-import org.apache.shardingsphere.sql.parser.api.visitor.type.RLSQLVisitor;
-import org.apache.shardingsphere.sql.parser.api.visitor.type.TCLSQLVisitor;
-import org.apache.shardingsphere.sql.parser.oracle.visitor.type.OracleDALStatementSQLVisitor;
-import org.apache.shardingsphere.sql.parser.oracle.visitor.type.OracleDCLStatementSQLVisitor;
-import org.apache.shardingsphere.sql.parser.oracle.visitor.type.OracleDDLStatementSQLVisitor;
-import org.apache.shardingsphere.sql.parser.oracle.visitor.type.OracleDMLStatementSQLVisitor;
-import org.apache.shardingsphere.sql.parser.oracle.visitor.type.OracleTCLStatementSQLVisitor;
+import org.apache.shardingsphere.sql.parser.oracle.visitor.statement.type.OracleTCLStatementSQLVisitor;
+import org.apache.shardingsphere.sql.parser.spi.SQLStatementVisitorFacade;
+import org.apache.shardingsphere.sql.parser.api.visitor.statement.DALSQLVisitor;
+import org.apache.shardingsphere.sql.parser.api.visitor.statement.DCLSQLVisitor;
+import org.apache.shardingsphere.sql.parser.api.visitor.statement.DDLSQLVisitor;
+import org.apache.shardingsphere.sql.parser.api.visitor.statement.DMLSQLVisitor;
+import org.apache.shardingsphere.sql.parser.api.visitor.statement.RLSQLVisitor;
+import org.apache.shardingsphere.sql.parser.api.visitor.statement.TCLSQLVisitor;
+import org.apache.shardingsphere.sql.parser.oracle.visitor.statement.type.OracleDALStatementSQLVisitor;
+import org.apache.shardingsphere.sql.parser.oracle.visitor.statement.type.OracleDCLStatementSQLVisitor;
+import org.apache.shardingsphere.sql.parser.oracle.visitor.statement.type.OracleDDLStatementSQLVisitor;
+import org.apache.shardingsphere.sql.parser.oracle.visitor.statement.type.OracleDMLStatementSQLVisitor;
 
 /**
- * SQL visitor facade for Oracle.
+ * SQL statement visitor facade for Oracle.
  */
-public final class OracleSQLVisitorFacade implements SQLVisitorFacade {
+public final class OracleSQLStatementVisitorFacade implements SQLStatementVisitorFacade {
     
     @Override
     public Class<? extends DMLSQLVisitor> getDMLVisitorClass() {
diff --git a/sql-parser/dialect/oracle/src/main/java/org/apache/shardingsphere/sql/parser/oracle/visitor/type/OracleDALStatementSQLVisitor.java b/sql-parser/dialect/oracle/src/main/java/org/apache/shardingsphere/sql/parser/oracle/visitor/statement/type/OracleDALStatementSQLVisitor.java
similarity index 86%
rename from sql-parser/dialect/oracle/src/main/java/org/apache/shardingsphere/sql/parser/oracle/visitor/type/OracleDALStatementSQLVisitor.java
rename to sql-parser/dialect/oracle/src/main/java/org/apache/shardingsphere/sql/parser/oracle/visitor/statement/type/OracleDALStatementSQLVisitor.java
index a88f26701a9..1f737b36e15 100644
--- a/sql-parser/dialect/oracle/src/main/java/org/apache/shardingsphere/sql/parser/oracle/visitor/type/OracleDALStatementSQLVisitor.java
+++ b/sql-parser/dialect/oracle/src/main/java/org/apache/shardingsphere/sql/parser/oracle/visitor/statement/type/OracleDALStatementSQLVisitor.java
@@ -15,10 +15,10 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.sql.parser.oracle.visitor.type;
+package org.apache.shardingsphere.sql.parser.oracle.visitor.statement.type;
 
-import org.apache.shardingsphere.sql.parser.api.visitor.ASTNode;
-import org.apache.shardingsphere.sql.parser.api.visitor.type.DALSQLVisitor;
+import org.apache.shardingsphere.sql.parser.api.ASTNode;
+import org.apache.shardingsphere.sql.parser.api.visitor.statement.DALSQLVisitor;
 import org.apache.shardingsphere.sql.parser.autogen.OracleStatementParser.AlterResourceCostContext;
 import org.apache.shardingsphere.sql.parser.sql.dialect.statement.oracle.dal.OracleAlterResourceCostStatement;
 
diff --git a/sql-parser/dialect/oracle/src/main/java/org/apache/shardingsphere/sql/parser/oracle/visitor/type/OracleDCLStatementSQLVisitor.java b/sql-parser/dialect/oracle/src/main/java/org/apache/shardingsphere/sql/parser/oracle/visitor/statement/type/OracleDCLStatementSQLVisitor.java
similarity index 95%
rename from sql-parser/dialect/oracle/src/main/java/org/apache/shardingsphere/sql/parser/oracle/visitor/type/OracleDCLStatementSQLVisitor.java
rename to sql-parser/dialect/oracle/src/main/java/org/apache/shardingsphere/sql/parser/oracle/visitor/statement/type/OracleDCLStatementSQLVisitor.java
index 50ec9a6101f..3bfae4df532 100644
--- a/sql-parser/dialect/oracle/src/main/java/org/apache/shardingsphere/sql/parser/oracle/visitor/type/OracleDCLStatementSQLVisitor.java
+++ b/sql-parser/dialect/oracle/src/main/java/org/apache/shardingsphere/sql/parser/oracle/visitor/statement/type/OracleDCLStatementSQLVisitor.java
@@ -15,10 +15,10 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.sql.parser.oracle.visitor.type;
+package org.apache.shardingsphere.sql.parser.oracle.visitor.statement.type;
 
-import org.apache.shardingsphere.sql.parser.api.visitor.ASTNode;
-import org.apache.shardingsphere.sql.parser.api.visitor.type.DCLSQLVisitor;
+import org.apache.shardingsphere.sql.parser.api.ASTNode;
+import org.apache.shardingsphere.sql.parser.api.visitor.statement.DCLSQLVisitor;
 import org.apache.shardingsphere.sql.parser.autogen.OracleStatementParser.AlterRoleContext;
 import org.apache.shardingsphere.sql.parser.autogen.OracleStatementParser.AlterUserContext;
 import org.apache.shardingsphere.sql.parser.autogen.OracleStatementParser.CreateRoleContext;
diff --git a/sql-parser/dialect/oracle/src/main/java/org/apache/shardingsphere/sql/parser/oracle/visitor/type/OracleDDLStatementSQLVisitor.java b/sql-parser/dialect/oracle/src/main/java/org/apache/shardingsphere/sql/parser/oracle/visitor/statement/type/OracleDDLStatementSQLVisitor.java
similarity index 99%
rename from sql-parser/dialect/oracle/src/main/java/org/apache/shardingsphere/sql/parser/oracle/visitor/type/OracleDDLStatementSQLVisitor.java
rename to sql-parser/dialect/oracle/src/main/java/org/apache/shardingsphere/sql/parser/oracle/visitor/statement/type/OracleDDLStatementSQLVisitor.java
index d703aa02fa9..80861caccff 100644
--- a/sql-parser/dialect/oracle/src/main/java/org/apache/shardingsphere/sql/parser/oracle/visitor/type/OracleDDLStatementSQLVisitor.java
+++ b/sql-parser/dialect/oracle/src/main/java/org/apache/shardingsphere/sql/parser/oracle/visitor/statement/type/OracleDDLStatementSQLVisitor.java
@@ -15,10 +15,10 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.sql.parser.oracle.visitor.type;
+package org.apache.shardingsphere.sql.parser.oracle.visitor.statement.type;
 
-import org.apache.shardingsphere.sql.parser.api.visitor.ASTNode;
-import org.apache.shardingsphere.sql.parser.api.visitor.type.DDLSQLVisitor;
+import org.apache.shardingsphere.sql.parser.api.ASTNode;
+import org.apache.shardingsphere.sql.parser.api.visitor.statement.DDLSQLVisitor;
 import org.apache.shardingsphere.sql.parser.autogen.OracleStatementParser.AddColumnSpecificationContext;
 import org.apache.shardingsphere.sql.parser.autogen.OracleStatementParser.AddConstraintSpecificationContext;
 import org.apache.shardingsphere.sql.parser.autogen.OracleStatementParser.AlterAnalyticViewContext;
diff --git a/sql-parser/dialect/oracle/src/main/java/org/apache/shardingsphere/sql/parser/oracle/visitor/type/OracleDMLStatementSQLVisitor.java b/sql-parser/dialect/oracle/src/main/java/org/apache/shardingsphere/sql/parser/oracle/visitor/statement/type/OracleDMLStatementSQLVisitor.java
similarity index 99%
rename from sql-parser/dialect/oracle/src/main/java/org/apache/shardingsphere/sql/parser/oracle/visitor/type/OracleDMLStatementSQLVisitor.java
rename to sql-parser/dialect/oracle/src/main/java/org/apache/shardingsphere/sql/parser/oracle/visitor/statement/type/OracleDMLStatementSQLVisitor.java
index db4f18ed090..aea59605453 100644
--- a/sql-parser/dialect/oracle/src/main/java/org/apache/shardingsphere/sql/parser/oracle/visitor/type/OracleDMLStatementSQLVisitor.java
+++ b/sql-parser/dialect/oracle/src/main/java/org/apache/shardingsphere/sql/parser/oracle/visitor/statement/type/OracleDMLStatementSQLVisitor.java
@@ -15,11 +15,11 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.sql.parser.oracle.visitor.type;
+package org.apache.shardingsphere.sql.parser.oracle.visitor.statement.type;
 
 import org.antlr.v4.runtime.misc.Interval;
-import org.apache.shardingsphere.sql.parser.api.visitor.ASTNode;
-import org.apache.shardingsphere.sql.parser.api.visitor.type.DMLSQLVisitor;
+import org.apache.shardingsphere.sql.parser.api.ASTNode;
+import org.apache.shardingsphere.sql.parser.api.visitor.statement.DMLSQLVisitor;
 import org.apache.shardingsphere.sql.parser.autogen.OracleStatementParser.AliasContext;
 import org.apache.shardingsphere.sql.parser.autogen.OracleStatementParser.AssignmentValueContext;
 import org.apache.shardingsphere.sql.parser.autogen.OracleStatementParser.AssignmentValuesContext;
diff --git a/sql-parser/dialect/oracle/src/main/java/org/apache/shardingsphere/sql/parser/oracle/visitor/type/OracleStatementSQLVisitor.java b/sql-parser/dialect/oracle/src/main/java/org/apache/shardingsphere/sql/parser/oracle/visitor/statement/type/OracleStatementSQLVisitor.java
similarity index 99%
rename from sql-parser/dialect/oracle/src/main/java/org/apache/shardingsphere/sql/parser/oracle/visitor/type/OracleStatementSQLVisitor.java
rename to sql-parser/dialect/oracle/src/main/java/org/apache/shardingsphere/sql/parser/oracle/visitor/statement/type/OracleStatementSQLVisitor.java
index b7f5c10fc8a..a7891bc8f5e 100644
--- a/sql-parser/dialect/oracle/src/main/java/org/apache/shardingsphere/sql/parser/oracle/visitor/type/OracleStatementSQLVisitor.java
+++ b/sql-parser/dialect/oracle/src/main/java/org/apache/shardingsphere/sql/parser/oracle/visitor/statement/type/OracleStatementSQLVisitor.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.sql.parser.oracle.visitor.type;
+package org.apache.shardingsphere.sql.parser.oracle.visitor.statement.type;
 
 import lombok.AccessLevel;
 import lombok.Getter;
@@ -23,7 +23,7 @@ import org.antlr.v4.runtime.ParserRuleContext;
 import org.antlr.v4.runtime.Token;
 import org.antlr.v4.runtime.misc.Interval;
 import org.antlr.v4.runtime.tree.TerminalNode;
-import org.apache.shardingsphere.sql.parser.api.visitor.ASTNode;
+import org.apache.shardingsphere.sql.parser.api.ASTNode;
 import org.apache.shardingsphere.sql.parser.autogen.OracleStatementBaseVisitor;
 import org.apache.shardingsphere.sql.parser.autogen.OracleStatementParser.AggregationFunctionContext;
 import org.apache.shardingsphere.sql.parser.autogen.OracleStatementParser.AnalyticFunctionContext;
diff --git a/sql-parser/dialect/oracle/src/main/java/org/apache/shardingsphere/sql/parser/oracle/visitor/type/OracleTCLStatementSQLVisitor.java b/sql-parser/dialect/oracle/src/main/java/org/apache/shardingsphere/sql/parser/oracle/visitor/statement/type/OracleTCLStatementSQLVisitor.java
similarity index 93%
rename from sql-parser/dialect/oracle/src/main/java/org/apache/shardingsphere/sql/parser/oracle/visitor/type/OracleTCLStatementSQLVisitor.java
rename to sql-parser/dialect/oracle/src/main/java/org/apache/shardingsphere/sql/parser/oracle/visitor/statement/type/OracleTCLStatementSQLVisitor.java
index 7a9e691f8b4..b2e6f3c8c76 100644
--- a/sql-parser/dialect/oracle/src/main/java/org/apache/shardingsphere/sql/parser/oracle/visitor/type/OracleTCLStatementSQLVisitor.java
+++ b/sql-parser/dialect/oracle/src/main/java/org/apache/shardingsphere/sql/parser/oracle/visitor/statement/type/OracleTCLStatementSQLVisitor.java
@@ -15,10 +15,10 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.sql.parser.oracle.visitor.type;
+package org.apache.shardingsphere.sql.parser.oracle.visitor.statement.type;
 
-import org.apache.shardingsphere.sql.parser.api.visitor.ASTNode;
-import org.apache.shardingsphere.sql.parser.api.visitor.type.TCLSQLVisitor;
+import org.apache.shardingsphere.sql.parser.api.ASTNode;
+import org.apache.shardingsphere.sql.parser.api.visitor.statement.TCLSQLVisitor;
 import org.apache.shardingsphere.sql.parser.autogen.OracleStatementParser.CommitContext;
 import org.apache.shardingsphere.sql.parser.autogen.OracleStatementParser.RollbackContext;
 import org.apache.shardingsphere.sql.parser.autogen.OracleStatementParser.SavepointContext;
diff --git a/sql-parser/dialect/oracle/src/main/resources/META-INF/services/org.apache.shardingsphere.sql.parser.spi.DatabaseTypedSQLParserFacade b/sql-parser/dialect/oracle/src/main/resources/META-INF/services/org.apache.shardingsphere.sql.parser.spi.SQLDialectParserFacade
similarity index 100%
rename from sql-parser/dialect/oracle/src/main/resources/META-INF/services/org.apache.shardingsphere.sql.parser.spi.DatabaseTypedSQLParserFacade
rename to sql-parser/dialect/oracle/src/main/resources/META-INF/services/org.apache.shardingsphere.sql.parser.spi.SQLDialectParserFacade
diff --git a/sql-parser/dialect/mysql/src/main/resources/META-INF/services/org.apache.shardingsphere.sql.parser.api.format.SQLFormatVisitor b/sql-parser/dialect/oracle/src/main/resources/META-INF/services/org.apache.shardingsphere.sql.parser.spi.SQLStatementVisitorFacade
similarity index 89%
copy from sql-parser/dialect/mysql/src/main/resources/META-INF/services/org.apache.shardingsphere.sql.parser.api.format.SQLFormatVisitor
copy to sql-parser/dialect/oracle/src/main/resources/META-INF/services/org.apache.shardingsphere.sql.parser.spi.SQLStatementVisitorFacade
index 9f2f27a519b..f9a94752645 100644
--- a/sql-parser/dialect/mysql/src/main/resources/META-INF/services/org.apache.shardingsphere.sql.parser.api.format.SQLFormatVisitor
+++ b/sql-parser/dialect/oracle/src/main/resources/META-INF/services/org.apache.shardingsphere.sql.parser.spi.SQLStatementVisitorFacade
@@ -15,4 +15,4 @@
 # limitations under the License.
 #
 
-org.apache.shardingsphere.sql.parser.mysql.format.MySQLFormatSQLVisitor
+org.apache.shardingsphere.sql.parser.oracle.visitor.statement.OracleSQLStatementVisitorFacade
diff --git a/sql-parser/dialect/oracle/src/main/resources/META-INF/services/org.apache.shardingsphere.sql.parser.spi.SQLVisitorFacade b/sql-parser/dialect/oracle/src/main/resources/META-INF/services/org.apache.shardingsphere.sql.parser.spi.SQLVisitorFacade
deleted file mode 100644
index c4f8f28e10d..00000000000
--- a/sql-parser/dialect/oracle/src/main/resources/META-INF/services/org.apache.shardingsphere.sql.parser.spi.SQLVisitorFacade
+++ /dev/null
@@ -1,18 +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.
-#
-
-org.apache.shardingsphere.sql.parser.oracle.visitor.facade.OracleSQLVisitorFacade
diff --git a/sql-parser/dialect/postgresql/src/main/java/org/apache/shardingsphere/sql/parser/postgresql/parser/PostgreSQLParser.java b/sql-parser/dialect/postgresql/src/main/java/org/apache/shardingsphere/sql/parser/postgresql/parser/PostgreSQLParser.java
index 3922e33df6c..9bb1ca0ad68 100644
--- a/sql-parser/dialect/postgresql/src/main/java/org/apache/shardingsphere/sql/parser/postgresql/parser/PostgreSQLParser.java
+++ b/sql-parser/dialect/postgresql/src/main/java/org/apache/shardingsphere/sql/parser/postgresql/parser/PostgreSQLParser.java
@@ -20,7 +20,7 @@ package org.apache.shardingsphere.sql.parser.postgresql.parser;
 import org.antlr.v4.runtime.CommonTokenStream;
 import org.antlr.v4.runtime.TokenStream;
 import org.apache.shardingsphere.sql.parser.api.parser.SQLParser;
-import org.apache.shardingsphere.sql.parser.api.visitor.ASTNode;
+import org.apache.shardingsphere.sql.parser.api.ASTNode;
 import org.apache.shardingsphere.sql.parser.autogen.PostgreSQLStatementParser;
 import org.apache.shardingsphere.sql.parser.core.ParseASTNode;
 
diff --git a/sql-parser/dialect/postgresql/src/main/java/org/apache/shardingsphere/sql/parser/postgresql/parser/PostgreSQLParserFacade.java b/sql-parser/dialect/postgresql/src/main/java/org/apache/shardingsphere/sql/parser/postgresql/parser/PostgreSQLParserFacade.java
index 346e1263ac6..5158d307f86 100644
--- a/sql-parser/dialect/postgresql/src/main/java/org/apache/shardingsphere/sql/parser/postgresql/parser/PostgreSQLParserFacade.java
+++ b/sql-parser/dialect/postgresql/src/main/java/org/apache/shardingsphere/sql/parser/postgresql/parser/PostgreSQLParserFacade.java
@@ -19,12 +19,12 @@ package org.apache.shardingsphere.sql.parser.postgresql.parser;
 
 import org.apache.shardingsphere.sql.parser.api.parser.SQLLexer;
 import org.apache.shardingsphere.sql.parser.api.parser.SQLParser;
-import org.apache.shardingsphere.sql.parser.spi.DatabaseTypedSQLParserFacade;
+import org.apache.shardingsphere.sql.parser.spi.SQLDialectParserFacade;
 
 /**
  * SQL parser facade for PostgreSQL.
  */
-public final class PostgreSQLParserFacade implements DatabaseTypedSQLParserFacade {
+public final class PostgreSQLParserFacade implements SQLDialectParserFacade {
     
     @Override
     public Class<? extends SQLLexer> getLexerClass() {
diff --git a/sql-parser/dialect/postgresql/src/main/java/org/apache/shardingsphere/sql/parser/postgresql/visitor/facade/PostgreSQLSQLVisitorFacade.java b/sql-parser/dialect/postgresql/src/main/java/org/apache/shardingsphere/sql/parser/postgresql/visitor/statement/PostgreSQLSQLStatementVisitorFacade.java
similarity index 58%
rename from sql-parser/dialect/postgresql/src/main/java/org/apache/shardingsphere/sql/parser/postgresql/visitor/facade/PostgreSQLSQLVisitorFacade.java
rename to sql-parser/dialect/postgresql/src/main/java/org/apache/shardingsphere/sql/parser/postgresql/visitor/statement/PostgreSQLSQLStatementVisitorFacade.java
index 775d77cdc4c..55a14f564a8 100644
--- a/sql-parser/dialect/postgresql/src/main/java/org/apache/shardingsphere/sql/parser/postgresql/visitor/facade/PostgreSQLSQLVisitorFacade.java
+++ b/sql-parser/dialect/postgresql/src/main/java/org/apache/shardingsphere/sql/parser/postgresql/visitor/statement/PostgreSQLSQLStatementVisitorFacade.java
@@ -15,25 +15,25 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.sql.parser.postgresql.visitor.facade;
+package org.apache.shardingsphere.sql.parser.postgresql.visitor.statement;
 
-import org.apache.shardingsphere.sql.parser.spi.SQLVisitorFacade;
-import org.apache.shardingsphere.sql.parser.api.visitor.type.DALSQLVisitor;
-import org.apache.shardingsphere.sql.parser.api.visitor.type.DCLSQLVisitor;
-import org.apache.shardingsphere.sql.parser.api.visitor.type.DDLSQLVisitor;
-import org.apache.shardingsphere.sql.parser.api.visitor.type.DMLSQLVisitor;
-import org.apache.shardingsphere.sql.parser.api.visitor.type.RLSQLVisitor;
-import org.apache.shardingsphere.sql.parser.api.visitor.type.TCLSQLVisitor;
-import org.apache.shardingsphere.sql.parser.postgresql.visitor.type.PostgreSQLDALStatementSQLVisitor;
-import org.apache.shardingsphere.sql.parser.postgresql.visitor.type.PostgreSQLDCLStatementSQLVisitor;
-import org.apache.shardingsphere.sql.parser.postgresql.visitor.type.PostgreSQLDDLStatementSQLVisitor;
-import org.apache.shardingsphere.sql.parser.postgresql.visitor.type.PostgreSQLDMLStatementSQLVisitor;
-import org.apache.shardingsphere.sql.parser.postgresql.visitor.type.PostgreSQLTCLStatementSQLVisitor;
+import org.apache.shardingsphere.sql.parser.spi.SQLStatementVisitorFacade;
+import org.apache.shardingsphere.sql.parser.api.visitor.statement.DALSQLVisitor;
+import org.apache.shardingsphere.sql.parser.api.visitor.statement.DCLSQLVisitor;
+import org.apache.shardingsphere.sql.parser.api.visitor.statement.DDLSQLVisitor;
+import org.apache.shardingsphere.sql.parser.api.visitor.statement.DMLSQLVisitor;
+import org.apache.shardingsphere.sql.parser.api.visitor.statement.RLSQLVisitor;
+import org.apache.shardingsphere.sql.parser.api.visitor.statement.TCLSQLVisitor;
+import org.apache.shardingsphere.sql.parser.postgresql.visitor.statement.type.PostgreSQLDALStatementSQLVisitor;
+import org.apache.shardingsphere.sql.parser.postgresql.visitor.statement.type.PostgreSQLDCLStatementSQLVisitor;
+import org.apache.shardingsphere.sql.parser.postgresql.visitor.statement.type.PostgreSQLDDLStatementSQLVisitor;
+import org.apache.shardingsphere.sql.parser.postgresql.visitor.statement.type.PostgreSQLDMLStatementSQLVisitor;
+import org.apache.shardingsphere.sql.parser.postgresql.visitor.statement.type.PostgreSQLTCLStatementSQLVisitor;
 
 /**
- * SQL visitor facade for PostgreSQL.
+ * SQL statement visitor facade for PostgreSQL.
  */
-public final class PostgreSQLSQLVisitorFacade implements SQLVisitorFacade {
+public final class PostgreSQLSQLStatementVisitorFacade implements SQLStatementVisitorFacade {
     
     @Override
     public Class<? extends DMLSQLVisitor> getDMLVisitorClass() {
diff --git a/sql-parser/dialect/postgresql/src/main/java/org/apache/shardingsphere/sql/parser/postgresql/visitor/type/PostgreSQLDALStatementSQLVisitor.java b/sql-parser/dialect/postgresql/src/main/java/org/apache/shardingsphere/sql/parser/postgresql/visitor/statement/type/PostgreSQLDALStatementSQLVisitor.java
similarity index 98%
rename from sql-parser/dialect/postgresql/src/main/java/org/apache/shardingsphere/sql/parser/postgresql/visitor/type/PostgreSQLDALStatementSQLVisitor.java
rename to sql-parser/dialect/postgresql/src/main/java/org/apache/shardingsphere/sql/parser/postgresql/visitor/statement/type/PostgreSQLDALStatementSQLVisitor.java
index f0f985ef8f3..425fffc633c 100644
--- a/sql-parser/dialect/postgresql/src/main/java/org/apache/shardingsphere/sql/parser/postgresql/visitor/type/PostgreSQLDALStatementSQLVisitor.java
+++ b/sql-parser/dialect/postgresql/src/main/java/org/apache/shardingsphere/sql/parser/postgresql/visitor/statement/type/PostgreSQLDALStatementSQLVisitor.java
@@ -15,10 +15,10 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.sql.parser.postgresql.visitor.type;
+package org.apache.shardingsphere.sql.parser.postgresql.visitor.statement.type;
 
-import org.apache.shardingsphere.sql.parser.api.visitor.ASTNode;
-import org.apache.shardingsphere.sql.parser.api.visitor.type.DALSQLVisitor;
+import org.apache.shardingsphere.sql.parser.api.ASTNode;
+import org.apache.shardingsphere.sql.parser.api.visitor.statement.DALSQLVisitor;
 import org.apache.shardingsphere.sql.parser.autogen.PostgreSQLStatementParser.AnalyzeTableContext;
 import org.apache.shardingsphere.sql.parser.autogen.PostgreSQLStatementParser.ColIdContext;
 import org.apache.shardingsphere.sql.parser.autogen.PostgreSQLStatementParser.ConfigurationParameterClauseContext;
diff --git a/sql-parser/dialect/postgresql/src/main/java/org/apache/shardingsphere/sql/parser/postgresql/visitor/type/PostgreSQLDCLStatementSQLVisitor.java b/sql-parser/dialect/postgresql/src/main/java/org/apache/shardingsphere/sql/parser/postgresql/visitor/statement/type/PostgreSQLDCLStatementSQLVisitor.java
similarity index 97%
rename from sql-parser/dialect/postgresql/src/main/java/org/apache/shardingsphere/sql/parser/postgresql/visitor/type/PostgreSQLDCLStatementSQLVisitor.java
rename to sql-parser/dialect/postgresql/src/main/java/org/apache/shardingsphere/sql/parser/postgresql/visitor/statement/type/PostgreSQLDCLStatementSQLVisitor.java
index f26d8ed1543..0e7b1dcf215 100644
--- a/sql-parser/dialect/postgresql/src/main/java/org/apache/shardingsphere/sql/parser/postgresql/visitor/type/PostgreSQLDCLStatementSQLVisitor.java
+++ b/sql-parser/dialect/postgresql/src/main/java/org/apache/shardingsphere/sql/parser/postgresql/visitor/statement/type/PostgreSQLDCLStatementSQLVisitor.java
@@ -15,10 +15,10 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.sql.parser.postgresql.visitor.type;
+package org.apache.shardingsphere.sql.parser.postgresql.visitor.statement.type;
 
-import org.apache.shardingsphere.sql.parser.api.visitor.ASTNode;
-import org.apache.shardingsphere.sql.parser.api.visitor.type.DCLSQLVisitor;
+import org.apache.shardingsphere.sql.parser.api.ASTNode;
+import org.apache.shardingsphere.sql.parser.api.visitor.statement.DCLSQLVisitor;
 import org.apache.shardingsphere.sql.parser.autogen.PostgreSQLStatementParser.AlterRoleContext;
 import org.apache.shardingsphere.sql.parser.autogen.PostgreSQLStatementParser.AlterUserContext;
 import org.apache.shardingsphere.sql.parser.autogen.PostgreSQLStatementParser.CreateGroupContext;
diff --git a/sql-parser/dialect/postgresql/src/main/java/org/apache/shardingsphere/sql/parser/postgresql/visitor/type/PostgreSQLDDLStatementSQLVisitor.java b/sql-parser/dialect/postgresql/src/main/java/org/apache/shardingsphere/sql/parser/postgresql/visitor/statement/type/PostgreSQLDDLStatementSQLVisitor.java
similarity index 99%
rename from sql-parser/dialect/postgresql/src/main/java/org/apache/shardingsphere/sql/parser/postgresql/visitor/type/PostgreSQLDDLStatementSQLVisitor.java
rename to sql-parser/dialect/postgresql/src/main/java/org/apache/shardingsphere/sql/parser/postgresql/visitor/statement/type/PostgreSQLDDLStatementSQLVisitor.java
index fc41e84d67d..1c977c7cdf0 100644
--- a/sql-parser/dialect/postgresql/src/main/java/org/apache/shardingsphere/sql/parser/postgresql/visitor/type/PostgreSQLDDLStatementSQLVisitor.java
+++ b/sql-parser/dialect/postgresql/src/main/java/org/apache/shardingsphere/sql/parser/postgresql/visitor/statement/type/PostgreSQLDDLStatementSQLVisitor.java
@@ -15,10 +15,10 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.sql.parser.postgresql.visitor.type;
+package org.apache.shardingsphere.sql.parser.postgresql.visitor.statement.type;
 
-import org.apache.shardingsphere.sql.parser.api.visitor.ASTNode;
-import org.apache.shardingsphere.sql.parser.api.visitor.type.DDLSQLVisitor;
+import org.apache.shardingsphere.sql.parser.api.ASTNode;
+import org.apache.shardingsphere.sql.parser.api.visitor.statement.DDLSQLVisitor;
 import org.apache.shardingsphere.sql.parser.autogen.PostgreSQLStatementParser.AbsoluteCountContext;
 import org.apache.shardingsphere.sql.parser.autogen.PostgreSQLStatementParser.AddColumnSpecificationContext;
 import org.apache.shardingsphere.sql.parser.autogen.PostgreSQLStatementParser.AddConstraintSpecificationContext;
diff --git a/sql-parser/dialect/postgresql/src/main/java/org/apache/shardingsphere/sql/parser/postgresql/visitor/type/PostgreSQLDMLStatementSQLVisitor.java b/sql-parser/dialect/postgresql/src/main/java/org/apache/shardingsphere/sql/parser/postgresql/visitor/statement/type/PostgreSQLDMLStatementSQLVisitor.java
similarity index 98%
rename from sql-parser/dialect/postgresql/src/main/java/org/apache/shardingsphere/sql/parser/postgresql/visitor/type/PostgreSQLDMLStatementSQLVisitor.java
rename to sql-parser/dialect/postgresql/src/main/java/org/apache/shardingsphere/sql/parser/postgresql/visitor/statement/type/PostgreSQLDMLStatementSQLVisitor.java
index a77a99d9acd..f6d3ec136a0 100644
--- a/sql-parser/dialect/postgresql/src/main/java/org/apache/shardingsphere/sql/parser/postgresql/visitor/type/PostgreSQLDMLStatementSQLVisitor.java
+++ b/sql-parser/dialect/postgresql/src/main/java/org/apache/shardingsphere/sql/parser/postgresql/visitor/statement/type/PostgreSQLDMLStatementSQLVisitor.java
@@ -15,11 +15,11 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.sql.parser.postgresql.visitor.type;
+package org.apache.shardingsphere.sql.parser.postgresql.visitor.statement.type;
 
 import org.antlr.v4.runtime.misc.Interval;
-import org.apache.shardingsphere.sql.parser.api.visitor.ASTNode;
-import org.apache.shardingsphere.sql.parser.api.visitor.type.DMLSQLVisitor;
+import org.apache.shardingsphere.sql.parser.api.ASTNode;
+import org.apache.shardingsphere.sql.parser.api.visitor.statement.DMLSQLVisitor;
 import org.apache.shardingsphere.sql.parser.autogen.PostgreSQLStatementParser.CallArgumentContext;
 import org.apache.shardingsphere.sql.parser.autogen.PostgreSQLStatementParser.CallContext;
 import org.apache.shardingsphere.sql.parser.autogen.PostgreSQLStatementParser.CheckpointContext;
diff --git a/sql-parser/dialect/postgresql/src/main/java/org/apache/shardingsphere/sql/parser/postgresql/visitor/type/PostgreSQLStatementSQLVisitor.java b/sql-parser/dialect/postgresql/src/main/java/org/apache/shardingsphere/sql/parser/postgresql/visitor/statement/type/PostgreSQLStatementSQLVisitor.java
similarity index 99%
rename from sql-parser/dialect/postgresql/src/main/java/org/apache/shardingsphere/sql/parser/postgresql/visitor/type/PostgreSQLStatementSQLVisitor.java
rename to sql-parser/dialect/postgresql/src/main/java/org/apache/shardingsphere/sql/parser/postgresql/visitor/statement/type/PostgreSQLStatementSQLVisitor.java
index 8c56a102f7f..b15a1fb3508 100644
--- a/sql-parser/dialect/postgresql/src/main/java/org/apache/shardingsphere/sql/parser/postgresql/visitor/type/PostgreSQLStatementSQLVisitor.java
+++ b/sql-parser/dialect/postgresql/src/main/java/org/apache/shardingsphere/sql/parser/postgresql/visitor/statement/type/PostgreSQLStatementSQLVisitor.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.sql.parser.postgresql.visitor.type;
+package org.apache.shardingsphere.sql.parser.postgresql.visitor.statement.type;
 
 import lombok.AccessLevel;
 import lombok.Getter;
@@ -23,7 +23,7 @@ import org.antlr.v4.runtime.ParserRuleContext;
 import org.antlr.v4.runtime.misc.Interval;
 import org.antlr.v4.runtime.tree.ParseTree;
 import org.antlr.v4.runtime.tree.TerminalNode;
-import org.apache.shardingsphere.sql.parser.api.visitor.ASTNode;
+import org.apache.shardingsphere.sql.parser.api.ASTNode;
 import org.apache.shardingsphere.sql.parser.autogen.PostgreSQLStatementParser.AExprContext;
 import org.apache.shardingsphere.sql.parser.autogen.PostgreSQLStatementParser.AexprConstContext;
 import org.apache.shardingsphere.sql.parser.autogen.PostgreSQLStatementParser.AliasClauseContext;
diff --git a/sql-parser/dialect/postgresql/src/main/java/org/apache/shardingsphere/sql/parser/postgresql/visitor/type/PostgreSQLTCLStatementSQLVisitor.java b/sql-parser/dialect/postgresql/src/main/java/org/apache/shardingsphere/sql/parser/postgresql/visitor/statement/type/PostgreSQLTCLStatementSQLVisitor.java
similarity index 98%
rename from sql-parser/dialect/postgresql/src/main/java/org/apache/shardingsphere/sql/parser/postgresql/visitor/type/PostgreSQLTCLStatementSQLVisitor.java
rename to sql-parser/dialect/postgresql/src/main/java/org/apache/shardingsphere/sql/parser/postgresql/visitor/statement/type/PostgreSQLTCLStatementSQLVisitor.java
index b9a2c621154..803b8706d40 100644
--- a/sql-parser/dialect/postgresql/src/main/java/org/apache/shardingsphere/sql/parser/postgresql/visitor/type/PostgreSQLTCLStatementSQLVisitor.java
+++ b/sql-parser/dialect/postgresql/src/main/java/org/apache/shardingsphere/sql/parser/postgresql/visitor/statement/type/PostgreSQLTCLStatementSQLVisitor.java
@@ -15,10 +15,10 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.sql.parser.postgresql.visitor.type;
+package org.apache.shardingsphere.sql.parser.postgresql.visitor.statement.type;
 
-import org.apache.shardingsphere.sql.parser.api.visitor.ASTNode;
-import org.apache.shardingsphere.sql.parser.api.visitor.type.TCLSQLVisitor;
+import org.apache.shardingsphere.sql.parser.api.ASTNode;
+import org.apache.shardingsphere.sql.parser.api.visitor.statement.TCLSQLVisitor;
 import org.apache.shardingsphere.sql.parser.autogen.PostgreSQLStatementParser.AbortContext;
 import org.apache.shardingsphere.sql.parser.autogen.PostgreSQLStatementParser.BeginTransactionContext;
 import org.apache.shardingsphere.sql.parser.autogen.PostgreSQLStatementParser.CommitContext;
diff --git a/sql-parser/dialect/postgresql/src/main/resources/META-INF/services/org.apache.shardingsphere.sql.parser.spi.DatabaseTypedSQLParserFacade b/sql-parser/dialect/postgresql/src/main/resources/META-INF/services/org.apache.shardingsphere.sql.parser.spi.SQLDialectParserFacade
similarity index 100%
rename from sql-parser/dialect/postgresql/src/main/resources/META-INF/services/org.apache.shardingsphere.sql.parser.spi.DatabaseTypedSQLParserFacade
rename to sql-parser/dialect/postgresql/src/main/resources/META-INF/services/org.apache.shardingsphere.sql.parser.spi.SQLDialectParserFacade
diff --git a/sql-parser/dialect/mysql/src/main/resources/META-INF/services/org.apache.shardingsphere.sql.parser.api.format.SQLFormatVisitor b/sql-parser/dialect/postgresql/src/main/resources/META-INF/services/org.apache.shardingsphere.sql.parser.spi.SQLStatementVisitorFacade
similarity index 88%
copy from sql-parser/dialect/mysql/src/main/resources/META-INF/services/org.apache.shardingsphere.sql.parser.api.format.SQLFormatVisitor
copy to sql-parser/dialect/postgresql/src/main/resources/META-INF/services/org.apache.shardingsphere.sql.parser.spi.SQLStatementVisitorFacade
index 9f2f27a519b..fc16caafa3b 100644
--- a/sql-parser/dialect/mysql/src/main/resources/META-INF/services/org.apache.shardingsphere.sql.parser.api.format.SQLFormatVisitor
+++ b/sql-parser/dialect/postgresql/src/main/resources/META-INF/services/org.apache.shardingsphere.sql.parser.spi.SQLStatementVisitorFacade
@@ -15,4 +15,4 @@
 # limitations under the License.
 #
 
-org.apache.shardingsphere.sql.parser.mysql.format.MySQLFormatSQLVisitor
+org.apache.shardingsphere.sql.parser.postgresql.visitor.statement.PostgreSQLSQLStatementVisitorFacade
diff --git a/sql-parser/dialect/postgresql/src/main/resources/META-INF/services/org.apache.shardingsphere.sql.parser.spi.SQLVisitorFacade b/sql-parser/dialect/postgresql/src/main/resources/META-INF/services/org.apache.shardingsphere.sql.parser.spi.SQLVisitorFacade
deleted file mode 100644
index 712f4f72d06..00000000000
--- a/sql-parser/dialect/postgresql/src/main/resources/META-INF/services/org.apache.shardingsphere.sql.parser.spi.SQLVisitorFacade
+++ /dev/null
@@ -1,18 +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.
-#
-
-org.apache.shardingsphere.sql.parser.postgresql.visitor.facade.PostgreSQLSQLVisitorFacade
diff --git a/sql-parser/dialect/sql92/src/main/java/org/apache/shardingsphere/sql/parser/sql92/parser/SQL92Parser.java b/sql-parser/dialect/sql92/src/main/java/org/apache/shardingsphere/sql/parser/sql92/parser/SQL92Parser.java
index 4de383f56f3..0f880583a85 100644
--- a/sql-parser/dialect/sql92/src/main/java/org/apache/shardingsphere/sql/parser/sql92/parser/SQL92Parser.java
+++ b/sql-parser/dialect/sql92/src/main/java/org/apache/shardingsphere/sql/parser/sql92/parser/SQL92Parser.java
@@ -20,7 +20,7 @@ package org.apache.shardingsphere.sql.parser.sql92.parser;
 import org.antlr.v4.runtime.CommonTokenStream;
 import org.antlr.v4.runtime.TokenStream;
 import org.apache.shardingsphere.sql.parser.api.parser.SQLParser;
-import org.apache.shardingsphere.sql.parser.api.visitor.ASTNode;
+import org.apache.shardingsphere.sql.parser.api.ASTNode;
 import org.apache.shardingsphere.sql.parser.autogen.SQL92StatementParser;
 import org.apache.shardingsphere.sql.parser.core.ParseASTNode;
 
diff --git a/sql-parser/dialect/sql92/src/main/java/org/apache/shardingsphere/sql/parser/sql92/parser/SQL92ParserFacade.java b/sql-parser/dialect/sql92/src/main/java/org/apache/shardingsphere/sql/parser/sql92/parser/SQL92ParserFacade.java
index c6ee71ad2ca..bde60fca31a 100644
--- a/sql-parser/dialect/sql92/src/main/java/org/apache/shardingsphere/sql/parser/sql92/parser/SQL92ParserFacade.java
+++ b/sql-parser/dialect/sql92/src/main/java/org/apache/shardingsphere/sql/parser/sql92/parser/SQL92ParserFacade.java
@@ -19,12 +19,12 @@ package org.apache.shardingsphere.sql.parser.sql92.parser;
 
 import org.apache.shardingsphere.sql.parser.api.parser.SQLLexer;
 import org.apache.shardingsphere.sql.parser.api.parser.SQLParser;
-import org.apache.shardingsphere.sql.parser.spi.DatabaseTypedSQLParserFacade;
+import org.apache.shardingsphere.sql.parser.spi.SQLDialectParserFacade;
 
 /**
  * SQL parser facade for SQL92.
  */
-public final class SQL92ParserFacade implements DatabaseTypedSQLParserFacade {
+public final class SQL92ParserFacade implements SQLDialectParserFacade {
     
     @Override
     public Class<? extends SQLLexer> getLexerClass() {
diff --git a/sql-parser/dialect/sql92/src/main/java/org/apache/shardingsphere/sql/parser/sql92/visitor/facade/SQL92SQLVisitorFacade.java b/sql-parser/dialect/sql92/src/main/java/org/apache/shardingsphere/sql/parser/sql92/visitor/statement/SQL92SQLStatementVisitorFacade.java
similarity index 57%
rename from sql-parser/dialect/sql92/src/main/java/org/apache/shardingsphere/sql/parser/sql92/visitor/facade/SQL92SQLVisitorFacade.java
rename to sql-parser/dialect/sql92/src/main/java/org/apache/shardingsphere/sql/parser/sql92/visitor/statement/SQL92SQLStatementVisitorFacade.java
index 9dc3b3c419f..5b5068b9f1b 100644
--- a/sql-parser/dialect/sql92/src/main/java/org/apache/shardingsphere/sql/parser/sql92/visitor/facade/SQL92SQLVisitorFacade.java
+++ b/sql-parser/dialect/sql92/src/main/java/org/apache/shardingsphere/sql/parser/sql92/visitor/statement/SQL92SQLStatementVisitorFacade.java
@@ -15,25 +15,25 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.sql.parser.sql92.visitor.facade;
+package org.apache.shardingsphere.sql.parser.sql92.visitor.statement;
 
-import org.apache.shardingsphere.sql.parser.spi.SQLVisitorFacade;
-import org.apache.shardingsphere.sql.parser.api.visitor.type.DALSQLVisitor;
-import org.apache.shardingsphere.sql.parser.api.visitor.type.DCLSQLVisitor;
-import org.apache.shardingsphere.sql.parser.api.visitor.type.DDLSQLVisitor;
-import org.apache.shardingsphere.sql.parser.api.visitor.type.DMLSQLVisitor;
-import org.apache.shardingsphere.sql.parser.api.visitor.type.RLSQLVisitor;
-import org.apache.shardingsphere.sql.parser.api.visitor.type.TCLSQLVisitor;
-import org.apache.shardingsphere.sql.parser.sql92.visitor.type.SQL92DALStatementSQLVisitor;
-import org.apache.shardingsphere.sql.parser.sql92.visitor.type.SQL92DCLStatementSQLVisitor;
-import org.apache.shardingsphere.sql.parser.sql92.visitor.type.SQL92DDLStatementSQLVisitor;
-import org.apache.shardingsphere.sql.parser.sql92.visitor.type.SQL92DMLStatementSQLVisitor;
-import org.apache.shardingsphere.sql.parser.sql92.visitor.type.SQL92TCLStatementSQLVisitor;
+import org.apache.shardingsphere.sql.parser.spi.SQLStatementVisitorFacade;
+import org.apache.shardingsphere.sql.parser.api.visitor.statement.DALSQLVisitor;
+import org.apache.shardingsphere.sql.parser.api.visitor.statement.DCLSQLVisitor;
+import org.apache.shardingsphere.sql.parser.api.visitor.statement.DDLSQLVisitor;
+import org.apache.shardingsphere.sql.parser.api.visitor.statement.DMLSQLVisitor;
+import org.apache.shardingsphere.sql.parser.api.visitor.statement.RLSQLVisitor;
+import org.apache.shardingsphere.sql.parser.api.visitor.statement.TCLSQLVisitor;
+import org.apache.shardingsphere.sql.parser.sql92.visitor.statement.type.SQL92DALStatementSQLVisitor;
+import org.apache.shardingsphere.sql.parser.sql92.visitor.statement.type.SQL92DCLStatementSQLVisitor;
+import org.apache.shardingsphere.sql.parser.sql92.visitor.statement.type.SQL92DDLStatementSQLVisitor;
+import org.apache.shardingsphere.sql.parser.sql92.visitor.statement.type.SQL92DMLStatementSQLVisitor;
+import org.apache.shardingsphere.sql.parser.sql92.visitor.statement.type.SQL92TCLStatementSQLVisitor;
 
 /**
- * SQL visitor facade for SQL92.
+ * SQL statement visitor facade for SQL92.
  */
-public final class SQL92SQLVisitorFacade implements SQLVisitorFacade {
+public final class SQL92SQLStatementVisitorFacade implements SQLStatementVisitorFacade {
     
     @Override
     public Class<? extends DMLSQLVisitor> getDMLVisitorClass() {
diff --git a/sql-parser/dialect/sql92/src/main/java/org/apache/shardingsphere/sql/parser/sql92/visitor/type/SQL92DALStatementSQLVisitor.java b/sql-parser/dialect/sql92/src/main/java/org/apache/shardingsphere/sql/parser/sql92/visitor/statement/type/SQL92DALStatementSQLVisitor.java
similarity index 86%
rename from sql-parser/dialect/sql92/src/main/java/org/apache/shardingsphere/sql/parser/sql92/visitor/type/SQL92DALStatementSQLVisitor.java
rename to sql-parser/dialect/sql92/src/main/java/org/apache/shardingsphere/sql/parser/sql92/visitor/statement/type/SQL92DALStatementSQLVisitor.java
index 2a525b72a4e..35deb977417 100644
--- a/sql-parser/dialect/sql92/src/main/java/org/apache/shardingsphere/sql/parser/sql92/visitor/type/SQL92DALStatementSQLVisitor.java
+++ b/sql-parser/dialect/sql92/src/main/java/org/apache/shardingsphere/sql/parser/sql92/visitor/statement/type/SQL92DALStatementSQLVisitor.java
@@ -15,9 +15,9 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.sql.parser.sql92.visitor.type;
+package org.apache.shardingsphere.sql.parser.sql92.visitor.statement.type;
 
-import org.apache.shardingsphere.sql.parser.api.visitor.type.DALSQLVisitor;
+import org.apache.shardingsphere.sql.parser.api.visitor.statement.DALSQLVisitor;
 
 /**
  * DAL Statement SQL visitor for SQL92.
diff --git a/sql-parser/dialect/sql92/src/main/java/org/apache/shardingsphere/sql/parser/sql92/visitor/type/SQL92DCLStatementSQLVisitor.java b/sql-parser/dialect/sql92/src/main/java/org/apache/shardingsphere/sql/parser/sql92/visitor/statement/type/SQL92DCLStatementSQLVisitor.java
similarity index 92%
rename from sql-parser/dialect/sql92/src/main/java/org/apache/shardingsphere/sql/parser/sql92/visitor/type/SQL92DCLStatementSQLVisitor.java
rename to sql-parser/dialect/sql92/src/main/java/org/apache/shardingsphere/sql/parser/sql92/visitor/statement/type/SQL92DCLStatementSQLVisitor.java
index 92594969f61..1702fd1ee0d 100644
--- a/sql-parser/dialect/sql92/src/main/java/org/apache/shardingsphere/sql/parser/sql92/visitor/type/SQL92DCLStatementSQLVisitor.java
+++ b/sql-parser/dialect/sql92/src/main/java/org/apache/shardingsphere/sql/parser/sql92/visitor/statement/type/SQL92DCLStatementSQLVisitor.java
@@ -15,10 +15,10 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.sql.parser.sql92.visitor.type;
+package org.apache.shardingsphere.sql.parser.sql92.visitor.statement.type;
 
-import org.apache.shardingsphere.sql.parser.api.visitor.ASTNode;
-import org.apache.shardingsphere.sql.parser.api.visitor.type.DCLSQLVisitor;
+import org.apache.shardingsphere.sql.parser.api.ASTNode;
+import org.apache.shardingsphere.sql.parser.api.visitor.statement.DCLSQLVisitor;
 import org.apache.shardingsphere.sql.parser.autogen.SQL92StatementParser.GrantContext;
 import org.apache.shardingsphere.sql.parser.autogen.SQL92StatementParser.PrivilegeClauseContext;
 import org.apache.shardingsphere.sql.parser.autogen.SQL92StatementParser.RevokeContext;
diff --git a/sql-parser/dialect/sql92/src/main/java/org/apache/shardingsphere/sql/parser/sql92/visitor/type/SQL92DDLStatementSQLVisitor.java b/sql-parser/dialect/sql92/src/main/java/org/apache/shardingsphere/sql/parser/sql92/visitor/statement/type/SQL92DDLStatementSQLVisitor.java
similarity index 98%
rename from sql-parser/dialect/sql92/src/main/java/org/apache/shardingsphere/sql/parser/sql92/visitor/type/SQL92DDLStatementSQLVisitor.java
rename to sql-parser/dialect/sql92/src/main/java/org/apache/shardingsphere/sql/parser/sql92/visitor/statement/type/SQL92DDLStatementSQLVisitor.java
index 3cb9be6726a..7595cd27bc7 100644
--- a/sql-parser/dialect/sql92/src/main/java/org/apache/shardingsphere/sql/parser/sql92/visitor/type/SQL92DDLStatementSQLVisitor.java
+++ b/sql-parser/dialect/sql92/src/main/java/org/apache/shardingsphere/sql/parser/sql92/visitor/statement/type/SQL92DDLStatementSQLVisitor.java
@@ -15,10 +15,10 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.sql.parser.sql92.visitor.type;
+package org.apache.shardingsphere.sql.parser.sql92.visitor.statement.type;
 
-import org.apache.shardingsphere.sql.parser.api.visitor.ASTNode;
-import org.apache.shardingsphere.sql.parser.api.visitor.type.DDLSQLVisitor;
+import org.apache.shardingsphere.sql.parser.api.ASTNode;
+import org.apache.shardingsphere.sql.parser.api.visitor.statement.DDLSQLVisitor;
 import org.apache.shardingsphere.sql.parser.autogen.SQL92StatementParser.AddColumnSpecificationContext;
 import org.apache.shardingsphere.sql.parser.autogen.SQL92StatementParser.AddConstraintSpecificationContext;
 import org.apache.shardingsphere.sql.parser.autogen.SQL92StatementParser.AlterDefinitionClauseContext;
diff --git a/sql-parser/dialect/sql92/src/main/java/org/apache/shardingsphere/sql/parser/sql92/visitor/type/SQL92DMLStatementSQLVisitor.java b/sql-parser/dialect/sql92/src/main/java/org/apache/shardingsphere/sql/parser/sql92/visitor/statement/type/SQL92DMLStatementSQLVisitor.java
similarity index 99%
rename from sql-parser/dialect/sql92/src/main/java/org/apache/shardingsphere/sql/parser/sql92/visitor/type/SQL92DMLStatementSQLVisitor.java
rename to sql-parser/dialect/sql92/src/main/java/org/apache/shardingsphere/sql/parser/sql92/visitor/statement/type/SQL92DMLStatementSQLVisitor.java
index 774805ec465..2bdc97f836f 100644
--- a/sql-parser/dialect/sql92/src/main/java/org/apache/shardingsphere/sql/parser/sql92/visitor/type/SQL92DMLStatementSQLVisitor.java
+++ b/sql-parser/dialect/sql92/src/main/java/org/apache/shardingsphere/sql/parser/sql92/visitor/statement/type/SQL92DMLStatementSQLVisitor.java
@@ -15,11 +15,11 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.sql.parser.sql92.visitor.type;
+package org.apache.shardingsphere.sql.parser.sql92.visitor.statement.type;
 
 import org.antlr.v4.runtime.misc.Interval;
-import org.apache.shardingsphere.sql.parser.api.visitor.ASTNode;
-import org.apache.shardingsphere.sql.parser.api.visitor.type.DMLSQLVisitor;
+import org.apache.shardingsphere.sql.parser.api.ASTNode;
+import org.apache.shardingsphere.sql.parser.api.visitor.statement.DMLSQLVisitor;
 import org.apache.shardingsphere.sql.parser.autogen.SQL92StatementParser.AliasContext;
 import org.apache.shardingsphere.sql.parser.autogen.SQL92StatementParser.AssignmentContext;
 import org.apache.shardingsphere.sql.parser.autogen.SQL92StatementParser.AssignmentValueContext;
diff --git a/sql-parser/dialect/sql92/src/main/java/org/apache/shardingsphere/sql/parser/sql92/visitor/type/SQL92StatementSQLVisitor.java b/sql-parser/dialect/sql92/src/main/java/org/apache/shardingsphere/sql/parser/sql92/visitor/statement/type/SQL92StatementSQLVisitor.java
similarity index 99%
rename from sql-parser/dialect/sql92/src/main/java/org/apache/shardingsphere/sql/parser/sql92/visitor/type/SQL92StatementSQLVisitor.java
rename to sql-parser/dialect/sql92/src/main/java/org/apache/shardingsphere/sql/parser/sql92/visitor/statement/type/SQL92StatementSQLVisitor.java
index 0c4a7d6e7dc..f023896c321 100644
--- a/sql-parser/dialect/sql92/src/main/java/org/apache/shardingsphere/sql/parser/sql92/visitor/type/SQL92StatementSQLVisitor.java
+++ b/sql-parser/dialect/sql92/src/main/java/org/apache/shardingsphere/sql/parser/sql92/visitor/statement/type/SQL92StatementSQLVisitor.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.sql.parser.sql92.visitor.type;
+package org.apache.shardingsphere.sql.parser.sql92.visitor.statement.type;
 
 import lombok.AccessLevel;
 import lombok.Getter;
@@ -23,7 +23,7 @@ import org.antlr.v4.runtime.ParserRuleContext;
 import org.antlr.v4.runtime.Token;
 import org.antlr.v4.runtime.misc.Interval;
 import org.antlr.v4.runtime.tree.TerminalNode;
-import org.apache.shardingsphere.sql.parser.api.visitor.ASTNode;
+import org.apache.shardingsphere.sql.parser.api.ASTNode;
 import org.apache.shardingsphere.sql.parser.autogen.SQL92StatementBaseVisitor;
 import org.apache.shardingsphere.sql.parser.autogen.SQL92StatementParser.AggregationFunctionContext;
 import org.apache.shardingsphere.sql.parser.autogen.SQL92StatementParser.BitExprContext;
diff --git a/sql-parser/dialect/sql92/src/main/java/org/apache/shardingsphere/sql/parser/sql92/visitor/type/SQL92TCLStatementSQLVisitor.java b/sql-parser/dialect/sql92/src/main/java/org/apache/shardingsphere/sql/parser/sql92/visitor/statement/type/SQL92TCLStatementSQLVisitor.java
similarity index 90%
rename from sql-parser/dialect/sql92/src/main/java/org/apache/shardingsphere/sql/parser/sql92/visitor/type/SQL92TCLStatementSQLVisitor.java
rename to sql-parser/dialect/sql92/src/main/java/org/apache/shardingsphere/sql/parser/sql92/visitor/statement/type/SQL92TCLStatementSQLVisitor.java
index 03585b08a30..15e94d08125 100644
--- a/sql-parser/dialect/sql92/src/main/java/org/apache/shardingsphere/sql/parser/sql92/visitor/type/SQL92TCLStatementSQLVisitor.java
+++ b/sql-parser/dialect/sql92/src/main/java/org/apache/shardingsphere/sql/parser/sql92/visitor/statement/type/SQL92TCLStatementSQLVisitor.java
@@ -15,10 +15,10 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.sql.parser.sql92.visitor.type;
+package org.apache.shardingsphere.sql.parser.sql92.visitor.statement.type;
 
-import org.apache.shardingsphere.sql.parser.api.visitor.ASTNode;
-import org.apache.shardingsphere.sql.parser.api.visitor.type.TCLSQLVisitor;
+import org.apache.shardingsphere.sql.parser.api.ASTNode;
+import org.apache.shardingsphere.sql.parser.api.visitor.statement.TCLSQLVisitor;
 import org.apache.shardingsphere.sql.parser.autogen.SQL92StatementParser.CommitContext;
 import org.apache.shardingsphere.sql.parser.autogen.SQL92StatementParser.RollbackContext;
 import org.apache.shardingsphere.sql.parser.autogen.SQL92StatementParser.SetTransactionContext;
diff --git a/sql-parser/dialect/sql92/src/main/resources/META-INF/services/org.apache.shardingsphere.sql.parser.spi.DatabaseTypedSQLParserFacade b/sql-parser/dialect/sql92/src/main/resources/META-INF/services/org.apache.shardingsphere.sql.parser.spi.SQLDialectParserFacade
similarity index 100%
rename from sql-parser/dialect/sql92/src/main/resources/META-INF/services/org.apache.shardingsphere.sql.parser.spi.DatabaseTypedSQLParserFacade
rename to sql-parser/dialect/sql92/src/main/resources/META-INF/services/org.apache.shardingsphere.sql.parser.spi.SQLDialectParserFacade
diff --git a/sql-parser/dialect/mysql/src/main/resources/META-INF/services/org.apache.shardingsphere.sql.parser.api.format.SQLFormatVisitor b/sql-parser/dialect/sql92/src/main/resources/META-INF/services/org.apache.shardingsphere.sql.parser.spi.SQLStatementVisitorFacade
similarity index 89%
copy from sql-parser/dialect/mysql/src/main/resources/META-INF/services/org.apache.shardingsphere.sql.parser.api.format.SQLFormatVisitor
copy to sql-parser/dialect/sql92/src/main/resources/META-INF/services/org.apache.shardingsphere.sql.parser.spi.SQLStatementVisitorFacade
index 9f2f27a519b..91f60c4b0cc 100644
--- a/sql-parser/dialect/mysql/src/main/resources/META-INF/services/org.apache.shardingsphere.sql.parser.api.format.SQLFormatVisitor
+++ b/sql-parser/dialect/sql92/src/main/resources/META-INF/services/org.apache.shardingsphere.sql.parser.spi.SQLStatementVisitorFacade
@@ -15,4 +15,4 @@
 # limitations under the License.
 #
 
-org.apache.shardingsphere.sql.parser.mysql.format.MySQLFormatSQLVisitor
+org.apache.shardingsphere.sql.parser.sql92.visitor.statement.SQL92SQLStatementVisitorFacade
diff --git a/sql-parser/dialect/sql92/src/main/resources/META-INF/services/org.apache.shardingsphere.sql.parser.spi.SQLVisitorFacade b/sql-parser/dialect/sql92/src/main/resources/META-INF/services/org.apache.shardingsphere.sql.parser.spi.SQLVisitorFacade
deleted file mode 100644
index 91d2a6fb1eb..00000000000
--- a/sql-parser/dialect/sql92/src/main/resources/META-INF/services/org.apache.shardingsphere.sql.parser.spi.SQLVisitorFacade
+++ /dev/null
@@ -1,18 +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.
-#
-
-org.apache.shardingsphere.sql.parser.sql92.visitor.facade.SQL92SQLVisitorFacade
diff --git a/sql-parser/dialect/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/sqlserver/parser/SQLServerParser.java b/sql-parser/dialect/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/sqlserver/parser/SQLServerParser.java
index 7bfbdbc678f..90894d59ea7 100644
--- a/sql-parser/dialect/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/sqlserver/parser/SQLServerParser.java
+++ b/sql-parser/dialect/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/sqlserver/parser/SQLServerParser.java
@@ -20,7 +20,7 @@ package org.apache.shardingsphere.sql.parser.sqlserver.parser;
 import org.antlr.v4.runtime.CommonTokenStream;
 import org.antlr.v4.runtime.TokenStream;
 import org.apache.shardingsphere.sql.parser.api.parser.SQLParser;
-import org.apache.shardingsphere.sql.parser.api.visitor.ASTNode;
+import org.apache.shardingsphere.sql.parser.api.ASTNode;
 import org.apache.shardingsphere.sql.parser.autogen.SQLServerStatementParser;
 import org.apache.shardingsphere.sql.parser.core.ParseASTNode;
 
diff --git a/sql-parser/dialect/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/sqlserver/parser/SQLServerParserFacade.java b/sql-parser/dialect/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/sqlserver/parser/SQLServerParserFacade.java
index dfe96805980..74fc01873f0 100644
--- a/sql-parser/dialect/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/sqlserver/parser/SQLServerParserFacade.java
+++ b/sql-parser/dialect/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/sqlserver/parser/SQLServerParserFacade.java
@@ -19,12 +19,12 @@ package org.apache.shardingsphere.sql.parser.sqlserver.parser;
 
 import org.apache.shardingsphere.sql.parser.api.parser.SQLLexer;
 import org.apache.shardingsphere.sql.parser.api.parser.SQLParser;
-import org.apache.shardingsphere.sql.parser.spi.DatabaseTypedSQLParserFacade;
+import org.apache.shardingsphere.sql.parser.spi.SQLDialectParserFacade;
 
 /**
  * SQL parser facade for SQLServer.
  */
-public final class SQLServerParserFacade implements DatabaseTypedSQLParserFacade {
+public final class SQLServerParserFacade implements SQLDialectParserFacade {
     
     @Override
     public Class<? extends SQLLexer> getLexerClass() {
diff --git a/sql-parser/dialect/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/sqlserver/visitor/facade/SQLServerSQLVisitorFacade.java b/sql-parser/dialect/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/sqlserver/visitor/statement/SQLServerSQLStatementVisitorFacade.java
similarity index 56%
rename from sql-parser/dialect/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/sqlserver/visitor/facade/SQLServerSQLVisitorFacade.java
rename to sql-parser/dialect/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/sqlserver/visitor/statement/SQLServerSQLStatementVisitorFacade.java
index adea52159f3..0392c8f51e6 100644
--- a/sql-parser/dialect/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/sqlserver/visitor/facade/SQLServerSQLVisitorFacade.java
+++ b/sql-parser/dialect/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/sqlserver/visitor/statement/SQLServerSQLStatementVisitorFacade.java
@@ -15,25 +15,25 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.sql.parser.sqlserver.visitor.facade;
+package org.apache.shardingsphere.sql.parser.sqlserver.visitor.statement;
 
-import org.apache.shardingsphere.sql.parser.spi.SQLVisitorFacade;
-import org.apache.shardingsphere.sql.parser.api.visitor.type.DALSQLVisitor;
-import org.apache.shardingsphere.sql.parser.api.visitor.type.DCLSQLVisitor;
-import org.apache.shardingsphere.sql.parser.api.visitor.type.DDLSQLVisitor;
-import org.apache.shardingsphere.sql.parser.api.visitor.type.DMLSQLVisitor;
-import org.apache.shardingsphere.sql.parser.api.visitor.type.RLSQLVisitor;
-import org.apache.shardingsphere.sql.parser.api.visitor.type.TCLSQLVisitor;
-import org.apache.shardingsphere.sql.parser.sqlserver.visitor.type.SQLServerDALStatementSQLVisitor;
-import org.apache.shardingsphere.sql.parser.sqlserver.visitor.type.SQLServerDCLStatementSQLVisitor;
-import org.apache.shardingsphere.sql.parser.sqlserver.visitor.type.SQLServerDDLStatementSQLVisitor;
-import org.apache.shardingsphere.sql.parser.sqlserver.visitor.type.SQLServerDMLStatementSQLVisitor;
-import org.apache.shardingsphere.sql.parser.sqlserver.visitor.type.SQLServerTCLStatementSQLVisitor;
+import org.apache.shardingsphere.sql.parser.spi.SQLStatementVisitorFacade;
+import org.apache.shardingsphere.sql.parser.api.visitor.statement.DALSQLVisitor;
+import org.apache.shardingsphere.sql.parser.api.visitor.statement.DCLSQLVisitor;
+import org.apache.shardingsphere.sql.parser.api.visitor.statement.DDLSQLVisitor;
+import org.apache.shardingsphere.sql.parser.api.visitor.statement.DMLSQLVisitor;
+import org.apache.shardingsphere.sql.parser.api.visitor.statement.RLSQLVisitor;
+import org.apache.shardingsphere.sql.parser.api.visitor.statement.TCLSQLVisitor;
+import org.apache.shardingsphere.sql.parser.sqlserver.visitor.statement.type.SQLServerDALStatementSQLVisitor;
+import org.apache.shardingsphere.sql.parser.sqlserver.visitor.statement.type.SQLServerDCLStatementSQLVisitor;
+import org.apache.shardingsphere.sql.parser.sqlserver.visitor.statement.type.SQLServerDDLStatementSQLVisitor;
+import org.apache.shardingsphere.sql.parser.sqlserver.visitor.statement.type.SQLServerDMLStatementSQLVisitor;
+import org.apache.shardingsphere.sql.parser.sqlserver.visitor.statement.type.SQLServerTCLStatementSQLVisitor;
 
 /**
- * SQL visitor facade for SQLServer.
+ * SQL statement visitor facade for SQLServer.
  */
-public final class SQLServerSQLVisitorFacade implements SQLVisitorFacade {
+public final class SQLServerSQLStatementVisitorFacade implements SQLStatementVisitorFacade {
     
     @Override
     public Class<? extends DMLSQLVisitor> getDMLVisitorClass() {
diff --git a/sql-parser/dialect/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/sqlserver/visitor/type/SQLServerDALStatementSQLVisitor.java b/sql-parser/dialect/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/sqlserver/visitor/statement/type/SQLServerDALStatementSQLVisitor.java
similarity index 90%
rename from sql-parser/dialect/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/sqlserver/visitor/type/SQLServerDALStatementSQLVisitor.java
rename to sql-parser/dialect/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/sqlserver/visitor/statement/type/SQLServerDALStatementSQLVisitor.java
index 463ccace03a..5a6925f6e3b 100644
--- a/sql-parser/dialect/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/sqlserver/visitor/type/SQLServerDALStatementSQLVisitor.java
+++ b/sql-parser/dialect/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/sqlserver/visitor/statement/type/SQLServerDALStatementSQLVisitor.java
@@ -15,10 +15,10 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.sql.parser.sqlserver.visitor.type;
+package org.apache.shardingsphere.sql.parser.sqlserver.visitor.statement.type;
 
-import org.apache.shardingsphere.sql.parser.api.visitor.ASTNode;
-import org.apache.shardingsphere.sql.parser.api.visitor.type.DALSQLVisitor;
+import org.apache.shardingsphere.sql.parser.api.ASTNode;
+import org.apache.shardingsphere.sql.parser.api.visitor.statement.DALSQLVisitor;
 import org.apache.shardingsphere.sql.parser.autogen.SQLServerStatementParser.ExplainContext;
 import org.apache.shardingsphere.sql.parser.autogen.SQLServerStatementParser.ExplainableStatementContext;
 import org.apache.shardingsphere.sql.parser.sql.common.statement.SQLStatement;
diff --git a/sql-parser/dialect/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/sqlserver/visitor/type/SQLServerDCLStatementSQLVisitor.java b/sql-parser/dialect/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/sqlserver/visitor/statement/type/SQLServerDCLStatementSQLVisitor.java
similarity index 98%
rename from sql-parser/dialect/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/sqlserver/visitor/type/SQLServerDCLStatementSQLVisitor.java
rename to sql-parser/dialect/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/sqlserver/visitor/statement/type/SQLServerDCLStatementSQLVisitor.java
index 80fbd9f4474..583180afc67 100644
--- a/sql-parser/dialect/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/sqlserver/visitor/type/SQLServerDCLStatementSQLVisitor.java
+++ b/sql-parser/dialect/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/sqlserver/visitor/statement/type/SQLServerDCLStatementSQLVisitor.java
@@ -15,10 +15,10 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.sql.parser.sqlserver.visitor.type;
+package org.apache.shardingsphere.sql.parser.sqlserver.visitor.statement.type;
 
-import org.apache.shardingsphere.sql.parser.api.visitor.ASTNode;
-import org.apache.shardingsphere.sql.parser.api.visitor.type.DCLSQLVisitor;
+import org.apache.shardingsphere.sql.parser.api.ASTNode;
+import org.apache.shardingsphere.sql.parser.api.visitor.statement.DCLSQLVisitor;
 import org.apache.shardingsphere.sql.parser.autogen.SQLServerStatementParser.AlterLoginContext;
 import org.apache.shardingsphere.sql.parser.autogen.SQLServerStatementParser.AlterRoleContext;
 import org.apache.shardingsphere.sql.parser.autogen.SQLServerStatementParser.AlterUserContext;
diff --git a/sql-parser/dialect/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/sqlserver/visitor/type/SQLServerDDLStatementSQLVisitor.java b/sql-parser/dialect/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/sqlserver/visitor/statement/type/SQLServerDDLStatementSQLVisitor.java
similarity index 99%
rename from sql-parser/dialect/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/sqlserver/visitor/type/SQLServerDDLStatementSQLVisitor.java
rename to sql-parser/dialect/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/sqlserver/visitor/statement/type/SQLServerDDLStatementSQLVisitor.java
index 4b5d31e7645..edca0380459 100644
--- a/sql-parser/dialect/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/sqlserver/visitor/type/SQLServerDDLStatementSQLVisitor.java
+++ b/sql-parser/dialect/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/sqlserver/visitor/statement/type/SQLServerDDLStatementSQLVisitor.java
@@ -15,10 +15,10 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.sql.parser.sqlserver.visitor.type;
+package org.apache.shardingsphere.sql.parser.sqlserver.visitor.statement.type;
 
-import org.apache.shardingsphere.sql.parser.api.visitor.ASTNode;
-import org.apache.shardingsphere.sql.parser.api.visitor.type.DDLSQLVisitor;
+import org.apache.shardingsphere.sql.parser.api.ASTNode;
+import org.apache.shardingsphere.sql.parser.api.visitor.statement.DDLSQLVisitor;
 import org.apache.shardingsphere.sql.parser.autogen.SQLServerStatementParser.AddColumnSpecificationContext;
 import org.apache.shardingsphere.sql.parser.autogen.SQLServerStatementParser.AlterCheckConstraintContext;
 import org.apache.shardingsphere.sql.parser.autogen.SQLServerStatementParser.AlterColumnAddOptionContext;
diff --git a/sql-parser/dialect/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/sqlserver/visitor/type/SQLServerDMLStatementSQLVisitor.java b/sql-parser/dialect/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/sqlserver/visitor/statement/type/SQLServerDMLStatementSQLVisitor.java
similarity index 85%
rename from sql-parser/dialect/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/sqlserver/visitor/type/SQLServerDMLStatementSQLVisitor.java
rename to sql-parser/dialect/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/sqlserver/visitor/statement/type/SQLServerDMLStatementSQLVisitor.java
index 5d6edc0a5bc..afab78b4711 100644
--- a/sql-parser/dialect/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/sqlserver/visitor/type/SQLServerDMLStatementSQLVisitor.java
+++ b/sql-parser/dialect/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/sqlserver/visitor/statement/type/SQLServerDMLStatementSQLVisitor.java
@@ -15,9 +15,9 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.sql.parser.sqlserver.visitor.type;
+package org.apache.shardingsphere.sql.parser.sqlserver.visitor.statement.type;
 
-import org.apache.shardingsphere.sql.parser.api.visitor.type.DMLSQLVisitor;
+import org.apache.shardingsphere.sql.parser.api.visitor.statement.DMLSQLVisitor;
 
 /**
  * DML Statement SQL visitor for SQLServer.
diff --git a/sql-parser/dialect/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/sqlserver/visitor/type/SQLServerStatementSQLVisitor.java b/sql-parser/dialect/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/sqlserver/visitor/statement/type/SQLServerStatementSQLVisitor.java
similarity index 99%
rename from sql-parser/dialect/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/sqlserver/visitor/type/SQLServerStatementSQLVisitor.java
rename to sql-parser/dialect/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/sqlserver/visitor/statement/type/SQLServerStatementSQLVisitor.java
index 9b1f0c3520c..58b3e91eb70 100644
--- a/sql-parser/dialect/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/sqlserver/visitor/type/SQLServerStatementSQLVisitor.java
+++ b/sql-parser/dialect/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/sqlserver/visitor/statement/type/SQLServerStatementSQLVisitor.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.sql.parser.sqlserver.visitor.type;
+package org.apache.shardingsphere.sql.parser.sqlserver.visitor.statement.type;
 
 import lombok.AccessLevel;
 import lombok.Getter;
@@ -23,7 +23,7 @@ import org.antlr.v4.runtime.ParserRuleContext;
 import org.antlr.v4.runtime.Token;
 import org.antlr.v4.runtime.misc.Interval;
 import org.antlr.v4.runtime.tree.TerminalNode;
-import org.apache.shardingsphere.sql.parser.api.visitor.ASTNode;
+import org.apache.shardingsphere.sql.parser.api.ASTNode;
 import org.apache.shardingsphere.sql.parser.autogen.SQLServerStatementBaseVisitor;
 import org.apache.shardingsphere.sql.parser.autogen.SQLServerStatementParser.AggregationClauseContext;
 import org.apache.shardingsphere.sql.parser.autogen.SQLServerStatementParser.AggregationFunctionContext;
diff --git a/sql-parser/dialect/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/sqlserver/visitor/type/SQLServerTCLStatementSQLVisitor.java b/sql-parser/dialect/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/sqlserver/visitor/statement/type/SQLServerTCLStatementSQLVisitor.java
similarity index 96%
rename from sql-parser/dialect/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/sqlserver/visitor/type/SQLServerTCLStatementSQLVisitor.java
rename to sql-parser/dialect/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/sqlserver/visitor/statement/type/SQLServerTCLStatementSQLVisitor.java
index b9d98b23b50..59597880f83 100644
--- a/sql-parser/dialect/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/sqlserver/visitor/type/SQLServerTCLStatementSQLVisitor.java
+++ b/sql-parser/dialect/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/sqlserver/visitor/statement/type/SQLServerTCLStatementSQLVisitor.java
@@ -15,10 +15,10 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.sql.parser.sqlserver.visitor.type;
+package org.apache.shardingsphere.sql.parser.sqlserver.visitor.statement.type;
 
-import org.apache.shardingsphere.sql.parser.api.visitor.ASTNode;
-import org.apache.shardingsphere.sql.parser.api.visitor.type.TCLSQLVisitor;
+import org.apache.shardingsphere.sql.parser.api.ASTNode;
+import org.apache.shardingsphere.sql.parser.api.visitor.statement.TCLSQLVisitor;
 import org.apache.shardingsphere.sql.parser.autogen.SQLServerStatementParser.BeginDistributedTransactionContext;
 import org.apache.shardingsphere.sql.parser.autogen.SQLServerStatementParser.BeginTransactionContext;
 import org.apache.shardingsphere.sql.parser.autogen.SQLServerStatementParser.CommitContext;
diff --git a/sql-parser/dialect/sqlserver/src/main/resources/META-INF/services/org.apache.shardingsphere.sql.parser.spi.DatabaseTypedSQLParserFacade b/sql-parser/dialect/sqlserver/src/main/resources/META-INF/services/org.apache.shardingsphere.sql.parser.spi.SQLDialectParserFacade
similarity index 100%
rename from sql-parser/dialect/sqlserver/src/main/resources/META-INF/services/org.apache.shardingsphere.sql.parser.spi.DatabaseTypedSQLParserFacade
rename to sql-parser/dialect/sqlserver/src/main/resources/META-INF/services/org.apache.shardingsphere.sql.parser.spi.SQLDialectParserFacade
diff --git a/sql-parser/dialect/mysql/src/main/resources/META-INF/services/org.apache.shardingsphere.sql.parser.api.format.SQLFormatVisitor b/sql-parser/dialect/sqlserver/src/main/resources/META-INF/services/org.apache.shardingsphere.sql.parser.spi.SQLStatementVisitorFacade
similarity index 88%
copy from sql-parser/dialect/mysql/src/main/resources/META-INF/services/org.apache.shardingsphere.sql.parser.api.format.SQLFormatVisitor
copy to sql-parser/dialect/sqlserver/src/main/resources/META-INF/services/org.apache.shardingsphere.sql.parser.spi.SQLStatementVisitorFacade
index 9f2f27a519b..f2926ab6e65 100644
--- a/sql-parser/dialect/mysql/src/main/resources/META-INF/services/org.apache.shardingsphere.sql.parser.api.format.SQLFormatVisitor
+++ b/sql-parser/dialect/sqlserver/src/main/resources/META-INF/services/org.apache.shardingsphere.sql.parser.spi.SQLStatementVisitorFacade
@@ -15,4 +15,4 @@
 # limitations under the License.
 #
 
-org.apache.shardingsphere.sql.parser.mysql.format.MySQLFormatSQLVisitor
+org.apache.shardingsphere.sql.parser.sqlserver.visitor.statement.SQLServerSQLStatementVisitorFacade
diff --git a/sql-parser/dialect/sqlserver/src/main/resources/META-INF/services/org.apache.shardingsphere.sql.parser.spi.SQLVisitorFacade b/sql-parser/dialect/sqlserver/src/main/resources/META-INF/services/org.apache.shardingsphere.sql.parser.spi.SQLVisitorFacade
deleted file mode 100644
index 9bd079531ff..00000000000
--- a/sql-parser/dialect/sqlserver/src/main/resources/META-INF/services/org.apache.shardingsphere.sql.parser.spi.SQLVisitorFacade
+++ /dev/null
@@ -1,18 +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.
-#
-
-org.apache.shardingsphere.sql.parser.sqlserver.visitor.facade.SQLServerSQLVisitorFacade
diff --git a/sql-parser/engine/src/main/java/org/apache/shardingsphere/sql/parser/api/SQLFormatEngine.java b/sql-parser/engine/src/main/java/org/apache/shardingsphere/sql/parser/api/SQLFormatEngine.java
index 4df37dd8443..0d2aa6b0f49 100644
--- a/sql-parser/engine/src/main/java/org/apache/shardingsphere/sql/parser/api/SQLFormatEngine.java
+++ b/sql-parser/engine/src/main/java/org/apache/shardingsphere/sql/parser/api/SQLFormatEngine.java
@@ -21,7 +21,7 @@ import lombok.RequiredArgsConstructor;
 import org.antlr.v4.runtime.tree.ParseTree;
 import org.antlr.v4.runtime.tree.ParseTreeVisitor;
 import org.apache.shardingsphere.infra.util.spi.type.typed.TypedSPILoader;
-import org.apache.shardingsphere.sql.parser.api.format.SQLFormatVisitor;
+import org.apache.shardingsphere.sql.parser.api.visitor.format.SQLFormatVisitor;
 
 import java.util.Properties;
 
diff --git a/sql-parser/engine/src/main/java/org/apache/shardingsphere/sql/parser/api/SQLVisitorEngine.java b/sql-parser/engine/src/main/java/org/apache/shardingsphere/sql/parser/api/SQLStatementVisitorEngine.java
similarity index 89%
rename from sql-parser/engine/src/main/java/org/apache/shardingsphere/sql/parser/api/SQLVisitorEngine.java
rename to sql-parser/engine/src/main/java/org/apache/shardingsphere/sql/parser/api/SQLStatementVisitorEngine.java
index b27fc45fa07..40a0bc5d23d 100644
--- a/sql-parser/engine/src/main/java/org/apache/shardingsphere/sql/parser/api/SQLVisitorEngine.java
+++ b/sql-parser/engine/src/main/java/org/apache/shardingsphere/sql/parser/api/SQLStatementVisitorEngine.java
@@ -21,16 +21,16 @@ import lombok.RequiredArgsConstructor;
 import org.antlr.v4.runtime.Token;
 import org.antlr.v4.runtime.tree.ParseTreeVisitor;
 import org.apache.shardingsphere.sql.parser.core.ParseASTNode;
-import org.apache.shardingsphere.sql.parser.core.database.visitor.SQLVisitorFactory;
+import org.apache.shardingsphere.sql.parser.core.database.visitor.SQLStatementVisitorFactory;
 import org.apache.shardingsphere.sql.parser.core.database.visitor.SQLVisitorRule;
 import org.apache.shardingsphere.sql.parser.sql.common.segment.generic.CommentSegment;
 import org.apache.shardingsphere.sql.parser.sql.common.statement.AbstractSQLStatement;
 
 /**
- * SQL visitor engine.
+ * SQL statement visitor engine.
  */
 @RequiredArgsConstructor
-public final class SQLVisitorEngine {
+public final class SQLStatementVisitorEngine {
     
     private final String databaseType;
     
@@ -44,7 +44,7 @@ public final class SQLVisitorEngine {
      * @return SQL visitor result
      */
     public <T> T visit(final ParseASTNode parseASTNode) {
-        ParseTreeVisitor<T> visitor = SQLVisitorFactory.newInstance(databaseType, SQLVisitorRule.valueOf(parseASTNode.getRootNode().getClass()));
+        ParseTreeVisitor<T> visitor = SQLStatementVisitorFactory.newInstance(databaseType, SQLVisitorRule.valueOf(parseASTNode.getRootNode().getClass()));
         T result = parseASTNode.getRootNode().accept(visitor);
         if (isParseComment) {
             appendSQLComments(parseASTNode, result);
diff --git a/sql-parser/engine/src/main/java/org/apache/shardingsphere/sql/parser/core/ParseASTNode.java b/sql-parser/engine/src/main/java/org/apache/shardingsphere/sql/parser/core/ParseASTNode.java
index 89c0a56985a..b8aef9c9c79 100644
--- a/sql-parser/engine/src/main/java/org/apache/shardingsphere/sql/parser/core/ParseASTNode.java
+++ b/sql-parser/engine/src/main/java/org/apache/shardingsphere/sql/parser/core/ParseASTNode.java
@@ -21,7 +21,7 @@ import lombok.RequiredArgsConstructor;
 import org.antlr.v4.runtime.CommonTokenStream;
 import org.antlr.v4.runtime.Token;
 import org.antlr.v4.runtime.tree.ParseTree;
-import org.apache.shardingsphere.sql.parser.api.visitor.ASTNode;
+import org.apache.shardingsphere.sql.parser.api.ASTNode;
 
 import java.util.Collection;
 import java.util.LinkedList;
diff --git a/sql-parser/engine/src/main/java/org/apache/shardingsphere/sql/parser/core/database/parser/SQLParserExecutor.java b/sql-parser/engine/src/main/java/org/apache/shardingsphere/sql/parser/core/database/parser/SQLParserExecutor.java
index 23fbb59897d..6df24342f9f 100644
--- a/sql-parser/engine/src/main/java/org/apache/shardingsphere/sql/parser/core/database/parser/SQLParserExecutor.java
+++ b/sql-parser/engine/src/main/java/org/apache/shardingsphere/sql/parser/core/database/parser/SQLParserExecutor.java
@@ -27,7 +27,7 @@ import org.apache.shardingsphere.sql.parser.api.parser.SQLParser;
 import org.apache.shardingsphere.sql.parser.core.ParseASTNode;
 import org.apache.shardingsphere.sql.parser.core.SQLParserFactory;
 import org.apache.shardingsphere.sql.parser.exception.SQLParsingException;
-import org.apache.shardingsphere.sql.parser.spi.DatabaseTypedSQLParserFacade;
+import org.apache.shardingsphere.sql.parser.spi.SQLDialectParserFacade;
 
 /**
  * SQL parser executor.
@@ -53,7 +53,7 @@ public final class SQLParserExecutor {
     }
     
     private ParseASTNode twoPhaseParse(final String sql) {
-        DatabaseTypedSQLParserFacade sqlParserFacade = TypedSPILoader.getService(DatabaseTypedSQLParserFacade.class, databaseType);
+        SQLDialectParserFacade sqlParserFacade = TypedSPILoader.getService(SQLDialectParserFacade.class, databaseType);
         SQLParser sqlParser = SQLParserFactory.newInstance(sql, sqlParserFacade.getLexerClass(), sqlParserFacade.getParserClass());
         try {
             ((Parser) sqlParser).getInterpreter().setPredictionMode(PredictionMode.SLL);
diff --git a/sql-parser/engine/src/main/java/org/apache/shardingsphere/sql/parser/core/database/visitor/SQLVisitorFactory.java b/sql-parser/engine/src/main/java/org/apache/shardingsphere/sql/parser/core/database/visitor/SQLStatementVisitorFactory.java
similarity index 88%
rename from sql-parser/engine/src/main/java/org/apache/shardingsphere/sql/parser/core/database/visitor/SQLVisitorFactory.java
rename to sql-parser/engine/src/main/java/org/apache/shardingsphere/sql/parser/core/database/visitor/SQLStatementVisitorFactory.java
index cc72d285054..a5140bb65af 100644
--- a/sql-parser/engine/src/main/java/org/apache/shardingsphere/sql/parser/core/database/visitor/SQLVisitorFactory.java
+++ b/sql-parser/engine/src/main/java/org/apache/shardingsphere/sql/parser/core/database/visitor/SQLStatementVisitorFactory.java
@@ -23,14 +23,14 @@ import lombok.SneakyThrows;
 import org.antlr.v4.runtime.tree.ParseTreeVisitor;
 import org.apache.shardingsphere.infra.util.spi.type.typed.TypedSPILoader;
 import org.apache.shardingsphere.sql.parser.exception.SQLParsingException;
-import org.apache.shardingsphere.sql.parser.spi.SQLVisitorFacade;
+import org.apache.shardingsphere.sql.parser.spi.SQLStatementVisitorFacade;
 import org.apache.shardingsphere.sql.parser.sql.common.statement.SQLStatementType;
 
 /**
- * SQL visitor factory.
+ * SQL statement visitor factory.
  */
 @NoArgsConstructor(access = AccessLevel.PRIVATE)
-public final class SQLVisitorFactory {
+public final class SQLStatementVisitorFactory {
     
     /**
      * Create new instance of SQL visitor.
@@ -41,13 +41,13 @@ public final class SQLVisitorFactory {
      * @return created instance
      */
     public static <T> ParseTreeVisitor<T> newInstance(final String databaseType, final SQLVisitorRule visitorRule) {
-        SQLVisitorFacade facade = TypedSPILoader.getService(SQLVisitorFacade.class, databaseType);
+        SQLStatementVisitorFacade facade = TypedSPILoader.getService(SQLStatementVisitorFacade.class, databaseType);
         return createParseTreeVisitor(facade, visitorRule.getType());
     }
     
     @SuppressWarnings("unchecked")
     @SneakyThrows(ReflectiveOperationException.class)
-    private static <T> ParseTreeVisitor<T> createParseTreeVisitor(final SQLVisitorFacade visitorFacade, final SQLStatementType type) {
+    private static <T> ParseTreeVisitor<T> createParseTreeVisitor(final SQLStatementVisitorFacade visitorFacade, final SQLStatementType type) {
         switch (type) {
             case DML:
                 return (ParseTreeVisitor<T>) visitorFacade.getDMLVisitorClass().getConstructor().newInstance();
diff --git a/sql-parser/engine/src/test/java/org/apache/shardingsphere/sql/parser/fixture/ParserFixture.java b/sql-parser/engine/src/test/java/org/apache/shardingsphere/sql/parser/fixture/ParserFixture.java
index 8d8c1472f76..5aff3ab700e 100644
--- a/sql-parser/engine/src/test/java/org/apache/shardingsphere/sql/parser/fixture/ParserFixture.java
+++ b/sql-parser/engine/src/test/java/org/apache/shardingsphere/sql/parser/fixture/ParserFixture.java
@@ -21,7 +21,7 @@ import org.antlr.v4.runtime.Parser;
 import org.antlr.v4.runtime.TokenStream;
 import org.antlr.v4.runtime.atn.ATN;
 import org.apache.shardingsphere.sql.parser.api.parser.SQLParser;
-import org.apache.shardingsphere.sql.parser.api.visitor.ASTNode;
+import org.apache.shardingsphere.sql.parser.api.ASTNode;
 
 public final class ParserFixture extends Parser implements SQLParser {
     
diff --git a/sql-parser/engine/src/test/java/org/apache/shardingsphere/sql/parser/fixture/SQLVisitorFacadeFixture.java b/sql-parser/engine/src/test/java/org/apache/shardingsphere/sql/parser/fixture/SQLStatementVisitorFacadeFixture.java
similarity index 72%
rename from sql-parser/engine/src/test/java/org/apache/shardingsphere/sql/parser/fixture/SQLVisitorFacadeFixture.java
rename to sql-parser/engine/src/test/java/org/apache/shardingsphere/sql/parser/fixture/SQLStatementVisitorFacadeFixture.java
index a9ebf00607f..af7283f4295 100644
--- a/sql-parser/engine/src/test/java/org/apache/shardingsphere/sql/parser/fixture/SQLVisitorFacadeFixture.java
+++ b/sql-parser/engine/src/test/java/org/apache/shardingsphere/sql/parser/fixture/SQLStatementVisitorFacadeFixture.java
@@ -18,15 +18,15 @@
 package org.apache.shardingsphere.sql.parser.fixture;
 
 import org.apache.shardingsphere.sql.parser.api.visitor.SQLVisitor;
-import org.apache.shardingsphere.sql.parser.api.visitor.type.DALSQLVisitor;
-import org.apache.shardingsphere.sql.parser.api.visitor.type.DCLSQLVisitor;
-import org.apache.shardingsphere.sql.parser.api.visitor.type.DDLSQLVisitor;
-import org.apache.shardingsphere.sql.parser.api.visitor.type.DMLSQLVisitor;
-import org.apache.shardingsphere.sql.parser.api.visitor.type.RLSQLVisitor;
-import org.apache.shardingsphere.sql.parser.api.visitor.type.TCLSQLVisitor;
-import org.apache.shardingsphere.sql.parser.spi.SQLVisitorFacade;
+import org.apache.shardingsphere.sql.parser.api.visitor.statement.DALSQLVisitor;
+import org.apache.shardingsphere.sql.parser.api.visitor.statement.DCLSQLVisitor;
+import org.apache.shardingsphere.sql.parser.api.visitor.statement.DDLSQLVisitor;
+import org.apache.shardingsphere.sql.parser.api.visitor.statement.DMLSQLVisitor;
+import org.apache.shardingsphere.sql.parser.api.visitor.statement.RLSQLVisitor;
+import org.apache.shardingsphere.sql.parser.api.visitor.statement.TCLSQLVisitor;
+import org.apache.shardingsphere.sql.parser.spi.SQLStatementVisitorFacade;
 
-public final class SQLVisitorFacadeFixture implements SQLVisitorFacade {
+public final class SQLStatementVisitorFacadeFixture implements SQLStatementVisitorFacade {
     
     @Override
     public Class<? extends SQLVisitor> getDMLVisitorClass() {
diff --git a/sql-parser/dialect/mysql/src/main/resources/META-INF/services/org.apache.shardingsphere.sql.parser.api.format.SQLFormatVisitor b/sql-parser/engine/src/test/resources/META-INF/services/org.apache.shardingsphere.sql.parser.spi.SQLStatementVisitorFacade
similarity index 90%
rename from sql-parser/dialect/mysql/src/main/resources/META-INF/services/org.apache.shardingsphere.sql.parser.api.format.SQLFormatVisitor
rename to sql-parser/engine/src/test/resources/META-INF/services/org.apache.shardingsphere.sql.parser.spi.SQLStatementVisitorFacade
index 9f2f27a519b..22013759e4c 100644
--- a/sql-parser/dialect/mysql/src/main/resources/META-INF/services/org.apache.shardingsphere.sql.parser.api.format.SQLFormatVisitor
+++ b/sql-parser/engine/src/test/resources/META-INF/services/org.apache.shardingsphere.sql.parser.spi.SQLStatementVisitorFacade
@@ -15,4 +15,4 @@
 # limitations under the License.
 #
 
-org.apache.shardingsphere.sql.parser.mysql.format.MySQLFormatSQLVisitor
+org.apache.shardingsphere.sql.parser.fixture.SQLStatementVisitorFacadeFixture
diff --git a/sql-parser/engine/src/test/resources/META-INF/services/org.apache.shardingsphere.sql.parser.spi.SQLVisitorFacade b/sql-parser/engine/src/test/resources/META-INF/services/org.apache.shardingsphere.sql.parser.spi.SQLVisitorFacade
deleted file mode 100644
index 4657933e697..00000000000
--- a/sql-parser/engine/src/test/resources/META-INF/services/org.apache.shardingsphere.sql.parser.spi.SQLVisitorFacade
+++ /dev/null
@@ -1,18 +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.
-#
-
-org.apache.shardingsphere.sql.parser.fixture.SQLVisitorFacadeFixture
diff --git a/sql-parser/spi/src/main/java/org/apache/shardingsphere/sql/parser/api/visitor/ASTNode.java b/sql-parser/spi/src/main/java/org/apache/shardingsphere/sql/parser/api/ASTNode.java
similarity index 93%
rename from sql-parser/spi/src/main/java/org/apache/shardingsphere/sql/parser/api/visitor/ASTNode.java
rename to sql-parser/spi/src/main/java/org/apache/shardingsphere/sql/parser/api/ASTNode.java
index 71d89b26711..9f211840aac 100644
--- a/sql-parser/spi/src/main/java/org/apache/shardingsphere/sql/parser/api/visitor/ASTNode.java
+++ b/sql-parser/spi/src/main/java/org/apache/shardingsphere/sql/parser/api/ASTNode.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.sql.parser.api.visitor;
+package org.apache.shardingsphere.sql.parser.api;
 
 /**
  * AST node.
diff --git a/sql-parser/spi/src/main/java/org/apache/shardingsphere/sql/parser/api/parser/SQLParser.java b/sql-parser/spi/src/main/java/org/apache/shardingsphere/sql/parser/api/parser/SQLParser.java
index 7e89d4cc9bd..3d13477adaa 100644
--- a/sql-parser/spi/src/main/java/org/apache/shardingsphere/sql/parser/api/parser/SQLParser.java
+++ b/sql-parser/spi/src/main/java/org/apache/shardingsphere/sql/parser/api/parser/SQLParser.java
@@ -17,7 +17,7 @@
 
 package org.apache.shardingsphere.sql.parser.api.parser;
 
-import org.apache.shardingsphere.sql.parser.api.visitor.ASTNode;
+import org.apache.shardingsphere.sql.parser.api.ASTNode;
 
 /**
  * SQL parser.
diff --git a/sql-parser/spi/src/main/java/org/apache/shardingsphere/sql/parser/api/format/SQLFormatVisitor.java b/sql-parser/spi/src/main/java/org/apache/shardingsphere/sql/parser/api/visitor/format/SQLFormatVisitor.java
similarity index 94%
rename from sql-parser/spi/src/main/java/org/apache/shardingsphere/sql/parser/api/format/SQLFormatVisitor.java
rename to sql-parser/spi/src/main/java/org/apache/shardingsphere/sql/parser/api/visitor/format/SQLFormatVisitor.java
index d27fcc1c423..52904dec0f9 100644
--- a/sql-parser/spi/src/main/java/org/apache/shardingsphere/sql/parser/api/format/SQLFormatVisitor.java
+++ b/sql-parser/spi/src/main/java/org/apache/shardingsphere/sql/parser/api/visitor/format/SQLFormatVisitor.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.sql.parser.api.format;
+package org.apache.shardingsphere.sql.parser.api.visitor.format;
 
 import org.apache.shardingsphere.infra.util.spi.type.typed.TypedSPI;
 import org.apache.shardingsphere.sql.parser.api.visitor.SQLVisitor;
diff --git a/sql-parser/spi/src/main/java/org/apache/shardingsphere/sql/parser/api/visitor/type/DALSQLVisitor.java b/sql-parser/spi/src/main/java/org/apache/shardingsphere/sql/parser/api/visitor/statement/DALSQLVisitor.java
similarity index 92%
rename from sql-parser/spi/src/main/java/org/apache/shardingsphere/sql/parser/api/visitor/type/DALSQLVisitor.java
rename to sql-parser/spi/src/main/java/org/apache/shardingsphere/sql/parser/api/visitor/statement/DALSQLVisitor.java
index 7ba7b578550..0cfa16db83a 100644
--- a/sql-parser/spi/src/main/java/org/apache/shardingsphere/sql/parser/api/visitor/type/DALSQLVisitor.java
+++ b/sql-parser/spi/src/main/java/org/apache/shardingsphere/sql/parser/api/visitor/statement/DALSQLVisitor.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.sql.parser.api.visitor.type;
+package org.apache.shardingsphere.sql.parser.api.visitor.statement;
 
 /**
  * DAL SQL visitor.
diff --git a/sql-parser/spi/src/main/java/org/apache/shardingsphere/sql/parser/api/visitor/type/DCLSQLVisitor.java b/sql-parser/spi/src/main/java/org/apache/shardingsphere/sql/parser/api/visitor/statement/DCLSQLVisitor.java
similarity index 92%
rename from sql-parser/spi/src/main/java/org/apache/shardingsphere/sql/parser/api/visitor/type/DCLSQLVisitor.java
rename to sql-parser/spi/src/main/java/org/apache/shardingsphere/sql/parser/api/visitor/statement/DCLSQLVisitor.java
index 60a11e6f492..4e4fde21126 100644
--- a/sql-parser/spi/src/main/java/org/apache/shardingsphere/sql/parser/api/visitor/type/DCLSQLVisitor.java
+++ b/sql-parser/spi/src/main/java/org/apache/shardingsphere/sql/parser/api/visitor/statement/DCLSQLVisitor.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.sql.parser.api.visitor.type;
+package org.apache.shardingsphere.sql.parser.api.visitor.statement;
 
 /**
  * DCL SQL visitor.
diff --git a/sql-parser/spi/src/main/java/org/apache/shardingsphere/sql/parser/api/visitor/type/DDLSQLVisitor.java b/sql-parser/spi/src/main/java/org/apache/shardingsphere/sql/parser/api/visitor/statement/DDLSQLVisitor.java
similarity index 92%
rename from sql-parser/spi/src/main/java/org/apache/shardingsphere/sql/parser/api/visitor/type/DDLSQLVisitor.java
rename to sql-parser/spi/src/main/java/org/apache/shardingsphere/sql/parser/api/visitor/statement/DDLSQLVisitor.java
index e8063c4b025..2394cce19f4 100644
--- a/sql-parser/spi/src/main/java/org/apache/shardingsphere/sql/parser/api/visitor/type/DDLSQLVisitor.java
+++ b/sql-parser/spi/src/main/java/org/apache/shardingsphere/sql/parser/api/visitor/statement/DDLSQLVisitor.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.sql.parser.api.visitor.type;
+package org.apache.shardingsphere.sql.parser.api.visitor.statement;
 
 /**
  * DDL SQL visitor.
diff --git a/sql-parser/spi/src/main/java/org/apache/shardingsphere/sql/parser/api/visitor/type/DMLSQLVisitor.java b/sql-parser/spi/src/main/java/org/apache/shardingsphere/sql/parser/api/visitor/statement/DMLSQLVisitor.java
similarity index 92%
rename from sql-parser/spi/src/main/java/org/apache/shardingsphere/sql/parser/api/visitor/type/DMLSQLVisitor.java
rename to sql-parser/spi/src/main/java/org/apache/shardingsphere/sql/parser/api/visitor/statement/DMLSQLVisitor.java
index f48a3658fa4..f7923db6b01 100644
--- a/sql-parser/spi/src/main/java/org/apache/shardingsphere/sql/parser/api/visitor/type/DMLSQLVisitor.java
+++ b/sql-parser/spi/src/main/java/org/apache/shardingsphere/sql/parser/api/visitor/statement/DMLSQLVisitor.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.sql.parser.api.visitor.type;
+package org.apache.shardingsphere.sql.parser.api.visitor.statement;
 
 /**
  * DML SQL visitor.
diff --git a/sql-parser/spi/src/main/java/org/apache/shardingsphere/sql/parser/api/visitor/type/RLSQLVisitor.java b/sql-parser/spi/src/main/java/org/apache/shardingsphere/sql/parser/api/visitor/statement/RLSQLVisitor.java
similarity index 92%
rename from sql-parser/spi/src/main/java/org/apache/shardingsphere/sql/parser/api/visitor/type/RLSQLVisitor.java
rename to sql-parser/spi/src/main/java/org/apache/shardingsphere/sql/parser/api/visitor/statement/RLSQLVisitor.java
index a53648368fa..6d83bc82036 100644
--- a/sql-parser/spi/src/main/java/org/apache/shardingsphere/sql/parser/api/visitor/type/RLSQLVisitor.java
+++ b/sql-parser/spi/src/main/java/org/apache/shardingsphere/sql/parser/api/visitor/statement/RLSQLVisitor.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.sql.parser.api.visitor.type;
+package org.apache.shardingsphere.sql.parser.api.visitor.statement;
 
 /**
  * RL SQL visitor.
diff --git a/sql-parser/spi/src/main/java/org/apache/shardingsphere/sql/parser/api/visitor/type/SQLTypeVisitor.java b/sql-parser/spi/src/main/java/org/apache/shardingsphere/sql/parser/api/visitor/statement/SQLTypeVisitor.java
similarity index 93%
rename from sql-parser/spi/src/main/java/org/apache/shardingsphere/sql/parser/api/visitor/type/SQLTypeVisitor.java
rename to sql-parser/spi/src/main/java/org/apache/shardingsphere/sql/parser/api/visitor/statement/SQLTypeVisitor.java
index 952e3801856..26911d4d4eb 100644
--- a/sql-parser/spi/src/main/java/org/apache/shardingsphere/sql/parser/api/visitor/type/SQLTypeVisitor.java
+++ b/sql-parser/spi/src/main/java/org/apache/shardingsphere/sql/parser/api/visitor/statement/SQLTypeVisitor.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.sql.parser.api.visitor.type;
+package org.apache.shardingsphere.sql.parser.api.visitor.statement;
 
 import org.apache.shardingsphere.sql.parser.api.visitor.SQLVisitor;
 
diff --git a/sql-parser/spi/src/main/java/org/apache/shardingsphere/sql/parser/api/visitor/type/TCLSQLVisitor.java b/sql-parser/spi/src/main/java/org/apache/shardingsphere/sql/parser/api/visitor/statement/TCLSQLVisitor.java
similarity index 92%
rename from sql-parser/spi/src/main/java/org/apache/shardingsphere/sql/parser/api/visitor/type/TCLSQLVisitor.java
rename to sql-parser/spi/src/main/java/org/apache/shardingsphere/sql/parser/api/visitor/statement/TCLSQLVisitor.java
index a09401a9ba3..cba88f14b9c 100644
--- a/sql-parser/spi/src/main/java/org/apache/shardingsphere/sql/parser/api/visitor/type/TCLSQLVisitor.java
+++ b/sql-parser/spi/src/main/java/org/apache/shardingsphere/sql/parser/api/visitor/statement/TCLSQLVisitor.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.sql.parser.api.visitor.type;
+package org.apache.shardingsphere.sql.parser.api.visitor.statement;
 
 /**
  * TCL SQL visitor.
diff --git a/sql-parser/spi/src/main/java/org/apache/shardingsphere/sql/parser/spi/DatabaseTypedSQLParserFacade.java b/sql-parser/spi/src/main/java/org/apache/shardingsphere/sql/parser/spi/SQLDialectParserFacade.java
similarity index 93%
rename from sql-parser/spi/src/main/java/org/apache/shardingsphere/sql/parser/spi/DatabaseTypedSQLParserFacade.java
rename to sql-parser/spi/src/main/java/org/apache/shardingsphere/sql/parser/spi/SQLDialectParserFacade.java
index f298982cc4f..ca2795e1d89 100644
--- a/sql-parser/spi/src/main/java/org/apache/shardingsphere/sql/parser/spi/DatabaseTypedSQLParserFacade.java
+++ b/sql-parser/spi/src/main/java/org/apache/shardingsphere/sql/parser/spi/SQLDialectParserFacade.java
@@ -23,5 +23,5 @@ import org.apache.shardingsphere.infra.util.spi.annotation.SingletonSPI;
  * Database type based SQL parser facade.
  */
 @SingletonSPI
-public interface DatabaseTypedSQLParserFacade extends SQLParserFacade {
+public interface SQLDialectParserFacade extends SQLParserFacade {
 }
diff --git a/sql-parser/spi/src/main/java/org/apache/shardingsphere/sql/parser/spi/SQLVisitorFacade.java b/sql-parser/spi/src/main/java/org/apache/shardingsphere/sql/parser/spi/SQLStatementVisitorFacade.java
similarity index 95%
rename from sql-parser/spi/src/main/java/org/apache/shardingsphere/sql/parser/spi/SQLVisitorFacade.java
rename to sql-parser/spi/src/main/java/org/apache/shardingsphere/sql/parser/spi/SQLStatementVisitorFacade.java
index a1d16f0ba50..6da7542af46 100644
--- a/sql-parser/spi/src/main/java/org/apache/shardingsphere/sql/parser/spi/SQLVisitorFacade.java
+++ b/sql-parser/spi/src/main/java/org/apache/shardingsphere/sql/parser/spi/SQLStatementVisitorFacade.java
@@ -21,9 +21,9 @@ import org.apache.shardingsphere.infra.util.spi.type.typed.TypedSPI;
 import org.apache.shardingsphere.sql.parser.api.visitor.SQLVisitor;
 
 /**
- * SQL visitor facade.
+ * SQL statement visitor facade.
  */
-public interface SQLVisitorFacade extends TypedSPI {
+public interface SQLStatementVisitorFacade extends TypedSPI {
     
     /**
      * Get DML visitor class.
diff --git a/sql-parser/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/segment/SQLSegment.java b/sql-parser/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/segment/SQLSegment.java
index c4d0e28c94d..88feb0b617b 100644
--- a/sql-parser/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/segment/SQLSegment.java
+++ b/sql-parser/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/segment/SQLSegment.java
@@ -17,7 +17,7 @@
 
 package org.apache.shardingsphere.sql.parser.sql.common.segment;
 
-import org.apache.shardingsphere.sql.parser.api.visitor.ASTNode;
+import org.apache.shardingsphere.sql.parser.api.ASTNode;
 
 /**
  * SQL segment.
diff --git a/sql-parser/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/statement/SQLStatement.java b/sql-parser/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/statement/SQLStatement.java
index 547c9534870..edf087f2198 100644
--- a/sql-parser/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/statement/SQLStatement.java
+++ b/sql-parser/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/statement/SQLStatement.java
@@ -17,7 +17,7 @@
 
 package org.apache.shardingsphere.sql.parser.sql.common.statement;
 
-import org.apache.shardingsphere.sql.parser.api.visitor.ASTNode;
+import org.apache.shardingsphere.sql.parser.api.ASTNode;
 
 /**
  * SQL statement.
diff --git a/sql-parser/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/util/SQLUtils.java b/sql-parser/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/util/SQLUtils.java
index cab128d611f..df87d8d46df 100644
--- a/sql-parser/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/util/SQLUtils.java
+++ b/sql-parser/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/util/SQLUtils.java
@@ -21,7 +21,7 @@ import com.google.common.base.CharMatcher;
 import com.google.common.base.Strings;
 import lombok.AccessLevel;
 import lombok.NoArgsConstructor;
-import org.apache.shardingsphere.sql.parser.api.visitor.ASTNode;
+import org.apache.shardingsphere.sql.parser.api.ASTNode;
 import org.apache.shardingsphere.sql.parser.sql.common.enums.Paren;
 import org.apache.shardingsphere.sql.parser.sql.common.segment.dml.expr.ExpressionSegment;
 import org.apache.shardingsphere.sql.parser.sql.common.segment.dml.expr.complex.CommonExpressionSegment;
diff --git a/sql-parser/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/value/ValueASTNode.java b/sql-parser/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/value/ValueASTNode.java
index e954e93a3a6..06c62a0b9e4 100644
--- a/sql-parser/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/value/ValueASTNode.java
+++ b/sql-parser/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/value/ValueASTNode.java
@@ -17,7 +17,7 @@
 
 package org.apache.shardingsphere.sql.parser.sql.common.value;
 
-import org.apache.shardingsphere.sql.parser.api.visitor.ASTNode;
+import org.apache.shardingsphere.sql.parser.api.ASTNode;
 
 /**
  * Value AST node.
diff --git a/test/it/optimizer/src/test/java/org/apache/shardingsphere/test/it/optimize/SQLNodeConverterEngineIT.java b/test/it/optimizer/src/test/java/org/apache/shardingsphere/test/it/optimize/SQLNodeConverterEngineIT.java
index 8e07cbfd0d0..0aec536b1c2 100644
--- a/test/it/optimizer/src/test/java/org/apache/shardingsphere/test/it/optimize/SQLNodeConverterEngineIT.java
+++ b/test/it/optimizer/src/test/java/org/apache/shardingsphere/test/it/optimize/SQLNodeConverterEngineIT.java
@@ -31,7 +31,7 @@ import org.apache.calcite.util.Litmus;
 import org.apache.shardingsphere.infra.util.spi.type.typed.TypedSPILoader;
 import org.apache.shardingsphere.sql.parser.api.CacheOption;
 import org.apache.shardingsphere.sql.parser.api.SQLParserEngine;
-import org.apache.shardingsphere.sql.parser.api.SQLVisitorEngine;
+import org.apache.shardingsphere.sql.parser.api.SQLStatementVisitorEngine;
 import org.apache.shardingsphere.sql.parser.sql.common.statement.SQLStatement;
 import org.apache.shardingsphere.sqlfederation.optimizer.context.parser.dialect.OptimizerSQLDialectBuilder;
 import org.apache.shardingsphere.sqlfederation.optimizer.converter.SQLNodeConverterEngine;
@@ -75,7 +75,7 @@ class SQLNodeConverterEngineIT {
     }
     
     private SQLStatement parseSQLStatement(final String databaseType, final String sql) {
-        return new SQLVisitorEngine(databaseType, true).visit(new SQLParserEngine(databaseType, new CacheOption(128, 1024L)).parse(sql, false));
+        return new SQLStatementVisitorEngine(databaseType, true).visit(new SQLParserEngine(databaseType, new CacheOption(128, 1024L)).parse(sql, false));
     }
     
     @SneakyThrows(SqlParseException.class)
diff --git a/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/external/ExternalSQLParserIT.java b/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/external/ExternalSQLParserIT.java
index a523d86fd2c..4b76c391497 100644
--- a/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/external/ExternalSQLParserIT.java
+++ b/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/external/ExternalSQLParserIT.java
@@ -22,7 +22,7 @@ import org.apache.shardingsphere.infra.util.exception.external.ShardingSphereExt
 import org.apache.shardingsphere.infra.util.spi.type.typed.TypedSPILoader;
 import org.apache.shardingsphere.sql.parser.api.CacheOption;
 import org.apache.shardingsphere.sql.parser.api.SQLParserEngine;
-import org.apache.shardingsphere.sql.parser.api.SQLVisitorEngine;
+import org.apache.shardingsphere.sql.parser.api.SQLStatementVisitorEngine;
 import org.apache.shardingsphere.sql.parser.core.ParseASTNode;
 import org.apache.shardingsphere.test.it.sql.parser.external.env.SQLParserExternalITEnvironment;
 import org.apache.shardingsphere.test.it.sql.parser.external.loader.ExternalSQLParserTestParameterLoader;
@@ -50,7 +50,7 @@ public abstract class ExternalSQLParserIT {
         try (SQLParseResultReporter resultReporter = TypedSPILoader.getService(SQLParseResultReporterCreator.class, reportType).create(databaseType)) {
             try {
                 ParseASTNode parseASTNode = new SQLParserEngine(databaseType, new CacheOption(128, 1024L)).parse(sql, false);
-                new SQLVisitorEngine(databaseType, true).visit(parseASTNode);
+                new SQLStatementVisitorEngine(databaseType, true).visit(parseASTNode);
             } catch (final ShardingSphereExternalException | ClassCastException | NullPointerException | IllegalArgumentException | IndexOutOfBoundsException ignore) {
                 isSuccess = false;
             }
diff --git a/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/InternalSQLParserIT.java b/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/InternalSQLParserIT.java
index 0ebe909b34b..c0399e9caa9 100644
--- a/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/InternalSQLParserIT.java
+++ b/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/InternalSQLParserIT.java
@@ -21,7 +21,7 @@ import com.google.common.base.Preconditions;
 import org.apache.shardingsphere.distsql.parser.engine.api.DistSQLStatementParserEngine;
 import org.apache.shardingsphere.sql.parser.api.CacheOption;
 import org.apache.shardingsphere.sql.parser.api.SQLParserEngine;
-import org.apache.shardingsphere.sql.parser.api.SQLVisitorEngine;
+import org.apache.shardingsphere.sql.parser.api.SQLStatementVisitorEngine;
 import org.apache.shardingsphere.sql.parser.sql.common.statement.SQLStatement;
 import org.apache.shardingsphere.test.it.sql.parser.internal.asserts.SQLCaseAssertContext;
 import org.apache.shardingsphere.test.it.sql.parser.internal.asserts.statement.SQLStatementAssert;
@@ -61,7 +61,7 @@ public abstract class InternalSQLParserIT {
     private Object parseSQLStatement(final String databaseType, final String sql) {
         return "ShardingSphere".equals(databaseType)
                 ? new DistSQLStatementParserEngine().parse(sql)
-                : new SQLVisitorEngine(databaseType, true).visit(new SQLParserEngine(databaseType, new CacheOption(128, 1024L)).parse(sql, false));
+                : new SQLStatementVisitorEngine(databaseType, true).visit(new SQLParserEngine(databaseType, new CacheOption(128, 1024L)).parse(sql, false));
     }
     
     private static class TestCaseArgumentsProvider implements ArgumentsProvider {