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

zhaojinchao 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 36e4fdb  Merge ParseContext and ParseASTNode (#16382)
36e4fdb is described below

commit 36e4fdb42161d80d4279ed4bca0a87ffde40f088
Author: Liang Zhang <[email protected]>
AuthorDate: Sat Mar 26 00:08:43 2022 +0800

    Merge ParseContext and ParseASTNode (#16382)
    
    * Refactor ParseASTNode
    
    * Merge ParseContext and ParseASTNode
    
    * Merge ParseContext and ParseASTNode
    
    * Merge ParseContext and ParseASTNode
---
 .../mysql/format/MySQLParserFormatExample.java     | 10 +++---
 .../statement/MySQLParserStatementExample.java     | 12 +++----
 .../statement/OpenGaussParserStatementExample.java | 10 +++---
 .../statement/OracleParserStatementExample.java    | 10 +++---
 .../PostgreSQLParserStatementExample.java          | 10 +++---
 .../statement/SQL92ParserStatementExample.java     | 10 +++---
 .../statement/SQLServerParserStatementExample.java | 10 +++---
 .../parser/sql/SQLStatementParserExecutor.java     |  4 +--
 .../text/distsql/ral/advanced/FormatHandler.java   | 12 +++----
 .../sql/parser/api/SQLParserEngine.java            | 14 ++++----
 .../sql/parser/api/SQLVisitorEngine.java           | 22 +++++++------
 .../sql/parser/core/ParseASTNode.java              | 15 +++++++--
 .../sql/parser/core/ParseContext.java              | 37 ----------------------
 .../core/database/cache/ParseTreeCacheBuilder.java |  7 ++--
 .../core/database/cache/ParseTreeCacheLoader.java  | 10 +++---
 .../core/database/parser/SQLParserExecutor.java    | 14 ++------
 .../sql/parser/api/SQLParserEngineTest.java        | 12 +++----
 .../sql/parser/core/SQLParserEngineTest.java       | 10 +++---
 .../database/cache/ParseTreeCacheBuilderTest.java  |  4 +--
 .../database/cache/ParseTreeCacheLoaderTest.java   |  6 ++--
 .../SQLNodeConvertEngineParameterizedTest.java     |  2 +-
 .../engine/SQLParserParameterizedTest.java         |  2 +-
 .../UnsupportedSQLParserParameterizedTest.java     |  6 ++--
 23 files changed, 109 insertions(+), 140 deletions(-)

diff --git 
a/examples/other-example/shardingsphere-parser-example/src/main/java/org/apache/shardingsphere/example/parser/mysql/format/MySQLParserFormatExample.java
 
b/examples/other-example/shardingsphere-parser-example/src/main/java/org/apache/shardingsphere/example/parser/mysql/format/MySQLParserFormatExample.java
index 0b27624..208b523 100644
--- 
a/examples/other-example/shardingsphere-parser-example/src/main/java/org/apache/shardingsphere/example/parser/mysql/format/MySQLParserFormatExample.java
+++ 
b/examples/other-example/shardingsphere-parser-example/src/main/java/org/apache/shardingsphere/example/parser/mysql/format/MySQLParserFormatExample.java
@@ -20,7 +20,7 @@ package org.apache.shardingsphere.example.parser.mysql.format;
 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.core.ParseContext;
+import org.apache.shardingsphere.sql.parser.core.ParseASTNode;
 
 import java.util.Arrays;
 import java.util.List;
@@ -56,10 +56,10 @@ public final class MySQLParserFormatExample {
             Properties props = new Properties();
             props.setProperty("parameterized", "false");
             CacheOption cacheOption = new CacheOption(128, 1024L, 4);
-            SQLParserEngine parserEngine = new SQLParserEngine("MySQL", 
cacheOption, false);
-            ParseContext parseContext = parserEngine.parse(sql, false);
-            SQLVisitorEngine visitorEngine = new SQLVisitorEngine("MySQL", 
"FORMAT", props);
-            String result = visitorEngine.visit(parseContext);
+            SQLParserEngine parserEngine = new SQLParserEngine("MySQL", 
cacheOption);
+            ParseASTNode parseASTNode = parserEngine.parse(sql, false);
+            SQLVisitorEngine visitorEngine = new SQLVisitorEngine("MySQL", 
"FORMAT", false, props);
+            String result = visitorEngine.visit(parseASTNode);
             System.out.println(result);
         });
     }
diff --git 
a/examples/other-example/shardingsphere-parser-example/src/main/java/org/apache/shardingsphere/example/parser/mysql/statement/MySQLParserStatementExample.java
 
b/examples/other-example/shardingsphere-parser-example/src/main/java/org/apache/shardingsphere/example/parser/mysql/statement/MySQLParserStatementExample.java
index 336ee36..20f3ff7 100644
--- 
a/examples/other-example/shardingsphere-parser-example/src/main/java/org/apache/shardingsphere/example/parser/mysql/statement/MySQLParserStatementExample.java
+++ 
b/examples/other-example/shardingsphere-parser-example/src/main/java/org/apache/shardingsphere/example/parser/mysql/statement/MySQLParserStatementExample.java
@@ -20,7 +20,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.core.ParseContext;
+import org.apache.shardingsphere.sql.parser.core.ParseASTNode;
 import 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.MySQLStatement;
 
 import java.util.Arrays;
