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

duanzhengqiang 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 b959c0cb467 Refactor E2EContainerComposer (#24722)
b959c0cb467 is described below

commit b959c0cb4670f0cef51c5a78306639988efec688
Author: Liang Zhang <[email protected]>
AuthorDate: Tue Mar 21 20:23:05 2023 +0800

    Refactor E2EContainerComposer (#24722)
    
    * Refactor E2EContainerComposer
    
    * Move package of E2EContainerComposer
---
 .../BatchE2EContainerComposer.java}                | 29 +++++------
 .../{ => composer}/E2EContainerComposer.java       | 14 +++---
 .../SingleE2EContainerComposer.java}               | 18 +++----
 .../test/e2e/engine/type/DALE2EIT.java             | 16 +++---
 .../test/e2e/engine/type/DCLE2EIT.java             | 18 +++----
 .../test/e2e/engine/type/DDLE2EIT.java             | 44 ++++++++--------
 .../test/e2e/engine/type/RALE2EIT.java             | 30 +++++------
 .../test/e2e/engine/type/RDLE2EIT.java             | 28 +++++------
 .../test/e2e/engine/type/RQLE2EIT.java             | 12 ++---
 .../e2e/engine/type/dml/AdditionalDMLE2EIT.java    | 58 +++++++++++-----------
 .../test/e2e/engine/type/dml/BaseDMLE2EIT.java     | 18 +++----
 .../test/e2e/engine/type/dml/BatchDMLE2EIT.java    | 10 ++--
 .../test/e2e/engine/type/dml/GeneralDMLE2EIT.java  | 18 +++----
 .../e2e/engine/type/dql/AdditionalDQLE2EIT.java    | 34 ++++++-------
 .../test/e2e/engine/type/dql/BaseDQLE2EIT.java     | 24 ++++-----
 .../test/e2e/engine/type/dql/GeneralDQLE2EIT.java  | 30 +++++------
 16 files changed, 197 insertions(+), 204 deletions(-)

diff --git 
a/test/e2e/suite/src/test/java/org/apache/shardingsphere/test/e2e/engine/BatchE2EITContainerComposer.java
 
b/test/e2e/suite/src/test/java/org/apache/shardingsphere/test/e2e/engine/composer/BatchE2EContainerComposer.java
similarity index 88%
rename from 
test/e2e/suite/src/test/java/org/apache/shardingsphere/test/e2e/engine/BatchE2EITContainerComposer.java
rename to 
test/e2e/suite/src/test/java/org/apache/shardingsphere/test/e2e/engine/composer/BatchE2EContainerComposer.java
index b5615e370e4..7a550c7f7d6 100644
--- 
a/test/e2e/suite/src/test/java/org/apache/shardingsphere/test/e2e/engine/BatchE2EITContainerComposer.java
+++ 
b/test/e2e/suite/src/test/java/org/apache/shardingsphere/test/e2e/engine/composer/BatchE2EContainerComposer.java
@@ -15,9 +15,9 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.test.e2e.engine;
+package org.apache.shardingsphere.test.e2e.engine.composer;
 
-import lombok.Getter;
+import org.apache.shardingsphere.infra.database.type.DatabaseType;
 import org.apache.shardingsphere.infra.datanode.DataNode;
 import org.apache.shardingsphere.infra.util.expr.InlineExpressionParser;
 import 
org.apache.shardingsphere.test.e2e.cases.assertion.IntegrationTestCaseAssertion;
@@ -54,26 +54,23 @@ import static org.hamcrest.CoreMatchers.is;
 import static org.hamcrest.MatcherAssert.assertThat;
 
 /**
- * Batch E2E IT container composer.
+ * Batch E2E container composer.
  */
