You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by ji...@apache.org on 2022/12/02 16:16:15 UTC

[shardingsphere] branch master updated: Decouple parser test and test-runner (#22609)

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

jianglongtao 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 4943fd8a396 Decouple parser test and test-runner (#22609)
4943fd8a396 is described below

commit 4943fd8a396d3cbe7f8b6c5caede5e4f522f887e
Author: Liang Zhang <zh...@apache.org>
AuthorDate: Sat Dec 3 00:16:08 2022 +0800

    Decouple parser test and test-runner (#22609)
---
 .../ExternalMySQLParserParameterizedIT.java        |  3 +-
 ...ernalUnsupportedMySQLParserParameterizedIT.java |  4 +-
 ...lUnsupportedOpenGaussParserParameterizedIT.java |  4 +-
 ...rnalUnsupportedOracleParserParameterizedIT.java |  4 +-
 .../ExternalPostgreSQLParserParameterizedIT.java   |  3 +-
 ...UnsupportedPostgreSQLParserParameterizedIT.java |  4 +-
 ...ernalUnsupportedSQL92ParserParameterizedIT.java |  4 +-
 .../sql92/fixture/SQL92FixtureDatabaseType.java    | 61 ----------------------
 ...shardingsphere.infra.database.type.DatabaseType | 18 -------
 ...lUnsupportedSQLServerParserParameterizedIT.java |  4 +-
 .../SQLNodeConverterEngineParameterizedTest.java   |  7 ++-
 test/parser/pom.xml                                |  7 +--
 .../sql/parser/SQLParserParameterizedArray.java    |  4 +-
 .../engine/ExternalSQLParserParameterizedIT.java   |  7 ++-
 .../param/ExternalSQLParserParameterizedArray.java |  5 +-
 .../sql/parser/external/loader/SQLCaseLoader.java  |  5 +-
 .../external/result/SQLParseResultReporter.java    |  4 +-
 .../result/SQLParseResultReporterCreator.java      |  3 +-
 .../result/type/csv/CsvSQLParseResultReporter.java |  9 ++--
 .../type/csv/CsvSQLParseResultReporterCreator.java |  3 +-
 .../result/type/log/LogSQLParseResultReporter.java |  5 +-
 .../type/log/LogSQLParseResultReporterCreator.java |  3 +-
 .../sql/parser/internal/cases/sql/SQLCases.java    | 23 +++-----
 .../engine/InternalSQLParserParameterizedIT.java   |  9 ++--
 ...nternalUnsupportedSQLParserParameterizedIT.java |  9 ++--
 .../param/InternalSQLParserParameterizedArray.java |  5 +-
 .../fixture/DistSQLFixtureDatabaseType.java        | 61 ----------------------
 ...shardingsphere.infra.database.type.DatabaseType | 18 -------
 28 files changed, 50 insertions(+), 246 deletions(-)

diff --git a/sql-parser/dialect/mysql/src/test/java/org/apache/shardingsphere/sql/parser/mysql/external/ExternalMySQLParserParameterizedIT.java b/sql-parser/dialect/mysql/src/test/java/org/apache/shardingsphere/sql/parser/mysql/external/ExternalMySQLParserParameterizedIT.java
index 407d9272d6c..b6eed61f990 100644
--- a/sql-parser/dialect/mysql/src/test/java/org/apache/shardingsphere/sql/parser/mysql/external/ExternalMySQLParserParameterizedIT.java
+++ b/sql-parser/dialect/mysql/src/test/java/org/apache/shardingsphere/sql/parser/mysql/external/ExternalMySQLParserParameterizedIT.java
@@ -17,7 +17,6 @@
 
 package org.apache.shardingsphere.sql.parser.mysql.external;
 
-import org.apache.shardingsphere.infra.database.type.DatabaseTypeFactory;
 import org.apache.shardingsphere.test.sql.parser.external.engine.ExternalSQLParserParameterizedIT;
 import org.apache.shardingsphere.test.sql.parser.external.engine.param.ExternalSQLParserParameterizedArray;
 import org.apache.shardingsphere.test.sql.parser.external.loader.SQLCaseLoader;
@@ -40,6 +39,6 @@ public final class ExternalMySQLParserParameterizedIT extends ExternalSQLParserP
     public static Collection<ExternalSQLParserParameterizedArray> getTestParameters() {
         String caseURL = "https://github.com/mysql/mysql-server/tree/8.0/mysql-test/t";
         String resultURL = "https://github.com/mysql/mysql-server/tree/8.0/mysql-test/r";
-        return new SQLCaseLoader(new GitHubSQLCaseLoadStrategy()).load(URI.create(caseURL), URI.create(resultURL), DatabaseTypeFactory.getInstance("MySQL"), "CSV");
+        return new SQLCaseLoader(new GitHubSQLCaseLoadStrategy()).load(URI.create(caseURL), URI.create(resultURL), "MySQL", "CSV");
     }
 }
diff --git a/sql-parser/dialect/mysql/src/test/java/org/apache/shardingsphere/sql/parser/mysql/internal/InternalUnsupportedMySQLParserParameterizedIT.java b/sql-parser/dialect/mysql/src/test/java/org/apache/shardingsphere/sql/parser/mysql/internal/InternalUnsupportedMySQLParserParameterizedIT.java
index f31e90f24d5..de95ba55895 100644
--- a/sql-parser/dialect/mysql/src/test/java/org/apache/shardingsphere/sql/parser/mysql/internal/InternalUnsupportedMySQLParserParameterizedIT.java
+++ b/sql-parser/dialect/mysql/src/test/java/org/apache/shardingsphere/sql/parser/mysql/internal/InternalUnsupportedMySQLParserParameterizedIT.java
@@ -17,15 +17,15 @@
 
 package org.apache.shardingsphere.sql.parser.mysql.internal;
 
-import org.apache.shardingsphere.test.runner.ParallelParameterized;
 import org.apache.shardingsphere.test.sql.parser.internal.engine.InternalUnsupportedSQLParserParameterizedIT;
 import org.apache.shardingsphere.test.sql.parser.internal.engine.param.InternalSQLParserParameterizedArray;
 import org.junit.runner.RunWith;
+import org.junit.runners.Parameterized;
 import org.junit.runners.Parameterized.Parameters;
 
 import java.util.Collection;
 
-@RunWith(ParallelParameterized.class)
+@RunWith(Parameterized.class)
 public final class InternalUnsupportedMySQLParserParameterizedIT extends InternalUnsupportedSQLParserParameterizedIT {
     
     public InternalUnsupportedMySQLParserParameterizedIT(final InternalSQLParserParameterizedArray parameterizedArray) {
diff --git a/sql-parser/dialect/opengauss/src/test/java/org/apache/shardingsphere/sql/parser/opengauss/InternalUnsupportedOpenGaussParserParameterizedIT.java b/sql-parser/dialect/opengauss/src/test/java/org/apache/shardingsphere/sql/parser/opengauss/InternalUnsupportedOpenGaussParserParameterizedIT.java
index 2a65a72b937..e11b6a0b866 100644
--- a/sql-parser/dialect/opengauss/src/test/java/org/apache/shardingsphere/sql/parser/opengauss/InternalUnsupportedOpenGaussParserParameterizedIT.java
+++ b/sql-parser/dialect/opengauss/src/test/java/org/apache/shardingsphere/sql/parser/opengauss/InternalUnsupportedOpenGaussParserParameterizedIT.java
@@ -17,15 +17,15 @@
 
 package org.apache.shardingsphere.sql.parser.opengauss;
 
-import org.apache.shardingsphere.test.runner.ParallelParameterized;
 import org.apache.shardingsphere.test.sql.parser.internal.engine.InternalUnsupportedSQLParserParameterizedIT;
 import org.apache.shardingsphere.test.sql.parser.internal.engine.param.InternalSQLParserParameterizedArray;
 import org.junit.runner.RunWith;
+import org.junit.runners.Parameterized;
 import org.junit.runners.Parameterized.Parameters;
 
 import java.util.Collection;
 
-@RunWith(ParallelParameterized.class)
+@RunWith(Parameterized.class)
 public final class InternalUnsupportedOpenGaussParserParameterizedIT extends InternalUnsupportedSQLParserParameterizedIT {
     
     public InternalUnsupportedOpenGaussParserParameterizedIT(final InternalSQLParserParameterizedArray parameterizedArray) {
diff --git a/sql-parser/dialect/oracle/src/test/java/org/apache/shardingsphere/sql/parser/oracle/InternalUnsupportedOracleParserParameterizedIT.java b/sql-parser/dialect/oracle/src/test/java/org/apache/shardingsphere/sql/parser/oracle/InternalUnsupportedOracleParserParameterizedIT.java
index a8f6306b236..14973631230 100644
--- a/sql-parser/dialect/oracle/src/test/java/org/apache/shardingsphere/sql/parser/oracle/InternalUnsupportedOracleParserParameterizedIT.java
+++ b/sql-parser/dialect/oracle/src/test/java/org/apache/shardingsphere/sql/parser/oracle/InternalUnsupportedOracleParserParameterizedIT.java
@@ -17,15 +17,15 @@
 
 package org.apache.shardingsphere.sql.parser.oracle;
 
-import org.apache.shardingsphere.test.runner.ParallelParameterized;
 import org.apache.shardingsphere.test.sql.parser.internal.engine.InternalUnsupportedSQLParserParameterizedIT;
 import org.apache.shardingsphere.test.sql.parser.internal.engine.param.InternalSQLParserParameterizedArray;
 import org.junit.runner.RunWith;
+import org.junit.runners.Parameterized;
 import org.junit.runners.Parameterized.Parameters;
 
 import java.util.Collection;
 
-@RunWith(ParallelParameterized.class)
+@RunWith(Parameterized.class)
 public final class InternalUnsupportedOracleParserParameterizedIT extends InternalUnsupportedSQLParserParameterizedIT {
     
     public InternalUnsupportedOracleParserParameterizedIT(final InternalSQLParserParameterizedArray parameterizedArray) {
diff --git a/sql-parser/dialect/postgresql/src/test/java/org/apache/shardingsphere/sql/parser/postgresql/external/ExternalPostgreSQLParserParameterizedIT.java b/sql-parser/dialect/postgresql/src/test/java/org/apache/shardingsphere/sql/parser/postgresql/external/ExternalPostgreSQLParserParameterizedIT.java
index ff167dc6953..72e1e56d256 100644
--- a/sql-parser/dialect/postgresql/src/test/java/org/apache/shardingsphere/sql/parser/postgresql/external/ExternalPostgreSQLParserParameterizedIT.java
+++ b/sql-parser/dialect/postgresql/src/test/java/org/apache/shardingsphere/sql/parser/postgresql/external/ExternalPostgreSQLParserParameterizedIT.java
@@ -17,7 +17,6 @@
 
 package org.apache.shardingsphere.sql.parser.postgresql.external;
 
-import org.apache.shardingsphere.infra.database.type.DatabaseTypeFactory;
 import org.apache.shardingsphere.test.sql.parser.external.engine.ExternalSQLParserParameterizedIT;
 import org.apache.shardingsphere.test.sql.parser.external.engine.param.ExternalSQLParserParameterizedArray;
 import org.apache.shardingsphere.test.sql.parser.external.loader.SQLCaseLoader;
@@ -40,6 +39,6 @@ public final class ExternalPostgreSQLParserParameterizedIT extends ExternalSQLPa
     public static Collection<ExternalSQLParserParameterizedArray> getTestParameters() {
         String caseURL = "https://github.com/postgres/postgres/tree/master/src/test/regress/sql";
         String resultURL = "https://github.com/postgres/postgres/tree/master/src/test/regress/expected";
-        return new SQLCaseLoader(new GitHubSQLCaseLoadStrategy()).load(URI.create(caseURL), URI.create(resultURL), DatabaseTypeFactory.getInstance("PostgreSQL"), "CSV");
+        return new SQLCaseLoader(new GitHubSQLCaseLoadStrategy()).load(URI.create(caseURL), URI.create(resultURL), "PostgreSQL", "CSV");
     }
 }
diff --git a/sql-parser/dialect/postgresql/src/test/java/org/apache/shardingsphere/sql/parser/postgresql/internal/InternalUnsupportedPostgreSQLParserParameterizedIT.java b/sql-parser/dialect/postgresql/src/test/java/org/apache/shardingsphere/sql/parser/postgresql/internal/InternalUnsupportedPostgreSQLParserParameterizedIT.java
index 065ff39ef9a..39b8fa28ac7 100644
--- a/sql-parser/dialect/postgresql/src/test/java/org/apache/shardingsphere/sql/parser/postgresql/internal/InternalUnsupportedPostgreSQLParserParameterizedIT.java
+++ b/sql-parser/dialect/postgresql/src/test/java/org/apache/shardingsphere/sql/parser/postgresql/internal/InternalUnsupportedPostgreSQLParserParameterizedIT.java
@@ -17,15 +17,15 @@
 
 package org.apache.shardingsphere.sql.parser.postgresql.internal;
 
-import org.apache.shardingsphere.test.runner.ParallelParameterized;
 import org.apache.shardingsphere.test.sql.parser.internal.engine.InternalUnsupportedSQLParserParameterizedIT;
 import org.apache.shardingsphere.test.sql.parser.internal.engine.param.InternalSQLParserParameterizedArray;
 import org.junit.runner.RunWith;
+import org.junit.runners.Parameterized;
 import org.junit.runners.Parameterized.Parameters;
 
 import java.util.Collection;
 
-@RunWith(ParallelParameterized.class)
+@RunWith(Parameterized.class)
 public final class InternalUnsupportedPostgreSQLParserParameterizedIT extends InternalUnsupportedSQLParserParameterizedIT {
     
     public InternalUnsupportedPostgreSQLParserParameterizedIT(final InternalSQLParserParameterizedArray parameterizedArray) {
diff --git a/sql-parser/dialect/sql92/src/test/java/org/apache/shardingsphere/sql/parser/sql92/InternalUnsupportedSQL92ParserParameterizedIT.java b/sql-parser/dialect/sql92/src/test/java/org/apache/shardingsphere/sql/parser/sql92/InternalUnsupportedSQL92ParserParameterizedIT.java
index e96b27bafc1..5e41d11bfc1 100644
--- a/sql-parser/dialect/sql92/src/test/java/org/apache/shardingsphere/sql/parser/sql92/InternalUnsupportedSQL92ParserParameterizedIT.java
+++ b/sql-parser/dialect/sql92/src/test/java/org/apache/shardingsphere/sql/parser/sql92/InternalUnsupportedSQL92ParserParameterizedIT.java
@@ -17,15 +17,15 @@
 
 package org.apache.shardingsphere.sql.parser.sql92;
 
-import org.apache.shardingsphere.test.runner.ParallelParameterized;
 import org.apache.shardingsphere.test.sql.parser.internal.engine.InternalUnsupportedSQLParserParameterizedIT;
 import org.apache.shardingsphere.test.sql.parser.internal.engine.param.InternalSQLParserParameterizedArray;
 import org.junit.runner.RunWith;
+import org.junit.runners.Parameterized;
 import org.junit.runners.Parameterized.Parameters;
 
 import java.util.Collection;
 
-@RunWith(ParallelParameterized.class)
+@RunWith(Parameterized.class)
 public final class InternalUnsupportedSQL92ParserParameterizedIT extends InternalUnsupportedSQLParserParameterizedIT {
     
     public InternalUnsupportedSQL92ParserParameterizedIT(final InternalSQLParserParameterizedArray parameterizedArray) {
diff --git a/sql-parser/dialect/sql92/src/test/java/org/apache/shardingsphere/sql/parser/sql92/fixture/SQL92FixtureDatabaseType.java b/sql-parser/dialect/sql92/src/test/java/org/apache/shardingsphere/sql/parser/sql92/fixture/SQL92FixtureDatabaseType.java
deleted file mode 100644
index fa532cefee4..00000000000
--- a/sql-parser/dialect/sql92/src/test/java/org/apache/shardingsphere/sql/parser/sql92/fixture/SQL92FixtureDatabaseType.java
+++ /dev/null
@@ -1,61 +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.sql92.fixture;
-
-import org.apache.shardingsphere.infra.database.metadata.DataSourceMetaData;
-import org.apache.shardingsphere.infra.database.type.DatabaseType;
-import org.apache.shardingsphere.sql.parser.sql.common.enums.QuoteCharacter;
-
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Map;
-
-import static org.mockito.Mockito.mock;
-
-public final class SQL92FixtureDatabaseType implements DatabaseType {
-    
-    @Override
-    public QuoteCharacter getQuoteCharacter() {
-        return QuoteCharacter.NONE;
-    }
-    
-    @Override
-    public Collection<String> getJdbcUrlPrefixes() {
-        return Collections.emptyList();
-    }
-    
-    @Override
-    public DataSourceMetaData getDataSourceMetaData(final String url, final String username) {
-        return mock(DataSourceMetaData.class);
-    }
-    
-    @Override
-    public Map<String, Collection<String>> getSystemDatabaseSchemaMap() {
-        return Collections.emptyMap();
-    }
-    
-    @Override
-    public Collection<String> getSystemSchemas() {
-        return Collections.emptyList();
-    }
-    
-    @Override
-    public String getType() {
-        return "SQL92";
-    }
-}
diff --git a/sql-parser/dialect/sql92/src/test/resources/META-INF/services/org.apache.shardingsphere.infra.database.type.DatabaseType b/sql-parser/dialect/sql92/src/test/resources/META-INF/services/org.apache.shardingsphere.infra.database.type.DatabaseType
deleted file mode 100644
index 1f9eadd77cf..00000000000
--- a/sql-parser/dialect/sql92/src/test/resources/META-INF/services/org.apache.shardingsphere.infra.database.type.DatabaseType
+++ /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.fixture.SQL92FixtureDatabaseType
diff --git a/sql-parser/dialect/sqlserver/src/test/java/org/apache/shardingsphere/sql/parser/sqlserver/InternalUnsupportedSQLServerParserParameterizedIT.java b/sql-parser/dialect/sqlserver/src/test/java/org/apache/shardingsphere/sql/parser/sqlserver/InternalUnsupportedSQLServerParserParameterizedIT.java
index 31c0af2c0c7..d7ea888f1de 100644
--- a/sql-parser/dialect/sqlserver/src/test/java/org/apache/shardingsphere/sql/parser/sqlserver/InternalUnsupportedSQLServerParserParameterizedIT.java
+++ b/sql-parser/dialect/sqlserver/src/test/java/org/apache/shardingsphere/sql/parser/sqlserver/InternalUnsupportedSQLServerParserParameterizedIT.java
@@ -17,15 +17,15 @@
 
 package org.apache.shardingsphere.sql.parser.sqlserver;
 
-import org.apache.shardingsphere.test.runner.ParallelParameterized;
 import org.apache.shardingsphere.test.sql.parser.internal.engine.InternalUnsupportedSQLParserParameterizedIT;
 import org.apache.shardingsphere.test.sql.parser.internal.engine.param.InternalSQLParserParameterizedArray;
 import org.junit.runner.RunWith;
+import org.junit.runners.Parameterized;
 import org.junit.runners.Parameterized.Parameters;
 
 import java.util.Collection;
 
-@RunWith(ParallelParameterized.class)
+@RunWith(Parameterized.class)
 public final class InternalUnsupportedSQLServerParserParameterizedIT extends InternalUnsupportedSQLParserParameterizedIT {
     
     public InternalUnsupportedSQLServerParserParameterizedIT(final InternalSQLParserParameterizedArray parameterizedArray) {
diff --git a/test/optimize/src/test/java/org/apache/shardingsphere/infra/federation/converter/parameterized/engine/SQLNodeConverterEngineParameterizedTest.java b/test/optimize/src/test/java/org/apache/shardingsphere/infra/federation/converter/parameterized/engine/SQLNodeConverterEngineParameterizedTest.java
index e6885fed3e3..9aa9110eda3 100644
--- a/test/optimize/src/test/java/org/apache/shardingsphere/infra/federation/converter/parameterized/engine/SQLNodeConverterEngineParameterizedTest.java
+++ b/test/optimize/src/test/java/org/apache/shardingsphere/infra/federation/converter/parameterized/engine/SQLNodeConverterEngineParameterizedTest.java
@@ -28,7 +28,6 @@ import org.apache.calcite.sql.parser.SqlParser;
 import org.apache.calcite.sql.parser.SqlParser.Config;
 import org.apache.calcite.sql.parser.impl.SqlParserImpl;
 import org.apache.calcite.util.Litmus;
-import org.apache.shardingsphere.infra.database.type.BranchDatabaseType;
 import org.apache.shardingsphere.infra.database.type.DatabaseType;
 import org.apache.shardingsphere.infra.database.type.DatabaseTypeFactory;
 import org.apache.shardingsphere.sql.parser.api.CacheOption;
@@ -153,7 +152,7 @@ public final class SQLNodeConverterEngineParameterizedTest {
     
     private final String sqlCaseId;
     
-    private final DatabaseType databaseType;
+    private final String databaseType;
     
     private final SQLCaseType sqlCaseType;
     
@@ -170,7 +169,7 @@ public final class SQLNodeConverterEngineParameterizedTest {
     
     private static Collection<InternalSQLParserParameterizedArray> getTestParameters(final String... databaseTypes) {
         Collection<InternalSQLParserParameterizedArray> result = new LinkedList<>();
-        for (InternalSQLParserParameterizedArray each : SQL_CASES.generateTestParameters(Arrays.stream(databaseTypes).map(DatabaseTypeFactory::getInstance).collect(Collectors.toSet()))) {
+        for (InternalSQLParserParameterizedArray each : SQL_CASES.generateTestParameters(Arrays.stream(databaseTypes).collect(Collectors.toSet()))) {
             if (!isPlaceholderWithoutParameter(each) && isSupportedSQLCase(each)) {
                 result.add(each);
             }
@@ -188,7 +187,7 @@ public final class SQLNodeConverterEngineParameterizedTest {
     
     @Test
     public void assertConvert() {
-        String databaseType = (this.databaseType instanceof BranchDatabaseType ? ((BranchDatabaseType) this.databaseType).getTrunkDatabaseType() : this.databaseType).getType();
+        String databaseType = "H2".equals(this.databaseType) ? "MySQL" : this.databaseType;
         String sql = SQL_CASES.getSQL(sqlCaseId, sqlCaseType, SQL_PARSER_TEST_CASES.get(sqlCaseId).getParameters());
         SQLStatement sqlStatement = parseSQLStatement(databaseType, sql);
         SqlNode actual = SQLNodeConverterEngine.convert(sqlStatement);
diff --git a/test/parser/pom.xml b/test/parser/pom.xml
index 1fa0a652cc7..03f3c292d57 100644
--- a/test/parser/pom.xml
+++ b/test/parser/pom.xml
@@ -29,6 +29,7 @@
     
     <properties>
         <maven.deploy.skip>true</maven.deploy.skip>
+        
         <json-path.version>2.4.0</json-path.version>
         <commons-csv.version>1.9.0</commons-csv.version>
     </properties>
@@ -135,12 +136,6 @@
             <artifactId>shardingsphere-shadow-distsql-parser</artifactId>
             <version>${project.version}</version>
         </dependency>
-        
-        <dependency>
-            <groupId>org.apache.shardingsphere</groupId>
-            <artifactId>shardingsphere-test-runner</artifactId>
-            <version>${project.version}</version>
-        </dependency>
     </dependencies>
     
     <build>
diff --git a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/SQLParserParameterizedArray.java b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/SQLParserParameterizedArray.java
index e13fd0cd330..e866a821a2d 100644
--- a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/SQLParserParameterizedArray.java
+++ b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/SQLParserParameterizedArray.java
@@ -17,8 +17,6 @@
 
 package org.apache.shardingsphere.test.sql.parser;
 
-import org.apache.shardingsphere.infra.database.type.DatabaseType;
-
 /**
  * SQL parser parameterized array.
  */
@@ -36,5 +34,5 @@ public interface SQLParserParameterizedArray {
      *
      * @return database type
      */
-    DatabaseType getDatabaseType();
+    String getDatabaseType();
 }
diff --git a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/external/engine/ExternalSQLParserParameterizedIT.java b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/external/engine/ExternalSQLParserParameterizedIT.java
index f6357c32699..3974c069b5f 100644
--- a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/external/engine/ExternalSQLParserParameterizedIT.java
+++ b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/external/engine/ExternalSQLParserParameterizedIT.java
@@ -17,7 +17,6 @@
 
 package org.apache.shardingsphere.test.sql.parser.external.engine;
 
-import org.apache.shardingsphere.infra.database.type.DatabaseType;
 import org.apache.shardingsphere.infra.util.exception.external.ShardingSphereExternalException;
 import org.apache.shardingsphere.sql.parser.api.CacheOption;
 import org.apache.shardingsphere.sql.parser.api.SQLParserEngine;
@@ -36,7 +35,7 @@ public abstract class ExternalSQLParserParameterizedIT {
     
     private final String sql;
     
-    private final DatabaseType databaseType;
+    private final String databaseType;
     
     private final SQLParseResultReporter resultReporter;
     
@@ -51,8 +50,8 @@ public abstract class ExternalSQLParserParameterizedIT {
     public final void assertParseSQL() {
         boolean isSuccess = true;
         try {
-            ParseASTNode parseASTNode = new SQLParserEngine(databaseType.getType(), new CacheOption(128, 1024L)).parse(sql, false);
-            new SQLVisitorEngine(databaseType.getType(), "STATEMENT", true, new Properties()).visit(parseASTNode);
+            ParseASTNode parseASTNode = new SQLParserEngine(databaseType, new CacheOption(128, 1024L)).parse(sql, false);
+            new SQLVisitorEngine(databaseType, "STATEMENT", true, new Properties()).visit(parseASTNode);
         } catch (final ShardingSphereExternalException | ClassCastException | NullPointerException | IllegalArgumentException | IndexOutOfBoundsException ignore) {
             isSuccess = false;
         }
diff --git a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/external/engine/param/ExternalSQLParserParameterizedArray.java b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/external/engine/param/ExternalSQLParserParameterizedArray.java
index d4fecf3119c..8c8dd26e567 100644
--- a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/external/engine/param/ExternalSQLParserParameterizedArray.java
+++ b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/external/engine/param/ExternalSQLParserParameterizedArray.java
@@ -19,7 +19,6 @@ package org.apache.shardingsphere.test.sql.parser.external.engine.param;
 
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
-import org.apache.shardingsphere.infra.database.type.DatabaseType;
 import org.apache.shardingsphere.test.sql.parser.SQLParserParameterizedArray;
 
 /**
@@ -31,7 +30,7 @@ public final class ExternalSQLParserParameterizedArray implements SQLParserParam
     
     private final String sqlCaseId;
     
-    private final DatabaseType databaseType;
+    private final String databaseType;
     
     private final String sql;
     
@@ -39,6 +38,6 @@ public final class ExternalSQLParserParameterizedArray implements SQLParserParam
     
     @Override
     public String toString() {
-        return String.format("%s (%s) -> %s", sqlCaseId, databaseType.getType(), sql);
+        return String.format("%s (%s) -> %s", sqlCaseId, databaseType, sql);
     }
 }
diff --git a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/external/loader/SQLCaseLoader.java b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/external/loader/SQLCaseLoader.java
index 7c98eb49ed7..8fbf63a3091 100644
--- a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/external/loader/SQLCaseLoader.java
+++ b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/external/loader/SQLCaseLoader.java
@@ -19,7 +19,6 @@ package org.apache.shardingsphere.test.sql.parser.external.loader;
 
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
-import org.apache.shardingsphere.infra.database.type.DatabaseType;
 import org.apache.shardingsphere.test.sql.parser.external.engine.param.ExternalSQLParserParameterizedArray;
 import org.apache.shardingsphere.test.sql.parser.external.env.SQLParserExternalITEnvironment;
 import org.apache.shardingsphere.test.sql.parser.external.loader.strategy.SQLCaseLoadStrategy;
@@ -55,7 +54,7 @@ public final class SQLCaseLoader {
      *
      * @return loaded SQL cases
      */
-    public Collection<ExternalSQLParserParameterizedArray> load(final URI sqlCaseURI, final URI resultURI, final DatabaseType databaseType, final String reportType) {
+    public Collection<ExternalSQLParserParameterizedArray> load(final URI sqlCaseURI, final URI resultURI, final String databaseType, final String reportType) {
         if (!SQLParserExternalITEnvironment.getInstance().isSqlParserITEnabled()) {
             return Collections.emptyList();
         }
@@ -86,7 +85,7 @@ public final class SQLCaseLoader {
     }
     
     private Collection<ExternalSQLParserParameterizedArray> createSQLCases(final String sqlCaseFileName,
-                                                                           final String sqlCaseFileContent, final String resultFileContent, final DatabaseType databaseType, final String reportType) {
+                                                                           final String sqlCaseFileContent, final String resultFileContent, final String databaseType, final String reportType) {
         Collection<ExternalSQLParserParameterizedArray> result = new LinkedList<>();
         String[] rawCaseLines = sqlCaseFileContent.split("\n");
         String[] rawResultLines = resultFileContent.split("\n");
diff --git a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/external/result/SQLParseResultReporter.java b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/external/result/SQLParseResultReporter.java
index c6d66c71d86..daca36b1157 100644
--- a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/external/result/SQLParseResultReporter.java
+++ b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/external/result/SQLParseResultReporter.java
@@ -17,8 +17,6 @@
 
 package org.apache.shardingsphere.test.sql.parser.external.result;
 
-import org.apache.shardingsphere.infra.database.type.DatabaseType;
-
 /**
  * SQL parse result reporter.
  */
@@ -32,5 +30,5 @@ public interface SQLParseResultReporter {
      * @param sql SQL
      * @param isSuccess whether success
      */
-    void printResult(String sqlCaseId, DatabaseType databaseType, boolean isSuccess, String sql);
+    void printResult(String sqlCaseId, String databaseType, boolean isSuccess, String sql);
 }
diff --git a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/external/result/SQLParseResultReporterCreator.java b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/external/result/SQLParseResultReporterCreator.java
index d42db055ffe..f0e62efbf7c 100644
--- a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/external/result/SQLParseResultReporterCreator.java
+++ b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/external/result/SQLParseResultReporterCreator.java
@@ -17,7 +17,6 @@
 
 package org.apache.shardingsphere.test.sql.parser.external.result;
 
-import org.apache.shardingsphere.infra.database.type.DatabaseType;
 import org.apache.shardingsphere.infra.util.spi.type.typed.TypedSPI;
 
 /**
@@ -31,5 +30,5 @@ public interface SQLParseResultReporterCreator extends TypedSPI {
      * @param databaseType database type
      * @return created SQL parse result reporter
      */
-    SQLParseResultReporter create(DatabaseType databaseType);
+    SQLParseResultReporter create(String databaseType);
 }
diff --git a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/external/result/type/csv/CsvSQLParseResultReporter.java b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/external/result/type/csv/CsvSQLParseResultReporter.java
index 1eec8a2fb9d..b1d62ab86d1 100644
--- a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/external/result/type/csv/CsvSQLParseResultReporter.java
+++ b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/external/result/type/csv/CsvSQLParseResultReporter.java
@@ -20,7 +20,6 @@ package org.apache.shardingsphere.test.sql.parser.external.result.type.csv;
 import lombok.SneakyThrows;
 import org.apache.commons.csv.CSVFormat;
 import org.apache.commons.csv.CSVPrinter;
-import org.apache.shardingsphere.infra.database.type.DatabaseType;
 import org.apache.shardingsphere.test.sql.parser.external.env.SQLParserExternalITEnvironment;
 import org.apache.shardingsphere.test.sql.parser.external.result.SQLParseResultReporter;
 
@@ -35,8 +34,8 @@ public final class CsvSQLParseResultReporter implements SQLParseResultReporter {
     private final CSVPrinter printer;
     
     @SneakyThrows
-    public CsvSQLParseResultReporter(final DatabaseType databaseType) {
-        File csvFile = new File(SQLParserExternalITEnvironment.getInstance().getResultPath() + databaseType.getType() + "-result.csv");
+    public CsvSQLParseResultReporter(final String databaseType) {
+        File csvFile = new File(SQLParserExternalITEnvironment.getInstance().getResultPath() + databaseType + "-result.csv");
         printHeader(csvFile);
         printer = new CSVPrinter(new FileWriter(csvFile, true), CSVFormat.DEFAULT.builder().setSkipHeaderRecord(true).build());
     }
@@ -54,8 +53,8 @@ public final class CsvSQLParseResultReporter implements SQLParseResultReporter {
     
     @SneakyThrows
     @Override
-    public void printResult(final String sqlCaseId, final DatabaseType databaseType, final boolean isSuccess, final String sql) {
-        printer.printRecord(sqlCaseId, databaseType.getType(), isSuccess ? "success" : "failed", sql);
+    public void printResult(final String sqlCaseId, final String databaseType, final boolean isSuccess, final String sql) {
+        printer.printRecord(sqlCaseId, databaseType, isSuccess ? "success" : "failed", sql);
         printer.flush();
     }
 }
diff --git a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/external/result/type/csv/CsvSQLParseResultReporterCreator.java b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/external/result/type/csv/CsvSQLParseResultReporterCreator.java
index 13171548df3..9b940a5b7b7 100644
--- a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/external/result/type/csv/CsvSQLParseResultReporterCreator.java
+++ b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/external/result/type/csv/CsvSQLParseResultReporterCreator.java
@@ -17,7 +17,6 @@
 
 package org.apache.shardingsphere.test.sql.parser.external.result.type.csv;
 
-import org.apache.shardingsphere.infra.database.type.DatabaseType;
 import org.apache.shardingsphere.test.sql.parser.external.result.SQLParseResultReporter;
 import org.apache.shardingsphere.test.sql.parser.external.result.SQLParseResultReporterCreator;
 
@@ -27,7 +26,7 @@ import org.apache.shardingsphere.test.sql.parser.external.result.SQLParseResultR
 public final class CsvSQLParseResultReporterCreator implements SQLParseResultReporterCreator {
     
     @Override
-    public SQLParseResultReporter create(final DatabaseType databaseType) {
+    public SQLParseResultReporter create(final String databaseType) {
         return new CsvSQLParseResultReporter(databaseType);
     }
     
diff --git a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/external/result/type/log/LogSQLParseResultReporter.java b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/external/result/type/log/LogSQLParseResultReporter.java
index 2228e053fee..f6fb5f9e720 100644
--- a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/external/result/type/log/LogSQLParseResultReporter.java
+++ b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/external/result/type/log/LogSQLParseResultReporter.java
@@ -18,7 +18,6 @@
 package org.apache.shardingsphere.test.sql.parser.external.result.type.log;
 
 import lombok.extern.slf4j.Slf4j;
-import org.apache.shardingsphere.infra.database.type.DatabaseType;
 import org.apache.shardingsphere.test.sql.parser.external.result.SQLParseResultReporter;
 
 /**
@@ -28,9 +27,9 @@ import org.apache.shardingsphere.test.sql.parser.external.result.SQLParseResultR
 public final class LogSQLParseResultReporter implements SQLParseResultReporter {
     
     @Override
-    public void printResult(final String sqlCaseId, final DatabaseType databaseType, final boolean isSuccess, final String sql) {
+    public void printResult(final String sqlCaseId, final String databaseType, final boolean isSuccess, final String sql) {
         if (!isSuccess) {
-            log.warn("SQL parse failed. SQL Case ID is: {}, database type is: {}, SQL is: {}", sqlCaseId, databaseType.getType(), sql);
+            log.warn("SQL parse failed. SQL Case ID is: {}, database type is: {}, SQL is: {}", sqlCaseId, databaseType, sql);
         }
     }
 }
diff --git a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/external/result/type/log/LogSQLParseResultReporterCreator.java b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/external/result/type/log/LogSQLParseResultReporterCreator.java
index 467cf314630..86d49571137 100644
--- a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/external/result/type/log/LogSQLParseResultReporterCreator.java
+++ b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/external/result/type/log/LogSQLParseResultReporterCreator.java
@@ -17,7 +17,6 @@
 
 package org.apache.shardingsphere.test.sql.parser.external.result.type.log;
 
-import org.apache.shardingsphere.infra.database.type.DatabaseType;
 import org.apache.shardingsphere.test.sql.parser.external.result.SQLParseResultReporter;
 import org.apache.shardingsphere.test.sql.parser.external.result.SQLParseResultReporterCreator;
 
@@ -27,7 +26,7 @@ import org.apache.shardingsphere.test.sql.parser.external.result.SQLParseResultR
 public final class LogSQLParseResultReporterCreator implements SQLParseResultReporterCreator {
     
     @Override
-    public SQLParseResultReporter create(final DatabaseType databaseType) {
+    public SQLParseResultReporter create(final String databaseType) {
         return new LogSQLParseResultReporter();
     }
     
diff --git a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/sql/SQLCases.java b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/sql/SQLCases.java
index cba9e5e0351..b353bb1c3ee 100644
--- a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/sql/SQLCases.java
+++ b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/sql/SQLCases.java
@@ -20,9 +20,6 @@ package org.apache.shardingsphere.test.sql.parser.internal.cases.sql;
 import com.google.common.base.Preconditions;
 import com.google.common.base.Splitter;
 import lombok.RequiredArgsConstructor;
-import org.apache.shardingsphere.infra.database.type.DatabaseType;
-import org.apache.shardingsphere.infra.database.type.DatabaseTypeFactory;
-import org.apache.shardingsphere.infra.util.spi.exception.ServiceProviderNotFoundServerException;
 import org.apache.shardingsphere.test.sql.parser.internal.cases.sql.jaxb.SQLCase;
 import org.apache.shardingsphere.test.sql.parser.internal.cases.sql.type.CaseTypedSQLBuilderFactory;
 import org.apache.shardingsphere.test.sql.parser.internal.cases.sql.type.SQLCaseType;
@@ -30,7 +27,6 @@ import org.apache.shardingsphere.test.sql.parser.internal.engine.param.InternalS
 
 import java.util.Arrays;
 import java.util.Collection;
-import java.util.HashSet;
 import java.util.LinkedList;
 import java.util.List;
 import java.util.Map;
@@ -49,7 +45,7 @@ public final class SQLCases {
      * @param databaseTypes database types to be generated
      * @return generated test parameters
      */
-    public Collection<InternalSQLParserParameterizedArray> generateTestParameters(final Collection<DatabaseType> databaseTypes) {
+    public Collection<InternalSQLParserParameterizedArray> generateTestParameters(final Collection<String> databaseTypes) {
         Collection<InternalSQLParserParameterizedArray> result = new LinkedList<>();
         for (SQLCase each : cases.values()) {
             result.addAll(generateTestParameters(databaseTypes, each));
@@ -57,7 +53,7 @@ public final class SQLCases {
         return result;
     }
     
-    private Collection<InternalSQLParserParameterizedArray> generateTestParameters(final Collection<DatabaseType> databaseTypes, final SQLCase sqlCase) {
+    private Collection<InternalSQLParserParameterizedArray> generateTestParameters(final Collection<String> databaseTypes, final SQLCase sqlCase) {
         Collection<InternalSQLParserParameterizedArray> result = new LinkedList<>();
         for (SQLCaseType each : SQLCaseType.values()) {
             result.addAll(generateTestParameters(databaseTypes, sqlCase, each));
@@ -65,9 +61,9 @@ public final class SQLCases {
         return result;
     }
     
-    private Collection<InternalSQLParserParameterizedArray> generateTestParameters(final Collection<DatabaseType> databaseTypes, final SQLCase sqlCase, final SQLCaseType caseType) {
+    private Collection<InternalSQLParserParameterizedArray> generateTestParameters(final Collection<String> databaseTypes, final SQLCase sqlCase, final SQLCaseType caseType) {
         Collection<InternalSQLParserParameterizedArray> result = new LinkedList<>();
-        for (DatabaseType each : getDatabaseTypes(sqlCase.getDatabaseTypes())) {
+        for (String each : getDatabaseTypes(sqlCase.getDatabaseTypes())) {
             if (databaseTypes.contains(each) && containsSQLCaseType(sqlCase, caseType)) {
                 result.add(new InternalSQLParserParameterizedArray(sqlCase.getId(), caseType, each));
             }
@@ -75,15 +71,8 @@ public final class SQLCases {
         return result;
     }
     
-    private Collection<DatabaseType> getDatabaseTypes(final String databaseTypes) {
-        Collection<DatabaseType> result = new HashSet<>();
-        for (String each : null == databaseTypes ? getAllDatabaseTypes() : Splitter.on(',').trimResults().splitToList(databaseTypes)) {
-            try {
-                result.add(DatabaseTypeFactory.getInstance(each));
-            } catch (final ServiceProviderNotFoundServerException ignored) {
-            }
-        }
-        return result;
+    private Collection<String> getDatabaseTypes(final String databaseTypes) {
+        return null == databaseTypes ? getAllDatabaseTypes() : Splitter.on(',').trimResults().splitToList(databaseTypes);
     }
     
     private Collection<String> getAllDatabaseTypes() {
diff --git a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/engine/InternalSQLParserParameterizedIT.java b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/engine/InternalSQLParserParameterizedIT.java
index b73d356d772..3f2ae6c877e 100644
--- a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/engine/InternalSQLParserParameterizedIT.java
+++ b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/engine/InternalSQLParserParameterizedIT.java
@@ -18,9 +18,6 @@
 package org.apache.shardingsphere.test.sql.parser.internal.engine;
 
 import org.apache.shardingsphere.distsql.parser.engine.api.DistSQLStatementParserEngine;
-import org.apache.shardingsphere.infra.database.type.BranchDatabaseType;
-import org.apache.shardingsphere.infra.database.type.DatabaseType;
-import org.apache.shardingsphere.infra.database.type.DatabaseTypeFactory;
 import org.apache.shardingsphere.sql.parser.api.CacheOption;
 import org.apache.shardingsphere.sql.parser.api.SQLParserEngine;
 import org.apache.shardingsphere.sql.parser.api.SQLVisitorEngine;
@@ -50,7 +47,7 @@ public abstract class InternalSQLParserParameterizedIT {
     
     private final String sqlCaseId;
     
-    private final DatabaseType databaseType;
+    private final String databaseType;
     
     private final SQLCaseType sqlCaseType;
     
@@ -62,7 +59,7 @@ public abstract class InternalSQLParserParameterizedIT {
     
     protected static Collection<InternalSQLParserParameterizedArray> getTestParameters(final String... databaseTypes) {
         Collection<InternalSQLParserParameterizedArray> result = new LinkedList<>();
-        for (InternalSQLParserParameterizedArray each : SQL_CASES.generateTestParameters(Arrays.stream(databaseTypes).map(DatabaseTypeFactory::getInstance).collect(Collectors.toSet()))) {
+        for (InternalSQLParserParameterizedArray each : SQL_CASES.generateTestParameters(Arrays.stream(databaseTypes).collect(Collectors.toSet()))) {
             if (!isPlaceholderWithoutParameter(each)) {
                 result.add(each);
             }
@@ -77,7 +74,7 @@ public abstract class InternalSQLParserParameterizedIT {
     @Test
     public final void assertSupportedSQL() {
         String sql = SQL_CASES.getSQL(sqlCaseId, sqlCaseType, SQL_PARSER_TEST_CASES.get(sqlCaseId).getParameters());
-        SQLStatement actual = parseSQLStatement((databaseType instanceof BranchDatabaseType ? ((BranchDatabaseType) databaseType).getTrunkDatabaseType() : databaseType).getType(), sql);
+        SQLStatement actual = parseSQLStatement("H2".equals(databaseType) ? "MySQL" : databaseType, sql);
         SQLParserTestCase expected = SQL_PARSER_TEST_CASES.get(sqlCaseId);
         SQLStatementAssert.assertIs(new SQLCaseAssertContext(sqlCaseId, sql, expected.getParameters(), sqlCaseType), actual, expected);
     }
diff --git a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/engine/InternalUnsupportedSQLParserParameterizedIT.java b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/engine/InternalUnsupportedSQLParserParameterizedIT.java
index d2b6149ac6a..a3d0e226e9d 100644
--- a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/engine/InternalUnsupportedSQLParserParameterizedIT.java
+++ b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/engine/InternalUnsupportedSQLParserParameterizedIT.java
@@ -17,9 +17,6 @@
 
 package org.apache.shardingsphere.test.sql.parser.internal.engine;
 
-import org.apache.shardingsphere.infra.database.type.BranchDatabaseType;
-import org.apache.shardingsphere.infra.database.type.DatabaseType;
-import org.apache.shardingsphere.infra.database.type.DatabaseTypeFactory;
 import org.apache.shardingsphere.sql.parser.api.CacheOption;
 import org.apache.shardingsphere.sql.parser.api.SQLParserEngine;
 import org.apache.shardingsphere.sql.parser.api.SQLVisitorEngine;
@@ -41,7 +38,7 @@ public abstract class InternalUnsupportedSQLParserParameterizedIT {
     
     private final String sqlCaseId;
     
-    private final DatabaseType databaseType;
+    private final String databaseType;
     
     private final SQLCaseType sqlCaseType;
     
@@ -52,14 +49,14 @@ public abstract class InternalUnsupportedSQLParserParameterizedIT {
     }
     
     protected static Collection<InternalSQLParserParameterizedArray> getTestParameters(final String databaseType) {
-        return SQL_CASES.generateTestParameters(Collections.singleton(DatabaseTypeFactory.getInstance(databaseType)));
+        return SQL_CASES.generateTestParameters(Collections.singleton(databaseType));
     }
     
     @Test(expected = Exception.class)
     // TODO should expect SQLParsingException only
     public final void assertUnsupportedSQL() {
         String sql = SQL_CASES.getSQL(sqlCaseId, sqlCaseType, Collections.emptyList());
-        String databaseType = (this.databaseType instanceof BranchDatabaseType ? ((BranchDatabaseType) this.databaseType).getTrunkDatabaseType() : this.databaseType).getType();
+        String databaseType = "H2".equals(this.databaseType) ? "MySQL" : this.databaseType;
         CacheOption cacheOption = new CacheOption(128, 1024L);
         ParseASTNode parseContext = new SQLParserEngine(databaseType, cacheOption).parse(sql, false);
         // TODO remove SQLStatement sqlStatement =
diff --git a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/engine/param/InternalSQLParserParameterizedArray.java b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/engine/param/InternalSQLParserParameterizedArray.java
index 670f10e3f3b..29c391c8100 100644
--- a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/engine/param/InternalSQLParserParameterizedArray.java
+++ b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/engine/param/InternalSQLParserParameterizedArray.java
@@ -19,7 +19,6 @@ package org.apache.shardingsphere.test.sql.parser.internal.engine.param;
 
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
-import org.apache.shardingsphere.infra.database.type.DatabaseType;
 import org.apache.shardingsphere.test.sql.parser.SQLParserParameterizedArray;
 import org.apache.shardingsphere.test.sql.parser.internal.cases.sql.type.SQLCaseType;
 
@@ -34,10 +33,10 @@ public final class InternalSQLParserParameterizedArray implements SQLParserParam
     
     private final SQLCaseType sqlCaseType;
     
-    private final DatabaseType databaseType;
+    private final String databaseType;
     
     @Override
     public String toString() {
-        return String.format("%s (%s) -> %s", sqlCaseId, sqlCaseType, databaseType.getType());
+        return String.format("%s (%s) -> %s", sqlCaseId, sqlCaseType, databaseType);
     }
 }
diff --git a/test/parser/src/test/java/org/apache/shardingsphere/test/sql/parser/internal/fixture/DistSQLFixtureDatabaseType.java b/test/parser/src/test/java/org/apache/shardingsphere/test/sql/parser/internal/fixture/DistSQLFixtureDatabaseType.java
deleted file mode 100644
index f04d7eee0df..00000000000
--- a/test/parser/src/test/java/org/apache/shardingsphere/test/sql/parser/internal/fixture/DistSQLFixtureDatabaseType.java
+++ /dev/null
@@ -1,61 +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.test.sql.parser.internal.fixture;
-
-import org.apache.shardingsphere.infra.database.metadata.DataSourceMetaData;
-import org.apache.shardingsphere.infra.database.type.DatabaseType;
-import org.apache.shardingsphere.sql.parser.sql.common.enums.QuoteCharacter;
-
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Map;
-
-import static org.mockito.Mockito.mock;
-
-public final class DistSQLFixtureDatabaseType implements DatabaseType {
-    
-    @Override
-    public QuoteCharacter getQuoteCharacter() {
-        return QuoteCharacter.NONE;
-    }
-    
-    @Override
-    public Collection<String> getJdbcUrlPrefixes() {
-        return Collections.emptyList();
-    }
-    
-    @Override
-    public DataSourceMetaData getDataSourceMetaData(final String url, final String username) {
-        return mock(DataSourceMetaData.class);
-    }
-    
-    @Override
-    public Map<String, Collection<String>> getSystemDatabaseSchemaMap() {
-        return Collections.emptyMap();
-    }
-    
-    @Override
-    public Collection<String> getSystemSchemas() {
-        return Collections.emptyList();
-    }
-    
-    @Override
-    public String getType() {
-        return "ShardingSphere";
-    }
-}
diff --git a/test/parser/src/test/resources/META-INF/services/org.apache.shardingsphere.infra.database.type.DatabaseType b/test/parser/src/test/resources/META-INF/services/org.apache.shardingsphere.infra.database.type.DatabaseType
deleted file mode 100644
index 4ade3b83581..00000000000
--- a/test/parser/src/test/resources/META-INF/services/org.apache.shardingsphere.infra.database.type.DatabaseType
+++ /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.test.sql.parser.internal.fixture.DistSQLFixtureDatabaseType