@@ -53,12 +53,12 @@ public final class MySQLParserStatementExample {
     }
     
     public static void main(String[] args) {
-        MYSQL_PARSER_STATEMENT_LIST.stream().forEach(sql -> {
+        MYSQL_PARSER_STATEMENT_LIST.forEach(sql -> {
             CacheOption cacheOption = new CacheOption(128, 1024L, 4);
-            SQLParserEngine parserEngine = new SQLParserEngine("MySQL", 
cacheOption, false);
-            ParseContext parseContext = parserEngine.parse(sql, false);
-            SQLVisitorEngine visitorEngine = new SQLVisitorEngine("MySQL", 
"STATEMENT", new Properties());
-            MySQLStatement sqlStatement = visitorEngine.visit(parseContext);
+            SQLParserEngine parserEngine = new SQLParserEngine("MySQL", 
cacheOption);
+            ParseASTNode parseASTNode = parserEngine.parse(sql, false);
+            SQLVisitorEngine visitorEngine = new SQLVisitorEngine("MySQL", 
"STATEMENT", false, new Properties());
+            MySQLStatement sqlStatement = visitorEngine.visit(parseASTNode);
             System.out.println(sqlStatement.toString());
         });
     }
diff --git 
a/examples/other-example/shardingsphere-parser-example/src/main/java/org/apache/shardingsphere/example/parser/opengauss/statement/OpenGaussParserStatementExample.java
 
b/examples/other-example/shardingsphere-parser-example/src/main/java/org/apache/shardingsphere/example/parser/opengauss/statement/OpenGaussParserStatementExample.java
index 7043409..89842ef 100644
--- 
a/examples/other-example/shardingsphere-parser-example/src/main/java/org/apache/shardingsphere/example/parser/opengauss/statement/OpenGaussParserStatementExample.java
+++ 
b/examples/other-example/shardingsphere-parser-example/src/main/java/org/apache/shardingsphere/example/parser/opengauss/statement/OpenGaussParserStatementExample.java
@@ -20,7 +20,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.core.ParseContext;
+import org.apache.shardingsphere.sql.parser.core.ParseASTNode;
 import 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.opengauss.OpenGaussStatement;
 
 import java.util.Arrays;
@@ -53,10 +53,10 @@ public final class OpenGaussParserStatementExample {
     public static void main(String[] args) {
         OPEN_GAUSS_PARSER_STATEMENT_LIST.forEach(sql -> {
             CacheOption cacheOption = new CacheOption(128, 1024L, 4);
-            SQLParserEngine parserEngine = new SQLParserEngine("openGauss", 
cacheOption, false);
-            ParseContext parseContext = parserEngine.parse(sql, false);
-            SQLVisitorEngine visitorEngine = new SQLVisitorEngine("openGauss", 
"STATEMENT", new Properties());
-            OpenGaussStatement sqlStatement = 
visitorEngine.visit(parseContext);
+            SQLParserEngine parserEngine = new SQLParserEngine("openGauss", 
cacheOption);
+            ParseASTNode parseASTNode = parserEngine.parse(sql, false);
+            SQLVisitorEngine visitorEngine = new SQLVisitorEngine("openGauss", 
"STATEMENT", false, new Properties());
+            OpenGaussStatement sqlStatement = 
visitorEngine.visit(parseASTNode);
             System.out.println(sqlStatement.toString());
         });
     }
diff --git 
a/examples/other-example/shardingsphere-parser-example/src/main/java/org/apache/shardingsphere/example/parser/oracle/statement/OracleParserStatementExample.java
 
b/examples/other-example/shardingsphere-parser-example/src/main/java/org/apache/shardingsphere/example/parser/oracle/statement/OracleParserStatementExample.java
index ef26599..61ad19b 100644
--- 
a/examples/other-example/shardingsphere-parser-example/src/main/java/org/apache/shardingsphere/example/parser/oracle/statement/OracleParserStatementExample.java
+++ 
b/examples/other-example/shardingsphere-parser-example/src/main/java/org/apache/shardingsphere/example/parser/oracle/statement/OracleParserStatementExample.java
@@ -20,7 +20,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.core.ParseContext;
+import org.apache.shardingsphere.sql.parser.core.ParseASTNode;
 import 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.oracle.OracleStatement;
 
 import java.util.Arrays;
@@ -53,10 +53,10 @@ public final class OracleParserStatementExample {
     public static void main(String[] args) {
         ORACLE_PARSER_STATEMENT_LIST.forEach(sql -> {
             CacheOption cacheOption = new CacheOption(128, 1024L, 4);
-            SQLParserEngine parserEngine = new SQLParserEngine("Oracle", 
cacheOption, false);
-            ParseContext parseContext = parserEngine.parse(sql, false);
-            SQLVisitorEngine visitorEngine = new SQLVisitorEngine("Oracle", 
"STATEMENT", new Properties());
-            OracleStatement sqlStatement = visitorEngine.visit(parseContext);
+            SQLParserEngine parserEngine = new SQLParserEngine("Oracle", 
cacheOption);
+            ParseASTNode parseASTNode = parserEngine.parse(sql, false);
+            SQLVisitorEngine visitorEngine = new SQLVisitorEngine("Oracle", 
"STATEMENT", false, new Properties());
+            OracleStatement sqlStatement = visitorEngine.visit(parseASTNode);
             System.out.println(sqlStatement.toString());
         });
     }
diff --git 
a/examples/other-example/shardingsphere-parser-example/src/main/java/org/apache/shardingsphere/example/parser/postgresql/statement/PostgreSQLParserStatementExample.java
 
b/examples/other-example/shardingsphere-parser-example/src/main/java/org/apache/shardingsphere/example/parser/postgresql/statement/PostgreSQLParserStatementExample.java
index aa2d2d1..f604293 100644
--- 
a/examples/other-example/shardingsphere-parser-example/src/main/java/org/apache/shardingsphere/example/parser/postgresql/statement/PostgreSQLParserStatementExample.java
+++ 
b/examples/other-example/shardingsphere-parser-example/src/main/java/org/apache/shardingsphere/example/parser/postgresql/statement/PostgreSQLParserStatementExample.java
@@ -20,7 +20,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.core.ParseContext;
+import org.apache.shardingsphere.sql.parser.core.ParseASTNode;
 import 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.postgresql.PostgreSQLStatement;
 
 import java.util.Arrays;
@@ -53,10 +53,10 @@ public final class PostgreSQLParserStatementExample {
     public static void main(String[] args) {
         POSTGRESQL_PARSER_STATEMENT_LIST.forEach(sql -> {
             CacheOption cacheOption = new CacheOption(128, 1024L, 4);
-            SQLParserEngine parserEngine = new SQLParserEngine("PostgreSQL", 
cacheOption, false);
-            ParseContext parseContext = parserEngine.parse(sql, false);
-            SQLVisitorEngine visitorEngine = new 
SQLVisitorEngine("PostgreSQL", "STATEMENT", new Properties());
-            PostgreSQLStatement sqlStatement = 
visitorEngine.visit(parseContext);
+            SQLParserEngine parserEngine = new SQLParserEngine("PostgreSQL", 
cacheOption);
+            ParseASTNode parseASTNode = parserEngine.parse(sql, false);
+            SQLVisitorEngine visitorEngine = new 
SQLVisitorEngine("PostgreSQL", "STATEMENT", false, new Properties());
+            PostgreSQLStatement sqlStatement = 
visitorEngine.visit(parseASTNode);
             System.out.println(sqlStatement.toString());
         });
     }
diff --git 
a/examples/other-example/shardingsphere-parser-example/src/main/java/org/apache/shardingsphere/example/parser/sql92/statement/SQL92ParserStatementExample.java
 
b/examples/other-example/shardingsphere-parser-example/src/main/java/org/apache/shardingsphere/example/parser/sql92/statement/SQL92ParserStatementExample.java
index 47cb8e2..c8b743a 100644
--- 
a/examples/other-example/shardingsphere-parser-example/src/main/java/org/apache/shardingsphere/example/parser/sql92/statement/SQL92ParserStatementExample.java
+++ 
b/examples/other-example/shardingsphere-parser-example/src/main/java/org/apache/shardingsphere/example/parser/sql92/statement/SQL92ParserStatementExample.java
@@ -20,7 +20,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.core.ParseContext;
+import org.apache.shardingsphere.sql.parser.core.ParseASTNode;
 import 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.sql92.SQL92Statement;
 
 import java.util.Arrays;
@@ -53,10 +53,10 @@ public final class SQL92ParserStatementExample {
     public static void main(String[] args) {
         SQL92_PARSER_STATEMENT_LIST.forEach(sql -> {
             CacheOption cacheOption = new CacheOption(128, 1024L, 4);
-            SQLParserEngine parserEngine = new SQLParserEngine("SQL92", 
cacheOption,false);
-            ParseContext parseContext = parserEngine.parse(sql, false);
-            SQLVisitorEngine visitorEngine = new SQLVisitorEngine("SQL92", 
"STATEMENT", new Properties());
-            SQL92Statement sqlStatement = visitorEngine.visit(parseContext);
+            SQLParserEngine parserEngine = new SQLParserEngine("SQL92", 
cacheOption);
+            ParseASTNode parseASTNode = parserEngine.parse(sql, false);
+            SQLVisitorEngine visitorEngine = new SQLVisitorEngine("SQL92", 
"STATEMENT", false, new Properties());
+            SQL92Statement sqlStatement = visitorEngine.visit(parseASTNode);
             System.out.println(sqlStatement.toString());
         });
     }
diff --git 
a/examples/other-example/shardingsphere-parser-example/src/main/java/org/apache/shardingsphere/example/parser/sqlserver/statement/SQLServerParserStatementExample.java
 
b/examples/other-example/shardingsphere-parser-example/src/main/java/org/apache/shardingsphere/example/parser/sqlserver/statement/SQLServerParserStatementExample.java
index 9f00252..88e96f5 100644
--- 
a/examples/other-example/shardingsphere-parser-example/src/main/java/org/apache/shardingsphere/example/parser/sqlserver/statement/SQLServerParserStatementExample.java
+++ 
b/examples/other-example/shardingsphere-parser-example/src/main/java/org/apache/shardingsphere/example/parser/sqlserver/statement/SQLServerParserStatementExample.java
@@ -20,7 +20,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.core.ParseContext;
+import org.apache.shardingsphere.sql.parser.core.ParseASTNode;
 import 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.sqlserver.SQLServerStatement;
 
 import java.util.Arrays;
@@ -55,10 +55,10 @@ public final class SQLServerParserStatementExample {
     public static void main(String[] args) {
         SQLSERVER_PARSER_STATEMENT_LIST.forEach(sql -> {
             CacheOption cacheOption = new CacheOption(128, 1024L, 4);
-            SQLParserEngine parserEngine = new SQLParserEngine("SQLServer", 
cacheOption, false);
-            ParseContext parseContext = parserEngine.parse(sql, false);
-            SQLVisitorEngine visitorEngine = new SQLVisitorEngine("SQLServer", 
"STATEMENT", new Properties());
-            SQLServerStatement sqlStatement = 
visitorEngine.visit(parseContext);
+            SQLParserEngine parserEngine = new SQLParserEngine("SQLServer", 
cacheOption);
+            ParseASTNode parseASTNode = parserEngine.parse(sql, false);
+            SQLVisitorEngine visitorEngine = new SQLVisitorEngine("SQLServer", 
"STATEMENT", false, new Properties());
+            SQLServerStatement sqlStatement = 
visitorEngine.visit(parseASTNode);
             System.out.println(sqlStatement);
         });
     }
diff --git 
a/shardingsphere-infra/shardingsphere-infra-parser/src/main/java/org/apache/shardingsphere/infra/parser/sql/SQLStatementParserExecutor.java
 
b/shardingsphere-infra/shardingsphere-infra-parser/src/main/java/org/apache/shardingsphere/infra/parser/sql/SQLStatementParserExecutor.java
index 5a7983d..3fae837 100644
--- 
a/shardingsphere-infra/shardingsphere-infra-parser/src/main/java/org/apache/shardingsphere/infra/parser/sql/SQLStatementParserExecutor.java
+++ 
b/shardingsphere-infra/shardingsphere-infra-parser/src/main/java/org/apache/shardingsphere/infra/parser/sql/SQLStatementParserExecutor.java
@@ -34,8 +34,8 @@ public final class SQLStatementParserExecutor {
     private final SQLVisitorEngine visitorEngine;
     
     public SQLStatementParserExecutor(final String databaseType, final 
SQLParserRule sqlParserRule) {
-        parserEngine = new SQLParserEngine(databaseType, 
sqlParserRule.getParseTreeCache(), sqlParserRule.isSqlCommentParseEnabled());
-        visitorEngine = new SQLVisitorEngine(databaseType, "STATEMENT", new 
Properties());
+        parserEngine = new SQLParserEngine(databaseType, 
sqlParserRule.getParseTreeCache());
+        visitorEngine = new SQLVisitorEngine(databaseType, "STATEMENT", 
sqlParserRule.isSqlCommentParseEnabled(), new Properties());
     }
     
     /**
diff --git 
a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/ral/advanced/FormatHandler.java
 
b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/ral/advanced/FormatHandler.java
index 3699bbf..bfd0667 100644
--- 
a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/ral/advanced/FormatHandler.java
+++ 
b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/ral/advanced/FormatHandler.java
@@ -23,7 +23,7 @@ import 
org.apache.shardingsphere.proxy.backend.text.distsql.ral.QueryableRALBack
 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.core.ParseContext;
+import org.apache.shardingsphere.sql.parser.core.ParseASTNode;
 import org.apache.shardingsphere.sql.parser.exception.SQLParsingException;
 
 import java.sql.SQLException;
@@ -47,16 +47,16 @@ public final class FormatHandler extends 
QueryableRALBackendHandler<FormatStatem
     @Override
     protected Collection<List<Object>> getRows(final ContextManager 
contextManager) throws SQLException {
         CacheOption cacheOption = new CacheOption(128, 1024L, 4);
-        SQLParserEngine parserEngine = new SQLParserEngine("MySQL", 
cacheOption, false);
-        ParseContext parseContext;
+        SQLParserEngine parserEngine = new SQLParserEngine("MySQL", 
cacheOption);
+        ParseASTNode parseASTNode;
         try {
-            parseContext = parserEngine.parse(sqlStatement.getSql(), false);
+            parseASTNode = parserEngine.parse(sqlStatement.getSql(), false);
         } catch (SQLParsingException ex) {
             throw new SQLParsingException("You have a syntax error in your 
formatted statement");
         }
         Properties props = new Properties();
         props.setProperty("parameterized", "false");
-        SQLVisitorEngine visitorEngine = new SQLVisitorEngine("MySQL", 
"FORMAT", props);
-        return 
Collections.singleton(Collections.singletonList(visitorEngine.visit(parseContext)));
+        SQLVisitorEngine visitorEngine = new SQLVisitorEngine("MySQL", 
"FORMAT", false, props);
+        return 
Collections.singleton(Collections.singletonList(visitorEngine.visit(parseASTNode)));
     }
 }
diff --git 
a/shardingsphere-sql-parser/shardingsphere-sql-parser-engine/src/main/java/org/apache/shardingsphere/sql/parser/api/SQLParserEngine.java
 
b/shardingsphere-sql-parser/shardingsphere-sql-parser-engine/src/main/java/org/apache/shardingsphere/sql/parser/api/SQLParserEngine.java
index 131d6c0..067f6bf 100644
--- 
a/shardingsphere-sql-parser/shardingsphere-sql-parser-engine/src/main/java/org/apache/shardingsphere/sql/parser/api/SQLParserEngine.java
+++ 
b/shardingsphere-sql-parser/shardingsphere-sql-parser-engine/src/main/java/org/apache/shardingsphere/sql/parser/api/SQLParserEngine.java
@@ -18,7 +18,7 @@
 package org.apache.shardingsphere.sql.parser.api;
 
 import com.google.common.cache.LoadingCache;
-import org.apache.shardingsphere.sql.parser.core.ParseContext;
+import org.apache.shardingsphere.sql.parser.core.ParseASTNode;
 import 
org.apache.shardingsphere.sql.parser.core.database.cache.ParseTreeCacheBuilder;
 import 
org.apache.shardingsphere.sql.parser.core.database.parser.SQLParserExecutor;
 
@@ -29,11 +29,11 @@ public final class SQLParserEngine {
     
     private final SQLParserExecutor sqlParserExecutor;
     
-    private final LoadingCache<String, ParseContext> parseTreeCache;
+    private final LoadingCache<String, ParseASTNode> parseTreeCache;
     
-    public SQLParserEngine(final String databaseType, final CacheOption 
cacheOption, final boolean sqlCommentParseEnabled) {
-        sqlParserExecutor = new SQLParserExecutor(databaseType, 
sqlCommentParseEnabled);
-        parseTreeCache = ParseTreeCacheBuilder.build(cacheOption, 
databaseType, sqlCommentParseEnabled);
+    public SQLParserEngine(final String databaseType, final CacheOption 
cacheOption) {
+        sqlParserExecutor = new SQLParserExecutor(databaseType);
+        parseTreeCache = ParseTreeCacheBuilder.build(cacheOption, 
databaseType);
     }
     
     /**
@@ -41,9 +41,9 @@ public final class SQLParserEngine {
      *
      * @param sql SQL to be parsed
      * @param useCache whether use cache
-     * @return parse tree
+     * @return parse AST node
      */
-    public ParseContext parse(final String sql, final boolean useCache) {
+    public ParseASTNode parse(final String sql, final boolean useCache) {
         return useCache ? parseTreeCache.getUnchecked(sql) : 
sqlParserExecutor.parse(sql);
     }
 }
diff --git 
a/shardingsphere-sql-parser/shardingsphere-sql-parser-engine/src/main/java/org/apache/shardingsphere/sql/parser/api/SQLVisitorEngine.java
 
b/shardingsphere-sql-parser/shardingsphere-sql-parser-engine/src/main/java/org/apache/shardingsphere/sql/parser/api/SQLVisitorEngine.java
index 80ba87a..37b32da 100644
--- 
a/shardingsphere-sql-parser/shardingsphere-sql-parser-engine/src/main/java/org/apache/shardingsphere/sql/parser/api/SQLVisitorEngine.java
+++ 
b/shardingsphere-sql-parser/shardingsphere-sql-parser-engine/src/main/java/org/apache/shardingsphere/sql/parser/api/SQLVisitorEngine.java
@@ -19,7 +19,7 @@ package org.apache.shardingsphere.sql.parser.api;
 
 import lombok.RequiredArgsConstructor;
 import org.antlr.v4.runtime.tree.ParseTreeVisitor;
-import org.apache.shardingsphere.sql.parser.core.ParseContext;
+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.SQLVisitorRule;
 import 
org.apache.shardingsphere.sql.parser.sql.common.segment.generic.CommentSegment;
@@ -39,25 +39,29 @@ public final class SQLVisitorEngine {
     
     private final String visitorType;
     
+    private final boolean isParseComment;
+    
     private final Properties props;
     
     /**
      * Visit parse context.
      *
-     * @param parseContext parse context
+     * @param parseASTNode parse AST node
      * @param <T> type of SQL visitor result
      * @return SQL visitor result
      */
-    public <T> T visit(final ParseContext parseContext) {
-        ParseTreeVisitor<T> visitor = 
SQLVisitorFactory.newInstance(databaseType, visitorType, 
SQLVisitorRule.valueOf(parseContext.getParseTree().getClass()), props);
-        T result = parseContext.getParseTree().accept(visitor);
-        appendSQLComments(parseContext, result);
+    public <T> T visit(final ParseASTNode parseASTNode) {
+        ParseTreeVisitor<T> visitor = 
SQLVisitorFactory.newInstance(databaseType, visitorType, 
SQLVisitorRule.valueOf(parseASTNode.getRootNode().getClass()), props);
+        T result = parseASTNode.getRootNode().accept(visitor);
+        if (isParseComment) {
+            appendSQLComments(parseASTNode, result);
+        }
         return result;
     }
     
-    private <T> void appendSQLComments(final ParseContext parseContext, final 
T visitResult) {
-        if (!parseContext.getHiddenTokens().isEmpty() && visitResult 
instanceof AbstractSQLStatement) {
-            Collection<CommentSegment> commentSegments = 
parseContext.getHiddenTokens().stream().map(
+    private <T> void appendSQLComments(final ParseASTNode parseASTNode, final 
T visitResult) {
+        if (visitResult instanceof AbstractSQLStatement) {
+            Collection<CommentSegment> commentSegments = 
parseASTNode.getHiddenTokens().stream().map(
                 each -> new CommentSegment(each.getText(), 
each.getStartIndex(), each.getStopIndex())).collect(Collectors.toList());
             ((AbstractSQLStatement) 
visitResult).getCommentSegments().addAll(commentSegments);
         }
diff --git 
a/shardingsphere-sql-parser/shardingsphere-sql-parser-engine/src/main/java/org/apache/shardingsphere/sql/parser/core/ParseASTNode.java
 
b/shardingsphere-sql-parser/shardingsphere-sql-parser-engine/src/main/java/org/apache/shardingsphere/sql/parser/core/ParseASTNode.java
index ca47b02..c27567e 100644
--- 
a/shardingsphere-sql-parser/shardingsphere-sql-parser-engine/src/main/java/org/apache/shardingsphere/sql/parser/core/ParseASTNode.java
+++ 
b/shardingsphere-sql-parser/shardingsphere-sql-parser-engine/src/main/java/org/apache/shardingsphere/sql/parser/core/ParseASTNode.java
@@ -17,12 +17,15 @@
 
 package org.apache.shardingsphere.sql.parser.core;
 
-import lombok.Getter;
 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 java.util.Collection;
+import java.util.stream.Collectors;
+
 /**
  * Parse AST node.
  */
@@ -31,7 +34,6 @@ public final class ParseASTNode implements ASTNode {
     
     private final ParseTree parseTree;
     
-    @Getter
     private final CommonTokenStream tokenStream;
     
     /**
@@ -42,4 +44,13 @@ public final class ParseASTNode implements ASTNode {
     public ParseTree getRootNode() {
         return parseTree.getChild(0);
     }
+    
+    /**
+     * Get hidden tokens.
+     * 
+     * @return hidden tokens
+     */
+    public Collection<Token> getHiddenTokens() {
+        return tokenStream.getTokens().stream().filter(each -> 
Token.HIDDEN_CHANNEL == each.getChannel()).collect(Collectors.toList());
+    }
 }
diff --git 
a/shardingsphere-sql-parser/shardingsphere-sql-parser-engine/src/main/java/org/apache/shardingsphere/sql/parser/core/ParseContext.java
 
b/shardingsphere-sql-parser/shardingsphere-sql-parser-engine/src/main/java/org/apache/shardingsphere/sql/parser/core/ParseContext.java
deleted file mode 100644
index 7a18e09..0000000
--- 
a/shardingsphere-sql-parser/shardingsphere-sql-parser-engine/src/main/java/org/apache/shardingsphere/sql/parser/core/ParseContext.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.shardingsphere.sql.parser.core;
-
-import lombok.Getter;
-import lombok.RequiredArgsConstructor;
-import org.antlr.v4.runtime.Token;
-import org.antlr.v4.runtime.tree.ParseTree;
-
-import java.util.Collection;
-
-/**
- * Parse context.
- */
-@RequiredArgsConstructor
-@Getter
-public final class ParseContext {
-    
-    private final ParseTree parseTree;
-    
-    private final Collection<Token> hiddenTokens;
-}
diff --git 
a/shardingsphere-sql-parser/shardingsphere-sql-parser-engine/src/main/java/org/apache/shardingsphere/sql/parser/core/database/cache/ParseTreeCacheBuilder.java
 
b/shardingsphere-sql-parser/shardingsphere-sql-parser-engine/src/main/java/org/apache/shardingsphere/sql/parser/core/database/cache/ParseTreeCacheBuilder.java
index 7616ba5..c90c7b0 100644
--- 
a/shardingsphere-sql-parser/shardingsphere-sql-parser-engine/src/main/java/org/apache/shardingsphere/sql/parser/core/database/cache/ParseTreeCacheBuilder.java
+++ 
b/shardingsphere-sql-parser/shardingsphere-sql-parser-engine/src/main/java/org/apache/shardingsphere/sql/parser/core/database/cache/ParseTreeCacheBuilder.java
@@ -22,7 +22,7 @@ import com.google.common.cache.LoadingCache;
 import lombok.AccessLevel;
 import lombok.NoArgsConstructor;
 import org.apache.shardingsphere.sql.parser.api.CacheOption;
-import org.apache.shardingsphere.sql.parser.core.ParseContext;
+import org.apache.shardingsphere.sql.parser.core.ParseASTNode;
 
 /**
  * Parse tree cache builder.
@@ -35,12 +35,11 @@ public final class ParseTreeCacheBuilder {
      * 
      * @param option cache option
      * @param databaseType database type
-     * @param sqlCommentParseEnabled sql comment parse enabled
      * @return built parse tree cache
      */
-    public static LoadingCache<String, ParseContext> build(final CacheOption 
option, final String databaseType, final boolean sqlCommentParseEnabled) {
+    public static LoadingCache<String, ParseASTNode> build(final CacheOption 
option, final String databaseType) {
         return CacheBuilder.newBuilder().softValues()
                 
.initialCapacity(option.getInitialCapacity()).maximumSize(option.getMaximumSize()).concurrencyLevel(option.getConcurrencyLevel())
-                .build(new ParseTreeCacheLoader(databaseType, 
sqlCommentParseEnabled));
+                .build(new ParseTreeCacheLoader(databaseType));
     }
 }
diff --git 
a/shardingsphere-sql-parser/shardingsphere-sql-parser-engine/src/main/java/org/apache/shardingsphere/sql/parser/core/database/cache/ParseTreeCacheLoader.java
 
b/shardingsphere-sql-parser/shardingsphere-sql-parser-engine/src/main/java/org/apache/shardingsphere/sql/parser/core/database/cache/ParseTreeCacheLoader.java
index b5ddc0c..c02804b 100644
--- 
a/shardingsphere-sql-parser/shardingsphere-sql-parser-engine/src/main/java/org/apache/shardingsphere/sql/parser/core/database/cache/ParseTreeCacheLoader.java
+++ 
b/shardingsphere-sql-parser/shardingsphere-sql-parser-engine/src/main/java/org/apache/shardingsphere/sql/parser/core/database/cache/ParseTreeCacheLoader.java
@@ -18,7 +18,7 @@
 package org.apache.shardingsphere.sql.parser.core.database.cache;
 
 import com.google.common.cache.CacheLoader;
-import org.apache.shardingsphere.sql.parser.core.ParseContext;
+import org.apache.shardingsphere.sql.parser.core.ParseASTNode;
 import 
org.apache.shardingsphere.sql.parser.core.database.parser.SQLParserExecutor;
 
 import javax.annotation.ParametersAreNonnullByDefault;
@@ -26,17 +26,17 @@ import javax.annotation.ParametersAreNonnullByDefault;
 /**
  * Parse context cache loader.
  */
-public final class ParseTreeCacheLoader extends CacheLoader<String, 
ParseContext> {
+public final class ParseTreeCacheLoader extends CacheLoader<String, 
ParseASTNode> {
     
     private final SQLParserExecutor sqlParserExecutor;
     
-    public ParseTreeCacheLoader(final String databaseType, final boolean 
sqlCommentParseEnabled) {
-        sqlParserExecutor = new SQLParserExecutor(databaseType, 
sqlCommentParseEnabled);
+    public ParseTreeCacheLoader(final String databaseType) {
+        sqlParserExecutor = new SQLParserExecutor(databaseType);
     }
     
     @ParametersAreNonnullByDefault
     @Override
-    public ParseContext load(final String sql) {
+    public ParseASTNode load(final String sql) {
         return sqlParserExecutor.parse(sql);
     }
 }
diff --git 
a/shardingsphere-sql-parser/shardingsphere-sql-parser-engine/src/main/java/org/apache/shardingsphere/sql/parser/core/database/parser/SQLParserExecutor.java
 
b/shardingsphere-sql-parser/shardingsphere-sql-parser-engine/src/main/java/org/apache/shardingsphere/sql/parser/core/database/parser/SQLParserExecutor.java
index 1a7471c..65134f3 100644
--- 
a/shardingsphere-sql-parser/shardingsphere-sql-parser-engine/src/main/java/org/apache/shardingsphere/sql/parser/core/database/parser/SQLParserExecutor.java
+++ 
b/shardingsphere-sql-parser/shardingsphere-sql-parser-engine/src/main/java/org/apache/shardingsphere/sql/parser/core/database/parser/SQLParserExecutor.java
@@ -19,20 +19,15 @@ package 
org.apache.shardingsphere.sql.parser.core.database.parser;
 
 import lombok.RequiredArgsConstructor;
 import org.antlr.v4.runtime.Parser;
-import org.antlr.v4.runtime.Token;
 import org.antlr.v4.runtime.atn.PredictionMode;
 import org.antlr.v4.runtime.misc.ParseCancellationException;
 import org.antlr.v4.runtime.tree.ErrorNode;
 import org.apache.shardingsphere.sql.parser.api.parser.SQLParser;
 import org.apache.shardingsphere.sql.parser.core.ParseASTNode;
-import org.apache.shardingsphere.sql.parser.core.ParseContext;
 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 java.util.Collections;
-import java.util.stream.Collectors;
-
 /**
  * SQL parser executor.
  */
@@ -41,21 +36,18 @@ public final class SQLParserExecutor {
     
     private final String databaseType;
     
-    private final boolean isParseComment;
-    
     /**
      * Parse SQL.
      * 
      * @param sql SQL to be parsed
-     * @return parse context
+     * @return parse AST node
      */
-    public ParseContext parse(final String sql) {
+    public ParseASTNode parse(final String sql) {
         ParseASTNode result = twoPhaseParse(sql);
         if (result.getRootNode() instanceof ErrorNode) {
             throw new SQLParsingException("Unsupported SQL of `%s`", sql);
         }
-        return new ParseContext(result.getRootNode(), isParseComment
-                ? result.getTokenStream().getTokens().stream().filter(each -> 
Token.HIDDEN_CHANNEL == each.getChannel()).collect(Collectors.toList()) : 
Collections.emptyList());
+        return result;
     }
     
     private ParseASTNode twoPhaseParse(final String sql) {
diff --git 
a/shardingsphere-sql-parser/shardingsphere-sql-parser-engine/src/test/java/org/apache/shardingsphere/sql/parser/api/SQLParserEngineTest.java
 
b/shardingsphere-sql-parser/shardingsphere-sql-parser-engine/src/test/java/org/apache/shardingsphere/sql/parser/api/SQLParserEngineTest.java
index 969738a..dcfb303 100644
--- 
a/shardingsphere-sql-parser/shardingsphere-sql-parser-engine/src/test/java/org/apache/shardingsphere/sql/parser/api/SQLParserEngineTest.java
+++ 
b/shardingsphere-sql-parser/shardingsphere-sql-parser-engine/src/test/java/org/apache/shardingsphere/sql/parser/api/SQLParserEngineTest.java
@@ -20,7 +20,7 @@ package org.apache.shardingsphere.sql.parser.api;
 import com.google.common.cache.CacheBuilder;
 import com.google.common.cache.CacheLoader;
 import com.google.common.cache.LoadingCache;
-import org.apache.shardingsphere.sql.parser.core.ParseContext;
+import org.apache.shardingsphere.sql.parser.core.ParseASTNode;
 import 
org.apache.shardingsphere.sql.parser.core.database.parser.SQLParserExecutor;
 import org.junit.Test;
 
@@ -39,20 +39,20 @@ public final class SQLParserEngineTest {
     @Test
     public void assertParse() throws NoSuchFieldException, 
IllegalAccessException {
         SQLParserExecutor sqlParserExecutor = mock(SQLParserExecutor.class);
-        
when(sqlParserExecutor.parse(SQL)).thenReturn(mock(ParseContext.class));
+        
when(sqlParserExecutor.parse(SQL)).thenReturn(mock(ParseASTNode.class));
         CacheOption cacheOption = new CacheOption(128, 1024L, 4);
-        SQLParserEngine sqlParserEngine = new SQLParserEngine("H2", 
cacheOption, false);
+        SQLParserEngine sqlParserEngine = new SQLParserEngine("H2", 
cacheOption);
         Field sqlParserExecutorFiled = 
sqlParserEngine.getClass().getDeclaredField("sqlParserExecutor");
         Field parseTreeCacheField = 
sqlParserEngine.getClass().getDeclaredField("parseTreeCache");
         sqlParserExecutorFiled.setAccessible(true);
         parseTreeCacheField.setAccessible(true);
         sqlParserExecutorFiled.set(sqlParserEngine, sqlParserExecutor);
-        LoadingCache<String, ParseContext> parseTreeCache = 
CacheBuilder.newBuilder().softValues().initialCapacity(128)
-                .maximumSize(1024).concurrencyLevel(4).build(new 
CacheLoader<String, ParseContext>() {
+        LoadingCache<String, ParseASTNode> parseTreeCache = 
CacheBuilder.newBuilder().softValues().initialCapacity(128)
+                .maximumSize(1024).concurrencyLevel(4).build(new 
CacheLoader<String, ParseASTNode>() {
                     
                     @ParametersAreNonnullByDefault
                     @Override
-                    public ParseContext load(final String sql) {
+                    public ParseASTNode load(final String sql) {
                         return sqlParserExecutor.parse(sql);
                     }
                 });
diff --git 
a/shardingsphere-sql-parser/shardingsphere-sql-parser-engine/src/test/java/org/apache/shardingsphere/sql/parser/core/SQLParserEngineTest.java
 
b/shardingsphere-sql-parser/shardingsphere-sql-parser-engine/src/test/java/org/apache/shardingsphere/sql/parser/core/SQLParserEngineTest.java
index db1d41a..cf52d61 100644
--- 
a/shardingsphere-sql-parser/shardingsphere-sql-parser-engine/src/test/java/org/apache/shardingsphere/sql/parser/core/SQLParserEngineTest.java
+++ 
b/shardingsphere-sql-parser/shardingsphere-sql-parser-engine/src/test/java/org/apache/shardingsphere/sql/parser/core/SQLParserEngineTest.java
@@ -35,13 +35,13 @@ public final class SQLParserEngineTest {
     @Test
     public void assertParse() {
         SQLParserExecutor sqlParserExecutor = mock(SQLParserExecutor.class);
-        when(sqlParserExecutor.parse("")).thenReturn(mock(ParseContext.class));
-        LoadingCache<String, ParseContext> parseTreeCache = 
CacheBuilder.newBuilder().softValues()
-                
.initialCapacity(128).maximumSize(1024).concurrencyLevel(4).build(new 
CacheLoader<String, ParseContext>() {
-                    
+        when(sqlParserExecutor.parse("")).thenReturn(mock(ParseASTNode.class));
+        LoadingCache<String, ParseASTNode> parseTreeCache = 
CacheBuilder.newBuilder().softValues()
+                
.initialCapacity(128).maximumSize(1024).concurrencyLevel(4).build(new 
CacheLoader<String, ParseASTNode>() {
+                        
                         @ParametersAreNonnullByDefault
                         @Override
-                        public ParseContext load(final String sql) {
+                        public ParseASTNode load(final String sql) {
                             return sqlParserExecutor.parse(sql);
                         }
                     }
diff --git 
a/shardingsphere-sql-parser/shardingsphere-sql-parser-engine/src/test/java/org/apache/shardingsphere/sql/parser/core/database/cache/ParseTreeCacheBuilderTest.java
 
b/shardingsphere-sql-parser/shardingsphere-sql-parser-engine/src/test/java/org/apache/shardingsphere/sql/parser/core/database/cache/ParseTreeCacheBuilderTest.java
index 8ac92ba..02e07d8 100644
--- 
a/shardingsphere-sql-parser/shardingsphere-sql-parser-engine/src/test/java/org/apache/shardingsphere/sql/parser/core/database/cache/ParseTreeCacheBuilderTest.java
+++ 
b/shardingsphere-sql-parser/shardingsphere-sql-parser-engine/src/test/java/org/apache/shardingsphere/sql/parser/core/database/cache/ParseTreeCacheBuilderTest.java
@@ -19,7 +19,7 @@ package 
org.apache.shardingsphere.sql.parser.core.database.cache;
 
 import com.google.common.cache.LoadingCache;
 import org.apache.shardingsphere.sql.parser.api.CacheOption;
-import org.apache.shardingsphere.sql.parser.core.ParseContext;
+import org.apache.shardingsphere.sql.parser.core.ParseASTNode;
 import org.junit.Test;
 
 import static org.hamcrest.CoreMatchers.isA;
@@ -29,7 +29,7 @@ public final class ParseTreeCacheBuilderTest {
     
     @Test
     public void assertParseTreeCacheBuild() {
-        LoadingCache<String, ParseContext> cache = 
ParseTreeCacheBuilder.build(new CacheOption(1, 10, 1), "MySQL", false);
+        LoadingCache<String, ParseASTNode> cache = 
ParseTreeCacheBuilder.build(new CacheOption(1, 10, 1), "MySQL");
         assertThat(cache, isA(LoadingCache.class));
     }
 }
diff --git 
a/shardingsphere-sql-parser/shardingsphere-sql-parser-engine/src/test/java/org/apache/shardingsphere/sql/parser/core/database/cache/ParseTreeCacheLoaderTest.java
 
b/shardingsphere-sql-parser/shardingsphere-sql-parser-engine/src/test/java/org/apache/shardingsphere/sql/parser/core/database/cache/ParseTreeCacheLoaderTest.java
index 38f45f7..78f58ab 100644
--- 
a/shardingsphere-sql-parser/shardingsphere-sql-parser-engine/src/test/java/org/apache/shardingsphere/sql/parser/core/database/cache/ParseTreeCacheLoaderTest.java
+++ 
b/shardingsphere-sql-parser/shardingsphere-sql-parser-engine/src/test/java/org/apache/shardingsphere/sql/parser/core/database/cache/ParseTreeCacheLoaderTest.java
@@ -17,7 +17,7 @@
 
 package org.apache.shardingsphere.sql.parser.core.database.cache;
 
-import org.apache.shardingsphere.sql.parser.core.ParseContext;
+import org.apache.shardingsphere.sql.parser.core.ParseASTNode;
 import 
org.apache.shardingsphere.sql.parser.core.database.parser.SQLParserExecutor;
 import org.junit.Test;
 
@@ -35,10 +35,10 @@ public final class ParseTreeCacheLoaderTest {
     @Test
     public void assertParseTreeCacheLoader() throws NoSuchFieldException, 
IllegalAccessException {
         SQLParserExecutor sqlParserExecutor = mock(SQLParserExecutor.class, 
RETURNS_DEEP_STUBS);
-        ParseTreeCacheLoader loader = new ParseTreeCacheLoader("MySQL", false);
+        ParseTreeCacheLoader loader = new ParseTreeCacheLoader("MySQL");
         Field sqlParserExecutorField = 
loader.getClass().getDeclaredField("sqlParserExecutor");
         sqlParserExecutorField.setAccessible(true);
         sqlParserExecutorField.set(loader, sqlParserExecutor);
-        assertThat(loader.load(SQL), isA(ParseContext.class));
+        assertThat(loader.load(SQL), isA(ParseASTNode.class));
     }
 }
diff --git 
a/shardingsphere-test/shardingsphere-optimize-test/src/test/java/org/apache/shardingsphere/infra/federation/converter/parameterized/engine/SQLNodeConvertEngineParameterizedTest.java
 
b/shardingsphere-test/shardingsphere-optimize-test/src/test/java/org/apache/shardingsphere/infra/federation/converter/parameterized/engine/SQLNodeConvertEngineParameterizedTest.java
index a15e77d..7b389d4 100644
--- 
a/shardingsphere-test/shardingsphere-optimize-test/src/test/java/org/apache/shardingsphere/infra/federation/converter/parameterized/engine/SQLNodeConvertEngineParameterizedTest.java
+++ 
b/shardingsphere-test/shardingsphere-optimize-test/src/test/java/org/apache/shardingsphere/infra/federation/converter/parameterized/engine/SQLNodeConvertEngineParameterizedTest.java
@@ -168,6 +168,6 @@ public final class SQLNodeConvertEngineParameterizedTest {
     
     private SQLStatement parseSQLStatement(final String databaseType, final 
String sql) {
         CacheOption cacheOption = new CacheOption(128, 1024L, 4);
-        return new SQLVisitorEngine(databaseType, "STATEMENT", new 
Properties()).visit(new SQLParserEngine(databaseType, cacheOption, 
true).parse(sql, false));
+        return new SQLVisitorEngine(databaseType, "STATEMENT", true, new 
Properties()).visit(new SQLParserEngine(databaseType, cacheOption).parse(sql, 
false));
     }
 }
diff --git 
a/shardingsphere-test/shardingsphere-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/engine/SQLParserParameterizedTest.java
 
b/shardingsphere-test/shardingsphere-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/engine/SQLParserParameterizedTest.java
index 31cc5b6..9b5ccf0 100644
--- 
a/shardingsphere-test/shardingsphere-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/engine/SQLParserParameterizedTest.java
+++ 
b/shardingsphere-test/shardingsphere-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/engine/SQLParserParameterizedTest.java
@@ -75,6 +75,6 @@ public abstract class SQLParserParameterizedTest {
     
     private SQLStatement parseSQLStatement(final String databaseType, final 
String sql) {
         CacheOption cacheOption = new CacheOption(128, 1024L, 4);
-        return new SQLVisitorEngine(databaseType, "STATEMENT", new 
Properties()).visit(new SQLParserEngine(databaseType, cacheOption, 
true).parse(sql, false));
+        return new SQLVisitorEngine(databaseType, "STATEMENT", true, new 
Properties()).visit(new SQLParserEngine(databaseType, cacheOption).parse(sql, 
false));
     }
 }
diff --git 
a/shardingsphere-test/shardingsphere-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/engine/UnsupportedSQLParserParameterizedTest.java
 
b/shardingsphere-test/shardingsphere-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/engine/UnsupportedSQLParserParameterizedTest.java
index 04f4c92..bbdaec5 100644
--- 
a/shardingsphere-test/shardingsphere-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/engine/UnsupportedSQLParserParameterizedTest.java
+++ 
b/shardingsphere-test/shardingsphere-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/engine/UnsupportedSQLParserParameterizedTest.java
@@ -21,7 +21,7 @@ import lombok.RequiredArgsConstructor;
 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.core.ParseContext;
+import org.apache.shardingsphere.sql.parser.core.ParseASTNode;
 import org.apache.shardingsphere.sql.parser.sql.common.statement.SQLStatement;
 import 
org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.sql.SQLCaseType;
 import 
org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.sql.loader.SQLCasesLoader;
@@ -52,7 +52,7 @@ public abstract class UnsupportedSQLParserParameterizedTest {
         String sql = SQL_CASES_LOADER.getCaseValue(sqlCaseId, sqlCaseType, 
Collections.emptyList(), databaseType);
         String databaseType = "H2".equals(this.databaseType) ? "MySQL" : 
this.databaseType;
         CacheOption cacheOption = new CacheOption(128, 1024L, 4);
-        ParseContext parseContext = new SQLParserEngine(databaseType, 
cacheOption, true).parse(sql, false);
-        SQLStatement sqlStatement = new SQLVisitorEngine(databaseType, 
"STATEMENT", new Properties()).visit(parseContext);
+        ParseASTNode parseContext = new SQLParserEngine(databaseType, 
cacheOption).parse(sql, false);
+        SQLStatement sqlStatement = new SQLVisitorEngine(databaseType, 
"STATEMENT", true, new Properties()).visit(parseContext);
     }
 }

Reply via email to