-public final class BatchE2EITContainerComposer implements AutoCloseable {
+public final class BatchE2EContainerComposer extends E2EContainerComposer {
     
-    private final CaseTestParameter testParam;
-    
-    @Getter
-    private final E2EContainerComposer containerComposer;
+    private final DatabaseType databaseType;
     
     private final Collection<DataSet> dataSets = new LinkedList<>();
     
     private final DataSetEnvironmentManager dataSetEnvironmentManager;
     
-    public BatchE2EITContainerComposer(final CaseTestParameter testParam) 
throws JAXBException, IOException, SQLException, ParseException {
-        this.testParam = testParam;
-        containerComposer = new E2EContainerComposer(testParam);
+    public BatchE2EContainerComposer(final CaseTestParameter testParam) throws 
JAXBException, IOException, SQLException, ParseException {
+        super(testParam);
+        databaseType = testParam.getDatabaseType();
         for (IntegrationTestCaseAssertion each : 
testParam.getTestCaseContext().getTestCase().getAssertions()) {
             
dataSets.add(DataSetLoader.load(testParam.getTestCaseContext().getParentPath(), 
testParam.getScenario(), testParam.getDatabaseType(), testParam.getMode(), 
each.getExpectedDataFile()));
         }
-        dataSetEnvironmentManager = new DataSetEnvironmentManager(new 
ScenarioDataPath(testParam.getScenario()).getDataSetFile(Type.ACTUAL), 
containerComposer.getActualDataSourceMap());
+        dataSetEnvironmentManager = new DataSetEnvironmentManager(new 
ScenarioDataPath(testParam.getScenario()).getDataSetFile(Type.ACTUAL), 
getActualDataSourceMap());
         dataSetEnvironmentManager.fillData();
     }
     
@@ -89,7 +86,7 @@ public final class BatchE2EITContainerComposer implements 
AutoCloseable {
         DataSetMetaData expectedDataSetMetaData = 
expected.getMetaDataList().get(0);
         for (String each : new 
InlineExpressionParser(expectedDataSetMetaData.getDataNodes()).splitAndEvaluate())
 {
             DataNode dataNode = new DataNode(each);
-            DataSource dataSource = 
containerComposer.getActualDataSourceMap().get(dataNode.getDataSourceName());
+            DataSource dataSource = 
getActualDataSourceMap().get(dataNode.getDataSourceName());
             try (
                     Connection connection = dataSource.getConnection();
                     PreparedStatement preparedStatement = 
connection.prepareStatement(String.format("SELECT * FROM %s ORDER BY 1", 
dataNode.getTableName()))) {
@@ -164,7 +161,7 @@ public final class BatchE2EITContainerComposer implements 
AutoCloseable {
                         assertThat(new 
SimpleDateFormat("yyyy-MM-dd").format(actual.getDate(columnIndex)), 
is(expected));
                     }
                 } else if (Types.CHAR == 
actual.getMetaData().getColumnType(columnIndex)
-                        && 
("PostgreSQL".equals(testParam.getDatabaseType().getType()) || 
"openGauss".equals(testParam.getDatabaseType().getType()))) {
+                        && ("PostgreSQL".equals(databaseType.getType()) || 
"openGauss".equals(databaseType.getType()))) {
                     
assertThat(String.valueOf(actual.getObject(columnIndex)).trim(), is(expected));
                 } else if 
(isPostgreSQLOrOpenGaussMoney(actual.getMetaData().getColumnTypeName(columnIndex)))
 {
                     assertThat(actual.getString(columnIndex), is(expected));
@@ -181,12 +178,12 @@ public final class BatchE2EITContainerComposer implements 
AutoCloseable {
     }
     
     private boolean isPostgreSQLOrOpenGaussMoney(final String columnTypeName) {
-        return "money".equalsIgnoreCase(columnTypeName) && 
("PostgreSQL".equals(testParam.getDatabaseType().getType()) || 
"openGauss".equals(testParam.getDatabaseType().getType()));
+        return "money".equalsIgnoreCase(columnTypeName) && 
("PostgreSQL".equals(databaseType.getType()) || 
"openGauss".equals(databaseType.getType()));
     }
     
     @Override
     public void close() {
         dataSetEnvironmentManager.cleanData();
-        E2EContainerComposer.closeContainers();
+        super.close();
     }
 }
diff --git 
a/test/e2e/suite/src/test/java/org/apache/shardingsphere/test/e2e/engine/E2EContainerComposer.java
 
b/test/e2e/suite/src/test/java/org/apache/shardingsphere/test/e2e/engine/composer/E2EContainerComposer.java
similarity index 93%
rename from 
test/e2e/suite/src/test/java/org/apache/shardingsphere/test/e2e/engine/E2EContainerComposer.java
rename to 
test/e2e/suite/src/test/java/org/apache/shardingsphere/test/e2e/engine/composer/E2EContainerComposer.java
index e7c6d10fb32..c770b46745d 100644
--- 
a/test/e2e/suite/src/test/java/org/apache/shardingsphere/test/e2e/engine/E2EContainerComposer.java
+++ 
b/test/e2e/suite/src/test/java/org/apache/shardingsphere/test/e2e/engine/composer/E2EContainerComposer.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.test.e2e.engine;
+package org.apache.shardingsphere.test.e2e.engine.composer;
 
 import lombok.AccessLevel;
 import lombok.Getter;
@@ -23,6 +23,7 @@ import lombok.SneakyThrows;
 import org.apache.shardingsphere.infra.database.DefaultDatabase;
 import org.apache.shardingsphere.test.e2e.container.compose.ContainerComposer;
 import 
org.apache.shardingsphere.test.e2e.container.compose.ContainerComposerRegistry;
+import org.apache.shardingsphere.test.e2e.engine.TotalSuitesCountCalculator;
 import 
org.apache.shardingsphere.test.e2e.env.runtime.scenario.path.ScenarioDataPath;
 import 
org.apache.shardingsphere.test.e2e.framework.param.model.E2ETestParameter;
 import org.h2.tools.RunScript;
@@ -38,8 +39,11 @@ import java.util.Map;
 import java.util.Optional;
 import java.util.concurrent.atomic.AtomicInteger;
 
+/**
+ * E2E container composer.
+ */
 @Getter
-public final class E2EContainerComposer {
+public abstract class E2EContainerComposer implements AutoCloseable {
     
     public static final String NOT_VERIFY_FLAG = "NOT_VERIFY";
     
@@ -94,10 +98,8 @@ public final class E2EContainerComposer {
         }
     }
     
-    /**
-     * Close containers.
-     */
-    public static void closeContainers() {
+    @Override
+    public void close() {
         if (COMPLETED_SUITES_COUNT.incrementAndGet() == TOTAL_SUITES_COUNT) {
             CONTAINER_COMPOSER_REGISTRY.close();
         }
diff --git 
a/test/e2e/suite/src/test/java/org/apache/shardingsphere/test/e2e/engine/SingleE2EITContainerComposer.java
 
b/test/e2e/suite/src/test/java/org/apache/shardingsphere/test/e2e/engine/composer/SingleE2EContainerComposer.java
similarity index 86%
rename from 
test/e2e/suite/src/test/java/org/apache/shardingsphere/test/e2e/engine/SingleE2EITContainerComposer.java
rename to 
test/e2e/suite/src/test/java/org/apache/shardingsphere/test/e2e/engine/composer/SingleE2EContainerComposer.java
index 14cbb1b8696..3f6566bcdd5 100644
--- 
a/test/e2e/suite/src/test/java/org/apache/shardingsphere/test/e2e/engine/SingleE2EITContainerComposer.java
+++ 
b/test/e2e/suite/src/test/java/org/apache/shardingsphere/test/e2e/engine/composer/SingleE2EContainerComposer.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.test.e2e.engine;
+package org.apache.shardingsphere.test.e2e.engine.composer;
 
 import lombok.Getter;
 import org.apache.shardingsphere.test.e2e.cases.SQLExecuteType;
@@ -31,15 +31,13 @@ import java.util.List;
 import java.util.stream.Collectors;
 
 /**
- * Single E2E IT container composer.
+ * Single E2E container composer.
  */
 @Getter
-public final class SingleE2EITContainerComposer implements AutoCloseable {
+public final class SingleE2EContainerComposer extends E2EContainerComposer {
     
     private final String sql;
     
-    private final E2EContainerComposer containerComposer;
-    
     private final SQLExecuteType sqlExecuteType;
     
     private final IntegrationTestCaseAssertion assertion;
@@ -48,9 +46,9 @@ public final class SingleE2EITContainerComposer implements 
AutoCloseable {
     
     private final DataSet generatedKeyDataSet;
     
-    public SingleE2EITContainerComposer(final AssertionTestParameter 
testParam) {
+    public SingleE2EContainerComposer(final AssertionTestParameter testParam) {
+        super(testParam);
         sql = testParam.getTestCaseContext().getTestCase().getSql();
-        containerComposer = new E2EContainerComposer(testParam);
         sqlExecuteType = testParam.getSqlExecuteType();
         assertion = testParam.getAssertion();
         dataSet = null == assertion || null == assertion.getExpectedDataFile()
@@ -64,6 +62,7 @@ public final class SingleE2EITContainerComposer implements 
AutoCloseable {
     
     /**
      * Get SQL.
+     * 
      * @return SQL
      * @throws ParseException parse exception
      */
@@ -75,9 +74,4 @@ public final class SingleE2EITContainerComposer implements 
AutoCloseable {
         List<Object> params = null == assertion ? Collections.emptyList() : 
assertion.getSQLValues().stream().map(SQLValue::toString).collect(Collectors.toList());
         return params.isEmpty() ? sql : String.format(sql.replace("%", 
"ÿ").replace("?", "%s"), params.toArray()).replace("ÿ", "%").replace("%%", 
"%").replace("'%'", "'%%'");
     }
-    
-    @Override
-    public void close() {
-        E2EContainerComposer.closeContainers();
-    }
 }
diff --git 
a/test/e2e/suite/src/test/java/org/apache/shardingsphere/test/e2e/engine/type/DALE2EIT.java
 
b/test/e2e/suite/src/test/java/org/apache/shardingsphere/test/e2e/engine/type/DALE2EIT.java
index 0a771c49d54..daca5b800dc 100644
--- 
a/test/e2e/suite/src/test/java/org/apache/shardingsphere/test/e2e/engine/type/DALE2EIT.java
+++ 
b/test/e2e/suite/src/test/java/org/apache/shardingsphere/test/e2e/engine/type/DALE2EIT.java
@@ -21,10 +21,10 @@ import 
org.apache.shardingsphere.test.e2e.cases.SQLCommandType;
 import org.apache.shardingsphere.test.e2e.cases.dataset.metadata.DataSetColumn;
 import 
org.apache.shardingsphere.test.e2e.cases.dataset.metadata.DataSetMetaData;
 import org.apache.shardingsphere.test.e2e.cases.dataset.row.DataSetRow;
-import org.apache.shardingsphere.test.e2e.engine.E2EContainerComposer;
+import org.apache.shardingsphere.test.e2e.engine.composer.E2EContainerComposer;
 import 
org.apache.shardingsphere.test.e2e.engine.arg.E2ETestCaseArgumentsProvider;
 import org.apache.shardingsphere.test.e2e.engine.arg.E2ETestCaseSettings;
-import org.apache.shardingsphere.test.e2e.engine.SingleE2EITContainerComposer;
+import 
org.apache.shardingsphere.test.e2e.engine.composer.SingleE2EContainerComposer;
 import 
org.apache.shardingsphere.test.e2e.framework.param.array.E2ETestParameterFactory;
 import 
org.apache.shardingsphere.test.e2e.framework.param.model.AssertionTestParameter;
 import org.junit.jupiter.api.condition.EnabledIf;
@@ -58,13 +58,13 @@ public final class DALE2EIT {
         if (null == testParam.getTestCaseContext()) {
             return;
         }
-        try (SingleE2EITContainerComposer containerComposer = new 
SingleE2EITContainerComposer(testParam)) {
+        try (SingleE2EContainerComposer containerComposer = new 
SingleE2EContainerComposer(testParam)) {
             assertExecute(containerComposer);
         }
     }
     
-    private void assertExecute(final SingleE2EITContainerComposer 
containerComposer) throws SQLException, ParseException {
-        try (Connection connection = 
containerComposer.getContainerComposer().getTargetDataSource().getConnection()) 
{
+    private void assertExecute(final SingleE2EContainerComposer 
containerComposer) throws SQLException, ParseException {
+        try (Connection connection = 
containerComposer.getTargetDataSource().getConnection()) {
             try (Statement statement = connection.createStatement()) {
                 statement.execute(containerComposer.getSQL());
                 assertExecuteResult(containerComposer, statement);
@@ -72,7 +72,7 @@ public final class DALE2EIT {
         }
     }
     
-    private void assertExecuteResult(final SingleE2EITContainerComposer 
containerComposer, final Statement statement) throws SQLException {
+    private void assertExecuteResult(final SingleE2EContainerComposer 
containerComposer, final Statement statement) throws SQLException {
         try (ResultSet resultSet = statement.getResultSet()) {
             if (null == containerComposer.getAssertion().getAssertionSQL()) {
                 assertResultSet(containerComposer, resultSet);
@@ -85,12 +85,12 @@ public final class DALE2EIT {
         }
     }
     
-    private void assertResultSet(final SingleE2EITContainerComposer 
containerComposer, final ResultSet resultSet) throws SQLException {
+    private void assertResultSet(final SingleE2EContainerComposer 
containerComposer, final ResultSet resultSet) throws SQLException {
         assertMetaData(resultSet.getMetaData(), 
getExpectedColumns(containerComposer));
         assertRows(resultSet, containerComposer.getDataSet().getRows());
     }
     
-    private Collection<DataSetColumn> getExpectedColumns(final 
SingleE2EITContainerComposer containerComposer) {
+    private Collection<DataSetColumn> getExpectedColumns(final 
SingleE2EContainerComposer containerComposer) {
         Collection<DataSetColumn> result = new LinkedList<>();
         for (DataSetMetaData each : 
containerComposer.getDataSet().getMetaDataList()) {
             result.addAll(each.getColumns());
diff --git 
a/test/e2e/suite/src/test/java/org/apache/shardingsphere/test/e2e/engine/type/DCLE2EIT.java
 
b/test/e2e/suite/src/test/java/org/apache/shardingsphere/test/e2e/engine/type/DCLE2EIT.java
index fcda251ce7b..68ff55fe014 100644
--- 
a/test/e2e/suite/src/test/java/org/apache/shardingsphere/test/e2e/engine/type/DCLE2EIT.java
+++ 
b/test/e2e/suite/src/test/java/org/apache/shardingsphere/test/e2e/engine/type/DCLE2EIT.java
@@ -21,7 +21,7 @@ import 
org.apache.shardingsphere.test.e2e.cases.SQLCommandType;
 import org.apache.shardingsphere.test.e2e.cases.SQLExecuteType;
 import 
org.apache.shardingsphere.test.e2e.engine.arg.E2ETestCaseArgumentsProvider;
 import org.apache.shardingsphere.test.e2e.engine.arg.E2ETestCaseSettings;
-import org.apache.shardingsphere.test.e2e.engine.SingleE2EITContainerComposer;
+import 
org.apache.shardingsphere.test.e2e.engine.composer.SingleE2EContainerComposer;
 import 
org.apache.shardingsphere.test.e2e.env.runtime.scenario.authority.AuthorityEnvironmentManager;
 import 
org.apache.shardingsphere.test.e2e.env.runtime.scenario.path.ScenarioCommonPath;
 import 
org.apache.shardingsphere.test.e2e.framework.param.array.E2ETestParameterFactory;
@@ -50,16 +50,16 @@ public final class DCLE2EIT {
             return;
         }
         try (
-                SingleE2EITContainerComposer containerComposer = new 
SingleE2EITContainerComposer(testParam);
+                SingleE2EContainerComposer containerComposer = new 
SingleE2EContainerComposer(testParam);
                 AuthorityEnvironmentManager ignored = new 
AuthorityEnvironmentManager(
-                        new 
ScenarioCommonPath(testParam.getScenario()).getAuthorityFile(), 
containerComposer.getContainerComposer().getActualDataSourceMap(), 
testParam.getDatabaseType())) {
+                        new 
ScenarioCommonPath(testParam.getScenario()).getAuthorityFile(), 
containerComposer.getActualDataSourceMap(), testParam.getDatabaseType())) {
             assertExecuteUpdate(containerComposer);
         }
     }
     
-    private void assertExecuteUpdate(final SingleE2EITContainerComposer 
containerComposer) throws ParseException, SQLException {
+    private void assertExecuteUpdate(final SingleE2EContainerComposer 
containerComposer) throws ParseException, SQLException {
         String sql = containerComposer.getSQL();
-        try (Connection connection = 
containerComposer.getContainerComposer().getTargetDataSource().getConnection()) 
{
+        try (Connection connection = 
containerComposer.getTargetDataSource().getConnection()) {
             if (SQLExecuteType.Literal == 
containerComposer.getSqlExecuteType()) {
                 try (Statement statement = connection.createStatement()) {
                     statement.executeUpdate(sql);
@@ -81,16 +81,16 @@ public final class DCLE2EIT {
             return;
         }
         try (
-                SingleE2EITContainerComposer containerComposer = new 
SingleE2EITContainerComposer(testParam);
+                SingleE2EContainerComposer containerComposer = new 
SingleE2EContainerComposer(testParam);
                 AuthorityEnvironmentManager ignored = new 
AuthorityEnvironmentManager(
-                        new 
ScenarioCommonPath(testParam.getScenario()).getAuthorityFile(), 
containerComposer.getContainerComposer().getActualDataSourceMap(), 
testParam.getDatabaseType())) {
+                        new 
ScenarioCommonPath(testParam.getScenario()).getAuthorityFile(), 
containerComposer.getActualDataSourceMap(), testParam.getDatabaseType())) {
             assertExecute(containerComposer);
         }
     }
     
-    private void assertExecute(final SingleE2EITContainerComposer 
containerComposer) throws ParseException, SQLException {
+    private void assertExecute(final SingleE2EContainerComposer 
containerComposer) throws ParseException, SQLException {
         String sql = containerComposer.getSQL();
-        try (Connection connection = 
containerComposer.getContainerComposer().getTargetDataSource().getConnection()) 
{
+        try (Connection connection = 
containerComposer.getTargetDataSource().getConnection()) {
             if (SQLExecuteType.Literal == 
containerComposer.getSqlExecuteType()) {
                 try (Statement statement = connection.createStatement()) {
                     statement.execute(sql);
diff --git 
a/test/e2e/suite/src/test/java/org/apache/shardingsphere/test/e2e/engine/type/DDLE2EIT.java
 
b/test/e2e/suite/src/test/java/org/apache/shardingsphere/test/e2e/engine/type/DDLE2EIT.java
index d54fa9824fe..719320d1dee 100644
--- 
a/test/e2e/suite/src/test/java/org/apache/shardingsphere/test/e2e/engine/type/DDLE2EIT.java
+++ 
b/test/e2e/suite/src/test/java/org/apache/shardingsphere/test/e2e/engine/type/DDLE2EIT.java
@@ -28,7 +28,7 @@ import 
org.apache.shardingsphere.test.e2e.cases.dataset.metadata.DataSetIndex;
 import 
org.apache.shardingsphere.test.e2e.cases.dataset.metadata.DataSetMetaData;
 import 
org.apache.shardingsphere.test.e2e.engine.arg.E2ETestCaseArgumentsProvider;
 import org.apache.shardingsphere.test.e2e.engine.arg.E2ETestCaseSettings;
-import org.apache.shardingsphere.test.e2e.engine.SingleE2EITContainerComposer;
+import 
org.apache.shardingsphere.test.e2e.engine.composer.SingleE2EContainerComposer;
 import 
org.apache.shardingsphere.test.e2e.framework.param.array.E2ETestParameterFactory;
 import 
org.apache.shardingsphere.test.e2e.framework.param.model.AssertionTestParameter;
 import org.junit.jupiter.api.condition.EnabledIf;
@@ -65,9 +65,9 @@ public final class DDLE2EIT {
         if (null == testParam.getTestCaseContext()) {
             return;
         }
-        try (SingleE2EITContainerComposer containerComposer = new 
SingleE2EITContainerComposer(testParam)) {
+        try (SingleE2EContainerComposer containerComposer = new 
SingleE2EContainerComposer(testParam)) {
             init(containerComposer);
-            try (Connection connection = 
containerComposer.getContainerComposer().getTargetDataSource().getConnection()) 
{
+            try (Connection connection = 
containerComposer.getTargetDataSource().getConnection()) {
                 if (SQLExecuteType.Literal == 
containerComposer.getSqlExecuteType()) {
                     executeUpdateForStatement(containerComposer, connection);
                 } else {
@@ -79,14 +79,14 @@ public final class DDLE2EIT {
         }
     }
     
-    private void executeUpdateForStatement(final SingleE2EITContainerComposer 
containerComposer, final Connection connection) throws SQLException, 
ParseException {
+    private void executeUpdateForStatement(final SingleE2EContainerComposer 
containerComposer, final Connection connection) throws SQLException, 
ParseException {
         try (Statement statement = connection.createStatement()) {
             assertFalse(statement.executeUpdate(containerComposer.getSQL()) > 
0, "Not a DDL statement.");
         }
         waitCompleted();
     }
     
-    private void executeUpdateForPreparedStatement(final 
SingleE2EITContainerComposer containerComposer, final Connection connection) 
throws SQLException, ParseException {
+    private void executeUpdateForPreparedStatement(final 
SingleE2EContainerComposer containerComposer, final Connection connection) 
throws SQLException, ParseException {
         try (PreparedStatement preparedStatement = 
connection.prepareStatement(containerComposer.getSQL())) {
             assertFalse(preparedStatement.executeUpdate() > 0, "Not a DDL 
statement.");
         }
@@ -101,9 +101,9 @@ public final class DDLE2EIT {
         if (null == testParam.getTestCaseContext()) {
             return;
         }
-        try (SingleE2EITContainerComposer containerComposer = new 
SingleE2EITContainerComposer(testParam)) {
+        try (SingleE2EContainerComposer containerComposer = new 
SingleE2EContainerComposer(testParam)) {
             init(containerComposer);
-            try (Connection connection = 
containerComposer.getContainerComposer().getTargetDataSource().getConnection()) 
{
+            try (Connection connection = 
containerComposer.getTargetDataSource().getConnection()) {
                 if (SQLExecuteType.Literal == 
containerComposer.getSqlExecuteType()) {
                     executeForStatement(containerComposer, connection);
                 } else {
@@ -115,29 +115,29 @@ public final class DDLE2EIT {
         }
     }
     
-    private void executeForStatement(final SingleE2EITContainerComposer 
containerComposer, final Connection connection) throws SQLException, 
ParseException {
+    private void executeForStatement(final SingleE2EContainerComposer 
containerComposer, final Connection connection) throws SQLException, 
ParseException {
         try (Statement statement = connection.createStatement()) {
             assertFalse(statement.execute(containerComposer.getSQL()), "Not a 
DDL statement.");
         }
         waitCompleted();
     }
     
-    private void executeForPreparedStatement(final 
SingleE2EITContainerComposer containerComposer, final Connection connection) 
throws SQLException, ParseException {
+    private void executeForPreparedStatement(final SingleE2EContainerComposer 
containerComposer, final Connection connection) throws SQLException, 
ParseException {
         try (PreparedStatement preparedStatement = 
connection.prepareStatement(containerComposer.getSQL())) {
             assertFalse(preparedStatement.execute(), "Not a DDL statement.");
         }
         waitCompleted();
     }
     
-    private void init(final SingleE2EITContainerComposer containerComposer) 
throws SQLException {
+    private void init(final SingleE2EContainerComposer containerComposer) 
throws SQLException {
         assertNotNull(containerComposer.getAssertion().getInitialSQL(), "Init 
SQL is required");
         
assertNotNull(containerComposer.getAssertion().getInitialSQL().getAffectedTable(),
 "Expected affected table is required");
-        try (Connection connection = 
containerComposer.getContainerComposer().getTargetDataSource().getConnection()) 
{
+        try (Connection connection = 
containerComposer.getTargetDataSource().getConnection()) {
             executeInitSQLs(containerComposer, connection);
         }
     }
     
-    private void executeInitSQLs(final SingleE2EITContainerComposer 
containerComposer, final Connection connection) throws SQLException {
+    private void executeInitSQLs(final SingleE2EContainerComposer 
containerComposer, final Connection connection) throws SQLException {
         if (null == containerComposer.getAssertion().getInitialSQL().getSql()) 
{
             return;
         }
@@ -149,15 +149,15 @@ public final class DDLE2EIT {
         }
     }
     
-    private void tearDown(final SingleE2EITContainerComposer 
containerComposer) throws SQLException {
+    private void tearDown(final SingleE2EContainerComposer containerComposer) 
throws SQLException {
         if (null != containerComposer.getAssertion().getDestroySQL()) {
-            try (Connection connection = 
containerComposer.getContainerComposer().getTargetDataSource().getConnection()) 
{
+            try (Connection connection = 
containerComposer.getTargetDataSource().getConnection()) {
                 executeDestroySQLs(containerComposer, connection);
             }
         }
     }
     
-    private void executeDestroySQLs(final SingleE2EITContainerComposer 
containerComposer, final Connection connection) throws SQLException {
+    private void executeDestroySQLs(final SingleE2EContainerComposer 
containerComposer, final Connection connection) throws SQLException {
         if (null == containerComposer.getAssertion().getDestroySQL().getSql()) 
{
             return;
         }
@@ -169,7 +169,7 @@ public final class DDLE2EIT {
         }
     }
     
-    private void assertTableMetaData(final AssertionTestParameter testParam, 
final SingleE2EITContainerComposer containerComposer) throws SQLException {
+    private void assertTableMetaData(final AssertionTestParameter testParam, 
final SingleE2EContainerComposer containerComposer) throws SQLException {
         String tableName = 
containerComposer.getAssertion().getInitialSQL().getAffectedTable();
         DataSetMetaData expected = 
containerComposer.getDataSet().findMetaData(tableName);
         Collection<DataNode> dataNodes = new 
InlineExpressionParser(expected.getDataNodes()).splitAndEvaluate().stream().map(DataNode::new).collect(Collectors.toList());
@@ -185,9 +185,9 @@ public final class DDLE2EIT {
         assertIndexMetaData(actualIndexes, expected.getIndexes());
     }
     
-    private void assertNotContainsTable(final SingleE2EITContainerComposer 
containerComposer, final Collection<DataNode> dataNodes) throws SQLException {
+    private void assertNotContainsTable(final SingleE2EContainerComposer 
containerComposer, final Collection<DataNode> dataNodes) throws SQLException {
         for (DataNode each : dataNodes) {
-            try (Connection connection = 
containerComposer.getContainerComposer().getActualDataSourceMap().get(each.getDataSourceName()).getConnection())
 {
+            try (Connection connection = 
containerComposer.getActualDataSourceMap().get(each.getDataSourceName()).getConnection())
 {
                 assertNotContainsTable(connection, each.getTableName());
             }
         }
@@ -197,10 +197,10 @@ public final class DDLE2EIT {
         assertFalse(connection.getMetaData().getTables(null, null, tableName, 
new String[]{"TABLE"}).next(), String.format("Table `%s` should not existed", 
tableName));
     }
     
-    private List<DataSetColumn> getActualColumns(final 
SingleE2EITContainerComposer containerComposer, final Collection<DataNode> 
dataNodes) throws SQLException {
+    private List<DataSetColumn> getActualColumns(final 
SingleE2EContainerComposer containerComposer, final Collection<DataNode> 
dataNodes) throws SQLException {
         Set<DataSetColumn> result = new LinkedHashSet<>();
         for (DataNode each : dataNodes) {
-            try (Connection connection = 
containerComposer.getContainerComposer().getActualDataSourceMap().get(each.getDataSourceName()).getConnection())
 {
+            try (Connection connection = 
containerComposer.getActualDataSourceMap().get(each.getDataSourceName()).getConnection())
 {
                 result.addAll(getActualColumns(connection, 
each.getTableName()));
             }
         }
@@ -222,10 +222,10 @@ public final class DDLE2EIT {
         }
     }
     
-    private List<DataSetIndex> getActualIndexes(final 
SingleE2EITContainerComposer containerComposer, final Collection<DataNode> 
dataNodes) throws SQLException {
+    private List<DataSetIndex> getActualIndexes(final 
SingleE2EContainerComposer containerComposer, final Collection<DataNode> 
dataNodes) throws SQLException {
         Set<DataSetIndex> result = new LinkedHashSet<>();
         for (DataNode each : dataNodes) {
-            try (Connection connection = 
containerComposer.getContainerComposer().getActualDataSourceMap().get(each.getDataSourceName()).getConnection())
 {
+            try (Connection connection = 
containerComposer.getActualDataSourceMap().get(each.getDataSourceName()).getConnection())
 {
                 result.addAll(getActualIndexes(connection, 
each.getTableName()));
             }
         }
diff --git 
a/test/e2e/suite/src/test/java/org/apache/shardingsphere/test/e2e/engine/type/RALE2EIT.java
 
b/test/e2e/suite/src/test/java/org/apache/shardingsphere/test/e2e/engine/type/RALE2EIT.java
index 27f8dcbe62d..8d1d69f3750 100644
--- 
a/test/e2e/suite/src/test/java/org/apache/shardingsphere/test/e2e/engine/type/RALE2EIT.java
+++ 
b/test/e2e/suite/src/test/java/org/apache/shardingsphere/test/e2e/engine/type/RALE2EIT.java
@@ -25,7 +25,7 @@ import 
org.apache.shardingsphere.test.e2e.cases.dataset.metadata.DataSetMetaData
 import org.apache.shardingsphere.test.e2e.cases.dataset.row.DataSetRow;
 import 
org.apache.shardingsphere.test.e2e.engine.arg.E2ETestCaseArgumentsProvider;
 import org.apache.shardingsphere.test.e2e.engine.arg.E2ETestCaseSettings;
-import org.apache.shardingsphere.test.e2e.engine.SingleE2EITContainerComposer;
+import 
org.apache.shardingsphere.test.e2e.engine.composer.SingleE2EContainerComposer;
 import 
org.apache.shardingsphere.test.e2e.framework.param.array.E2ETestParameterFactory;
 import 
org.apache.shardingsphere.test.e2e.framework.param.model.AssertionTestParameter;
 import org.junit.jupiter.api.condition.EnabledIf;
@@ -59,30 +59,30 @@ public final class RALE2EIT {
         if (null == testParam.getTestCaseContext()) {
             return;
         }
-        try (SingleE2EITContainerComposer containerComposer = new 
SingleE2EITContainerComposer(testParam)) {
+        try (SingleE2EContainerComposer containerComposer = new 
SingleE2EContainerComposer(testParam)) {
             init(containerComposer);
             assertExecute(containerComposer);
             tearDown(containerComposer);
         }
     }
     
-    private void assertExecute(final SingleE2EITContainerComposer 
containerComposer) throws SQLException, ParseException {
-        try (Connection connection = 
containerComposer.getContainerComposer().getTargetDataSource().getConnection()) 
{
+    private void assertExecute(final SingleE2EContainerComposer 
containerComposer) throws SQLException, ParseException {
+        try (Connection connection = 
containerComposer.getTargetDataSource().getConnection()) {
             try (Statement statement = connection.createStatement()) {
                 assertResultSet(containerComposer, statement);
             }
         }
     }
     
-    private void init(final SingleE2EITContainerComposer containerComposer) 
throws SQLException {
+    private void init(final SingleE2EContainerComposer containerComposer) 
throws SQLException {
         if (null != containerComposer.getAssertion().getInitialSQL()) {
-            try (Connection connection = 
containerComposer.getContainerComposer().getTargetDataSource().getConnection()) 
{
+            try (Connection connection = 
containerComposer.getTargetDataSource().getConnection()) {
                 executeInitSQLs(containerComposer, connection);
             }
         }
     }
     
-    private void executeInitSQLs(final SingleE2EITContainerComposer 
containerComposer, final Connection connection) throws SQLException {
+    private void executeInitSQLs(final SingleE2EContainerComposer 
containerComposer, final Connection connection) throws SQLException {
         if (null == containerComposer.getAssertion().getInitialSQL().getSql()) 
{
             return;
         }
@@ -94,15 +94,15 @@ public final class RALE2EIT {
         waitCompleted(1000L);
     }
     
-    private void tearDown(final SingleE2EITContainerComposer 
containerComposer) throws SQLException {
+    private void tearDown(final SingleE2EContainerComposer containerComposer) 
throws SQLException {
         if (null != containerComposer.getAssertion().getDestroySQL()) {
-            try (Connection connection = 
containerComposer.getContainerComposer().getTargetDataSource().getConnection()) 
{
+            try (Connection connection = 
containerComposer.getTargetDataSource().getConnection()) {
                 executeDestroySQLs(containerComposer, connection);
             }
         }
     }
     
-    private void executeDestroySQLs(final SingleE2EITContainerComposer 
containerComposer, final Connection connection) throws SQLException {
+    private void executeDestroySQLs(final SingleE2EContainerComposer 
containerComposer, final Connection connection) throws SQLException {
         if (null == containerComposer.getAssertion().getDestroySQL().getSql()) 
{
             return;
         }
@@ -114,7 +114,7 @@ public final class RALE2EIT {
         waitCompleted(1000L);
     }
     
-    private void assertResultSet(final SingleE2EITContainerComposer 
containerComposer, final Statement statement) throws SQLException, 
ParseException {
+    private void assertResultSet(final SingleE2EContainerComposer 
containerComposer, final Statement statement) throws SQLException, 
ParseException {
         if (null == containerComposer.getAssertion().getAssertionSQL()) {
             assertResultSet(containerComposer, statement, 
containerComposer.getSQL());
         } else {
@@ -124,18 +124,18 @@ public final class RALE2EIT {
         }
     }
     
-    private void assertResultSet(final SingleE2EITContainerComposer 
containerComposer, final Statement statement, final String sql) throws 
SQLException {
+    private void assertResultSet(final SingleE2EContainerComposer 
containerComposer, final Statement statement, final String sql) throws 
SQLException {
         try (ResultSet resultSet = statement.executeQuery(sql)) {
             assertResultSet(containerComposer, resultSet);
         }
     }
     
-    private void assertResultSet(final SingleE2EITContainerComposer 
containerComposer, final ResultSet resultSet) throws SQLException {
+    private void assertResultSet(final SingleE2EContainerComposer 
containerComposer, final ResultSet resultSet) throws SQLException {
         assertMetaData(resultSet.getMetaData(), 
getExpectedColumns(containerComposer));
         assertRows(resultSet, getNotAssertionColumns(containerComposer), 
containerComposer.getDataSet().getRows());
     }
     
-    private Collection<DataSetColumn> getExpectedColumns(final 
SingleE2EITContainerComposer containerComposer) {
+    private Collection<DataSetColumn> getExpectedColumns(final 
SingleE2EContainerComposer containerComposer) {
         Collection<DataSetColumn> result = new LinkedList<>();
         for (DataSetMetaData each : 
containerComposer.getDataSet().getMetaDataList()) {
             result.addAll(each.getColumns());
@@ -143,7 +143,7 @@ public final class RALE2EIT {
         return result;
     }
     
-    private Collection<String> getNotAssertionColumns(final 
SingleE2EITContainerComposer containerComposer) {
+    private Collection<String> getNotAssertionColumns(final 
SingleE2EContainerComposer containerComposer) {
         Collection<String> result = new LinkedList<>();
         for (DataSetMetaData each : 
containerComposer.getDataSet().getMetaDataList()) {
             result.addAll(each.getColumns().stream().filter(column -> 
"false".equals(column.getAssertion())).map(DataSetColumn::getName).collect(Collectors.toList()));
diff --git 
a/test/e2e/suite/src/test/java/org/apache/shardingsphere/test/e2e/engine/type/RDLE2EIT.java
 
b/test/e2e/suite/src/test/java/org/apache/shardingsphere/test/e2e/engine/type/RDLE2EIT.java
index 7ae0ea5c22a..68f1b3c310c 100644
--- 
a/test/e2e/suite/src/test/java/org/apache/shardingsphere/test/e2e/engine/type/RDLE2EIT.java
+++ 
b/test/e2e/suite/src/test/java/org/apache/shardingsphere/test/e2e/engine/type/RDLE2EIT.java
@@ -25,7 +25,7 @@ import 
org.apache.shardingsphere.test.e2e.cases.dataset.metadata.DataSetMetaData
 import org.apache.shardingsphere.test.e2e.cases.dataset.row.DataSetRow;
 import 
org.apache.shardingsphere.test.e2e.engine.arg.E2ETestCaseArgumentsProvider;
 import org.apache.shardingsphere.test.e2e.engine.arg.E2ETestCaseSettings;
-import org.apache.shardingsphere.test.e2e.engine.SingleE2EITContainerComposer;
+import 
org.apache.shardingsphere.test.e2e.engine.composer.SingleE2EContainerComposer;
 import 
org.apache.shardingsphere.test.e2e.framework.param.array.E2ETestParameterFactory;
 import 
org.apache.shardingsphere.test.e2e.framework.param.model.AssertionTestParameter;
 import org.junit.jupiter.api.condition.EnabledIf;
@@ -59,16 +59,16 @@ public final class RDLE2EIT {
         if (null == testParam.getTestCaseContext()) {
             return;
         }
-        try (SingleE2EITContainerComposer containerComposer = new 
SingleE2EITContainerComposer(testParam)) {
+        try (SingleE2EContainerComposer containerComposer = new 
SingleE2EContainerComposer(testParam)) {
             init(containerComposer);
             assertExecute(testParam, containerComposer);
             tearDown(containerComposer);
         }
     }
     
-    private void assertExecute(final AssertionTestParameter testParam, final 
SingleE2EITContainerComposer containerComposer) throws SQLException, 
ParseException {
+    private void assertExecute(final AssertionTestParameter testParam, final 
SingleE2EContainerComposer containerComposer) throws SQLException, 
ParseException {
         assertNotNull(testParam.getAssertion().getAssertionSQL(), "Assertion 
SQL is required");
-        try (Connection connection = 
containerComposer.getContainerComposer().getTargetDataSource().getConnection()) 
{
+        try (Connection connection = 
containerComposer.getTargetDataSource().getConnection()) {
             try (Statement statement = connection.createStatement()) {
                 executeSQLCase(containerComposer, statement);
                 waitCompleted();
@@ -77,26 +77,26 @@ public final class RDLE2EIT {
         }
     }
     
-    private void executeSQLCase(final SingleE2EITContainerComposer 
containerComposer, final Statement statement) throws SQLException, 
ParseException {
+    private void executeSQLCase(final SingleE2EContainerComposer 
containerComposer, final Statement statement) throws SQLException, 
ParseException {
         statement.execute(containerComposer.getSQL());
     }
     
-    private void init(final SingleE2EITContainerComposer containerComposer) 
throws SQLException {
-        try (Connection connection = 
containerComposer.getContainerComposer().getTargetDataSource().getConnection()) 
{
+    private void init(final SingleE2EContainerComposer containerComposer) 
throws SQLException {
+        try (Connection connection = 
containerComposer.getTargetDataSource().getConnection()) {
             executeInitSQLs(containerComposer, connection);
         }
     }
     
-    private void tearDown(final SingleE2EITContainerComposer 
containerComposer) throws SQLException {
+    private void tearDown(final SingleE2EContainerComposer containerComposer) 
throws SQLException {
         if (null != containerComposer.getAssertion().getDestroySQL()) {
-            try (Connection connection = 
containerComposer.getContainerComposer().getTargetDataSource().getConnection()) 
{
+            try (Connection connection = 
containerComposer.getTargetDataSource().getConnection()) {
                 executeDestroySQLs(containerComposer, connection);
             }
         }
         waitCompleted();
     }
     
-    private void executeInitSQLs(final SingleE2EITContainerComposer 
containerComposer, final Connection connection) throws SQLException {
+    private void executeInitSQLs(final SingleE2EContainerComposer 
containerComposer, final Connection connection) throws SQLException {
         if (null == containerComposer.getAssertion().getInitialSQL() || null 
== containerComposer.getAssertion().getInitialSQL().getSql()) {
             return;
         }
@@ -108,7 +108,7 @@ public final class RDLE2EIT {
         }
     }
     
-    private void executeDestroySQLs(final SingleE2EITContainerComposer 
containerComposer, final Connection connection) throws SQLException {
+    private void executeDestroySQLs(final SingleE2EContainerComposer 
containerComposer, final Connection connection) throws SQLException {
         if (null == containerComposer.getAssertion().getDestroySQL().getSql()) 
{
             return;
         }
@@ -120,18 +120,18 @@ public final class RDLE2EIT {
         }
     }
     
-    private void assertResultSet(final SingleE2EITContainerComposer 
containerComposer, final Statement statement) throws SQLException {
+    private void assertResultSet(final SingleE2EContainerComposer 
containerComposer, final Statement statement) throws SQLException {
         try (ResultSet resultSet = 
statement.executeQuery(containerComposer.getAssertion().getAssertionSQL().getSql()))
 {
             assertResultSet(containerComposer, resultSet);
         }
     }
     
-    private void assertResultSet(final SingleE2EITContainerComposer 
containerComposer, final ResultSet resultSet) throws SQLException {
+    private void assertResultSet(final SingleE2EContainerComposer 
containerComposer, final ResultSet resultSet) throws SQLException {
         assertMetaData(resultSet.getMetaData(), 
getExpectedColumns(containerComposer));
         assertRows(resultSet, containerComposer.getDataSet().getRows());
     }
     
-    private Collection<DataSetColumn> getExpectedColumns(final 
SingleE2EITContainerComposer containerComposer) {
+    private Collection<DataSetColumn> getExpectedColumns(final 
SingleE2EContainerComposer containerComposer) {
         Collection<DataSetColumn> result = new LinkedList<>();
         for (DataSetMetaData each : 
containerComposer.getDataSet().getMetaDataList()) {
             result.addAll(each.getColumns());
diff --git 
a/test/e2e/suite/src/test/java/org/apache/shardingsphere/test/e2e/engine/type/RQLE2EIT.java
 
b/test/e2e/suite/src/test/java/org/apache/shardingsphere/test/e2e/engine/type/RQLE2EIT.java
index 45bc7631c3d..53e132d77c5 100644
--- 
a/test/e2e/suite/src/test/java/org/apache/shardingsphere/test/e2e/engine/type/RQLE2EIT.java
+++ 
b/test/e2e/suite/src/test/java/org/apache/shardingsphere/test/e2e/engine/type/RQLE2EIT.java
@@ -23,7 +23,7 @@ import 
org.apache.shardingsphere.test.e2e.cases.dataset.metadata.DataSetMetaData
 import org.apache.shardingsphere.test.e2e.cases.dataset.row.DataSetRow;
 import 
org.apache.shardingsphere.test.e2e.engine.arg.E2ETestCaseArgumentsProvider;
 import org.apache.shardingsphere.test.e2e.engine.arg.E2ETestCaseSettings;
-import org.apache.shardingsphere.test.e2e.engine.SingleE2EITContainerComposer;
+import 
org.apache.shardingsphere.test.e2e.engine.composer.SingleE2EContainerComposer;
 import 
org.apache.shardingsphere.test.e2e.framework.param.array.E2ETestParameterFactory;
 import 
org.apache.shardingsphere.test.e2e.framework.param.model.AssertionTestParameter;
 import org.junit.jupiter.api.condition.EnabledIf;
@@ -55,13 +55,13 @@ public final class RQLE2EIT {
         if (null == testParam.getTestCaseContext()) {
             return;
         }
-        try (SingleE2EITContainerComposer containerComposer = new 
SingleE2EITContainerComposer(testParam)) {
+        try (SingleE2EContainerComposer containerComposer = new 
SingleE2EContainerComposer(testParam)) {
             assertExecute(containerComposer);
         }
     }
     
-    private void assertExecute(final SingleE2EITContainerComposer 
containerComposer) throws SQLException, ParseException {
-        try (Connection connection = 
containerComposer.getContainerComposer().getTargetDataSource().getConnection()) 
{
+    private void assertExecute(final SingleE2EContainerComposer 
containerComposer) throws SQLException, ParseException {
+        try (Connection connection = 
containerComposer.getTargetDataSource().getConnection()) {
             try (
                     Statement statement = connection.createStatement();
                     ResultSet resultSet = 
statement.executeQuery(containerComposer.getSQL())) {
@@ -70,12 +70,12 @@ public final class RQLE2EIT {
         }
     }
     
-    private void assertResultSet(final SingleE2EITContainerComposer 
containerComposer, final ResultSet resultSet) throws SQLException {
+    private void assertResultSet(final SingleE2EContainerComposer 
containerComposer, final ResultSet resultSet) throws SQLException {
         assertMetaData(resultSet.getMetaData(), 
getExpectedColumns(containerComposer));
         assertRows(resultSet, containerComposer.getDataSet().getRows());
     }
     
-    private Collection<DataSetColumn> getExpectedColumns(final 
SingleE2EITContainerComposer containerComposer) {
+    private Collection<DataSetColumn> getExpectedColumns(final 
SingleE2EContainerComposer containerComposer) {
         Collection<DataSetColumn> result = new LinkedList<>();
         for (DataSetMetaData each : 
containerComposer.getDataSet().getMetaDataList()) {
             result.addAll(each.getColumns());
diff --git 
a/test/e2e/suite/src/test/java/org/apache/shardingsphere/test/e2e/engine/type/dml/AdditionalDMLE2EIT.java
 
b/test/e2e/suite/src/test/java/org/apache/shardingsphere/test/e2e/engine/type/dml/AdditionalDMLE2EIT.java
index 0759c199c90..4b555b3eb87 100644
--- 
a/test/e2e/suite/src/test/java/org/apache/shardingsphere/test/e2e/engine/type/dml/AdditionalDMLE2EIT.java
+++ 
b/test/e2e/suite/src/test/java/org/apache/shardingsphere/test/e2e/engine/type/dml/AdditionalDMLE2EIT.java
@@ -22,7 +22,7 @@ import 
org.apache.shardingsphere.test.e2e.cases.SQLExecuteType;
 import org.apache.shardingsphere.test.e2e.cases.value.SQLValue;
 import 
org.apache.shardingsphere.test.e2e.engine.arg.E2ETestCaseArgumentsProvider;
 import org.apache.shardingsphere.test.e2e.engine.arg.E2ETestCaseSettings;
-import org.apache.shardingsphere.test.e2e.engine.SingleE2EITContainerComposer;
+import 
org.apache.shardingsphere.test.e2e.engine.composer.SingleE2EContainerComposer;
 import 
org.apache.shardingsphere.test.e2e.env.runtime.IntegrationTestEnvironment;
 import 
org.apache.shardingsphere.test.e2e.framework.param.array.E2ETestParameterFactory;
 import 
org.apache.shardingsphere.test.e2e.framework.param.model.AssertionTestParameter;
@@ -55,10 +55,10 @@ public final class AdditionalDMLE2EIT extends BaseDMLE2EIT {
         if (isPostgreSQLOrOpenGauss(testParam.getDatabaseType().getType())) {
             return;
         }
-        try (SingleE2EITContainerComposer containerComposer = new 
SingleE2EITContainerComposer(testParam)) {
+        try (SingleE2EContainerComposer containerComposer = new 
SingleE2EContainerComposer(testParam)) {
             init(testParam, containerComposer);
             int actualUpdateCount;
-            try (Connection connection = 
containerComposer.getContainerComposer().getTargetDataSource().getConnection()) 
{
+            try (Connection connection = 
containerComposer.getTargetDataSource().getConnection()) {
                 actualUpdateCount = SQLExecuteType.Literal == 
containerComposer.getSqlExecuteType()
                         ? 
executeUpdateForStatementWithAutoGeneratedKeys(testParam, containerComposer, 
connection)
                         : 
executeUpdateForPreparedStatementWithAutoGeneratedKeys(testParam, 
containerComposer, connection);
@@ -72,7 +72,7 @@ public final class AdditionalDMLE2EIT extends BaseDMLE2EIT {
     }
     
     private int executeUpdateForStatementWithAutoGeneratedKeys(final 
AssertionTestParameter testParam,
-                                                               final 
SingleE2EITContainerComposer containerComposer, final Connection connection) 
throws SQLException, ParseException {
+                                                               final 
SingleE2EContainerComposer containerComposer, final Connection connection) 
throws SQLException, ParseException {
         try (Statement statement = connection.createStatement()) {
             int result = 
statement.executeUpdate(String.format(containerComposer.getSQL(), 
containerComposer.getAssertion().getSQLValues().toArray()), 
Statement.RETURN_GENERATED_KEYS);
             assertGeneratedKeys(testParam, containerComposer, 
statement.getGeneratedKeys());
@@ -81,7 +81,7 @@ public final class AdditionalDMLE2EIT extends BaseDMLE2EIT {
     }
     
     private int executeUpdateForPreparedStatementWithAutoGeneratedKeys(final 
AssertionTestParameter testParam,
-                                                                       final 
SingleE2EITContainerComposer containerComposer, final Connection connection) 
throws SQLException, ParseException {
+                                                                       final 
SingleE2EContainerComposer containerComposer, final Connection connection) 
throws SQLException, ParseException {
         try (PreparedStatement preparedStatement = 
connection.prepareStatement(containerComposer.getSQL(), 
Statement.RETURN_GENERATED_KEYS)) {
             for (SQLValue each : 
containerComposer.getAssertion().getSQLValues()) {
                 preparedStatement.setObject(each.getIndex(), each.getValue());
@@ -101,10 +101,10 @@ public final class AdditionalDMLE2EIT extends 
BaseDMLE2EIT {
         if (isPostgreSQLOrOpenGauss(testParam.getDatabaseType().getType())) {
             return;
         }
-        try (SingleE2EITContainerComposer containerComposer = new 
SingleE2EITContainerComposer(testParam)) {
+        try (SingleE2EContainerComposer containerComposer = new 
SingleE2EContainerComposer(testParam)) {
             init(testParam, containerComposer);
             int actualUpdateCount;
-            try (Connection connection = 
containerComposer.getContainerComposer().getTargetDataSource().getConnection()) 
{
+            try (Connection connection = 
containerComposer.getTargetDataSource().getConnection()) {
                 actualUpdateCount = SQLExecuteType.Literal == 
containerComposer.getSqlExecuteType()
                         ? 
executeUpdateForStatementWithColumnIndexes(containerComposer, connection)
                         : 
executeUpdateForPreparedStatementWithColumnIndexes(containerComposer, 
connection);
@@ -113,13 +113,13 @@ public final class AdditionalDMLE2EIT extends 
BaseDMLE2EIT {
         }
     }
     
-    private int executeUpdateForStatementWithColumnIndexes(final 
SingleE2EITContainerComposer containerComposer, final Connection connection) 
throws SQLException, ParseException {
+    private int executeUpdateForStatementWithColumnIndexes(final 
SingleE2EContainerComposer containerComposer, final Connection connection) 
throws SQLException, ParseException {
         try (Statement statement = connection.createStatement()) {
             return 
statement.executeUpdate(String.format(containerComposer.getSQL(), 
containerComposer.getAssertion().getSQLValues().toArray()), new int[]{1});
         }
     }
     
-    private int executeUpdateForPreparedStatementWithColumnIndexes(final 
SingleE2EITContainerComposer containerComposer, final Connection connection) 
throws SQLException, ParseException {
+    private int executeUpdateForPreparedStatementWithColumnIndexes(final 
SingleE2EContainerComposer containerComposer, final Connection connection) 
throws SQLException, ParseException {
         try (PreparedStatement preparedStatement = 
connection.prepareStatement(containerComposer.getSQL(), new int[]{1})) {
             for (SQLValue each : 
containerComposer.getAssertion().getSQLValues()) {
                 preparedStatement.setObject(each.getIndex(), each.getValue());
@@ -137,10 +137,10 @@ public final class AdditionalDMLE2EIT extends 
BaseDMLE2EIT {
         if (isPostgreSQLOrOpenGauss(testParam.getDatabaseType().getType())) {
             return;
         }
-        try (SingleE2EITContainerComposer containerComposer = new 
SingleE2EITContainerComposer(testParam)) {
+        try (SingleE2EContainerComposer containerComposer = new 
SingleE2EContainerComposer(testParam)) {
             init(testParam, containerComposer);
             int actualUpdateCount;
-            try (Connection connection = 
containerComposer.getContainerComposer().getTargetDataSource().getConnection()) 
{
+            try (Connection connection = 
containerComposer.getTargetDataSource().getConnection()) {
                 actualUpdateCount = SQLExecuteType.Literal == 
containerComposer.getSqlExecuteType()
                         ? 
executeUpdateForStatementWithColumnNames(containerComposer, connection)
                         : 
executeUpdateForPreparedStatementWithColumnNames(containerComposer, connection);
@@ -149,13 +149,13 @@ public final class AdditionalDMLE2EIT extends 
BaseDMLE2EIT {
         }
     }
     
-    private int executeUpdateForStatementWithColumnNames(final 
SingleE2EITContainerComposer containerComposer, final Connection connection) 
throws SQLException, ParseException {
+    private int executeUpdateForStatementWithColumnNames(final 
SingleE2EContainerComposer containerComposer, final Connection connection) 
throws SQLException, ParseException {
         try (Statement statement = connection.createStatement()) {
             return 
statement.executeUpdate(String.format(containerComposer.getSQL(), 
containerComposer.getAssertion().getSQLValues().toArray()));
         }
     }
     
-    private int executeUpdateForPreparedStatementWithColumnNames(final 
SingleE2EITContainerComposer containerComposer, final Connection connection) 
throws SQLException, ParseException {
+    private int executeUpdateForPreparedStatementWithColumnNames(final 
SingleE2EContainerComposer containerComposer, final Connection connection) 
throws SQLException, ParseException {
         try (PreparedStatement preparedStatement = 
connection.prepareStatement(containerComposer.getSQL(), new String[]{"TODO"})) {
             for (SQLValue each : 
containerComposer.getAssertion().getSQLValues()) {
                 preparedStatement.setObject(each.getIndex(), each.getValue());
@@ -175,10 +175,10 @@ public final class AdditionalDMLE2EIT extends 
BaseDMLE2EIT {
         if (isPostgreSQLOrOpenGauss(testParam.getDatabaseType().getType())) {
             return;
         }
-        try (SingleE2EITContainerComposer containerComposer = new 
SingleE2EITContainerComposer(testParam)) {
+        try (SingleE2EContainerComposer containerComposer = new 
SingleE2EContainerComposer(testParam)) {
             init(testParam, containerComposer);
             int actualUpdateCount;
-            try (Connection connection = 
containerComposer.getContainerComposer().getTargetDataSource().getConnection()) 
{
+            try (Connection connection = 
containerComposer.getTargetDataSource().getConnection()) {
                 actualUpdateCount = SQLExecuteType.Literal == 
containerComposer.getSqlExecuteType()
                         ? 
executeForStatementWithoutAutoGeneratedKeys(containerComposer, connection)
                         : 
executeForPreparedStatementWithoutAutoGeneratedKeys(containerComposer, 
connection);
@@ -187,14 +187,14 @@ public final class AdditionalDMLE2EIT extends 
BaseDMLE2EIT {
         }
     }
     
-    private int executeForStatementWithoutAutoGeneratedKeys(final 
SingleE2EITContainerComposer containerComposer, final Connection connection) 
throws SQLException, ParseException {
+    private int executeForStatementWithoutAutoGeneratedKeys(final 
SingleE2EContainerComposer containerComposer, final Connection connection) 
throws SQLException, ParseException {
         try (Statement statement = connection.createStatement()) {
             
assertFalse(statement.execute(String.format(containerComposer.getSQL(), 
containerComposer.getAssertion().getSQLValues().toArray()), 
Statement.NO_GENERATED_KEYS), "Not a DML statement.");
             return statement.getUpdateCount();
         }
     }
     
-    private int executeForPreparedStatementWithoutAutoGeneratedKeys(final 
SingleE2EITContainerComposer containerComposer, final Connection connection) 
throws SQLException, ParseException {
+    private int executeForPreparedStatementWithoutAutoGeneratedKeys(final 
SingleE2EContainerComposer containerComposer, final Connection connection) 
throws SQLException, ParseException {
         try (PreparedStatement preparedStatement = 
connection.prepareStatement(containerComposer.getSQL(), 
Statement.NO_GENERATED_KEYS)) {
             for (SQLValue each : 
containerComposer.getAssertion().getSQLValues()) {
                 preparedStatement.setObject(each.getIndex(), each.getValue());
@@ -215,10 +215,10 @@ public final class AdditionalDMLE2EIT extends 
BaseDMLE2EIT {
         if (isPostgreSQLOrOpenGauss(testParam.getDatabaseType().getType())) {
             return;
         }
-        try (SingleE2EITContainerComposer containerComposer = new 
SingleE2EITContainerComposer(testParam)) {
+        try (SingleE2EContainerComposer containerComposer = new 
SingleE2EContainerComposer(testParam)) {
             init(testParam, containerComposer);
             int actualUpdateCount;
-            try (Connection connection = 
containerComposer.getContainerComposer().getTargetDataSource().getConnection()) 
{
+            try (Connection connection = 
containerComposer.getTargetDataSource().getConnection()) {
                 actualUpdateCount = SQLExecuteType.Literal == 
containerComposer.getSqlExecuteType()
                         ? executeForStatementWithAutoGeneratedKeys(testParam, 
containerComposer, connection)
                         : 
executeForPreparedStatementWithAutoGeneratedKeys(testParam, containerComposer, 
connection);
@@ -228,7 +228,7 @@ public final class AdditionalDMLE2EIT extends BaseDMLE2EIT {
     }
     
     private int executeForStatementWithAutoGeneratedKeys(final 
AssertionTestParameter testParam,
-                                                         final 
SingleE2EITContainerComposer containerComposer, final Connection connection) 
throws SQLException, ParseException {
+                                                         final 
SingleE2EContainerComposer containerComposer, final Connection connection) 
throws SQLException, ParseException {
         try (Statement statement = connection.createStatement()) {
             assertFalse(statement.execute(
                     String.format(containerComposer.getSQL(), 
containerComposer.getAssertion().getSQLValues().toArray()), 
Statement.RETURN_GENERATED_KEYS), "Not a DML statement.");
@@ -238,7 +238,7 @@ public final class AdditionalDMLE2EIT extends BaseDMLE2EIT {
     }
     
     private int executeForPreparedStatementWithAutoGeneratedKeys(final 
AssertionTestParameter testParam,
-                                                                 final 
SingleE2EITContainerComposer containerComposer, final Connection connection) 
throws SQLException, ParseException {
+                                                                 final 
SingleE2EContainerComposer containerComposer, final Connection connection) 
throws SQLException, ParseException {
         try (PreparedStatement preparedStatement = 
connection.prepareStatement(containerComposer.getSQL(), 
Statement.RETURN_GENERATED_KEYS)) {
             for (SQLValue each : 
containerComposer.getAssertion().getSQLValues()) {
                 preparedStatement.setObject(each.getIndex(), each.getValue());
@@ -258,10 +258,10 @@ public final class AdditionalDMLE2EIT extends 
BaseDMLE2EIT {
         if (isPostgreSQLOrOpenGauss(testParam.getDatabaseType().getType())) {
             return;
         }
-        try (SingleE2EITContainerComposer containerComposer = new 
SingleE2EITContainerComposer(testParam)) {
+        try (SingleE2EContainerComposer containerComposer = new 
SingleE2EContainerComposer(testParam)) {
             init(testParam, containerComposer);
             int actualUpdateCount;
-            try (Connection connection = 
containerComposer.getContainerComposer().getTargetDataSource().getConnection()) 
{
+            try (Connection connection = 
containerComposer.getTargetDataSource().getConnection()) {
                 actualUpdateCount = SQLExecuteType.Literal == 
containerComposer.getSqlExecuteType()
                         ? 
executeForStatementWithColumnIndexes(containerComposer, connection)
                         : 
executeForPreparedStatementWithColumnIndexes(containerComposer, connection);
@@ -270,14 +270,14 @@ public final class AdditionalDMLE2EIT extends 
BaseDMLE2EIT {
         }
     }
     
-    private int executeForStatementWithColumnIndexes(final 
SingleE2EITContainerComposer containerComposer, final Connection connection) 
throws SQLException, ParseException {
+    private int executeForStatementWithColumnIndexes(final 
SingleE2EContainerComposer containerComposer, final Connection connection) 
throws SQLException, ParseException {
         try (Statement statement = connection.createStatement()) {
             
assertFalse(statement.execute(String.format(containerComposer.getSQL(), 
containerComposer.getAssertion().getSQLValues().toArray()), new int[]{1}), "Not 
a DML statement.");
             return statement.getUpdateCount();
         }
     }
     
-    private int executeForPreparedStatementWithColumnIndexes(final 
SingleE2EITContainerComposer containerComposer, final Connection connection) 
throws SQLException, ParseException {
+    private int executeForPreparedStatementWithColumnIndexes(final 
SingleE2EContainerComposer containerComposer, final Connection connection) 
throws SQLException, ParseException {
         try (PreparedStatement preparedStatement = 
connection.prepareStatement(containerComposer.getSQL(), new int[]{1})) {
             for (SQLValue each : 
containerComposer.getAssertion().getSQLValues()) {
                 preparedStatement.setObject(each.getIndex(), each.getValue());
@@ -296,10 +296,10 @@ public final class AdditionalDMLE2EIT extends 
BaseDMLE2EIT {
         if (isPostgreSQLOrOpenGauss(testParam.getDatabaseType().getType())) {
             return;
         }
-        try (SingleE2EITContainerComposer containerComposer = new 
SingleE2EITContainerComposer(testParam)) {
+        try (SingleE2EContainerComposer containerComposer = new 
SingleE2EContainerComposer(testParam)) {
             init(testParam, containerComposer);
             int actualUpdateCount;
-            try (Connection connection = 
containerComposer.getContainerComposer().getTargetDataSource().getConnection()) 
{
+            try (Connection connection = 
containerComposer.getTargetDataSource().getConnection()) {
                 actualUpdateCount = SQLExecuteType.Literal == 
containerComposer.getSqlExecuteType()
                         ? 
executeForStatementWithColumnNames(containerComposer, connection)
                         : 
executeForPreparedStatementWithColumnNames(containerComposer, connection);
@@ -308,14 +308,14 @@ public final class AdditionalDMLE2EIT extends 
BaseDMLE2EIT {
         }
     }
     
-    private int executeForStatementWithColumnNames(final 
SingleE2EITContainerComposer containerComposer, final Connection connection) 
throws SQLException, ParseException {
+    private int executeForStatementWithColumnNames(final 
SingleE2EContainerComposer containerComposer, final Connection connection) 
throws SQLException, ParseException {
         try (Statement statement = connection.createStatement()) {
             
assertFalse(statement.execute(String.format(containerComposer.getSQL(), 
containerComposer.getAssertion().getSQLValues().toArray()), new 
String[]{"TODO"}), "Not a DML statement.");
             return statement.getUpdateCount();
         }
     }
     
-    private int executeForPreparedStatementWithColumnNames(final 
SingleE2EITContainerComposer containerComposer, final Connection connection) 
throws SQLException, ParseException {
+    private int executeForPreparedStatementWithColumnNames(final 
SingleE2EContainerComposer containerComposer, final Connection connection) 
throws SQLException, ParseException {
         try (PreparedStatement preparedStatement = 
connection.prepareStatement(containerComposer.getSQL(), new String[]{"TODO"})) {
             for (SQLValue each : 
containerComposer.getAssertion().getSQLValues()) {
                 preparedStatement.setObject(each.getIndex(), each.getValue());
diff --git 
a/test/e2e/suite/src/test/java/org/apache/shardingsphere/test/e2e/engine/type/dml/BaseDMLE2EIT.java
 
b/test/e2e/suite/src/test/java/org/apache/shardingsphere/test/e2e/engine/type/dml/BaseDMLE2EIT.java
index 83cae6f21e4..b589b1a30d0 100644
--- 
a/test/e2e/suite/src/test/java/org/apache/shardingsphere/test/e2e/engine/type/dml/BaseDMLE2EIT.java
+++ 
b/test/e2e/suite/src/test/java/org/apache/shardingsphere/test/e2e/engine/type/dml/BaseDMLE2EIT.java
@@ -22,8 +22,8 @@ import 
org.apache.shardingsphere.infra.util.expr.InlineExpressionParser;
 import org.apache.shardingsphere.test.e2e.cases.dataset.metadata.DataSetColumn;
 import 
org.apache.shardingsphere.test.e2e.cases.dataset.metadata.DataSetMetaData;
 import org.apache.shardingsphere.test.e2e.cases.dataset.row.DataSetRow;
-import org.apache.shardingsphere.test.e2e.engine.E2EContainerComposer;
-import org.apache.shardingsphere.test.e2e.engine.SingleE2EITContainerComposer;
+import org.apache.shardingsphere.test.e2e.engine.composer.E2EContainerComposer;
+import 
org.apache.shardingsphere.test.e2e.engine.composer.SingleE2EContainerComposer;
 import org.apache.shardingsphere.test.e2e.env.DataSetEnvironmentManager;
 import 
org.apache.shardingsphere.test.e2e.env.runtime.scenario.path.ScenarioDataPath;
 import 
org.apache.shardingsphere.test.e2e.env.runtime.scenario.path.ScenarioDataPath.Type;
@@ -67,9 +67,9 @@ public abstract class BaseDMLE2EIT {
      * @throws IOException IO exception
      * @throws JAXBException JAXB exception
      */
-    public final void init(final AssertionTestParameter testParam, final 
SingleE2EITContainerComposer containerComposer) throws SQLException, 
ParseException, IOException, JAXBException {
+    public final void init(final AssertionTestParameter testParam, final 
SingleE2EContainerComposer containerComposer) throws SQLException, 
ParseException, IOException, JAXBException {
         dataSetEnvironmentManager = new DataSetEnvironmentManager(
-                new 
ScenarioDataPath(testParam.getScenario()).getDataSetFile(Type.ACTUAL), 
containerComposer.getContainerComposer().getActualDataSourceMap());
+                new 
ScenarioDataPath(testParam.getScenario()).getDataSetFile(Type.ACTUAL), 
containerComposer.getActualDataSourceMap());
         dataSetEnvironmentManager.fillData();
     }
     
@@ -81,13 +81,13 @@ public abstract class BaseDMLE2EIT {
         }
     }
     
-    protected final void assertDataSet(final AssertionTestParameter testParam, 
final SingleE2EITContainerComposer containerComposer, final int 
actualUpdateCount) throws SQLException {
+    protected final void assertDataSet(final AssertionTestParameter testParam, 
final SingleE2EContainerComposer containerComposer, final int 
actualUpdateCount) throws SQLException {
         assertThat("Only support single table for DML.", 
containerComposer.getDataSet().getMetaDataList().size(), is(1));
         assertThat(actualUpdateCount, 
is(containerComposer.getDataSet().getUpdateCount()));
         DataSetMetaData expectedDataSetMetaData = 
containerComposer.getDataSet().getMetaDataList().get(0);
         for (String each : new 
InlineExpressionParser(expectedDataSetMetaData.getDataNodes()).splitAndEvaluate())
 {
             DataNode dataNode = new DataNode(each);
-            DataSource dataSource = 
containerComposer.getContainerComposer().getActualDataSourceMap().get(dataNode.getDataSourceName());
+            DataSource dataSource = 
containerComposer.getActualDataSourceMap().get(dataNode.getDataSourceName());
             try (
                     Connection connection = dataSource.getConnection();
                     PreparedStatement preparedStatement = 
connection.prepareStatement(generateFetchActualDataSQL(testParam, 
containerComposer, dataNode))) {
@@ -104,11 +104,11 @@ public abstract class BaseDMLE2EIT {
         }
     }
     
-    private String generateFetchActualDataSQL(final AssertionTestParameter 
testParam, final SingleE2EITContainerComposer containerComposer, final DataNode 
dataNode) throws SQLException {
+    private String generateFetchActualDataSQL(final AssertionTestParameter 
testParam, final SingleE2EContainerComposer containerComposer, final DataNode 
dataNode) throws SQLException {
         Optional<DatabaseAssertionMetaData> databaseAssertionMetaData = 
DatabaseAssertionMetaDataFactory.newInstance(testParam.getDatabaseType());
         if (databaseAssertionMetaData.isPresent()) {
             String primaryKeyColumnName = 
databaseAssertionMetaData.get().getPrimaryKeyColumnName(
-                    
containerComposer.getContainerComposer().getActualDataSourceMap().get(dataNode.getDataSourceName()),
 dataNode.getTableName());
+                    
containerComposer.getActualDataSourceMap().get(dataNode.getDataSourceName()), 
dataNode.getTableName());
             return String.format("SELECT * FROM %s ORDER BY %s ASC", 
dataNode.getTableName(), primaryKeyColumnName);
         }
         return String.format("SELECT * FROM %s", dataNode.getTableName());
@@ -156,7 +156,7 @@ public abstract class BaseDMLE2EIT {
         return "money".equalsIgnoreCase(columnTypeName) && 
("PostgreSQL".equals(testParam.getDatabaseType().getType()) || 
"openGauss".equals(testParam.getDatabaseType().getType()));
     }
     
-    protected void assertGeneratedKeys(final AssertionTestParameter testParam, 
final SingleE2EITContainerComposer containerComposer, final ResultSet 
generatedKeys) throws SQLException {
+    protected void assertGeneratedKeys(final AssertionTestParameter testParam, 
final SingleE2EContainerComposer containerComposer, final ResultSet 
generatedKeys) throws SQLException {
         if (null == containerComposer.getGeneratedKeyDataSet()) {
             return;
         }
diff --git 
a/test/e2e/suite/src/test/java/org/apache/shardingsphere/test/e2e/engine/type/dml/BatchDMLE2EIT.java
 
b/test/e2e/suite/src/test/java/org/apache/shardingsphere/test/e2e/engine/type/dml/BatchDMLE2EIT.java
index e29612f1dae..1fc22443dee 100644
--- 
a/test/e2e/suite/src/test/java/org/apache/shardingsphere/test/e2e/engine/type/dml/BatchDMLE2EIT.java
+++ 
b/test/e2e/suite/src/test/java/org/apache/shardingsphere/test/e2e/engine/type/dml/BatchDMLE2EIT.java
@@ -20,7 +20,7 @@ package org.apache.shardingsphere.test.e2e.engine.type.dml;
 import org.apache.shardingsphere.test.e2e.cases.SQLCommandType;
 import 
org.apache.shardingsphere.test.e2e.cases.assertion.IntegrationTestCaseAssertion;
 import org.apache.shardingsphere.test.e2e.cases.value.SQLValue;
-import org.apache.shardingsphere.test.e2e.engine.BatchE2EITContainerComposer;
+import 
org.apache.shardingsphere.test.e2e.engine.composer.BatchE2EContainerComposer;
 import 
org.apache.shardingsphere.test.e2e.engine.arg.E2ETestCaseArgumentsProvider;
 import org.apache.shardingsphere.test.e2e.engine.arg.E2ETestCaseSettings;
 import 
org.apache.shardingsphere.test.e2e.framework.param.array.E2ETestParameterFactory;
@@ -50,9 +50,9 @@ public final class BatchDMLE2EIT {
         if (null == testParam.getTestCaseContext()) {
             return;
         }
-        try (BatchE2EITContainerComposer containerComposer = new 
BatchE2EITContainerComposer(testParam)) {
+        try (BatchE2EContainerComposer containerComposer = new 
BatchE2EContainerComposer(testParam)) {
             int[] actualUpdateCounts;
-            try (Connection connection = 
containerComposer.getContainerComposer().getTargetDataSource().getConnection()) 
{
+            try (Connection connection = 
containerComposer.getTargetDataSource().getConnection()) {
                 actualUpdateCounts = 
executeBatchForPreparedStatement(testParam, connection);
             }
             containerComposer.assertDataSets(actualUpdateCounts);
@@ -83,9 +83,9 @@ public final class BatchDMLE2EIT {
         if (null == testParam.getTestCaseContext()) {
             return;
         }
-        try (BatchE2EITContainerComposer containerComposer = new 
BatchE2EITContainerComposer(testParam)) {
+        try (BatchE2EContainerComposer containerComposer = new 
BatchE2EContainerComposer(testParam)) {
             try (
-                    Connection connection = 
containerComposer.getContainerComposer().getTargetDataSource().getConnection();
+                    Connection connection = 
containerComposer.getTargetDataSource().getConnection();
                     PreparedStatement preparedStatement = 
connection.prepareStatement(testParam.getTestCaseContext().getTestCase().getSql()))
 {
                 for (IntegrationTestCaseAssertion each : 
testParam.getTestCaseContext().getTestCase().getAssertions()) {
                     addBatch(preparedStatement, each);
diff --git 
a/test/e2e/suite/src/test/java/org/apache/shardingsphere/test/e2e/engine/type/dml/GeneralDMLE2EIT.java
 
b/test/e2e/suite/src/test/java/org/apache/shardingsphere/test/e2e/engine/type/dml/GeneralDMLE2EIT.java
index 6fd0299367a..a5bab81f952 100644
--- 
a/test/e2e/suite/src/test/java/org/apache/shardingsphere/test/e2e/engine/type/dml/GeneralDMLE2EIT.java
+++ 
b/test/e2e/suite/src/test/java/org/apache/shardingsphere/test/e2e/engine/type/dml/GeneralDMLE2EIT.java
@@ -22,7 +22,7 @@ import 
org.apache.shardingsphere.test.e2e.cases.SQLExecuteType;
 import org.apache.shardingsphere.test.e2e.cases.value.SQLValue;
 import 
org.apache.shardingsphere.test.e2e.engine.arg.E2ETestCaseArgumentsProvider;
 import org.apache.shardingsphere.test.e2e.engine.arg.E2ETestCaseSettings;
-import org.apache.shardingsphere.test.e2e.engine.SingleE2EITContainerComposer;
+import 
org.apache.shardingsphere.test.e2e.engine.composer.SingleE2EContainerComposer;
 import 
org.apache.shardingsphere.test.e2e.framework.param.array.E2ETestParameterFactory;
 import 
org.apache.shardingsphere.test.e2e.framework.param.model.AssertionTestParameter;
 import org.junit.jupiter.api.condition.EnabledIf;
@@ -50,10 +50,10 @@ public final class GeneralDMLE2EIT extends BaseDMLE2EIT {
         if (null == testParam.getTestCaseContext()) {
             return;
         }
-        try (SingleE2EITContainerComposer containerComposer = new 
SingleE2EITContainerComposer(testParam)) {
+        try (SingleE2EContainerComposer containerComposer = new 
SingleE2EContainerComposer(testParam)) {
             init(testParam, containerComposer);
             int actualUpdateCount;
-            try (Connection connection = 
containerComposer.getContainerComposer().getTargetDataSource().getConnection()) 
{
+            try (Connection connection = 
containerComposer.getTargetDataSource().getConnection()) {
                 actualUpdateCount = SQLExecuteType.Literal == 
containerComposer.getSqlExecuteType()
                         ? executeUpdateForStatement(containerComposer, 
connection)
                         : executeUpdateForPreparedStatement(containerComposer, 
connection);
@@ -62,13 +62,13 @@ public final class GeneralDMLE2EIT extends BaseDMLE2EIT {
         }
     }
     
-    private int executeUpdateForStatement(final SingleE2EITContainerComposer 
containerComposer, final Connection connection) throws SQLException, 
ParseException {
+    private int executeUpdateForStatement(final SingleE2EContainerComposer 
containerComposer, final Connection connection) throws SQLException, 
ParseException {
         try (Statement statement = connection.createStatement()) {
             return statement.executeUpdate(containerComposer.getSQL());
         }
     }
     
-    private int executeUpdateForPreparedStatement(final 
SingleE2EITContainerComposer containerComposer, final Connection connection) 
throws SQLException, ParseException {
+    private int executeUpdateForPreparedStatement(final 
SingleE2EContainerComposer containerComposer, final Connection connection) 
throws SQLException, ParseException {
         try (PreparedStatement preparedStatement = 
connection.prepareStatement(containerComposer.getSQL())) {
             for (SQLValue each : 
containerComposer.getAssertion().getSQLValues()) {
                 preparedStatement.setObject(each.getIndex(), each.getValue());
@@ -85,10 +85,10 @@ public final class GeneralDMLE2EIT extends BaseDMLE2EIT {
         if (null == testParam.getTestCaseContext()) {
             return;
         }
-        try (SingleE2EITContainerComposer containerComposer = new 
SingleE2EITContainerComposer(testParam)) {
+        try (SingleE2EContainerComposer containerComposer = new 
SingleE2EContainerComposer(testParam)) {
             init(testParam, containerComposer);
             int actualUpdateCount;
-            try (Connection connection = 
containerComposer.getContainerComposer().getTargetDataSource().getConnection()) 
{
+            try (Connection connection = 
containerComposer.getTargetDataSource().getConnection()) {
                 actualUpdateCount = SQLExecuteType.Literal == 
containerComposer.getSqlExecuteType()
                         ? executeForStatement(containerComposer, connection)
                         : executeForPreparedStatement(containerComposer, 
connection);
@@ -97,14 +97,14 @@ public final class GeneralDMLE2EIT extends BaseDMLE2EIT {
         }
     }
     
-    private int executeForStatement(final SingleE2EITContainerComposer 
containerComposer, final Connection connection) throws SQLException, 
ParseException {
+    private int executeForStatement(final SingleE2EContainerComposer 
containerComposer, final Connection connection) throws SQLException, 
ParseException {
         try (Statement statement = connection.createStatement()) {
             assertFalse(statement.execute(containerComposer.getSQL()), "Not a 
DML statement.");
             return statement.getUpdateCount();
         }
     }
     
-    private int executeForPreparedStatement(final SingleE2EITContainerComposer 
containerComposer, final Connection connection) throws SQLException, 
ParseException {
+    private int executeForPreparedStatement(final SingleE2EContainerComposer 
containerComposer, final Connection connection) throws SQLException, 
ParseException {
         try (PreparedStatement preparedStatement = 
connection.prepareStatement(containerComposer.getSQL())) {
             for (SQLValue each : 
containerComposer.getAssertion().getSQLValues()) {
                 preparedStatement.setObject(each.getIndex(), each.getValue());
diff --git 
a/test/e2e/suite/src/test/java/org/apache/shardingsphere/test/e2e/engine/type/dql/AdditionalDQLE2EIT.java
 
b/test/e2e/suite/src/test/java/org/apache/shardingsphere/test/e2e/engine/type/dql/AdditionalDQLE2EIT.java
index eb3a49fce66..0ae7c252dc2 100644
--- 
a/test/e2e/suite/src/test/java/org/apache/shardingsphere/test/e2e/engine/type/dql/AdditionalDQLE2EIT.java
+++ 
b/test/e2e/suite/src/test/java/org/apache/shardingsphere/test/e2e/engine/type/dql/AdditionalDQLE2EIT.java
@@ -22,7 +22,7 @@ import 
org.apache.shardingsphere.test.e2e.cases.SQLExecuteType;
 import org.apache.shardingsphere.test.e2e.cases.value.SQLValue;
 import 
org.apache.shardingsphere.test.e2e.engine.arg.E2ETestCaseArgumentsProvider;
 import org.apache.shardingsphere.test.e2e.engine.arg.E2ETestCaseSettings;
-import org.apache.shardingsphere.test.e2e.engine.SingleE2EITContainerComposer;
+import 
org.apache.shardingsphere.test.e2e.engine.composer.SingleE2EContainerComposer;
 import 
org.apache.shardingsphere.test.e2e.env.runtime.IntegrationTestEnvironment;
 import 
org.apache.shardingsphere.test.e2e.framework.param.array.E2ETestParameterFactory;
 import 
org.apache.shardingsphere.test.e2e.framework.param.model.AssertionTestParameter;
@@ -52,7 +52,7 @@ public final class AdditionalDQLE2EIT extends BaseDQLE2EIT {
         if (null == testParam.getTestCaseContext()) {
             return;
         }
-        try (SingleE2EITContainerComposer containerComposer = new 
SingleE2EITContainerComposer(testParam)) {
+        try (SingleE2EContainerComposer containerComposer = new 
SingleE2EContainerComposer(testParam)) {
             init(testParam, containerComposer);
             // TODO fix e2e test blocked exception with PostgreSQL or 
openGuass in #23643
             if 
(isPostgreSQLOrOpenGauss(testParam.getDatabaseType().getType())) {
@@ -74,7 +74,7 @@ public final class AdditionalDQLE2EIT extends BaseDQLE2EIT {
         if (null == testParam.getTestCaseContext()) {
             return;
         }
-        try (SingleE2EITContainerComposer containerComposer = new 
SingleE2EITContainerComposer(testParam)) {
+        try (SingleE2EContainerComposer containerComposer = new 
SingleE2EContainerComposer(testParam)) {
             init(testParam, containerComposer);
             // TODO fix e2e test blocked exception with PostgreSQL or 
openGuass in #23643
             if 
(isPostgreSQLOrOpenGauss(testParam.getDatabaseType().getType())) {
@@ -96,7 +96,7 @@ public final class AdditionalDQLE2EIT extends BaseDQLE2EIT {
         if (null == testParam.getTestCaseContext()) {
             return;
         }
-        try (SingleE2EITContainerComposer containerComposer = new 
SingleE2EITContainerComposer(testParam)) {
+        try (SingleE2EContainerComposer containerComposer = new 
SingleE2EContainerComposer(testParam)) {
             init(testParam, containerComposer);
             // TODO fix e2e test blocked exception with PostgreSQL or 
openGuass in #23643
             if 
(isPostgreSQLOrOpenGauss(testParam.getDatabaseType().getType())) {
@@ -118,7 +118,7 @@ public final class AdditionalDQLE2EIT extends BaseDQLE2EIT {
         if (null == testParam.getTestCaseContext()) {
             return;
         }
-        try (SingleE2EITContainerComposer containerComposer = new 
SingleE2EITContainerComposer(testParam)) {
+        try (SingleE2EContainerComposer containerComposer = new 
SingleE2EContainerComposer(testParam)) {
             init(testParam, containerComposer);
             // TODO fix e2e test blocked exception with PostgreSQL or 
openGuass in #23643
             if 
(isPostgreSQLOrOpenGauss(testParam.getDatabaseType().getType())) {
@@ -137,13 +137,13 @@ public final class AdditionalDQLE2EIT extends 
BaseDQLE2EIT {
     }
     
     private void assertExecuteQueryWithXMLExpected(final 
AssertionTestParameter testParam,
-                                                   final 
SingleE2EITContainerComposer containerComposer, final int... resultSetTypes) 
throws SQLException, ParseException {
+                                                   final 
SingleE2EContainerComposer containerComposer, final int... resultSetTypes) 
throws SQLException, ParseException {
         // TODO Fix jdbc adapter
         if ("jdbc".equals(testParam.getAdapter())) {
             return;
         }
         try (
-                Connection connection = 
containerComposer.getContainerComposer().getTargetDataSource().getConnection();
+                Connection connection = 
containerComposer.getTargetDataSource().getConnection();
                 Statement statement = 2 == resultSetTypes.length ? 
connection.createStatement(resultSetTypes[0], resultSetTypes[1])
                         : connection.createStatement(resultSetTypes[0], 
resultSetTypes[1], resultSetTypes[2]);
                 ResultSet resultSet = 
statement.executeQuery(containerComposer.getSQL())) {
@@ -151,9 +151,9 @@ public final class AdditionalDQLE2EIT extends BaseDQLE2EIT {
         }
     }
     
-    private void assertExecuteQueryWithExpectedDataSource(final 
SingleE2EITContainerComposer containerComposer, final int... resultSetTypes) 
throws SQLException, ParseException {
+    private void assertExecuteQueryWithExpectedDataSource(final 
SingleE2EContainerComposer containerComposer, final int... resultSetTypes) 
throws SQLException, ParseException {
         try (
-                Connection actualConnection = 
containerComposer.getContainerComposer().getTargetDataSource().getConnection();
+                Connection actualConnection = 
containerComposer.getTargetDataSource().getConnection();
                 Connection expectedConnection = 
getExpectedDataSource().getConnection()) {
             if (SQLExecuteType.Literal == 
containerComposer.getSqlExecuteType()) {
                 
assertExecuteQueryForStatementWithResultSetTypes(containerComposer, 
actualConnection, expectedConnection, resultSetTypes);
@@ -163,7 +163,7 @@ public final class AdditionalDQLE2EIT extends BaseDQLE2EIT {
         }
     }
     
-    private void assertExecuteQueryForStatementWithResultSetTypes(final 
SingleE2EITContainerComposer containerComposer,
+    private void assertExecuteQueryForStatementWithResultSetTypes(final 
SingleE2EContainerComposer containerComposer,
                                                                   final 
Connection actualConnection, final Connection expectedConnection,
                                                                   final int... 
resultSetTypes) throws SQLException, ParseException {
         try (
@@ -177,7 +177,7 @@ public final class AdditionalDQLE2EIT extends BaseDQLE2EIT {
         }
     }
     
-    private void 
assertExecuteQueryForPreparedStatementWithResultSetTypes(final 
SingleE2EITContainerComposer containerComposer, final Connection 
actualConnection, final Connection expectedConnection,
+    private void 
assertExecuteQueryForPreparedStatementWithResultSetTypes(final 
SingleE2EContainerComposer containerComposer, final Connection 
actualConnection, final Connection expectedConnection,
                                                                           
final int... resultSetTypes) throws SQLException, ParseException {
         try (
                 PreparedStatement actualPreparedStatement = 2 == 
resultSetTypes.length ? 
actualConnection.prepareStatement(containerComposer.getSQL(), 
resultSetTypes[0], resultSetTypes[1])
@@ -197,13 +197,13 @@ public final class AdditionalDQLE2EIT extends 
BaseDQLE2EIT {
     }
     
     private void assertExecuteWithXMLExpected(final AssertionTestParameter 
testParam,
-                                              final 
SingleE2EITContainerComposer containerComposer, final int... resultSetTypes) 
throws SQLException, ParseException {
+                                              final SingleE2EContainerComposer 
containerComposer, final int... resultSetTypes) throws SQLException, 
ParseException {
         // TODO Fix jdbc adapter
         if ("jdbc".equals(testParam.getAdapter())) {
             return;
         }
         try (
-                Connection connection = 
containerComposer.getContainerComposer().getTargetDataSource().getConnection();
+                Connection connection = 
containerComposer.getTargetDataSource().getConnection();
                 Statement statement = 2 == resultSetTypes.length ? 
connection.createStatement(resultSetTypes[0], resultSetTypes[1])
                         : connection.createStatement(resultSetTypes[0], 
resultSetTypes[1], resultSetTypes[2])) {
             assertTrue(statement.execute(containerComposer.getSQL()), "Not a 
query statement.");
@@ -212,9 +212,9 @@ public final class AdditionalDQLE2EIT extends BaseDQLE2EIT {
         }
     }
     
-    private void assertExecuteWithExpectedDataSource(final 
SingleE2EITContainerComposer containerComposer, final int... resultSetTypes) 
throws SQLException, ParseException {
+    private void assertExecuteWithExpectedDataSource(final 
SingleE2EContainerComposer containerComposer, final int... resultSetTypes) 
throws SQLException, ParseException {
         try (
-                Connection actualConnection = 
containerComposer.getContainerComposer().getTargetDataSource().getConnection();
+                Connection actualConnection = 
containerComposer.getTargetDataSource().getConnection();
                 Connection expectedConnection = 
getExpectedDataSource().getConnection()) {
             if (SQLExecuteType.Literal == 
containerComposer.getSqlExecuteType()) {
                 assertExecuteForStatementWithResultSetTypes(containerComposer, 
actualConnection, expectedConnection, resultSetTypes);
@@ -224,7 +224,7 @@ public final class AdditionalDQLE2EIT extends BaseDQLE2EIT {
         }
     }
     
-    private void assertExecuteForStatementWithResultSetTypes(final 
SingleE2EITContainerComposer containerComposer,
+    private void assertExecuteForStatementWithResultSetTypes(final 
SingleE2EContainerComposer containerComposer,
                                                              final Connection 
actualConnection, final Connection expectedConnection, final int... 
resultSetTypes) throws SQLException, ParseException {
         try (
                 Statement actualStatement = 2 == resultSetTypes.length ? 
actualConnection.createStatement(resultSetTypes[0], resultSetTypes[1])
@@ -240,7 +240,7 @@ public final class AdditionalDQLE2EIT extends BaseDQLE2EIT {
         }
     }
     
-    private void assertExecuteForPreparedStatementWithResultSetTypes(final 
SingleE2EITContainerComposer containerComposer, final Connection 
actualConnection, final Connection expectedConnection,
+    private void assertExecuteForPreparedStatementWithResultSetTypes(final 
SingleE2EContainerComposer containerComposer, final Connection 
actualConnection, final Connection expectedConnection,
                                                                      final 
int... resultSetTypes) throws SQLException, ParseException {
         try (
                 PreparedStatement actualPreparedStatement = 2 == 
resultSetTypes.length ? 
actualConnection.prepareStatement(containerComposer.getSQL(), 
resultSetTypes[0], resultSetTypes[1])
diff --git 
a/test/e2e/suite/src/test/java/org/apache/shardingsphere/test/e2e/engine/type/dql/BaseDQLE2EIT.java
 
b/test/e2e/suite/src/test/java/org/apache/shardingsphere/test/e2e/engine/type/dql/BaseDQLE2EIT.java
index b443b2f58ce..8ebe2535f72 100644
--- 
a/test/e2e/suite/src/test/java/org/apache/shardingsphere/test/e2e/engine/type/dql/BaseDQLE2EIT.java
+++ 
b/test/e2e/suite/src/test/java/org/apache/shardingsphere/test/e2e/engine/type/dql/BaseDQLE2EIT.java
@@ -22,7 +22,7 @@ import lombok.Getter;
 import org.apache.shardingsphere.test.e2e.cases.dataset.metadata.DataSetColumn;
 import 
org.apache.shardingsphere.test.e2e.cases.dataset.metadata.DataSetMetaData;
 import org.apache.shardingsphere.test.e2e.cases.dataset.row.DataSetRow;
-import org.apache.shardingsphere.test.e2e.engine.SingleE2EITContainerComposer;
+import 
org.apache.shardingsphere.test.e2e.engine.composer.SingleE2EContainerComposer;
 import org.apache.shardingsphere.test.e2e.env.DataSetEnvironmentManager;
 import 
org.apache.shardingsphere.test.e2e.env.runtime.scenario.path.ScenarioDataPath;
 import 
org.apache.shardingsphere.test.e2e.env.runtime.scenario.path.ScenarioDataPath.Type;
@@ -66,23 +66,23 @@ public abstract class BaseDQLE2EIT {
      * @throws IOException IO exception
      * @throws JAXBException JAXB exception
      */
-    public final void init(final AssertionTestParameter testParam, final 
SingleE2EITContainerComposer containerComposer) throws SQLException, 
ParseException, IOException, JAXBException {
+    public final void init(final AssertionTestParameter testParam, final 
SingleE2EContainerComposer containerComposer) throws SQLException, 
ParseException, IOException, JAXBException {
         fillDataOnlyOnce(testParam, containerComposer);
-        expectedDataSource = null == 
containerComposer.getAssertion().getExpectedDataSourceName() || 1 == 
containerComposer.getContainerComposer().getExpectedDataSourceMap().size()
-                ? 
containerComposer.getContainerComposer().getExpectedDataSourceMap().values().iterator().next()
-                : 
containerComposer.getContainerComposer().getExpectedDataSourceMap().get(containerComposer.getAssertion().getExpectedDataSourceName());
+        expectedDataSource = null == 
containerComposer.getAssertion().getExpectedDataSourceName() || 1 == 
containerComposer.getExpectedDataSourceMap().size()
+                ? 
containerComposer.getExpectedDataSourceMap().values().iterator().next()
+                : 
containerComposer.getExpectedDataSourceMap().get(containerComposer.getAssertion().getExpectedDataSourceName());
         useXMLAsExpectedDataset = null != 
containerComposer.getAssertion().getExpectedDataFile();
     }
     
-    private void fillDataOnlyOnce(final AssertionTestParameter testParam, 
final SingleE2EITContainerComposer containerComposer) throws SQLException, 
ParseException, IOException, JAXBException {
-        String cacheKey = testParam.getKey() + "-" + 
System.identityHashCode(containerComposer.getContainerComposer().getActualDataSourceMap());
+    private void fillDataOnlyOnce(final AssertionTestParameter testParam, 
final SingleE2EContainerComposer containerComposer) throws SQLException, 
ParseException, IOException, JAXBException {
+        String cacheKey = testParam.getKey() + "-" + 
System.identityHashCode(containerComposer.getActualDataSourceMap());
         if (!FILLED_SUITES.contains(cacheKey)) {
             synchronized (FILLED_SUITES) {
                 if (!FILLED_SUITES.contains(cacheKey)) {
                     new DataSetEnvironmentManager(
-                            new 
ScenarioDataPath(testParam.getScenario()).getDataSetFile(Type.ACTUAL), 
containerComposer.getContainerComposer().getActualDataSourceMap()).fillData();
+                            new 
ScenarioDataPath(testParam.getScenario()).getDataSetFile(Type.ACTUAL), 
containerComposer.getActualDataSourceMap()).fillData();
                     new DataSetEnvironmentManager(
-                            new 
ScenarioDataPath(testParam.getScenario()).getDataSetFile(Type.EXPECTED), 
containerComposer.getContainerComposer().getExpectedDataSourceMap()).fillData();
+                            new 
ScenarioDataPath(testParam.getScenario()).getDataSetFile(Type.EXPECTED), 
containerComposer.getExpectedDataSourceMap()).fillData();
                     FILLED_SUITES.add(cacheKey);
                 }
             }
@@ -94,12 +94,12 @@ public abstract class BaseDQLE2EIT {
         assertRows(actualResultSet, expectedResultSet);
     }
     
-    protected final void assertResultSet(final SingleE2EITContainerComposer 
containerComposer, final ResultSet resultSet) throws SQLException {
+    protected final void assertResultSet(final SingleE2EContainerComposer 
containerComposer, final ResultSet resultSet) throws SQLException {
         assertMetaData(resultSet.getMetaData(), 
getExpectedColumns(containerComposer));
         assertRows(resultSet, getNotAssertionColumns(containerComposer), 
containerComposer.getDataSet().getRows());
     }
     
-    private Collection<DataSetColumn> getExpectedColumns(final 
SingleE2EITContainerComposer containerComposer) {
+    private Collection<DataSetColumn> getExpectedColumns(final 
SingleE2EContainerComposer containerComposer) {
         Collection<DataSetColumn> result = new LinkedList<>();
         for (DataSetMetaData each : 
containerComposer.getDataSet().getMetaDataList()) {
             result.addAll(each.getColumns());
@@ -107,7 +107,7 @@ public abstract class BaseDQLE2EIT {
         return result;
     }
     
-    private Collection<String> getNotAssertionColumns(final 
SingleE2EITContainerComposer containerComposer) {
+    private Collection<String> getNotAssertionColumns(final 
SingleE2EContainerComposer containerComposer) {
         Collection<String> result = new LinkedList<>();
         for (DataSetMetaData each : 
containerComposer.getDataSet().getMetaDataList()) {
             result.addAll(each.getColumns().stream().filter(column -> 
"false".equals(column.getAssertion())).map(DataSetColumn::getName).collect(Collectors.toList()));
diff --git 
a/test/e2e/suite/src/test/java/org/apache/shardingsphere/test/e2e/engine/type/dql/GeneralDQLE2EIT.java
 
b/test/e2e/suite/src/test/java/org/apache/shardingsphere/test/e2e/engine/type/dql/GeneralDQLE2EIT.java
index e930503096d..5907ac04290 100644
--- 
a/test/e2e/suite/src/test/java/org/apache/shardingsphere/test/e2e/engine/type/dql/GeneralDQLE2EIT.java
+++ 
b/test/e2e/suite/src/test/java/org/apache/shardingsphere/test/e2e/engine/type/dql/GeneralDQLE2EIT.java
@@ -22,7 +22,7 @@ import 
org.apache.shardingsphere.test.e2e.cases.SQLExecuteType;
 import org.apache.shardingsphere.test.e2e.cases.value.SQLValue;
 import 
org.apache.shardingsphere.test.e2e.engine.arg.E2ETestCaseArgumentsProvider;
 import org.apache.shardingsphere.test.e2e.engine.arg.E2ETestCaseSettings;
-import org.apache.shardingsphere.test.e2e.engine.SingleE2EITContainerComposer;
+import 
org.apache.shardingsphere.test.e2e.engine.composer.SingleE2EContainerComposer;
 import 
org.apache.shardingsphere.test.e2e.framework.param.array.E2ETestParameterFactory;
 import 
org.apache.shardingsphere.test.e2e.framework.param.model.AssertionTestParameter;
 import org.junit.jupiter.api.condition.EnabledIf;
@@ -51,7 +51,7 @@ public final class GeneralDQLE2EIT extends BaseDQLE2EIT {
         if (null == testParam.getTestCaseContext()) {
             return;
         }
-        try (SingleE2EITContainerComposer containerComposer = new 
SingleE2EITContainerComposer(testParam)) {
+        try (SingleE2EContainerComposer containerComposer = new 
SingleE2EContainerComposer(testParam)) {
             init(testParam, containerComposer);
             if (isUseXMLAsExpectedDataset()) {
                 assertExecuteQueryWithXmlExpected(testParam, 
containerComposer);
@@ -62,22 +62,22 @@ public final class GeneralDQLE2EIT extends BaseDQLE2EIT {
         
     }
     
-    private void assertExecuteQueryWithXmlExpected(final 
AssertionTestParameter testParam, final SingleE2EITContainerComposer 
containerComposer) throws SQLException, ParseException {
+    private void assertExecuteQueryWithXmlExpected(final 
AssertionTestParameter testParam, final SingleE2EContainerComposer 
containerComposer) throws SQLException, ParseException {
         // TODO Fix jdbc adapter
         if ("jdbc".equals(testParam.getAdapter())) {
             return;
         }
         try (
-                Connection connection = 
containerComposer.getContainerComposer().getTargetDataSource().getConnection();
+                Connection connection = 
containerComposer.getTargetDataSource().getConnection();
                 Statement statement = connection.createStatement();
                 ResultSet resultSet = 
statement.executeQuery(containerComposer.getSQL())) {
             assertResultSet(containerComposer, resultSet);
         }
     }
     
-    private void assertExecuteQueryWithExpectedDataSource(final 
SingleE2EITContainerComposer containerComposer) throws SQLException, 
ParseException {
+    private void assertExecuteQueryWithExpectedDataSource(final 
SingleE2EContainerComposer containerComposer) throws SQLException, 
ParseException {
         try (
-                Connection actualConnection = 
containerComposer.getContainerComposer().getTargetDataSource().getConnection();
+                Connection actualConnection = 
containerComposer.getTargetDataSource().getConnection();
                 Connection expectedConnection = 
getExpectedDataSource().getConnection()) {
             if (SQLExecuteType.Literal == 
containerComposer.getSqlExecuteType()) {
                 assertExecuteQueryForStatement(containerComposer, 
actualConnection, expectedConnection);
@@ -87,7 +87,7 @@ public final class GeneralDQLE2EIT extends BaseDQLE2EIT {
         }
     }
     
-    private void assertExecuteQueryForStatement(final 
SingleE2EITContainerComposer containerComposer,
+    private void assertExecuteQueryForStatement(final 
SingleE2EContainerComposer containerComposer,
                                                 final Connection 
actualConnection, final Connection expectedConnection) throws SQLException, 
ParseException {
         try (
                 Statement actualStatement = actualConnection.createStatement();
@@ -98,7 +98,7 @@ public final class GeneralDQLE2EIT extends BaseDQLE2EIT {
         }
     }
     
-    private void assertExecuteQueryForPreparedStatement(final 
SingleE2EITContainerComposer containerComposer,
+    private void assertExecuteQueryForPreparedStatement(final 
SingleE2EContainerComposer containerComposer,
                                                         final Connection 
actualConnection, final Connection expectedConnection) throws SQLException, 
ParseException {
         try (
                 PreparedStatement actualPreparedStatement = 
actualConnection.prepareStatement(containerComposer.getSQL());
@@ -123,7 +123,7 @@ public final class GeneralDQLE2EIT extends BaseDQLE2EIT {
         if (null == testParam.getTestCaseContext()) {
             return;
         }
-        try (SingleE2EITContainerComposer containerComposer = new 
SingleE2EITContainerComposer(testParam)) {
+        try (SingleE2EContainerComposer containerComposer = new 
SingleE2EContainerComposer(testParam)) {
             init(testParam, containerComposer);
             if (isUseXMLAsExpectedDataset()) {
                 assertExecuteWithXmlExpected(testParam, containerComposer);
@@ -133,13 +133,13 @@ public final class GeneralDQLE2EIT extends BaseDQLE2EIT {
         }
     }
     
-    private void assertExecuteWithXmlExpected(final AssertionTestParameter 
testParam, final SingleE2EITContainerComposer containerComposer) throws 
SQLException, ParseException {
+    private void assertExecuteWithXmlExpected(final AssertionTestParameter 
testParam, final SingleE2EContainerComposer containerComposer) throws 
SQLException, ParseException {
         // TODO Fix jdbc adapter
         if ("jdbc".equals(testParam.getAdapter())) {
             return;
         }
         try (
-                Connection connection = 
containerComposer.getContainerComposer().getTargetDataSource().getConnection();
+                Connection connection = 
containerComposer.getTargetDataSource().getConnection();
                 Statement statement = connection.createStatement()) {
             assertTrue(statement.execute(containerComposer.getSQL()), "Not a 
query statement.");
             ResultSet resultSet = statement.getResultSet();
@@ -147,9 +147,9 @@ public final class GeneralDQLE2EIT extends BaseDQLE2EIT {
         }
     }
     
-    private void assertExecuteWithExpectedDataSource(final 
SingleE2EITContainerComposer containerComposer) throws SQLException, 
ParseException {
+    private void assertExecuteWithExpectedDataSource(final 
SingleE2EContainerComposer containerComposer) throws SQLException, 
ParseException {
         try (
-                Connection actualConnection = 
containerComposer.getContainerComposer().getTargetDataSource().getConnection();
+                Connection actualConnection = 
containerComposer.getTargetDataSource().getConnection();
                 Connection expectedConnection = 
getExpectedDataSource().getConnection()) {
             if (SQLExecuteType.Literal == 
containerComposer.getSqlExecuteType()) {
                 assertExecuteForStatement(containerComposer, actualConnection, 
expectedConnection);
@@ -159,7 +159,7 @@ public final class GeneralDQLE2EIT extends BaseDQLE2EIT {
         }
     }
     
-    private void assertExecuteForStatement(final SingleE2EITContainerComposer 
containerComposer,
+    private void assertExecuteForStatement(final SingleE2EContainerComposer 
containerComposer,
                                            final Connection actualConnection, 
final Connection expectedConnection) throws SQLException, ParseException {
         try (
                 Statement actualStatement = actualConnection.createStatement();
@@ -173,7 +173,7 @@ public final class GeneralDQLE2EIT extends BaseDQLE2EIT {
         }
     }
     
-    private void assertExecuteForPreparedStatement(final 
SingleE2EITContainerComposer containerComposer,
+    private void assertExecuteForPreparedStatement(final 
SingleE2EContainerComposer containerComposer,
                                                    final Connection 
actualConnection, final Connection expectedConnection) throws SQLException, 
ParseException {
         try (
                 PreparedStatement actualPreparedStatement = 
actualConnection.prepareStatement(containerComposer.getSQL());

Reply via email to