You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by pa...@apache.org on 2022/11/29 01:00:38 UTC

[shardingsphere] branch master updated: Add top interface for ParameterizedArray (#22491)

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

panjuan 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 07300fdd785 Add top interface for ParameterizedArray (#22491)
07300fdd785 is described below

commit 07300fdd7856ac91548851cd739e8fc8dedfc153
Author: Liang Zhang <zh...@apache.org>
AuthorDate: Tue Nov 29 09:00:20 2022 +0800

    Add top interface for ParameterizedArray (#22491)
---
 .../ExternalMySQLParserParameterizedIT.java        | 16 +++++++-----
 .../InternalMySQLParserParameterizedIT.java        | 10 ++++----
 ...ernalUnsupportedMySQLParserParameterizedIT.java | 10 ++++----
 .../InternalOpenGaussParserParameterizedIT.java    | 10 ++++----
 ...lUnsupportedOpenGaussParserParameterizedIT.java | 10 ++++----
 .../InternalOracleParserParameterizedIT.java       | 10 ++++----
 ...rnalUnsupportedOracleParserParameterizedIT.java | 10 ++++----
 .../ExternalPostgreSQLParserParameterizedIT.java   | 14 +++++-----
 .../InternalPostgreSQLParserParameterizedIT.java   | 10 ++++----
 ...UnsupportedPostgreSQLParserParameterizedIT.java | 10 ++++----
 .../sql92/InternalSQL92ParserParameterizedIT.java  | 10 ++++----
 ...ernalUnsupportedSQL92ParserParameterizedIT.java | 10 ++++----
 .../InternalSQLServerParserParameterizedIT.java    | 10 ++++----
 ...lUnsupportedSQLServerParserParameterizedIT.java | 10 ++++----
 .../compose/ContainerComposerRegistry.java         |  8 +++---
 .../compose/mode/ClusterContainerComposer.java     |  4 +--
 .../compose/mode/StandaloneContainerComposer.java  |  4 +--
 .../test/integration/engine/BaseITCase.java        |  4 +--
 .../test/integration/engine/dml/BatchDMLIT.java    |  4 +--
 .../framework/param/RunnerParameters.java          |  6 ++---
 .../array/ClusterParameterizedArrayGenerator.java  |  4 +--
 .../JdbcStandaloneParameterizedArrayGenerator.java |  4 +--
 .../param/array/ParameterizedArrayFactory.java     |  6 ++---
 .../param/array/ParameterizedArrayGenerator.java   | 16 ++++++------
 ...ProxyStandaloneParameterizedArrayGenerator.java |  4 +--
 .../param/model/AssertionParameterizedArray.java   |  2 +-
 .../param/model/CaseParameterizedArray.java        |  2 +-
 ...terizedArray.java => ITParameterizedArray.java} |  5 ++--
 .../ParameterizedParallelRunnerScheduler.java      |  4 +--
 .../parallel/impl/CaseParallelRunnerExecutor.java  |  6 ++---
 .../impl/ScenarioParallelRunnerExecutor.java       |  8 +++---
 .../SQLNodeConverterEngineParameterizedTest.java   | 30 ++++++++++++----------
 .../engine/ExternalSQLParserParameterizedIT.java   | 11 ++++----
 .../ExternalSQLParserParameterizedArray.java}      | 21 +++++++--------
 .../sql/parser/external/loader/SQLCaseLoader.java  | 22 +++++++++-------
 .../sql/parser/internal/cases/sql/SQLCases.java    | 19 ++++++--------
 .../engine/InternalSQLParserParameterizedIT.java   | 21 +++++++++------
 ...nternalUnsupportedSQLParserParameterizedIT.java | 15 +++++++----
 .../InternalSQLParserParameterizedArray.java}      | 22 +++++++---------
 .../InternalDistSQLParserParameterizedIT.java      | 10 ++++----
 .../test/runner/param/ParameterizedArray.java}     | 15 +++--------
 41 files changed, 216 insertions(+), 211 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 a4dff2e1ae3..aabeef45bba 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,10 +17,11 @@
 
 package org.apache.shardingsphere.sql.parser.mysql.external;
 
+import org.apache.shardingsphere.test.runner.ParallelParameterized;
 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;
 import org.apache.shardingsphere.test.sql.parser.external.loader.strategy.impl.GitHubSQLCaseLoadStrategy;
-import org.apache.shardingsphere.test.runner.ParallelParameterized;
 import org.junit.runner.RunWith;
 import org.junit.runners.Parameterized.Parameters;
 
@@ -30,13 +31,14 @@ import java.util.Collection;
 @RunWith(ParallelParameterized.class)
 public final class ExternalMySQLParserParameterizedIT extends ExternalSQLParserParameterizedIT {
     
-    public ExternalMySQLParserParameterizedIT(final String sqlCaseId, final String sql) {
-        super(sqlCaseId, sql, "MySQL", "CSV");
+    public ExternalMySQLParserParameterizedIT(final ExternalSQLParserParameterizedArray parameterizedArray) {
+        super(parameterizedArray);
     }
     
-    @Parameters(name = "{0} (MySQL) -> {1}")
-    public static Collection<Object[]> getTestParameters() {
-        return new SQLCaseLoader(new GitHubSQLCaseLoadStrategy()).load(
-                URI.create("https://github.com/mysql/mysql-server/tree/8.0/mysql-test/t"), URI.create("https://github.com/mysql/mysql-server/tree/8.0/mysql-test/r"));
+    @Parameters(name = "{0}")
+    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), "MySQL", "CSV");
     }
 }
diff --git a/sql-parser/dialect/mysql/src/test/java/org/apache/shardingsphere/sql/parser/mysql/internal/InternalMySQLParserParameterizedIT.java b/sql-parser/dialect/mysql/src/test/java/org/apache/shardingsphere/sql/parser/mysql/internal/InternalMySQLParserParameterizedIT.java
index 3f8e15e92e5..421cdcff7d6 100644
--- a/sql-parser/dialect/mysql/src/test/java/org/apache/shardingsphere/sql/parser/mysql/internal/InternalMySQLParserParameterizedIT.java
+++ b/sql-parser/dialect/mysql/src/test/java/org/apache/shardingsphere/sql/parser/mysql/internal/InternalMySQLParserParameterizedIT.java
@@ -19,7 +19,7 @@ package org.apache.shardingsphere.sql.parser.mysql.internal;
 
 import org.apache.shardingsphere.test.runner.ParallelParameterized;
 import org.apache.shardingsphere.test.sql.parser.internal.engine.InternalSQLParserParameterizedIT;
-import org.apache.shardingsphere.test.sql.parser.internal.cases.sql.type.SQLCaseType;
+import org.apache.shardingsphere.test.sql.parser.internal.engine.param.InternalSQLParserParameterizedArray;
 import org.junit.runner.RunWith;
 import org.junit.runners.Parameterized.Parameters;
 
@@ -28,12 +28,12 @@ import java.util.Collection;
 @RunWith(ParallelParameterized.class)
 public final class InternalMySQLParserParameterizedIT extends InternalSQLParserParameterizedIT {
     
-    public InternalMySQLParserParameterizedIT(final String sqlCaseId, final String databaseType, final SQLCaseType sqlCaseType) {
-        super(sqlCaseId, databaseType, sqlCaseType);
+    public InternalMySQLParserParameterizedIT(final InternalSQLParserParameterizedArray parameterizedArray) {
+        super(parameterizedArray);
     }
     
-    @Parameters(name = "{0} ({2}) -> {1}")
-    public static Collection<Object[]> getTestParameters() {
+    @Parameters(name = "{0}")
+    public static Collection<InternalSQLParserParameterizedArray> getTestParameters() {
         return getTestParameters("MySQL", "H2");
     }
 }
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 525b060033a..f31e90f24d5 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
@@ -19,7 +19,7 @@ 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.cases.sql.type.SQLCaseType;
+import org.apache.shardingsphere.test.sql.parser.internal.engine.param.InternalSQLParserParameterizedArray;
 import org.junit.runner.RunWith;
 import org.junit.runners.Parameterized.Parameters;
 
@@ -28,12 +28,12 @@ import java.util.Collection;
 @RunWith(ParallelParameterized.class)
 public final class InternalUnsupportedMySQLParserParameterizedIT extends InternalUnsupportedSQLParserParameterizedIT {
     
-    public InternalUnsupportedMySQLParserParameterizedIT(final String sqlCaseId, final String databaseType, final SQLCaseType sqlCaseType) {
-        super(sqlCaseId, databaseType, sqlCaseType);
+    public InternalUnsupportedMySQLParserParameterizedIT(final InternalSQLParserParameterizedArray parameterizedArray) {
+        super(parameterizedArray);
     }
     
-    @Parameters(name = "{0} ({2}) -> {1}")
-    public static Collection<Object[]> getTestParameters() {
+    @Parameters(name = "{0}")
+    public static Collection<InternalSQLParserParameterizedArray> getTestParameters() {
         return InternalUnsupportedSQLParserParameterizedIT.getTestParameters("MySQL");
     }
 }
diff --git a/sql-parser/dialect/opengauss/src/test/java/org/apache/shardingsphere/sql/parser/opengauss/InternalOpenGaussParserParameterizedIT.java b/sql-parser/dialect/opengauss/src/test/java/org/apache/shardingsphere/sql/parser/opengauss/InternalOpenGaussParserParameterizedIT.java
index b2950fe76a0..d0a0c4708a2 100644
--- a/sql-parser/dialect/opengauss/src/test/java/org/apache/shardingsphere/sql/parser/opengauss/InternalOpenGaussParserParameterizedIT.java
+++ b/sql-parser/dialect/opengauss/src/test/java/org/apache/shardingsphere/sql/parser/opengauss/InternalOpenGaussParserParameterizedIT.java
@@ -19,7 +19,7 @@ package org.apache.shardingsphere.sql.parser.opengauss;
 
 import org.apache.shardingsphere.test.runner.ParallelParameterized;
 import org.apache.shardingsphere.test.sql.parser.internal.engine.InternalSQLParserParameterizedIT;
-import org.apache.shardingsphere.test.sql.parser.internal.cases.sql.type.SQLCaseType;
+import org.apache.shardingsphere.test.sql.parser.internal.engine.param.InternalSQLParserParameterizedArray;
 import org.junit.runner.RunWith;
 import org.junit.runners.Parameterized.Parameters;
 
@@ -28,12 +28,12 @@ import java.util.Collection;
 @RunWith(ParallelParameterized.class)
 public final class InternalOpenGaussParserParameterizedIT extends InternalSQLParserParameterizedIT {
     
-    public InternalOpenGaussParserParameterizedIT(final String sqlCaseId, final String databaseType, final SQLCaseType sqlCaseType) {
-        super(sqlCaseId, databaseType, sqlCaseType);
+    public InternalOpenGaussParserParameterizedIT(final InternalSQLParserParameterizedArray parameterizedArray) {
+        super(parameterizedArray);
     }
     
-    @Parameters(name = "{0} ({2}) -> {1}")
-    public static Collection<Object[]> getTestParameters() {
+    @Parameters(name = "{0}")
+    public static Collection<InternalSQLParserParameterizedArray> getTestParameters() {
         return getTestParameters("openGauss");
     }
 }
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 e19c8bbd49a..2a65a72b937 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
@@ -19,7 +19,7 @@ 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.cases.sql.type.SQLCaseType;
+import org.apache.shardingsphere.test.sql.parser.internal.engine.param.InternalSQLParserParameterizedArray;
 import org.junit.runner.RunWith;
 import org.junit.runners.Parameterized.Parameters;
 
@@ -28,12 +28,12 @@ import java.util.Collection;
 @RunWith(ParallelParameterized.class)
 public final class InternalUnsupportedOpenGaussParserParameterizedIT extends InternalUnsupportedSQLParserParameterizedIT {
     
-    public InternalUnsupportedOpenGaussParserParameterizedIT(final String sqlCaseId, final String databaseType, final SQLCaseType sqlCaseType) {
-        super(sqlCaseId, databaseType, sqlCaseType);
+    public InternalUnsupportedOpenGaussParserParameterizedIT(final InternalSQLParserParameterizedArray parameterizedArray) {
+        super(parameterizedArray);
     }
     
-    @Parameters(name = "{0} ({2}) -> {1}")
-    public static Collection<Object[]> getTestParameters() {
+    @Parameters(name = "{0}")
+    public static Collection<InternalSQLParserParameterizedArray> getTestParameters() {
         return InternalUnsupportedSQLParserParameterizedIT.getTestParameters("openGauss");
     }
 }
diff --git a/sql-parser/dialect/oracle/src/test/java/org/apache/shardingsphere/sql/parser/oracle/InternalOracleParserParameterizedIT.java b/sql-parser/dialect/oracle/src/test/java/org/apache/shardingsphere/sql/parser/oracle/InternalOracleParserParameterizedIT.java
index f1c4c5b39b3..7ef06572bc8 100644
--- a/sql-parser/dialect/oracle/src/test/java/org/apache/shardingsphere/sql/parser/oracle/InternalOracleParserParameterizedIT.java
+++ b/sql-parser/dialect/oracle/src/test/java/org/apache/shardingsphere/sql/parser/oracle/InternalOracleParserParameterizedIT.java
@@ -19,7 +19,7 @@ package org.apache.shardingsphere.sql.parser.oracle;
 
 import org.apache.shardingsphere.test.runner.ParallelParameterized;
 import org.apache.shardingsphere.test.sql.parser.internal.engine.InternalSQLParserParameterizedIT;
-import org.apache.shardingsphere.test.sql.parser.internal.cases.sql.type.SQLCaseType;
+import org.apache.shardingsphere.test.sql.parser.internal.engine.param.InternalSQLParserParameterizedArray;
 import org.junit.runner.RunWith;
 import org.junit.runners.Parameterized.Parameters;
 
@@ -28,12 +28,12 @@ import java.util.Collection;
 @RunWith(ParallelParameterized.class)
 public final class InternalOracleParserParameterizedIT extends InternalSQLParserParameterizedIT {
     
-    public InternalOracleParserParameterizedIT(final String sqlCaseId, final String databaseType, final SQLCaseType sqlCaseType) {
-        super(sqlCaseId, databaseType, sqlCaseType);
+    public InternalOracleParserParameterizedIT(final InternalSQLParserParameterizedArray parameterizedArray) {
+        super(parameterizedArray);
     }
     
-    @Parameters(name = "{0} ({2}) -> {1}")
-    public static Collection<Object[]> getTestParameters() {
+    @Parameters(name = "{0}")
+    public static Collection<InternalSQLParserParameterizedArray> getTestParameters() {
         return getTestParameters("Oracle");
     }
 }
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 62d8e66daee..a8f6306b236 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
@@ -19,7 +19,7 @@ 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.cases.sql.type.SQLCaseType;
+import org.apache.shardingsphere.test.sql.parser.internal.engine.param.InternalSQLParserParameterizedArray;
 import org.junit.runner.RunWith;
 import org.junit.runners.Parameterized.Parameters;
 
@@ -28,12 +28,12 @@ import java.util.Collection;
 @RunWith(ParallelParameterized.class)
 public final class InternalUnsupportedOracleParserParameterizedIT extends InternalUnsupportedSQLParserParameterizedIT {
     
-    public InternalUnsupportedOracleParserParameterizedIT(final String sqlCaseId, final String databaseType, final SQLCaseType sqlCaseType) {
-        super(sqlCaseId, databaseType, sqlCaseType);
+    public InternalUnsupportedOracleParserParameterizedIT(final InternalSQLParserParameterizedArray parameterizedArray) {
+        super(parameterizedArray);
     }
     
-    @Parameters(name = "{0} ({2}) -> {1}")
-    public static Collection<Object[]> getTestParameters() {
+    @Parameters(name = "{0}")
+    public static Collection<InternalSQLParserParameterizedArray> getTestParameters() {
         return InternalUnsupportedSQLParserParameterizedIT.getTestParameters("Oracle");
     }
 }
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 f7653c50403..9dae91eb08c 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,10 +17,11 @@
 
 package org.apache.shardingsphere.sql.parser.postgresql.external;
 
+import org.apache.shardingsphere.test.runner.ParallelParameterized;
 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;
 import org.apache.shardingsphere.test.sql.parser.external.loader.strategy.impl.GitHubSQLCaseLoadStrategy;
-import org.apache.shardingsphere.test.runner.ParallelParameterized;
 import org.junit.runner.RunWith;
 import org.junit.runners.Parameterized.Parameters;
 
@@ -30,13 +31,14 @@ import java.util.Collection;
 @RunWith(ParallelParameterized.class)
 public final class ExternalPostgreSQLParserParameterizedIT extends ExternalSQLParserParameterizedIT {
     
-    public ExternalPostgreSQLParserParameterizedIT(final String sqlCaseId, final String sql) {
-        super(sqlCaseId, sql, "PostgreSQL", "CSV");
+    public ExternalPostgreSQLParserParameterizedIT(final ExternalSQLParserParameterizedArray parameterizedArray) {
+        super(parameterizedArray);
     }
     
     @Parameters(name = "{0} (PostgreSQL) -> {1}")
-    public static Collection<Object[]> getTestParameters() {
-        return new SQLCaseLoader(new GitHubSQLCaseLoadStrategy()).load(
-                URI.create("https://github.com/postgres/postgres/tree/master/src/test/regress/sql"), URI.create("https://github.com/postgres/postgres/tree/master/src/test/regress/expected"));
+    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), "PostgreSQL", "CSV");
     }
 }
diff --git a/sql-parser/dialect/postgresql/src/test/java/org/apache/shardingsphere/sql/parser/postgresql/internal/InternalPostgreSQLParserParameterizedIT.java b/sql-parser/dialect/postgresql/src/test/java/org/apache/shardingsphere/sql/parser/postgresql/internal/InternalPostgreSQLParserParameterizedIT.java
index 768f7db5299..b5195835bf9 100644
--- a/sql-parser/dialect/postgresql/src/test/java/org/apache/shardingsphere/sql/parser/postgresql/internal/InternalPostgreSQLParserParameterizedIT.java
+++ b/sql-parser/dialect/postgresql/src/test/java/org/apache/shardingsphere/sql/parser/postgresql/internal/InternalPostgreSQLParserParameterizedIT.java
@@ -19,7 +19,7 @@ package org.apache.shardingsphere.sql.parser.postgresql.internal;
 
 import org.apache.shardingsphere.test.runner.ParallelParameterized;
 import org.apache.shardingsphere.test.sql.parser.internal.engine.InternalSQLParserParameterizedIT;
-import org.apache.shardingsphere.test.sql.parser.internal.cases.sql.type.SQLCaseType;
+import org.apache.shardingsphere.test.sql.parser.internal.engine.param.InternalSQLParserParameterizedArray;
 import org.junit.runner.RunWith;
 import org.junit.runners.Parameterized.Parameters;
 
@@ -28,12 +28,12 @@ import java.util.Collection;
 @RunWith(ParallelParameterized.class)
 public final class InternalPostgreSQLParserParameterizedIT extends InternalSQLParserParameterizedIT {
     
-    public InternalPostgreSQLParserParameterizedIT(final String sqlCaseId, final String databaseType, final SQLCaseType sqlCaseType) {
-        super(sqlCaseId, databaseType, sqlCaseType);
+    public InternalPostgreSQLParserParameterizedIT(final InternalSQLParserParameterizedArray parameterizedArray) {
+        super(parameterizedArray);
     }
     
-    @Parameters(name = "{0} ({2}) -> {1}")
-    public static Collection<Object[]> getTestParameters() {
+    @Parameters(name = "{0}")
+    public static Collection<InternalSQLParserParameterizedArray> getTestParameters() {
         return getTestParameters("PostgreSQL");
     }
 }
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 32fb5b11676..065ff39ef9a 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
@@ -19,7 +19,7 @@ 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.cases.sql.type.SQLCaseType;
+import org.apache.shardingsphere.test.sql.parser.internal.engine.param.InternalSQLParserParameterizedArray;
 import org.junit.runner.RunWith;
 import org.junit.runners.Parameterized.Parameters;
 
@@ -28,12 +28,12 @@ import java.util.Collection;
 @RunWith(ParallelParameterized.class)
 public final class InternalUnsupportedPostgreSQLParserParameterizedIT extends InternalUnsupportedSQLParserParameterizedIT {
     
-    public InternalUnsupportedPostgreSQLParserParameterizedIT(final String sqlCaseId, final String databaseType, final SQLCaseType sqlCaseType) {
-        super(sqlCaseId, databaseType, sqlCaseType);
+    public InternalUnsupportedPostgreSQLParserParameterizedIT(final InternalSQLParserParameterizedArray parameterizedArray) {
+        super(parameterizedArray);
     }
     
-    @Parameters(name = "{0} ({2}) -> {1}")
-    public static Collection<Object[]> getTestParameters() {
+    @Parameters(name = "{0}")
+    public static Collection<InternalSQLParserParameterizedArray> getTestParameters() {
         return InternalUnsupportedSQLParserParameterizedIT.getTestParameters("PostgreSQL");
     }
 }
diff --git a/sql-parser/dialect/sql92/src/test/java/org/apache/shardingsphere/sql/parser/sql92/InternalSQL92ParserParameterizedIT.java b/sql-parser/dialect/sql92/src/test/java/org/apache/shardingsphere/sql/parser/sql92/InternalSQL92ParserParameterizedIT.java
index 35e0663953b..b162ed5bf7a 100644
--- a/sql-parser/dialect/sql92/src/test/java/org/apache/shardingsphere/sql/parser/sql92/InternalSQL92ParserParameterizedIT.java
+++ b/sql-parser/dialect/sql92/src/test/java/org/apache/shardingsphere/sql/parser/sql92/InternalSQL92ParserParameterizedIT.java
@@ -19,7 +19,7 @@ package org.apache.shardingsphere.sql.parser.sql92;
 
 import org.apache.shardingsphere.test.runner.ParallelParameterized;
 import org.apache.shardingsphere.test.sql.parser.internal.engine.InternalSQLParserParameterizedIT;
-import org.apache.shardingsphere.test.sql.parser.internal.cases.sql.type.SQLCaseType;
+import org.apache.shardingsphere.test.sql.parser.internal.engine.param.InternalSQLParserParameterizedArray;
 import org.junit.runner.RunWith;
 import org.junit.runners.Parameterized.Parameters;
 
@@ -28,12 +28,12 @@ import java.util.Collection;
 @RunWith(ParallelParameterized.class)
 public final class InternalSQL92ParserParameterizedIT extends InternalSQLParserParameterizedIT {
     
-    public InternalSQL92ParserParameterizedIT(final String sqlCaseId, final String databaseType, final SQLCaseType sqlCaseType) {
-        super(sqlCaseId, databaseType, sqlCaseType);
+    public InternalSQL92ParserParameterizedIT(final InternalSQLParserParameterizedArray parameterizedArray) {
+        super(parameterizedArray);
     }
     
-    @Parameters(name = "{0} ({2}) -> {1}")
-    public static Collection<Object[]> getTestParameters() {
+    @Parameters(name = "{0}")
+    public static Collection<InternalSQLParserParameterizedArray> getTestParameters() {
         return getTestParameters("SQL92");
     }
 }
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 3dd5a0d2dfc..e96b27bafc1 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
@@ -19,7 +19,7 @@ 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.cases.sql.type.SQLCaseType;
+import org.apache.shardingsphere.test.sql.parser.internal.engine.param.InternalSQLParserParameterizedArray;
 import org.junit.runner.RunWith;
 import org.junit.runners.Parameterized.Parameters;
 
@@ -28,12 +28,12 @@ import java.util.Collection;
 @RunWith(ParallelParameterized.class)
 public final class InternalUnsupportedSQL92ParserParameterizedIT extends InternalUnsupportedSQLParserParameterizedIT {
     
-    public InternalUnsupportedSQL92ParserParameterizedIT(final String sqlCaseId, final String databaseType, final SQLCaseType sqlCaseType) {
-        super(sqlCaseId, databaseType, sqlCaseType);
+    public InternalUnsupportedSQL92ParserParameterizedIT(final InternalSQLParserParameterizedArray parameterizedArray) {
+        super(parameterizedArray);
     }
     
-    @Parameters(name = "{0} ({2}) -> {1}")
-    public static Collection<Object[]> getTestParameters() {
+    @Parameters(name = "{0}")
+    public static Collection<InternalSQLParserParameterizedArray> getTestParameters() {
         return InternalUnsupportedSQLParserParameterizedIT.getTestParameters("SQL92");
     }
 }
diff --git a/sql-parser/dialect/sqlserver/src/test/java/org/apache/shardingsphere/sql/parser/sqlserver/InternalSQLServerParserParameterizedIT.java b/sql-parser/dialect/sqlserver/src/test/java/org/apache/shardingsphere/sql/parser/sqlserver/InternalSQLServerParserParameterizedIT.java
index 59ebc969739..566173d3f72 100644
--- a/sql-parser/dialect/sqlserver/src/test/java/org/apache/shardingsphere/sql/parser/sqlserver/InternalSQLServerParserParameterizedIT.java
+++ b/sql-parser/dialect/sqlserver/src/test/java/org/apache/shardingsphere/sql/parser/sqlserver/InternalSQLServerParserParameterizedIT.java
@@ -19,7 +19,7 @@ package org.apache.shardingsphere.sql.parser.sqlserver;
 
 import org.apache.shardingsphere.test.runner.ParallelParameterized;
 import org.apache.shardingsphere.test.sql.parser.internal.engine.InternalSQLParserParameterizedIT;
-import org.apache.shardingsphere.test.sql.parser.internal.cases.sql.type.SQLCaseType;
+import org.apache.shardingsphere.test.sql.parser.internal.engine.param.InternalSQLParserParameterizedArray;
 import org.junit.runner.RunWith;
 import org.junit.runners.Parameterized.Parameters;
 
@@ -28,12 +28,12 @@ import java.util.Collection;
 @RunWith(ParallelParameterized.class)
 public final class InternalSQLServerParserParameterizedIT extends InternalSQLParserParameterizedIT {
     
-    public InternalSQLServerParserParameterizedIT(final String sqlCaseId, final String databaseType, final SQLCaseType sqlCaseType) {
-        super(sqlCaseId, databaseType, sqlCaseType);
+    public InternalSQLServerParserParameterizedIT(final InternalSQLParserParameterizedArray parameterizedArray) {
+        super(parameterizedArray);
     }
     
-    @Parameters(name = "{0} ({2}) -> {1}")
-    public static Collection<Object[]> getTestParameters() {
+    @Parameters(name = "{0}")
+    public static Collection<InternalSQLParserParameterizedArray> getTestParameters() {
         return getTestParameters("SQLServer");
     }
 }
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 2052741fdcf..31c0af2c0c7 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
@@ -19,7 +19,7 @@ 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.cases.sql.type.SQLCaseType;
+import org.apache.shardingsphere.test.sql.parser.internal.engine.param.InternalSQLParserParameterizedArray;
 import org.junit.runner.RunWith;
 import org.junit.runners.Parameterized.Parameters;
 
@@ -28,12 +28,12 @@ import java.util.Collection;
 @RunWith(ParallelParameterized.class)
 public final class InternalUnsupportedSQLServerParserParameterizedIT extends InternalUnsupportedSQLParserParameterizedIT {
     
-    public InternalUnsupportedSQLServerParserParameterizedIT(final String sqlCaseId, final String databaseType, final SQLCaseType sqlCaseType) {
-        super(sqlCaseId, databaseType, sqlCaseType);
+    public InternalUnsupportedSQLServerParserParameterizedIT(final InternalSQLParserParameterizedArray parameterizedArray) {
+        super(parameterizedArray);
     }
     
-    @Parameters(name = "{0} ({2}) -> {1}")
-    public static Collection<Object[]> getTestParameters() {
+    @Parameters(name = "{0}")
+    public static Collection<InternalSQLParserParameterizedArray> getTestParameters() {
         return InternalUnsupportedSQLParserParameterizedIT.getTestParameters("SQLServer");
     }
 }
diff --git a/test/integration-test/test-suite/src/test/java/org/apache/shardingsphere/test/integration/container/compose/ContainerComposerRegistry.java b/test/integration-test/test-suite/src/test/java/org/apache/shardingsphere/test/integration/container/compose/ContainerComposerRegistry.java
index 586a56004ad..8cc7bdf3edb 100644
--- a/test/integration-test/test-suite/src/test/java/org/apache/shardingsphere/test/integration/container/compose/ContainerComposerRegistry.java
+++ b/test/integration-test/test-suite/src/test/java/org/apache/shardingsphere/test/integration/container/compose/ContainerComposerRegistry.java
@@ -23,7 +23,7 @@ import org.apache.shardingsphere.test.integration.container.compose.mode.Cluster
 import org.apache.shardingsphere.test.integration.container.compose.mode.StandaloneContainerComposer;
 import org.apache.shardingsphere.test.integration.env.container.atomic.constants.AdapterContainerConstants;
 import org.apache.shardingsphere.test.integration.env.container.atomic.constants.EnvironmentConstants;
-import org.apache.shardingsphere.test.integration.framework.param.model.ParameterizedArray;
+import org.apache.shardingsphere.test.integration.framework.param.model.ITParameterizedArray;
 
 import javax.sql.DataSource;
 import java.util.HashMap;
@@ -42,7 +42,7 @@ public final class ContainerComposerRegistry implements AutoCloseable {
      * @param parameterizedArray parameterized array
      * @return composed container
      */
-    public ContainerComposer getContainerComposer(final ParameterizedArray parameterizedArray) {
+    public ContainerComposer getContainerComposer(final ITParameterizedArray parameterizedArray) {
         String key = parameterizedArray.getKey();
         if (containerComposers.containsKey(key)) {
             return containerComposers.get(key);
@@ -55,11 +55,11 @@ public final class ContainerComposerRegistry implements AutoCloseable {
         }
     }
     
-    private ContainerComposer createContainerComposer(final ParameterizedArray parameterizedArray) {
+    private ContainerComposer createContainerComposer(final ITParameterizedArray parameterizedArray) {
         return isClusterMode(parameterizedArray) ? new ClusterContainerComposer(parameterizedArray) : new StandaloneContainerComposer(parameterizedArray);
     }
     
-    private boolean isClusterMode(final ParameterizedArray parameterizedArray) {
+    private boolean isClusterMode(final ITParameterizedArray parameterizedArray) {
         // TODO cluster mode often throw exception sometimes, issue is #15517
         return EnvironmentConstants.CLUSTER_MODE.equalsIgnoreCase(parameterizedArray.getMode()) && AdapterContainerConstants.PROXY.equalsIgnoreCase(parameterizedArray.getAdapter());
     }
diff --git a/test/integration-test/test-suite/src/test/java/org/apache/shardingsphere/test/integration/container/compose/mode/ClusterContainerComposer.java b/test/integration-test/test-suite/src/test/java/org/apache/shardingsphere/test/integration/container/compose/mode/ClusterContainerComposer.java
index d41a6a0e98f..3fdab05f7da 100644
--- a/test/integration-test/test-suite/src/test/java/org/apache/shardingsphere/test/integration/container/compose/mode/ClusterContainerComposer.java
+++ b/test/integration-test/test-suite/src/test/java/org/apache/shardingsphere/test/integration/container/compose/mode/ClusterContainerComposer.java
@@ -30,7 +30,7 @@ import org.apache.shardingsphere.test.integration.env.container.atomic.storage.S
 import org.apache.shardingsphere.test.integration.env.container.atomic.storage.StorageContainerFactory;
 import org.apache.shardingsphere.test.integration.env.container.atomic.storage.config.impl.StorageContainerConfigurationFactory;
 import org.apache.shardingsphere.test.integration.env.container.atomic.util.AdapterContainerUtil;
-import org.apache.shardingsphere.test.integration.framework.param.model.ParameterizedArray;
+import org.apache.shardingsphere.test.integration.framework.param.model.ITParameterizedArray;
 
 import javax.sql.DataSource;
 import java.util.Map;
@@ -48,7 +48,7 @@ public final class ClusterContainerComposer implements ContainerComposer {
     
     private final AdapterContainer adapterContainer;
     
-    public ClusterContainerComposer(final ParameterizedArray parameterizedArray) {
+    public ClusterContainerComposer(final ITParameterizedArray parameterizedArray) {
         String scenario = parameterizedArray.getScenario();
         containers = new ITContainers(scenario);
         // TODO support other types of governance
diff --git a/test/integration-test/test-suite/src/test/java/org/apache/shardingsphere/test/integration/container/compose/mode/StandaloneContainerComposer.java b/test/integration-test/test-suite/src/test/java/org/apache/shardingsphere/test/integration/container/compose/mode/StandaloneContainerComposer.java
index 50c40faeaf1..1b1b9c9c0f0 100644
--- a/test/integration-test/test-suite/src/test/java/org/apache/shardingsphere/test/integration/container/compose/mode/StandaloneContainerComposer.java
+++ b/test/integration-test/test-suite/src/test/java/org/apache/shardingsphere/test/integration/container/compose/mode/StandaloneContainerComposer.java
@@ -26,7 +26,7 @@ import org.apache.shardingsphere.test.integration.env.container.atomic.adapter.A
 import org.apache.shardingsphere.test.integration.env.container.atomic.storage.StorageContainer;
 import org.apache.shardingsphere.test.integration.env.container.atomic.storage.StorageContainerFactory;
 import org.apache.shardingsphere.test.integration.env.container.atomic.storage.config.impl.StorageContainerConfigurationFactory;
-import org.apache.shardingsphere.test.integration.framework.param.model.ParameterizedArray;
+import org.apache.shardingsphere.test.integration.framework.param.model.ITParameterizedArray;
 
 import javax.sql.DataSource;
 import java.util.Map;
@@ -42,7 +42,7 @@ public final class StandaloneContainerComposer implements ContainerComposer {
     
     private final AdapterContainer adapterContainer;
     
-    public StandaloneContainerComposer(final ParameterizedArray parameterizedArray) {
+    public StandaloneContainerComposer(final ITParameterizedArray parameterizedArray) {
         String scenario = parameterizedArray.getScenario();
         containers = new ITContainers(scenario);
         // TODO add more version of databases
diff --git a/test/integration-test/test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/BaseITCase.java b/test/integration-test/test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/BaseITCase.java
index 4b33738253e..7a887be04c6 100644
--- a/test/integration-test/test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/BaseITCase.java
+++ b/test/integration-test/test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/BaseITCase.java
@@ -25,7 +25,7 @@ import org.apache.shardingsphere.test.integration.cases.assertion.IntegrationTes
 import org.apache.shardingsphere.test.integration.container.compose.ContainerComposer;
 import org.apache.shardingsphere.test.integration.container.compose.ContainerComposerRegistry;
 import org.apache.shardingsphere.test.integration.env.runtime.scenario.path.ScenarioDataPath;
-import org.apache.shardingsphere.test.integration.framework.param.model.ParameterizedArray;
+import org.apache.shardingsphere.test.integration.framework.param.model.ITParameterizedArray;
 import org.apache.shardingsphere.test.integration.framework.runner.ShardingSphereIntegrationTestParameterized;
 import org.h2.tools.RunScript;
 import org.junit.AfterClass;
@@ -76,7 +76,7 @@ public abstract class BaseITCase {
     
     private Map<String, DataSource> expectedDataSourceMap;
     
-    public BaseITCase(final ParameterizedArray parameterizedArray) {
+    public BaseITCase(final ITParameterizedArray parameterizedArray) {
         mode = parameterizedArray.getMode();
         scenario = parameterizedArray.getScenario();
         databaseType = parameterizedArray.getDatabaseType();
diff --git a/test/integration-test/test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/dml/BatchDMLIT.java b/test/integration-test/test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/dml/BatchDMLIT.java
index 0d0188d2589..9f1634b5af1 100644
--- a/test/integration-test/test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/dml/BatchDMLIT.java
+++ b/test/integration-test/test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/dml/BatchDMLIT.java
@@ -23,7 +23,7 @@ import org.apache.shardingsphere.test.integration.cases.value.SQLValue;
 import org.apache.shardingsphere.test.integration.engine.BatchITCase;
 import org.apache.shardingsphere.test.integration.framework.param.array.ParameterizedArrayFactory;
 import org.apache.shardingsphere.test.integration.framework.param.model.CaseParameterizedArray;
-import org.apache.shardingsphere.test.integration.framework.param.model.ParameterizedArray;
+import org.apache.shardingsphere.test.integration.framework.param.model.ITParameterizedArray;
 import org.apache.shardingsphere.test.runner.ParallelRunningStrategy;
 import org.apache.shardingsphere.test.runner.ParallelRunningStrategy.ParallelLevel;
 import org.junit.Test;
@@ -46,7 +46,7 @@ public final class BatchDMLIT extends BatchITCase {
     }
     
     @Parameters(name = "{0}")
-    public static Collection<ParameterizedArray> getParameters() {
+    public static Collection<ITParameterizedArray> getParameters() {
         return ParameterizedArrayFactory.getCaseParameterized(SQLCommandType.DML);
     }
     
diff --git a/test/integration-test/test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/param/RunnerParameters.java b/test/integration-test/test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/param/RunnerParameters.java
index 410a7e15c6a..c1a4b682c46 100644
--- a/test/integration-test/test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/param/RunnerParameters.java
+++ b/test/integration-test/test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/param/RunnerParameters.java
@@ -19,7 +19,7 @@ package org.apache.shardingsphere.test.integration.framework.param;
 
 import lombok.RequiredArgsConstructor;
 import lombok.SneakyThrows;
-import org.apache.shardingsphere.test.integration.framework.param.model.ParameterizedArray;
+import org.apache.shardingsphere.test.integration.framework.param.model.ITParameterizedArray;
 import org.junit.runners.parameterized.BlockJUnit4ClassRunnerWithParameters;
 
 import java.lang.reflect.Field;
@@ -38,11 +38,11 @@ public final class RunnerParameters {
      * @return parameterized array
      */
     @SneakyThrows(ReflectiveOperationException.class)
-    public ParameterizedArray getParameterizedArray() {
+    public ITParameterizedArray getParameterizedArray() {
         Field parametersField = BlockJUnit4ClassRunnerWithParameters.class.getDeclaredField("parameters");
         parametersField.setAccessible(true);
         Object[] params = (Object[]) parametersField.get(getRunner());
-        return (ParameterizedArray) params[0];
+        return (ITParameterizedArray) params[0];
     }
     
     @SneakyThrows(ReflectiveOperationException.class)
diff --git a/test/integration-test/test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/param/array/ClusterParameterizedArrayGenerator.java b/test/integration-test/test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/param/array/ClusterParameterizedArrayGenerator.java
index 4ac94081e3a..8d9d102b7c1 100644
--- a/test/integration-test/test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/param/array/ClusterParameterizedArrayGenerator.java
+++ b/test/integration-test/test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/param/array/ClusterParameterizedArrayGenerator.java
@@ -23,7 +23,7 @@ import org.apache.shardingsphere.test.integration.cases.SQLCommandType;
 import org.apache.shardingsphere.test.integration.env.container.atomic.constants.EnvironmentConstants;
 import org.apache.shardingsphere.test.integration.env.runtime.IntegrationTestEnvironment;
 import org.apache.shardingsphere.test.integration.framework.param.model.AssertionParameterizedArray;
-import org.apache.shardingsphere.test.integration.framework.param.model.ParameterizedArray;
+import org.apache.shardingsphere.test.integration.framework.param.model.ITParameterizedArray;
 
 import java.util.Collection;
 
@@ -52,7 +52,7 @@ public final class ClusterParameterizedArrayGenerator {
      * @param sqlCommandType SQL commandEnvironmentConstants type
      * @return case parameterized array
      */
-    public static Collection<ParameterizedArray> getCaseParameterized(final SQLCommandType sqlCommandType) {
+    public static Collection<ITParameterizedArray> getCaseParameterized(final SQLCommandType sqlCommandType) {
         return new ParameterizedArrayGenerator(ENV.getClusterEnvironment().getAdapters(), ENV.getScenarios(), EnvironmentConstants.CLUSTER_MODE,
                 ENV.getClusterEnvironment().getDatabaseTypes()).getCaseParameterized(sqlCommandType);
     }
diff --git a/test/integration-test/test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/param/array/JdbcStandaloneParameterizedArrayGenerator.java b/test/integration-test/test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/param/array/JdbcStandaloneParameterizedArrayGenerator.java
index c2ad7e3f0b7..93909222316 100644
--- a/test/integration-test/test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/param/array/JdbcStandaloneParameterizedArrayGenerator.java
+++ b/test/integration-test/test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/param/array/JdbcStandaloneParameterizedArrayGenerator.java
@@ -26,7 +26,7 @@ import org.apache.shardingsphere.test.integration.env.container.atomic.constants
 import org.apache.shardingsphere.test.integration.env.container.atomic.constants.EnvironmentConstants;
 import org.apache.shardingsphere.test.integration.env.runtime.IntegrationTestEnvironment;
 import org.apache.shardingsphere.test.integration.framework.param.model.AssertionParameterizedArray;
-import org.apache.shardingsphere.test.integration.framework.param.model.ParameterizedArray;
+import org.apache.shardingsphere.test.integration.framework.param.model.ITParameterizedArray;
 
 import java.util.Collection;
 import java.util.Collections;
@@ -59,7 +59,7 @@ public final class JdbcStandaloneParameterizedArrayGenerator {
      * @param sqlCommandType SQL command type
      * @return case parameterized array
      */
-    public static Collection<ParameterizedArray> getCaseParameterized(final SQLCommandType sqlCommandType) {
+    public static Collection<ITParameterizedArray> getCaseParameterized(final SQLCommandType sqlCommandType) {
         return new ParameterizedArrayGenerator(ADAPTERS, ENV.getScenarios(), EnvironmentConstants.STANDALONE_MODE, DATABASE_TYPES).getCaseParameterized(sqlCommandType);
     }
 }
diff --git a/test/integration-test/test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/param/array/ParameterizedArrayFactory.java b/test/integration-test/test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/param/array/ParameterizedArrayFactory.java
index 374c7a45fe5..f7b0a484f8c 100644
--- a/test/integration-test/test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/param/array/ParameterizedArrayFactory.java
+++ b/test/integration-test/test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/param/array/ParameterizedArrayFactory.java
@@ -23,7 +23,7 @@ import org.apache.shardingsphere.test.integration.cases.SQLCommandType;
 import org.apache.shardingsphere.test.integration.env.container.atomic.constants.EnvironmentConstants;
 import org.apache.shardingsphere.test.integration.env.runtime.IntegrationTestEnvironment;
 import org.apache.shardingsphere.test.integration.framework.param.model.AssertionParameterizedArray;
-import org.apache.shardingsphere.test.integration.framework.param.model.ParameterizedArray;
+import org.apache.shardingsphere.test.integration.framework.param.model.ITParameterizedArray;
 
 import java.util.Collection;
 import java.util.LinkedList;
@@ -62,8 +62,8 @@ public final class ParameterizedArrayFactory {
      * @param sqlCommandType SQL command type
      * @return case parameterized array
      */
-    public static Collection<ParameterizedArray> getCaseParameterized(final SQLCommandType sqlCommandType) {
-        Collection<ParameterizedArray> result = new LinkedList<>();
+    public static Collection<ITParameterizedArray> getCaseParameterized(final SQLCommandType sqlCommandType) {
+        Collection<ITParameterizedArray> result = new LinkedList<>();
         for (String each : ENV.getRunModes()) {
             if (EnvironmentConstants.STANDALONE_MODE.equalsIgnoreCase(each)) {
                 result.addAll(isDistSQLCommandType(sqlCommandType)
diff --git a/test/integration-test/test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/param/array/ParameterizedArrayGenerator.java b/test/integration-test/test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/param/array/ParameterizedArrayGenerator.java
index 7b82bce1763..4711d57dbac 100644
--- a/test/integration-test/test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/param/array/ParameterizedArrayGenerator.java
+++ b/test/integration-test/test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/param/array/ParameterizedArrayGenerator.java
@@ -32,7 +32,7 @@ import org.apache.shardingsphere.test.integration.cases.SQLExecuteType;
 import org.apache.shardingsphere.test.integration.cases.assertion.IntegrationTestCaseAssertion;
 import org.apache.shardingsphere.test.integration.framework.param.model.AssertionParameterizedArray;
 import org.apache.shardingsphere.test.integration.framework.param.model.CaseParameterizedArray;
-import org.apache.shardingsphere.test.integration.framework.param.model.ParameterizedArray;
+import org.apache.shardingsphere.test.integration.framework.param.model.ITParameterizedArray;
 
 import java.util.Arrays;
 import java.util.Collection;
@@ -139,16 +139,16 @@ public final class ParameterizedArrayGenerator {
      * @param sqlCommandType SQL command type
      * @return case parameterized array
      */
-    public Collection<ParameterizedArray> getCaseParameterized(final SQLCommandType sqlCommandType) {
-        Collection<ParameterizedArray> result = new LinkedList<>();
+    public Collection<ITParameterizedArray> getCaseParameterized(final SQLCommandType sqlCommandType) {
+        Collection<ITParameterizedArray> result = new LinkedList<>();
         for (IntegrationTestCaseContext each : TEST_CASES_LOADER.getTestCaseContexts(sqlCommandType)) {
             result.addAll(getCaseParameterizedArray(each));
         }
         return result;
     }
     
-    private Collection<ParameterizedArray> getCaseParameterizedArray(final IntegrationTestCaseContext testCaseContext) {
-        Collection<ParameterizedArray> result = new LinkedList<>();
+    private Collection<ITParameterizedArray> getCaseParameterizedArray(final IntegrationTestCaseContext testCaseContext) {
+        Collection<ITParameterizedArray> result = new LinkedList<>();
         for (DatabaseType each : getDatabaseTypes(testCaseContext.getTestCase().getDbTypes())) {
             if (envDatabaseTypes.contains(each)) {
                 result.addAll(getCaseParameterizedArray(testCaseContext, each));
@@ -157,15 +157,15 @@ public final class ParameterizedArrayGenerator {
         return result;
     }
     
-    private Collection<ParameterizedArray> getCaseParameterizedArray(final IntegrationTestCaseContext testCaseContext, final DatabaseType databaseType) {
-        Collection<ParameterizedArray> result = new LinkedList<>();
+    private Collection<ITParameterizedArray> getCaseParameterizedArray(final IntegrationTestCaseContext testCaseContext, final DatabaseType databaseType) {
+        Collection<ITParameterizedArray> result = new LinkedList<>();
         for (String adapter : envAdapters) {
             result.addAll(getCaseParameterizedArray(testCaseContext, adapter, databaseType));
         }
         return result;
     }
     
-    private Collection<ParameterizedArray> getCaseParameterizedArray(final IntegrationTestCaseContext testCaseContext, final String adapter, final DatabaseType databaseType) {
+    private Collection<ITParameterizedArray> getCaseParameterizedArray(final IntegrationTestCaseContext testCaseContext, final String adapter, final DatabaseType databaseType) {
         Collection<String> scenarios = null == testCaseContext.getTestCase().getScenarioTypes() ? Collections.emptyList() : Arrays.asList(testCaseContext.getTestCase().getScenarioTypes().split(","));
         return envScenarios.stream().filter(each -> scenarios.isEmpty() || scenarios.contains(each))
                 .map(each -> new CaseParameterizedArray(testCaseContext, adapter, each, envMode, databaseType)).collect(Collectors.toList());
diff --git a/test/integration-test/test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/param/array/ProxyStandaloneParameterizedArrayGenerator.java b/test/integration-test/test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/param/array/ProxyStandaloneParameterizedArrayGenerator.java
index 987aea68ac3..a28e1b0a71c 100644
--- a/test/integration-test/test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/param/array/ProxyStandaloneParameterizedArrayGenerator.java
+++ b/test/integration-test/test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/param/array/ProxyStandaloneParameterizedArrayGenerator.java
@@ -23,7 +23,7 @@ import org.apache.shardingsphere.test.integration.cases.SQLCommandType;
 import org.apache.shardingsphere.test.integration.env.container.atomic.constants.EnvironmentConstants;
 import org.apache.shardingsphere.test.integration.env.runtime.IntegrationTestEnvironment;
 import org.apache.shardingsphere.test.integration.framework.param.model.AssertionParameterizedArray;
-import org.apache.shardingsphere.test.integration.framework.param.model.ParameterizedArray;
+import org.apache.shardingsphere.test.integration.framework.param.model.ITParameterizedArray;
 
 import java.util.Collection;
 
@@ -52,7 +52,7 @@ public final class ProxyStandaloneParameterizedArrayGenerator {
      * @param sqlCommandType SQL command type
      * @return case parameterized array
      */
-    public static Collection<ParameterizedArray> getCaseParameterized(final SQLCommandType sqlCommandType) {
+    public static Collection<ITParameterizedArray> getCaseParameterized(final SQLCommandType sqlCommandType) {
         return new ParameterizedArrayGenerator(ENV.getClusterEnvironment().getAdapters(),
                 ENV.getScenarios(), EnvironmentConstants.STANDALONE_MODE, ENV.getClusterEnvironment().getDatabaseTypes()).getCaseParameterized(sqlCommandType);
     }
diff --git a/test/integration-test/test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/param/model/AssertionParameterizedArray.java b/test/integration-test/test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/param/model/AssertionParameterizedArray.java
index ec0ed2532e0..60ee42eb4eb 100644
--- a/test/integration-test/test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/param/model/AssertionParameterizedArray.java
+++ b/test/integration-test/test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/param/model/AssertionParameterizedArray.java
@@ -29,7 +29,7 @@ import org.apache.shardingsphere.test.integration.cases.assertion.IntegrationTes
  */
 @RequiredArgsConstructor
 @Getter
-public final class AssertionParameterizedArray implements ParameterizedArray {
+public final class AssertionParameterizedArray implements ITParameterizedArray {
     
     private final IntegrationTestCaseContext testCaseContext;
     
diff --git a/test/integration-test/test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/param/model/CaseParameterizedArray.java b/test/integration-test/test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/param/model/CaseParameterizedArray.java
index 7882a1f386d..7c44746e797 100644
--- a/test/integration-test/test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/param/model/CaseParameterizedArray.java
+++ b/test/integration-test/test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/param/model/CaseParameterizedArray.java
@@ -27,7 +27,7 @@ import org.apache.shardingsphere.test.integration.cases.IntegrationTestCaseConte
  */
 @RequiredArgsConstructor
 @Getter
-public final class CaseParameterizedArray implements ParameterizedArray {
+public final class CaseParameterizedArray implements ITParameterizedArray {
     
     private final IntegrationTestCaseContext testCaseContext;
     
diff --git a/test/integration-test/test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/param/model/ParameterizedArray.java b/test/integration-test/test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/param/model/ITParameterizedArray.java
similarity index 91%
rename from test/integration-test/test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/param/model/ParameterizedArray.java
rename to test/integration-test/test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/param/model/ITParameterizedArray.java
index 1a8a6e8e0ba..c69c97db992 100644
--- a/test/integration-test/test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/param/model/ParameterizedArray.java
+++ b/test/integration-test/test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/param/model/ITParameterizedArray.java
@@ -19,11 +19,12 @@ package org.apache.shardingsphere.test.integration.framework.param.model;
 
 import org.apache.shardingsphere.infra.database.type.DatabaseType;
 import org.apache.shardingsphere.test.integration.cases.IntegrationTestCaseContext;
+import org.apache.shardingsphere.test.runner.param.ParameterizedArray;
 
 /**
- * Parameterized array.
+ * IT parameterized array.
  */
-public interface ParameterizedArray {
+public interface ITParameterizedArray extends ParameterizedArray {
     
     /**
      * Get test case context.
diff --git a/test/integration-test/test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/runner/parallel/ParameterizedParallelRunnerScheduler.java b/test/integration-test/test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/runner/parallel/ParameterizedParallelRunnerScheduler.java
index 67205cf8c55..701550f0aa0 100644
--- a/test/integration-test/test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/runner/parallel/ParameterizedParallelRunnerScheduler.java
+++ b/test/integration-test/test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/runner/parallel/ParameterizedParallelRunnerScheduler.java
@@ -19,7 +19,7 @@ package org.apache.shardingsphere.test.integration.framework.runner.parallel;
 
 import org.apache.shardingsphere.infra.database.type.DatabaseType;
 import org.apache.shardingsphere.test.integration.framework.param.RunnerParameters;
-import org.apache.shardingsphere.test.integration.framework.param.model.ParameterizedArray;
+import org.apache.shardingsphere.test.integration.framework.param.model.ITParameterizedArray;
 import org.apache.shardingsphere.test.runner.ParallelRunningStrategy.ParallelLevel;
 import org.apache.shardingsphere.test.runner.executor.ParallelRunnerExecutorFactory;
 import org.apache.shardingsphere.test.runner.scheduler.ParallelRunnerScheduler;
@@ -35,7 +35,7 @@ public final class ParameterizedParallelRunnerScheduler extends ParallelRunnerSc
     
     @Override
     public void schedule(final Runnable childStatement) {
-        ParameterizedArray parameterizedArray = new RunnerParameters(childStatement).getParameterizedArray();
+        ITParameterizedArray parameterizedArray = new RunnerParameters(childStatement).getParameterizedArray();
         getExecutorFactory().getExecutor(parameterizedArray.getDatabaseType(), getParallelLevel()).execute(parameterizedArray, childStatement);
     }
 }
diff --git a/test/integration-test/test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/runner/parallel/impl/CaseParallelRunnerExecutor.java b/test/integration-test/test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/runner/parallel/impl/CaseParallelRunnerExecutor.java
index d598f6bd626..f804d2519df 100644
--- a/test/integration-test/test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/runner/parallel/impl/CaseParallelRunnerExecutor.java
+++ b/test/integration-test/test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/runner/parallel/impl/CaseParallelRunnerExecutor.java
@@ -17,17 +17,17 @@
 
 package org.apache.shardingsphere.test.integration.framework.runner.parallel.impl;
 
-import org.apache.shardingsphere.test.integration.framework.param.model.ParameterizedArray;
+import org.apache.shardingsphere.test.integration.framework.param.model.ITParameterizedArray;
 
 import org.apache.shardingsphere.test.runner.executor.impl.DefaultParallelRunnerExecutor;
 
 /**
  * Parallel runner executor with case.
  */
-public final class CaseParallelRunnerExecutor extends DefaultParallelRunnerExecutor<ParameterizedArray> {
+public final class CaseParallelRunnerExecutor extends DefaultParallelRunnerExecutor<ITParameterizedArray> {
     
     @Override
-    public void execute(final ParameterizedArray parameterizedArray, final Runnable childStatement) {
+    public void execute(final ITParameterizedArray parameterizedArray, final Runnable childStatement) {
         execute(childStatement);
     }
 }
diff --git a/test/integration-test/test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/runner/parallel/impl/ScenarioParallelRunnerExecutor.java b/test/integration-test/test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/runner/parallel/impl/ScenarioParallelRunnerExecutor.java
index 4f3cf7bf177..587303b08db 100644
--- a/test/integration-test/test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/runner/parallel/impl/ScenarioParallelRunnerExecutor.java
+++ b/test/integration-test/test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/runner/parallel/impl/ScenarioParallelRunnerExecutor.java
@@ -19,7 +19,7 @@ package org.apache.shardingsphere.test.integration.framework.runner.parallel.imp
 
 import com.google.common.util.concurrent.ThreadFactoryBuilder;
 import lombok.EqualsAndHashCode;
-import org.apache.shardingsphere.test.integration.framework.param.model.ParameterizedArray;
+import org.apache.shardingsphere.test.integration.framework.param.model.ITParameterizedArray;
 import org.apache.shardingsphere.test.runner.executor.impl.DefaultParallelRunnerExecutor;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
@@ -27,10 +27,10 @@ import java.util.concurrent.Executors;
 /**
  * Parallel runner executor with scenario.
  */
-public final class ScenarioParallelRunnerExecutor extends DefaultParallelRunnerExecutor<ParameterizedArray> {
+public final class ScenarioParallelRunnerExecutor extends DefaultParallelRunnerExecutor<ITParameterizedArray> {
     
     @Override
-    protected ExecutorService getExecutorService(final ParameterizedArray key) {
+    protected ExecutorService getExecutorService(final ITParameterizedArray key) {
         ScenarioKey scenarioKey = new ScenarioKey(key);
         if (getExecutorServiceMap().containsKey(scenarioKey)) {
             return getExecutorServiceMap().get(scenarioKey);
@@ -57,7 +57,7 @@ public final class ScenarioParallelRunnerExecutor extends DefaultParallelRunnerE
         
         private final String databaseTypeName;
         
-        private ScenarioKey(final ParameterizedArray parameterizedArray) {
+        private ScenarioKey(final ITParameterizedArray parameterizedArray) {
             adapter = parameterizedArray.getAdapter();
             scenario = parameterizedArray.getScenario();
             databaseTypeName = parameterizedArray.getDatabaseType().getType();
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 dbafd517c34..b4733cc0cf3 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
@@ -17,7 +17,6 @@
 
 package org.apache.shardingsphere.infra.federation.converter.parameterized.engine;
 
-import lombok.RequiredArgsConstructor;
 import lombok.SneakyThrows;
 import org.apache.calcite.avatica.util.Casing;
 import org.apache.calcite.config.CalciteConnectionConfig;
@@ -39,9 +38,10 @@ import org.apache.shardingsphere.sqlfederation.optimizer.context.parser.dialect.
 import org.apache.shardingsphere.sqlfederation.optimizer.converter.SQLNodeConverterEngine;
 import org.apache.shardingsphere.test.sql.parser.internal.cases.parser.SQLParserTestCases;
 import org.apache.shardingsphere.test.sql.parser.internal.cases.parser.registry.SQLParserTestCasesRegistry;
-import org.apache.shardingsphere.test.sql.parser.internal.cases.sql.type.SQLCaseType;
 import org.apache.shardingsphere.test.sql.parser.internal.cases.sql.SQLCases;
 import org.apache.shardingsphere.test.sql.parser.internal.cases.sql.registry.SQLCasesRegistry;
+import org.apache.shardingsphere.test.sql.parser.internal.cases.sql.type.SQLCaseType;
+import org.apache.shardingsphere.test.sql.parser.internal.engine.param.InternalSQLParserParameterizedArray;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.junit.runners.Parameterized;
@@ -57,7 +57,6 @@ import java.util.Set;
 import static org.junit.Assert.assertTrue;
 
 @RunWith(Parameterized.class)
-@RequiredArgsConstructor
 public final class SQLNodeConverterEngineParameterizedTest {
     
     private static final SQLCases SQL_CASES = SQLCasesRegistry.getInstance().getCases();
@@ -154,14 +153,20 @@ public final class SQLNodeConverterEngineParameterizedTest {
     
     private final SQLCaseType sqlCaseType;
     
-    @Parameters(name = "{0} ({2}) -> {1}")
-    public static Collection<Object[]> getTestParameters() {
+    public SQLNodeConverterEngineParameterizedTest(final InternalSQLParserParameterizedArray parameterizedArray) {
+        sqlCaseId = parameterizedArray.getSqlCaseId();
+        databaseType = parameterizedArray.getDatabaseType();
+        sqlCaseType = parameterizedArray.getSqlCaseType();
+    }
+    
+    @Parameters(name = "{0}")
+    public static Collection<InternalSQLParserParameterizedArray> getTestParameters() {
         return getTestParameters("MySQL", "PostgreSQL", "openGauss");
     }
     
-    private static Collection<Object[]> getTestParameters(final String... databaseTypes) {
-        Collection<Object[]> result = new LinkedList<>();
-        for (Object[] each : SQL_CASES.generateTestParameters(Arrays.asList(databaseTypes))) {
+    private static Collection<InternalSQLParserParameterizedArray> getTestParameters(final String... databaseTypes) {
+        Collection<InternalSQLParserParameterizedArray> result = new LinkedList<>();
+        for (InternalSQLParserParameterizedArray each : SQL_CASES.generateTestParameters(Arrays.asList(databaseTypes))) {
             if (!isPlaceholderWithoutParameter(each) && isSupportedSQLCase(each)) {
                 result.add(each);
             }
@@ -169,13 +174,12 @@ public final class SQLNodeConverterEngineParameterizedTest {
         return result;
     }
     
-    private static boolean isPlaceholderWithoutParameter(final Object[] sqlTestParam) {
-        return SQLCaseType.Placeholder == sqlTestParam[2] && SQL_PARSER_TEST_CASES.get(sqlTestParam[0].toString()).getParameters().isEmpty();
+    private static boolean isPlaceholderWithoutParameter(final InternalSQLParserParameterizedArray parameterizedArray) {
+        return SQLCaseType.Placeholder == parameterizedArray.getSqlCaseType() && SQL_PARSER_TEST_CASES.get(parameterizedArray.getSqlCaseId()).getParameters().isEmpty();
     }
     
-    private static boolean isSupportedSQLCase(final Object[] sqlTestParam) {
-        String sqlCaseId = sqlTestParam[0].toString();
-        return sqlCaseId.toUpperCase().startsWith(SELECT_STATEMENT_PREFIX) && SUPPORTED_SQL_CASE_IDS.contains(sqlCaseId);
+    private static boolean isSupportedSQLCase(final InternalSQLParserParameterizedArray parameterizedArray) {
+        return parameterizedArray.getSqlCaseId().toUpperCase().startsWith(SELECT_STATEMENT_PREFIX) && SUPPORTED_SQL_CASE_IDS.contains(parameterizedArray.getSqlCaseId());
     }
     
     @Test
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 bfcc51d66e3..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
@@ -22,6 +22,7 @@ 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.ParseASTNode;
+import org.apache.shardingsphere.test.sql.parser.external.engine.param.ExternalSQLParserParameterizedArray;
 import org.apache.shardingsphere.test.sql.parser.external.result.SQLParseResultReporter;
 import org.apache.shardingsphere.test.sql.parser.external.result.SQLParseResultReporterCreatorFactory;
 import org.junit.Test;
@@ -38,11 +39,11 @@ public abstract class ExternalSQLParserParameterizedIT {
     
     private final SQLParseResultReporter resultReporter;
     
-    protected ExternalSQLParserParameterizedIT(final String sqlCaseId, final String sql, final String databaseType, final String reportType) {
-        this.sqlCaseId = sqlCaseId;
-        this.sql = sql;
-        this.databaseType = databaseType;
-        resultReporter = SQLParseResultReporterCreatorFactory.newInstance(reportType).create(databaseType);
+    protected ExternalSQLParserParameterizedIT(final ExternalSQLParserParameterizedArray parameterizedArray) {
+        sqlCaseId = parameterizedArray.getSqlCaseId();
+        sql = parameterizedArray.getSql();
+        databaseType = parameterizedArray.getDatabaseType();
+        resultReporter = SQLParseResultReporterCreatorFactory.newInstance(parameterizedArray.getReportType()).create(databaseType);
     }
     
     @Test
diff --git a/test/integration-test/test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/param/model/CaseParameterizedArray.java b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/external/engine/param/ExternalSQLParserParameterizedArray.java
similarity index 58%
copy from test/integration-test/test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/param/model/CaseParameterizedArray.java
copy to test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/external/engine/param/ExternalSQLParserParameterizedArray.java
index 7882a1f386d..eeb846fca39 100644
--- a/test/integration-test/test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/param/model/CaseParameterizedArray.java
+++ b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/external/engine/param/ExternalSQLParserParameterizedArray.java
@@ -15,32 +15,29 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.test.integration.framework.param.model;
+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.integration.cases.IntegrationTestCaseContext;
+import org.apache.shardingsphere.test.runner.param.ParameterizedArray;
 
 /**
- * Parameterized array of case based integration test.
+ * External SQL parser parameterized array.
  */
 @RequiredArgsConstructor
 @Getter
-public final class CaseParameterizedArray implements ParameterizedArray {
+public final class ExternalSQLParserParameterizedArray implements ParameterizedArray {
     
-    private final IntegrationTestCaseContext testCaseContext;
+    private final String sqlCaseId;
     
-    private final String adapter;
+    private final String sql;
     
-    private final String scenario;
+    private final String databaseType;
     
-    private final String mode;
-    
-    private final DatabaseType databaseType;
+    private final String reportType;
     
     @Override
     public String toString() {
-        return String.format("%s: %s -> %s -> %s", adapter, scenario, databaseType.getType(), testCaseContext.getTestCase().getSql());
+        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 6329af3bf19..9ddf1505123 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,6 +19,7 @@ package org.apache.shardingsphere.test.sql.parser.external.loader;
 
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
+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;
 import org.apache.shardingsphere.test.sql.parser.external.loader.summary.FileSummary;
@@ -48,24 +49,26 @@ public final class SQLCaseLoader {
      *
      * @param sqlCaseURI SQL case URI
      * @param resultURI result URI
+     * @param databaseType database type
+     * @param reportType report type
      *
      * @return loaded SQL cases
      */
-    public Collection<Object[]> load(final URI sqlCaseURI, final URI resultURI) {
+    public Collection<ExternalSQLParserParameterizedArray> load(final URI sqlCaseURI, final URI resultURI, final String databaseType, final String reportType) {
         if (!SQLParserExternalITEnvironment.getInstance().isSqlParserITEnabled()) {
             return Collections.emptyList();
         }
-        Collection<Object[]> result = new LinkedList<>();
+        Collection<ExternalSQLParserParameterizedArray> result = new LinkedList<>();
         Map<String, FileSummary> sqlCaseFileSummaries = loadStrategy.loadSQLCaseFileSummaries(sqlCaseURI).stream().collect(Collectors.toMap(FileSummary::getFileName, v -> v, (k, v) -> v));
         Map<String, FileSummary> resultFileSummaries = loadStrategy.loadSQLCaseFileSummaries(resultURI).stream().collect(Collectors.toMap(FileSummary::getFileName, v -> v, (k, v) -> v));
         for (Entry<String, FileSummary> entry : sqlCaseFileSummaries.entrySet()) {
             String fileName = entry.getKey();
             String sqlCaseFileContent = loadContent(URI.create(entry.getValue().getAccessURI()));
             String resultFileContent = resultFileSummaries.containsKey(fileName) ? loadContent(URI.create(resultFileSummaries.get(fileName).getAccessURI())) : "";
-            result.addAll(createSQLCases(fileName, sqlCaseFileContent, resultFileContent));
+            result.addAll(createSQLCases(fileName, sqlCaseFileContent, resultFileContent, databaseType, reportType));
         }
         if (result.isEmpty()) {
-            result.add(new Object[]{"", ""});
+            result.add(new ExternalSQLParserParameterizedArray("", "", databaseType, reportType));
         }
         return result;
     }
@@ -81,16 +84,17 @@ public final class SQLCaseLoader {
         }
     }
     
-    private Collection<Object[]> createSQLCases(final String sqlCaseFileName, final String sqlCaseFileContent, final String resultFileContent) {
-        Collection<Object[]> result = new LinkedList<>();
-        String[] rawsCaseLines = sqlCaseFileContent.split("\n");
+    private Collection<ExternalSQLParserParameterizedArray> createSQLCases(final String sqlCaseFileName,
+                                                                           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");
         String completedSQL = "";
         int sqlCaseEnum = 1;
         int statementLines = 0;
         int resultIndex = 0;
         boolean inProcedure = false;
-        for (String each : rawsCaseLines) {
+        for (String each : rawCaseLines) {
             inProcedure = isInProcedure(inProcedure, each.trim());
             completedSQL = getStatement(completedSQL, each.trim(), inProcedure);
             statementLines = completedSQL.isEmpty() ? 0 : statementLines + 1;
@@ -98,7 +102,7 @@ public final class SQLCaseLoader {
                 resultIndex = searchInResultContent(resultIndex, rawResultLines, completedSQL, statementLines);
                 if (resultIndex >= rawResultLines.length || !rawResultLines[resultIndex].contains("ERROR")) {
                     String sqlCaseId = sqlCaseFileName + sqlCaseEnum;
-                    result.add(new Object[]{sqlCaseId, completedSQL});
+                    result.add(new ExternalSQLParserParameterizedArray(sqlCaseId, completedSQL, databaseType, reportType));
                     sqlCaseEnum++;
                 }
                 completedSQL = "";
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 f39775214f0..9ad1964d3c2 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
@@ -23,6 +23,7 @@ import lombok.RequiredArgsConstructor;
 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;
+import org.apache.shardingsphere.test.sql.parser.internal.engine.param.InternalSQLParserParameterizedArray;
 
 import java.util.Arrays;
 import java.util.Collection;
@@ -44,31 +45,27 @@ public final class SQLCases {
      * @param databaseTypes database types to be generated
      * @return generated test parameters
      */
-    public Collection<Object[]> generateTestParameters(final Collection<String> databaseTypes) {
-        Collection<Object[]> result = new LinkedList<>();
+    public Collection<InternalSQLParserParameterizedArray> generateTestParameters(final Collection<String> databaseTypes) {
+        Collection<InternalSQLParserParameterizedArray> result = new LinkedList<>();
         for (SQLCase each : cases.values()) {
             result.addAll(generateTestParameters(databaseTypes, each));
         }
         return result;
     }
     
-    private Collection<Object[]> generateTestParameters(final Collection<String> databaseTypes, final SQLCase sqlCase) {
-        Collection<Object[]> result = new LinkedList<>();
+    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));
         }
         return result;
     }
     
-    private Collection<Object[]> generateTestParameters(final Collection<String> databaseTypes, final SQLCase sqlCase, final SQLCaseType caseType) {
-        Collection<Object[]> result = new LinkedList<>();
+    private Collection<InternalSQLParserParameterizedArray> generateTestParameters(final Collection<String> databaseTypes, final SQLCase sqlCase, final SQLCaseType caseType) {
+        Collection<InternalSQLParserParameterizedArray> result = new LinkedList<>();
         for (String each : getDatabaseTypes(sqlCase.getDatabaseTypes())) {
             if (databaseTypes.contains(each) && containsSQLCaseType(sqlCase, caseType)) {
-                Object[] params = new Object[3];
-                params[0] = sqlCase.getId();
-                params[1] = each;
-                params[2] = caseType;
-                result.add(params);
+                result.add(new InternalSQLParserParameterizedArray(sqlCase.getId(), each, caseType));
             }
         }
         return result;
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 bda62560b57..4f89dd06441 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
@@ -17,7 +17,6 @@
 
 package org.apache.shardingsphere.test.sql.parser.internal.engine;
 
-import lombok.RequiredArgsConstructor;
 import org.apache.shardingsphere.distsql.parser.engine.api.DistSQLStatementParserEngine;
 import org.apache.shardingsphere.sql.parser.api.CacheOption;
 import org.apache.shardingsphere.sql.parser.api.SQLParserEngine;
@@ -28,9 +27,10 @@ import org.apache.shardingsphere.test.sql.parser.internal.asserts.statement.SQLS
 import org.apache.shardingsphere.test.sql.parser.internal.cases.parser.SQLParserTestCases;
 import org.apache.shardingsphere.test.sql.parser.internal.cases.parser.jaxb.SQLParserTestCase;
 import org.apache.shardingsphere.test.sql.parser.internal.cases.parser.registry.SQLParserTestCasesRegistry;
-import org.apache.shardingsphere.test.sql.parser.internal.cases.sql.type.SQLCaseType;
 import org.apache.shardingsphere.test.sql.parser.internal.cases.sql.SQLCases;
 import org.apache.shardingsphere.test.sql.parser.internal.cases.sql.registry.SQLCasesRegistry;
+import org.apache.shardingsphere.test.sql.parser.internal.cases.sql.type.SQLCaseType;
+import org.apache.shardingsphere.test.sql.parser.internal.engine.param.InternalSQLParserParameterizedArray;
 import org.junit.Test;
 
 import java.util.Arrays;
@@ -38,7 +38,6 @@ import java.util.Collection;
 import java.util.LinkedList;
 import java.util.Properties;
 
-@RequiredArgsConstructor
 public abstract class InternalSQLParserParameterizedIT {
     
     private static final SQLCases SQL_CASES = SQLCasesRegistry.getInstance().getCases();
@@ -51,9 +50,15 @@ public abstract class InternalSQLParserParameterizedIT {
     
     private final SQLCaseType sqlCaseType;
     
-    protected static Collection<Object[]> getTestParameters(final String... databaseTypes) {
-        Collection<Object[]> result = new LinkedList<>();
-        for (Object[] each : SQL_CASES.generateTestParameters(Arrays.asList(databaseTypes))) {
+    public InternalSQLParserParameterizedIT(final InternalSQLParserParameterizedArray parameterizedArray) {
+        sqlCaseId = parameterizedArray.getSqlCaseId();
+        databaseType = parameterizedArray.getDatabaseType();
+        sqlCaseType = parameterizedArray.getSqlCaseType();
+    }
+    
+    protected static Collection<InternalSQLParserParameterizedArray> getTestParameters(final String... databaseTypes) {
+        Collection<InternalSQLParserParameterizedArray> result = new LinkedList<>();
+        for (InternalSQLParserParameterizedArray each : SQL_CASES.generateTestParameters(Arrays.asList(databaseTypes))) {
             if (!isPlaceholderWithoutParameter(each)) {
                 result.add(each);
             }
@@ -61,8 +66,8 @@ public abstract class InternalSQLParserParameterizedIT {
         return result;
     }
     
-    private static boolean isPlaceholderWithoutParameter(final Object[] sqlTestParam) {
-        return SQLCaseType.Placeholder == sqlTestParam[2] && SQL_PARSER_TEST_CASES.get(sqlTestParam[0].toString()).getParameters().isEmpty();
+    private static boolean isPlaceholderWithoutParameter(final InternalSQLParserParameterizedArray parameterizedArray) {
+        return SQLCaseType.Placeholder == parameterizedArray.getSqlCaseType() && SQL_PARSER_TEST_CASES.get(parameterizedArray.getSqlCaseId()).getParameters().isEmpty();
     }
     
     @Test
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 9c25ba1f5b5..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,22 +17,21 @@
 
 package org.apache.shardingsphere.test.sql.parser.internal.engine;
 
-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.ParseASTNode;
 import org.apache.shardingsphere.sql.parser.sql.common.statement.SQLStatement;
-import org.apache.shardingsphere.test.sql.parser.internal.cases.sql.type.SQLCaseType;
-import org.apache.shardingsphere.test.sql.parser.internal.cases.sql.registry.UnsupportedSQLCasesRegistry;
 import org.apache.shardingsphere.test.sql.parser.internal.cases.sql.SQLCases;
+import org.apache.shardingsphere.test.sql.parser.internal.cases.sql.registry.UnsupportedSQLCasesRegistry;
+import org.apache.shardingsphere.test.sql.parser.internal.cases.sql.type.SQLCaseType;
+import org.apache.shardingsphere.test.sql.parser.internal.engine.param.InternalSQLParserParameterizedArray;
 import org.junit.Test;
 
 import java.util.Collection;
 import java.util.Collections;
 import java.util.Properties;
 
-@RequiredArgsConstructor
 public abstract class InternalUnsupportedSQLParserParameterizedIT {
     
     private static final SQLCases SQL_CASES = UnsupportedSQLCasesRegistry.getInstance().getCases();
@@ -43,7 +42,13 @@ public abstract class InternalUnsupportedSQLParserParameterizedIT {
     
     private final SQLCaseType sqlCaseType;
     
-    protected static Collection<Object[]> getTestParameters(final String databaseType) {
+    public InternalUnsupportedSQLParserParameterizedIT(final InternalSQLParserParameterizedArray parameterizedArray) {
+        sqlCaseId = parameterizedArray.getSqlCaseId();
+        databaseType = parameterizedArray.getDatabaseType();
+        sqlCaseType = parameterizedArray.getSqlCaseType();
+    }
+    
+    protected static Collection<InternalSQLParserParameterizedArray> getTestParameters(final String databaseType) {
         return SQL_CASES.generateTestParameters(Collections.singleton(databaseType));
     }
     
diff --git a/test/integration-test/test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/param/model/CaseParameterizedArray.java b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/engine/param/InternalSQLParserParameterizedArray.java
similarity index 58%
copy from test/integration-test/test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/param/model/CaseParameterizedArray.java
copy to test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/engine/param/InternalSQLParserParameterizedArray.java
index 7882a1f386d..3551a97f1fe 100644
--- a/test/integration-test/test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/param/model/CaseParameterizedArray.java
+++ b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/engine/param/InternalSQLParserParameterizedArray.java
@@ -15,32 +15,28 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.test.integration.framework.param.model;
+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.integration.cases.IntegrationTestCaseContext;
+import org.apache.shardingsphere.test.runner.param.ParameterizedArray;
+import org.apache.shardingsphere.test.sql.parser.internal.cases.sql.type.SQLCaseType;
 
 /**
- * Parameterized array of case based integration test.
+ * Internal SQL parser parameterized array.
  */
 @RequiredArgsConstructor
 @Getter
-public final class CaseParameterizedArray implements ParameterizedArray {
+public final class InternalSQLParserParameterizedArray implements ParameterizedArray {
     
-    private final IntegrationTestCaseContext testCaseContext;
+    private final String sqlCaseId;
     
-    private final String adapter;
+    private final String databaseType;
     
-    private final String scenario;
-    
-    private final String mode;
-    
-    private final DatabaseType databaseType;
+    private final SQLCaseType sqlCaseType;
     
     @Override
     public String toString() {
-        return String.format("%s: %s -> %s -> %s", adapter, scenario, databaseType.getType(), testCaseContext.getTestCase().getSql());
+        return String.format("%s (%s) -> %s", sqlCaseId, sqlCaseType, databaseType);
     }
 }
diff --git a/test/parser/src/test/java/org/apache/shardingsphere/test/sql/parser/internal/InternalDistSQLParserParameterizedIT.java b/test/parser/src/test/java/org/apache/shardingsphere/test/sql/parser/internal/InternalDistSQLParserParameterizedIT.java
index 1bba422f29a..945813b70ca 100644
--- a/test/parser/src/test/java/org/apache/shardingsphere/test/sql/parser/internal/InternalDistSQLParserParameterizedIT.java
+++ b/test/parser/src/test/java/org/apache/shardingsphere/test/sql/parser/internal/InternalDistSQLParserParameterizedIT.java
@@ -19,7 +19,7 @@ package org.apache.shardingsphere.test.sql.parser.internal;
 
 import org.apache.shardingsphere.test.runner.ParallelParameterized;
 import org.apache.shardingsphere.test.sql.parser.internal.engine.InternalSQLParserParameterizedIT;
-import org.apache.shardingsphere.test.sql.parser.internal.cases.sql.type.SQLCaseType;
+import org.apache.shardingsphere.test.sql.parser.internal.engine.param.InternalSQLParserParameterizedArray;
 import org.junit.runner.RunWith;
 import org.junit.runners.Parameterized.Parameters;
 
@@ -28,12 +28,12 @@ import java.util.Collection;
 @RunWith(ParallelParameterized.class)
 public final class InternalDistSQLParserParameterizedIT extends InternalSQLParserParameterizedIT {
     
-    public InternalDistSQLParserParameterizedIT(final String sqlCaseId, final String databaseType, final SQLCaseType sqlCaseType) {
-        super(sqlCaseId, databaseType, sqlCaseType);
+    public InternalDistSQLParserParameterizedIT(final InternalSQLParserParameterizedArray parameterizedArray) {
+        super(parameterizedArray);
     }
     
-    @Parameters(name = "{0} ({2}) -> {1}")
-    public static Collection<Object[]> getTestParameters() {
+    @Parameters(name = "{0}")
+    public static Collection<InternalSQLParserParameterizedArray> getTestParameters() {
         return getTestParameters("ShardingSphere");
     }
 }
diff --git a/test/integration-test/test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/runner/parallel/impl/CaseParallelRunnerExecutor.java b/test/runner/src/main/java/org/apache/shardingsphere/test/runner/param/ParameterizedArray.java
similarity index 58%
copy from test/integration-test/test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/runner/parallel/impl/CaseParallelRunnerExecutor.java
copy to test/runner/src/main/java/org/apache/shardingsphere/test/runner/param/ParameterizedArray.java
index d598f6bd626..d35049e71c7 100644
--- a/test/integration-test/test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/runner/parallel/impl/CaseParallelRunnerExecutor.java
+++ b/test/runner/src/main/java/org/apache/shardingsphere/test/runner/param/ParameterizedArray.java
@@ -15,19 +15,10 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.test.integration.framework.runner.parallel.impl;
-
-import org.apache.shardingsphere.test.integration.framework.param.model.ParameterizedArray;
-
-import org.apache.shardingsphere.test.runner.executor.impl.DefaultParallelRunnerExecutor;
+package org.apache.shardingsphere.test.runner.param;
 
 /**
- * Parallel runner executor with case.
+ * Parameterized array.
  */
-public final class CaseParallelRunnerExecutor extends DefaultParallelRunnerExecutor<ParameterizedArray> {
-    
-    @Override
-    public void execute(final ParameterizedArray parameterizedArray, final Runnable childStatement) {
-        execute(childStatement);
-    }
+public interface ParameterizedArray {
 }