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 c2c0d00df1a Refactor some dql test case which compare expect by xml. 
(#23931)
c2c0d00df1a is described below

commit c2c0d00df1a16d1e0e79a33809bfcf5e85cb4b43
Author: Chuxin Chen <[email protected]>
AuthorDate: Fri Feb 3 17:50:03 2023 +0800

    Refactor some dql test case which compare expect by xml. (#23931)
    
    * Refactor some dql test case which compare expect by xml.
    
    * Refactor some dql test case which compare expect by xml.
    
    * Refactor some dql test case which compare expect by xml.
    
    * Refactor some dql test case which compare expect by xml.
    
    * Refactor some dql test case which compare expect by xml.
---
 .../test/e2e/cases/dataset/row/DataSetRow.java     |   3 +
 .../test/e2e/engine/dql/AdditionalDQLE2EIT.java    | 200 ++++++++++-----------
 .../test/e2e/engine/dql/BaseDQLE2EIT.java          |  97 ++++++++++
 .../test/e2e/engine/dql/GeneralDQLE2EIT.java       |  43 +++++
 .../dataset/db}/select_cluster_information.xml     |   0
 .../db/select_sharding_table_statistics.xml        |  62 +++++++
 .../dql/dataset/db/select_sys_data_for_og.xml      |  44 +++++
 .../dql/dataset/db/select_sys_data_for_pg.xml      |  43 +++++
 .../cases/dql/dql-integration-test-cases.xml       |  16 ++
 .../mysql/select_sharding_table_statistics.xml     | 108 -----------
 .../opengauss/select_sharding_table_statistics.xml | 108 -----------
 .../cluster/opengauss/select_sys_data_for_og.xml   |  29 ---
 .../select_sharding_table_statistics.xml           | 108 -----------
 .../cluster/postgresql/select_sys_data_for_pg.xml  |  28 ---
 .../select_sharding_table_statistics.xml           |  28 ---
 .../opengauss/select_sys_data_for_og.xml           |  26 ---
 .../postgresql/select_sys_data_for_pg.xml          |  25 ---
 .../cases/ral/ral-integration-test-cases.xml       |  16 --
 18 files changed, 398 insertions(+), 586 deletions(-)

diff --git 
a/test/e2e/suite/src/test/java/org/apache/shardingsphere/test/e2e/cases/dataset/row/DataSetRow.java
 
b/test/e2e/suite/src/test/java/org/apache/shardingsphere/test/e2e/cases/dataset/row/DataSetRow.java
index 7f4de97ddce..ee64067824d 100644
--- 
a/test/e2e/suite/src/test/java/org/apache/shardingsphere/test/e2e/cases/dataset/row/DataSetRow.java
+++ 
b/test/e2e/suite/src/test/java/org/apache/shardingsphere/test/e2e/cases/dataset/row/DataSetRow.java
@@ -42,6 +42,9 @@ public final class DataSetRow {
     @XmlAttribute(required = true)
     private String values;
     
+    @XmlAttribute
+    private boolean mayNotExist;
+    
     /**
      * Split values with vertical bar.
      *
diff --git 
a/test/e2e/suite/src/test/java/org/apache/shardingsphere/test/e2e/engine/dql/AdditionalDQLE2EIT.java
 
b/test/e2e/suite/src/test/java/org/apache/shardingsphere/test/e2e/engine/dql/AdditionalDQLE2EIT.java
index 8883137df50..9c812503eab 100644
--- 
a/test/e2e/suite/src/test/java/org/apache/shardingsphere/test/e2e/engine/dql/AdditionalDQLE2EIT.java
+++ 
b/test/e2e/suite/src/test/java/org/apache/shardingsphere/test/e2e/engine/dql/AdditionalDQLE2EIT.java
@@ -57,169 +57,149 @@ public final class AdditionalDQLE2EIT extends 
BaseDQLE2EIT {
         if (isPostgreSQLOrOpenGauss(getDatabaseType().getType())) {
             return;
         }
-        try (
-                Connection actualConnection = 
getTargetDataSource().getConnection();
-                Connection expectedConnection = 
getExpectedDataSource().getConnection()) {
-            if (SQLExecuteType.Literal == getSqlExecuteType()) {
-                
assertExecuteQueryForStatementWithResultSetTypeAndResultSetConcurrency(actualConnection,
 expectedConnection);
-            } else {
-                
assertExecuteQueryForPreparedStatementWithResultSetTypeAndResultSetConcurrency(actualConnection,
 expectedConnection);
-            }
+        if (isUseXMLAsExpectedDataset()) {
+            assertExecuteQueryWithXMLExpected(ResultSet.TYPE_FORWARD_ONLY, 
ResultSet.CONCUR_READ_ONLY);
+        } else {
+            
assertExecuteQueryWithExpectedDataSource(ResultSet.TYPE_FORWARD_ONLY, 
ResultSet.CONCUR_READ_ONLY);
         }
     }
     
-    private boolean isPostgreSQLOrOpenGauss(final String databaseType) {
-        return "PostgreSQL".equals(databaseType) || 
"openGauss".equals(databaseType);
-    }
-    
-    private void 
assertExecuteQueryForStatementWithResultSetTypeAndResultSetConcurrency(
-                                                                               
         final Connection actualConnection, final Connection 
expectedConnection) throws SQLException, ParseException {
-        try (
-                Statement actualStatement = 
actualConnection.createStatement(ResultSet.TYPE_FORWARD_ONLY, 
ResultSet.CONCUR_READ_ONLY);
-                ResultSet actualResultSet = 
actualStatement.executeQuery(getSQL());
-                Statement expectedStatement = 
expectedConnection.createStatement(ResultSet.TYPE_FORWARD_ONLY, 
ResultSet.CONCUR_READ_ONLY);
-                ResultSet expectedResultSet = 
expectedStatement.executeQuery(getSQL())) {
-            assertResultSet(actualResultSet, expectedResultSet);
+    @Test
+    public void 
assertExecuteQueryWithResultSetTypeAndResultSetConcurrencyAndResultSetHoldability()
 throws SQLException, ParseException {
+        // TODO fix e2e test blocked exception with PostgreSQL or openGuass in 
#23643
+        if (isPostgreSQLOrOpenGauss(getDatabaseType().getType())) {
+            return;
+        }
+        if (isUseXMLAsExpectedDataset()) {
+            assertExecuteQueryWithXMLExpected(ResultSet.TYPE_FORWARD_ONLY, 
ResultSet.CONCUR_READ_ONLY, ResultSet.HOLD_CURSORS_OVER_COMMIT);
+        } else {
+            
assertExecuteQueryWithExpectedDataSource(ResultSet.TYPE_FORWARD_ONLY, 
ResultSet.CONCUR_READ_ONLY, ResultSet.HOLD_CURSORS_OVER_COMMIT);
         }
     }
     
-    private void 
assertExecuteQueryForPreparedStatementWithResultSetTypeAndResultSetConcurrency(
-                                                                               
                 final Connection actualConnection,
-                                                                               
                 final Connection expectedConnection) throws SQLException, 
ParseException {
-        try (
-                PreparedStatement actualPreparedStatement = 
actualConnection.prepareStatement(getSQL(), ResultSet.TYPE_FORWARD_ONLY, 
ResultSet.CONCUR_READ_ONLY);
-                PreparedStatement expectedPreparedStatement = 
expectedConnection.prepareStatement(getSQL(), ResultSet.TYPE_FORWARD_ONLY, 
ResultSet.CONCUR_READ_ONLY)) {
-            for (SQLValue each : getAssertion().getSQLValues()) {
-                actualPreparedStatement.setObject(each.getIndex(), 
each.getValue());
-                expectedPreparedStatement.setObject(each.getIndex(), 
each.getValue());
-            }
-            try (
-                    ResultSet actualResultSet = 
actualPreparedStatement.executeQuery();
-                    ResultSet expectedResultSet = 
expectedPreparedStatement.executeQuery()) {
-                assertResultSet(actualResultSet, expectedResultSet);
-            }
+    @Test
+    public void assertExecuteWithResultSetTypeAndResultSetConcurrency() throws 
SQLException, ParseException {
+        // TODO fix e2e test blocked exception with PostgreSQL or openGuass in 
#23643
+        if (isPostgreSQLOrOpenGauss(getDatabaseType().getType())) {
+            return;
+        }
+        if (isUseXMLAsExpectedDataset()) {
+            assertExecuteWithXMLExpected(ResultSet.TYPE_FORWARD_ONLY, 
ResultSet.CONCUR_READ_ONLY);
+        } else {
+            assertExecuteWithExpectedDataSource(ResultSet.TYPE_FORWARD_ONLY, 
ResultSet.CONCUR_READ_ONLY);
         }
     }
     
     @Test
-    public void 
assertExecuteQueryWithResultSetTypeAndResultSetConcurrencyAndResultSetHoldability()
 throws SQLException, ParseException {
+    public void 
assertExecuteWithResultSetTypeAndResultSetConcurrencyAndResultSetHoldability() 
throws SQLException, ParseException {
         // TODO fix e2e test blocked exception with PostgreSQL or openGuass in 
#23643
         if (isPostgreSQLOrOpenGauss(getDatabaseType().getType())) {
             return;
         }
-        try (
-                Connection actualConnection = 
getTargetDataSource().getConnection();
-                Connection expectedConnection = 
getExpectedDataSource().getConnection()) {
-            if (SQLExecuteType.Literal == getSqlExecuteType()) {
-                
assertExecuteQueryForStatementWithResultSetTypeAndResultSetConcurrencyAndResultSetHoldability(actualConnection,
 expectedConnection);
-            } else {
-                
assertExecuteQueryForPreparedStatementWithResultSetTypeAndResultSetConcurrencyAndResultSetHoldability(actualConnection,
 expectedConnection);
-            }
+        if (isUseXMLAsExpectedDataset()) {
+            assertExecuteWithXMLExpected(ResultSet.TYPE_FORWARD_ONLY, 
ResultSet.CONCUR_READ_ONLY, ResultSet.HOLD_CURSORS_OVER_COMMIT);
+        } else {
+            assertExecuteWithExpectedDataSource(ResultSet.TYPE_FORWARD_ONLY, 
ResultSet.CONCUR_READ_ONLY, ResultSet.HOLD_CURSORS_OVER_COMMIT);
         }
     }
     
-    private void 
assertExecuteQueryForStatementWithResultSetTypeAndResultSetConcurrencyAndResultSetHoldability(
-                                                                               
                                final Connection actualConnection,
-                                                                               
                                final Connection expectedConnection) throws 
SQLException, ParseException {
-        try (
-                Statement actualStatement = 
actualConnection.createStatement(ResultSet.TYPE_FORWARD_ONLY, 
ResultSet.CONCUR_READ_ONLY, ResultSet.HOLD_CURSORS_OVER_COMMIT);
-                ResultSet actualResultSet = 
actualStatement.executeQuery(getSQL());
-                Statement expectedStatement = 
expectedConnection.createStatement(ResultSet.TYPE_FORWARD_ONLY, 
ResultSet.CONCUR_READ_ONLY, ResultSet.HOLD_CURSORS_OVER_COMMIT);
-                ResultSet expectedResultSet = 
expectedStatement.executeQuery(getSQL())) {
-            assertResultSet(actualResultSet, expectedResultSet);
-        }
+    private boolean isPostgreSQLOrOpenGauss(final String databaseType) {
+        return "PostgreSQL".equals(databaseType) || 
"openGauss".equals(databaseType);
     }
     
-    private void 
assertExecuteQueryForPreparedStatementWithResultSetTypeAndResultSetConcurrencyAndResultSetHoldability(
-                                                                               
                                        final Connection actualConnection,
-                                                                               
                                        final Connection expectedConnection) 
throws SQLException, ParseException {
+    private void assertExecuteQueryWithXMLExpected(final int... 
resultSetTypes) throws SQLException, ParseException {
+        // TODO Fix jdbc adapter
+        if ("jdbc".equals(getAdapter())) {
+            return;
+        }
         try (
-                PreparedStatement actualPreparedStatement = 
actualConnection.prepareStatement(getSQL(), ResultSet.TYPE_FORWARD_ONLY, 
ResultSet.CONCUR_READ_ONLY, ResultSet.HOLD_CURSORS_OVER_COMMIT);
-                PreparedStatement expectedPreparedStatement = 
expectedConnection.prepareStatement(
-                        getSQL(), ResultSet.TYPE_FORWARD_ONLY, 
ResultSet.CONCUR_READ_ONLY, ResultSet.HOLD_CURSORS_OVER_COMMIT)) {
-            for (SQLValue each : getAssertion().getSQLValues()) {
-                actualPreparedStatement.setObject(each.getIndex(), 
each.getValue());
-                expectedPreparedStatement.setObject(each.getIndex(), 
each.getValue());
-            }
-            try (
-                    ResultSet actualResultSet = 
actualPreparedStatement.executeQuery();
-                    ResultSet expectedResultSet = 
expectedPreparedStatement.executeQuery()) {
-                assertResultSet(actualResultSet, expectedResultSet);
-            }
+                Connection connection = 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(getSQL())) {
+            assertResultSet(resultSet);
         }
     }
     
-    @Test
-    public void assertExecuteWithResultSetTypeAndResultSetConcurrency() throws 
SQLException, ParseException {
-        // TODO fix e2e test blocked exception with PostgreSQL or openGuass in 
#23643
-        if (isPostgreSQLOrOpenGauss(getDatabaseType().getType())) {
-            return;
-        }
+    private void assertExecuteQueryWithExpectedDataSource(final int... 
resultSetTypes) throws SQLException, ParseException {
         try (
                 Connection actualConnection = 
getTargetDataSource().getConnection();
                 Connection expectedConnection = 
getExpectedDataSource().getConnection()) {
             if (SQLExecuteType.Literal == getSqlExecuteType()) {
-                
assertExecuteForStatementWithResultSetTypeAndResultSetConcurrency(actualConnection,
 expectedConnection);
+                
assertExecuteQueryForStatementWithResultSetTypes(actualConnection, 
expectedConnection, resultSetTypes);
             } else {
-                
assertExecuteForPreparedStatementWithResultSetTypeAndResultSetConcurrency(actualConnection,
 expectedConnection);
+                
assertExecuteQueryForPreparedStatementWithResultSetTypes(actualConnection, 
expectedConnection, resultSetTypes);
             }
         }
     }
     
-    private void 
assertExecuteForStatementWithResultSetTypeAndResultSetConcurrency(final 
Connection actualConnection, final Connection expectedConnection) throws 
SQLException, ParseException {
+    private void assertExecuteQueryForStatementWithResultSetTypes(
+                                                                  final 
Connection actualConnection, final Connection expectedConnection,
+                                                                  final int... 
resultSetTypes) throws SQLException, ParseException {
         try (
-                Statement actualStatement = 
actualConnection.createStatement(ResultSet.TYPE_FORWARD_ONLY, 
ResultSet.CONCUR_READ_ONLY);
-                Statement expectedStatement = 
expectedConnection.createStatement(ResultSet.TYPE_FORWARD_ONLY, 
ResultSet.CONCUR_READ_ONLY)) {
-            assertTrue("Not a query statement.", 
actualStatement.execute(getSQL()) && expectedStatement.execute(getSQL()));
-            try (
-                    ResultSet actualResultSet = actualStatement.getResultSet();
-                    ResultSet expectedResultSet = 
expectedStatement.getResultSet()) {
-                assertResultSet(actualResultSet, expectedResultSet);
-            }
+                Statement actualStatement = 2 == resultSetTypes.length ? 
actualConnection.createStatement(resultSetTypes[0], resultSetTypes[1])
+                        : actualConnection.createStatement(resultSetTypes[0], 
resultSetTypes[1], resultSetTypes[2]);
+                ResultSet actualResultSet = 
actualStatement.executeQuery(getSQL());
+                Statement expectedStatement = 2 == resultSetTypes.length ? 
expectedConnection.createStatement(resultSetTypes[0], resultSetTypes[1])
+                        : 
expectedConnection.createStatement(resultSetTypes[0], resultSetTypes[1], 
resultSetTypes[2]);
+                ResultSet expectedResultSet = 
expectedStatement.executeQuery(getSQL())) {
+            assertResultSet(actualResultSet, expectedResultSet);
         }
     }
     
-    private void 
assertExecuteForPreparedStatementWithResultSetTypeAndResultSetConcurrency(
-                                                                               
            final Connection actualConnection, final Connection 
expectedConnection) throws SQLException, ParseException {
+    private void 
assertExecuteQueryForPreparedStatementWithResultSetTypes(final Connection 
actualConnection, final Connection expectedConnection,
+                                                                          
final int... resultSetTypes) throws SQLException, ParseException {
         try (
-                PreparedStatement actualPreparedStatement = 
actualConnection.prepareStatement(getSQL(), ResultSet.TYPE_FORWARD_ONLY, 
ResultSet.CONCUR_READ_ONLY);
-                PreparedStatement expectedPreparedStatement = 
expectedConnection.prepareStatement(getSQL(), ResultSet.TYPE_FORWARD_ONLY, 
ResultSet.CONCUR_READ_ONLY)) {
+                PreparedStatement actualPreparedStatement = 2 == 
resultSetTypes.length ? actualConnection.prepareStatement(getSQL(), 
resultSetTypes[0], resultSetTypes[1])
+                        : actualConnection.prepareStatement(getSQL(), 
resultSetTypes[0], resultSetTypes[1], resultSetTypes[2]);
+                PreparedStatement expectedPreparedStatement = 2 == 
resultSetTypes.length ? expectedConnection.prepareStatement(getSQL(), 
resultSetTypes[0], resultSetTypes[1])
+                        : expectedConnection.prepareStatement(getSQL(), 
resultSetTypes[0], resultSetTypes[1], resultSetTypes[2])) {
             for (SQLValue each : getAssertion().getSQLValues()) {
                 actualPreparedStatement.setObject(each.getIndex(), 
each.getValue());
                 expectedPreparedStatement.setObject(each.getIndex(), 
each.getValue());
             }
-            assertTrue("Not a query statement.", 
actualPreparedStatement.execute() && expectedPreparedStatement.execute());
             try (
-                    ResultSet actualResultSet = 
actualPreparedStatement.getResultSet();
-                    ResultSet expectedResultSet = 
expectedPreparedStatement.getResultSet()) {
+                    ResultSet actualResultSet = 
actualPreparedStatement.executeQuery();
+                    ResultSet expectedResultSet = 
expectedPreparedStatement.executeQuery()) {
                 assertResultSet(actualResultSet, expectedResultSet);
             }
         }
     }
     
-    @Test
-    public void 
assertExecuteWithResultSetTypeAndResultSetConcurrencyAndResultSetHoldability() 
throws SQLException, ParseException {
-        // TODO fix e2e test blocked exception with PostgreSQL or openGuass in 
#23643
-        if (isPostgreSQLOrOpenGauss(getDatabaseType().getType())) {
+    private void assertExecuteWithXMLExpected(final int... resultSetTypes) 
throws SQLException, ParseException {
+        // TODO Fix jdbc adapter
+        if ("jdbc".equals(getAdapter())) {
             return;
         }
+        try (
+                Connection connection = getTargetDataSource().getConnection();
+                Statement statement = 2 == resultSetTypes.length ? 
connection.createStatement(resultSetTypes[0], resultSetTypes[1])
+                        : connection.createStatement(resultSetTypes[0], 
resultSetTypes[1], resultSetTypes[2])) {
+            assertTrue("Not a query statement.", statement.execute(getSQL()));
+            ResultSet resultSet = statement.getResultSet();
+            assertResultSet(resultSet);
+        }
+    }
+    
+    private void assertExecuteWithExpectedDataSource(final int... 
resultSetTypes) throws SQLException, ParseException {
         try (
                 Connection actualConnection = 
getTargetDataSource().getConnection();
                 Connection expectedConnection = 
getExpectedDataSource().getConnection()) {
             if (SQLExecuteType.Literal == getSqlExecuteType()) {
-                
assertExecuteForStatementWithResultSetTypeAndResultSetConcurrencyAndResultSetHoldability(actualConnection,
 expectedConnection);
+                assertExecuteForStatementWithResultSetTypes(actualConnection, 
expectedConnection, resultSetTypes);
             } else {
-                
assertExecuteForPreparedStatementWithResultSetTypeAndResultSetConcurrencyAndResultSetHoldability(actualConnection,
 expectedConnection);
+                
assertExecuteForPreparedStatementWithResultSetTypes(actualConnection, 
expectedConnection, resultSetTypes);
             }
         }
     }
     
-    private void 
assertExecuteForStatementWithResultSetTypeAndResultSetConcurrencyAndResultSetHoldability(
-                                                                               
                           final Connection actualConnection,
-                                                                               
                           final Connection expectedConnection) throws 
SQLException, ParseException {
+    private void assertExecuteForStatementWithResultSetTypes(
+                                                             final Connection 
actualConnection, final Connection expectedConnection, final int... 
resultSetTypes) throws SQLException, ParseException {
         try (
-                Statement actualStatement = 
actualConnection.createStatement(ResultSet.TYPE_FORWARD_ONLY, 
ResultSet.CONCUR_READ_ONLY, ResultSet.HOLD_CURSORS_OVER_COMMIT);
-                Statement expectedStatement = 
expectedConnection.createStatement(ResultSet.TYPE_FORWARD_ONLY, 
ResultSet.CONCUR_READ_ONLY, ResultSet.HOLD_CURSORS_OVER_COMMIT)) {
+                Statement actualStatement = 2 == resultSetTypes.length ? 
actualConnection.createStatement(resultSetTypes[0], resultSetTypes[1])
+                        : actualConnection.createStatement(resultSetTypes[0], 
resultSetTypes[1], resultSetTypes[2]);
+                Statement expectedStatement = 2 == resultSetTypes.length ? 
expectedConnection.createStatement(resultSetTypes[0], resultSetTypes[1])
+                        : 
expectedConnection.createStatement(resultSetTypes[0], resultSetTypes[1], 
resultSetTypes[2])) {
             assertTrue("Not a query statement.", 
actualStatement.execute(getSQL()) && expectedStatement.execute(getSQL()));
             try (
                     ResultSet actualResultSet = actualStatement.getResultSet();
@@ -229,13 +209,13 @@ public final class AdditionalDQLE2EIT extends 
BaseDQLE2EIT {
         }
     }
     
-    private void 
assertExecuteForPreparedStatementWithResultSetTypeAndResultSetConcurrencyAndResultSetHoldability(
-                                                                               
                                   final Connection actualConnection,
-                                                                               
                                   final Connection expectedConnection) throws 
SQLException, ParseException {
+    private void assertExecuteForPreparedStatementWithResultSetTypes(final 
Connection actualConnection, final Connection expectedConnection,
+                                                                     final 
int... resultSetTypes) throws SQLException, ParseException {
         try (
-                PreparedStatement actualPreparedStatement = 
actualConnection.prepareStatement(getSQL(), ResultSet.TYPE_FORWARD_ONLY, 
ResultSet.CONCUR_READ_ONLY, ResultSet.HOLD_CURSORS_OVER_COMMIT);
-                PreparedStatement expectedPreparedStatement = 
expectedConnection.prepareStatement(
-                        getSQL(), ResultSet.TYPE_FORWARD_ONLY, 
ResultSet.CONCUR_READ_ONLY, ResultSet.HOLD_CURSORS_OVER_COMMIT)) {
+                PreparedStatement actualPreparedStatement = 2 == 
resultSetTypes.length ? actualConnection.prepareStatement(getSQL(), 
resultSetTypes[0], resultSetTypes[1])
+                        : actualConnection.prepareStatement(getSQL(), 
resultSetTypes[0], resultSetTypes[1], resultSetTypes[2]);
+                PreparedStatement expectedPreparedStatement = 2 == 
resultSetTypes.length ? expectedConnection.prepareStatement(getSQL(), 
resultSetTypes[0], resultSetTypes[1])
+                        : expectedConnection.prepareStatement(getSQL(), 
resultSetTypes[0], resultSetTypes[1], resultSetTypes[2])) {
             for (SQLValue each : getAssertion().getSQLValues()) {
                 actualPreparedStatement.setObject(each.getIndex(), 
each.getValue());
                 expectedPreparedStatement.setObject(each.getIndex(), 
each.getValue());
diff --git 
a/test/e2e/suite/src/test/java/org/apache/shardingsphere/test/e2e/engine/dql/BaseDQLE2EIT.java
 
b/test/e2e/suite/src/test/java/org/apache/shardingsphere/test/e2e/engine/dql/BaseDQLE2EIT.java
index 550d2f07576..979e41375d2 100644
--- 
a/test/e2e/suite/src/test/java/org/apache/shardingsphere/test/e2e/engine/dql/BaseDQLE2EIT.java
+++ 
b/test/e2e/suite/src/test/java/org/apache/shardingsphere/test/e2e/engine/dql/BaseDQLE2EIT.java
@@ -19,6 +19,9 @@ package org.apache.shardingsphere.test.e2e.engine.dql;
 
 import lombok.AccessLevel;
 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.SingleE2EIT;
 import org.apache.shardingsphere.test.e2e.env.DataSetEnvironmentManager;
 import 
org.apache.shardingsphere.test.e2e.env.runtime.scenario.path.ScenarioDataPath;
@@ -36,6 +39,9 @@ import java.sql.SQLException;
 import java.text.ParseException;
 import java.util.Collection;
 import java.util.HashSet;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.stream.Collectors;
 
 import static org.hamcrest.CoreMatchers.is;
 import static org.hamcrest.MatcherAssert.assertThat;
@@ -49,8 +55,13 @@ public abstract class BaseDQLE2EIT extends SingleE2EIT {
     
     private DataSource expectedDataSource;
     
+    private boolean useXMLAsExpectedDataset;
+    
+    private final String adapter;
+    
     public BaseDQLE2EIT(final AssertionTestParameter testParam) {
         super(testParam);
+        adapter = testParam.getAdapter();
     }
     
     @Before
@@ -59,6 +70,7 @@ public abstract class BaseDQLE2EIT extends SingleE2EIT {
         expectedDataSource = null == 
getAssertion().getExpectedDataSourceName() || 1 == 
getExpectedDataSourceMap().size()
                 ? getExpectedDataSourceMap().values().iterator().next()
                 : 
getExpectedDataSourceMap().get(getAssertion().getExpectedDataSourceName());
+        useXMLAsExpectedDataset = null != getAssertion().getExpectedDataFile();
     }
     
     private void fillDataOnlyOnce() throws SQLException, ParseException, 
IOException, JAXBException {
@@ -78,6 +90,27 @@ public abstract class BaseDQLE2EIT extends SingleE2EIT {
         assertRows(actualResultSet, expectedResultSet);
     }
     
+    protected final void assertResultSet(final ResultSet resultSet) throws 
SQLException {
+        assertMetaData(resultSet.getMetaData(), getExpectedColumns());
+        assertRows(resultSet, getNotAssertionColumns(), 
getDataSet().getRows());
+    }
+    
+    private Collection<DataSetColumn> getExpectedColumns() {
+        Collection<DataSetColumn> result = new LinkedList<>();
+        for (DataSetMetaData each : getDataSet().getMetaDataList()) {
+            result.addAll(each.getColumns());
+        }
+        return result;
+    }
+    
+    private Collection<String> getNotAssertionColumns() {
+        Collection<String> result = new LinkedList<>();
+        for (DataSetMetaData each : getDataSet().getMetaDataList()) {
+            result.addAll(each.getColumns().stream().filter(column -> 
"false".equals(column.getAssertion())).map(DataSetColumn::getName).collect(Collectors.toList()));
+        }
+        return result;
+    }
+    
     private void assertMetaData(final ResultSetMetaData 
actualResultSetMetaData, final ResultSetMetaData expectedResultSetMetaData) 
throws SQLException {
         assertThat(actualResultSetMetaData.getColumnCount(), 
is(expectedResultSetMetaData.getColumnCount()));
         for (int i = 0; i < actualResultSetMetaData.getColumnCount(); i++) {
@@ -85,6 +118,14 @@ public abstract class BaseDQLE2EIT extends SingleE2EIT {
         }
     }
     
+    private void assertMetaData(final ResultSetMetaData actual, final 
Collection<DataSetColumn> expected) throws SQLException {
+        assertThat(actual.getColumnCount(), is(expected.size()));
+        int index = 1;
+        for (DataSetColumn each : expected) {
+            assertThat(actual.getColumnLabel(index++).toLowerCase(), 
is(each.getName().toLowerCase()));
+        }
+    }
+    
     private void assertRows(final ResultSet actualResultSet, final ResultSet 
expectedResultSet) throws SQLException {
         ResultSetMetaData actualMetaData = actualResultSet.getMetaData();
         ResultSetMetaData expectedMetaData = expectedResultSet.getMetaData();
@@ -95,6 +136,46 @@ public abstract class BaseDQLE2EIT extends SingleE2EIT {
         assertFalse("Size of actual result set is different with size of 
expected result set.", expectedResultSet.next());
     }
     
+    private void assertRows(final ResultSet actual, final Collection<String> 
notAssertionColumns, final List<DataSetRow> expected) throws SQLException {
+        int rowCount = 0;
+        ResultSetMetaData actualMetaData = actual.getMetaData();
+        while (actual.next()) {
+            assertTrue("Size of actual result set is different with size of 
expected dat set rows.", rowCount < expected.size());
+            DataSetRow expectedRow = 
getExpectedRowAndRemoveMayNotExistRow(actual, notAssertionColumns, 
actualMetaData, expected, rowCount);
+            assertRow(actual, notAssertionColumns, actualMetaData, 
expectedRow);
+            rowCount++;
+        }
+        assertThat("Size of actual result set is different with size of 
expected dat set rows.", rowCount, is(expected.size()));
+    }
+    
+    private DataSetRow getExpectedRowAndRemoveMayNotExistRow(final ResultSet 
actual, final Collection<String> notAssertionColumns, final ResultSetMetaData 
actualMetaData,
+                                                             final 
List<DataSetRow> expected, final int rowCount) throws SQLException {
+        if (!expected.get(rowCount).isMayNotExist()) {
+            return expected.get(rowCount);
+        }
+        if (isMoveToNextExpectedRow(actual, notAssertionColumns, 
actualMetaData, expected, rowCount)) {
+            expected.remove(rowCount);
+        } else {
+            return expected.get(rowCount);
+        }
+        return getExpectedRowAndRemoveMayNotExistRow(actual, 
notAssertionColumns, actualMetaData, expected, rowCount);
+    }
+    
+    private static boolean isMoveToNextExpectedRow(final ResultSet actual, 
final Collection<String> notAssertionColumns, final ResultSetMetaData 
actualMetaData,
+                                                   final List<DataSetRow> 
expected, final int rowCount) throws SQLException {
+        int columnIndex = 1;
+        for (String each : expected.get(rowCount).splitValues("|")) {
+            String columnLabel = actualMetaData.getColumnLabel(columnIndex);
+            if (!notAssertionColumns.contains(columnLabel)) {
+                if 
(!each.equals(String.valueOf(actual.getObject(columnIndex)).trim()) || 
!each.equals(String.valueOf(actual.getObject(columnLabel)).trim())) {
+                    return true;
+                }
+            }
+            columnIndex++;
+        }
+        return false;
+    }
+    
     private void assertRow(final ResultSet actualResultSet, final 
ResultSetMetaData actualMetaData,
                            final ResultSet expectedResultSet, final 
ResultSetMetaData expectedMetaData) throws SQLException {
         for (int i = 0; i < actualMetaData.getColumnCount(); i++) {
@@ -113,4 +194,20 @@ public abstract class BaseDQLE2EIT extends SingleE2EIT {
             }
         }
     }
+    
+    private void assertRow(final ResultSet actual, final Collection<String> 
notAssertionColumns, final ResultSetMetaData actualMetaData, final DataSetRow 
expected) throws SQLException {
+        int columnIndex = 1;
+        for (String each : expected.splitValues("|")) {
+            String columnLabel = actualMetaData.getColumnLabel(columnIndex);
+            if (!notAssertionColumns.contains(columnLabel)) {
+                assertObjectValue(actual, columnIndex, columnLabel, each);
+            }
+            columnIndex++;
+        }
+    }
+    
+    private void assertObjectValue(final ResultSet actual, final int 
columnIndex, final String columnLabel, final String expected) throws 
SQLException {
+        assertThat(String.valueOf(actual.getObject(columnIndex)).trim(), 
is(expected));
+        assertThat(String.valueOf(actual.getObject(columnLabel)).trim(), 
is(expected));
+    }
 }
diff --git 
a/test/e2e/suite/src/test/java/org/apache/shardingsphere/test/e2e/engine/dql/GeneralDQLE2EIT.java
 
b/test/e2e/suite/src/test/java/org/apache/shardingsphere/test/e2e/engine/dql/GeneralDQLE2EIT.java
index c5d4efddd00..4ae8d014022 100644
--- 
a/test/e2e/suite/src/test/java/org/apache/shardingsphere/test/e2e/engine/dql/GeneralDQLE2EIT.java
+++ 
b/test/e2e/suite/src/test/java/org/apache/shardingsphere/test/e2e/engine/dql/GeneralDQLE2EIT.java
@@ -51,6 +51,27 @@ public final class GeneralDQLE2EIT extends BaseDQLE2EIT {
     
     @Test
     public void assertExecuteQuery() throws SQLException, ParseException {
+        if (isUseXMLAsExpectedDataset()) {
+            assertExecuteQueryWithXmlExpected();
+        } else {
+            assertExecuteQueryWithExpectedDataSource();
+        }
+    }
+    
+    private void assertExecuteQueryWithXmlExpected() throws SQLException, 
ParseException {
+        // TODO Fix jdbc adapter
+        if ("jdbc".equals(getAdapter())) {
+            return;
+        }
+        try (
+                Connection connection = getTargetDataSource().getConnection();
+                Statement statement = connection.createStatement();
+                ResultSet resultSet = statement.executeQuery(getSQL())) {
+            assertResultSet(resultSet);
+        }
+    }
+    
+    private void assertExecuteQueryWithExpectedDataSource() throws 
SQLException, ParseException {
         try (
                 Connection actualConnection = 
getTargetDataSource().getConnection();
                 Connection expectedConnection = 
getExpectedDataSource().getConnection()) {
@@ -90,6 +111,28 @@ public final class GeneralDQLE2EIT extends BaseDQLE2EIT {
     
     @Test
     public void assertExecute() throws SQLException, ParseException {
+        if (isUseXMLAsExpectedDataset()) {
+            assertExecuteWithXmlExpected();
+        } else {
+            assertExecuteWithExpectedDataSource();
+        }
+    }
+    
+    private void assertExecuteWithXmlExpected() throws SQLException, 
ParseException {
+        // TODO Fix jdbc adapter
+        if ("jdbc".equals(getAdapter())) {
+            return;
+        }
+        try (
+                Connection connection = getTargetDataSource().getConnection();
+                Statement statement = connection.createStatement()) {
+            assertTrue("Not a query statement.", statement.execute(getSQL()));
+            ResultSet resultSet = statement.getResultSet();
+            assertResultSet(resultSet);
+        }
+    }
+    
+    private void assertExecuteWithExpectedDataSource() throws SQLException, 
ParseException {
         try (
                 Connection actualConnection = 
getTargetDataSource().getConnection();
                 Connection expectedConnection = 
getExpectedDataSource().getConnection()) {
diff --git 
a/test/e2e/suite/src/test/resources/cases/ral/dataset/empty_rules/select_cluster_information.xml
 
b/test/e2e/suite/src/test/resources/cases/dql/dataset/db/select_cluster_information.xml
similarity index 100%
rename from 
test/e2e/suite/src/test/resources/cases/ral/dataset/empty_rules/select_cluster_information.xml
rename to 
test/e2e/suite/src/test/resources/cases/dql/dataset/db/select_cluster_information.xml
diff --git 
a/test/e2e/suite/src/test/resources/cases/dql/dataset/db/select_sharding_table_statistics.xml
 
b/test/e2e/suite/src/test/resources/cases/dql/dataset/db/select_sharding_table_statistics.xml
new file mode 100644
index 00000000000..961583dadcf
--- /dev/null
+++ 
b/test/e2e/suite/src/test/resources/cases/dql/dataset/db/select_sharding_table_statistics.xml
@@ -0,0 +1,62 @@
+<!--
+  ~ Licensed to the Apache Software Foundation (ASF) under one or more
+  ~ contributor license agreements.  See the NOTICE file distributed with
+  ~ this work for additional information regarding copyright ownership.
+  ~ The ASF licenses this file to You under the Apache License, Version 2.0
+  ~ (the "License"); you may not use this file except in compliance with
+  ~ the License.  You may obtain a copy of the License at
+  ~
+  ~     http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+  -->
+
+<dataset>
+    <metadata>
+        <column name="id" assertion="false" />
+        <column name="logic_database_name" />
+        <column name="logic_table_name" />
+        <column name="actual_database_name" />
+        <column name="actual_table_name" />
+        <column name="row_count" assertion="false" />
+        <column name="size" assertion="false" />
+    </metadata>
+    <row values=" | db |         t_order |         ds_0 |         t_order | |  
   " />
+    <row values=" | db |         t_order |         ds_1 |         t_order | |  
   " />
+    <row values=" | db |         t_order |         ds_2 |         t_order | |  
   " />
+    <row values=" | db |         t_order |         ds_3 |         t_order | |  
   " />
+    <row values=" | db |         t_order |         ds_4 |         t_order | |  
   " />
+    <row values=" | db |         t_order |         ds_5 |         t_order | |  
   " />
+    <row values=" | db |         t_order |         ds_6 |         t_order | |  
   " />
+    <row values=" | db |         t_order |         ds_7 |         t_order | |  
   " />
+    <row values=" | db |         t_order |         ds_8 |         t_order | |  
   " />
+    <row values=" | db |         t_order |         ds_9 |         t_order | |  
   " />
+    <row values=" | db |         t_order_item |         ds_0 |         
t_order_item | |     " />
+    <row values=" | db |         t_order_item |         ds_1 |         
t_order_item | |     " />
+    <row values=" | db |         t_order_item |         ds_2 |         
t_order_item | |     " />
+    <row values=" | db |         t_order_item |         ds_3 |         
t_order_item | |     " />
+    <row values=" | db |         t_order_item |         ds_4 |         
t_order_item | |     " />
+    <row values=" | db |         t_order_item |         ds_5 |         
t_order_item | |     " />
+    <row values=" | db |         t_order_item |         ds_6 |         
t_order_item | |     " />
+    <row values=" | db |         t_order_item |         ds_7 |         
t_order_item | |     " />
+    <row values=" | db |         t_order_item |         ds_8 |         
t_order_item | |     " />
+    <row values=" | db |         t_order_item |         ds_9 |         
t_order_item | |     " />
+    <row values=" | db |         t_order_details|         ds_0 |         
t_order_details| |     " />
+    <row values=" | db |         t_order_details|         ds_1 |         
t_order_details| |     " />
+    <row values=" | db |         t_order_details|         ds_2 |         
t_order_details| |     " />
+    <row values=" | db |         t_order_details|         ds_3 |         
t_order_details| |     " />
+    <row values=" | db |         t_order_details|         ds_4 |         
t_order_details| |     " />
+    <row values=" | db |         t_order_details|         ds_5 |         
t_order_details| |     " />
+    <row values=" | db |         t_order_details|         ds_6 |         
t_order_details| |     " />
+    <row values=" | db |         t_order_details|         ds_7 |         
t_order_details| |     " />
+    <row values=" | db |         t_order_details|         ds_8 |         
t_order_details| |     " />
+    <row values=" | db |         t_order_details|         ds_9 |         
t_order_details| |     " />
+    <row values=" | db |         t_order_federate_sharding|    ds_0 |         
t_order_federate_sharding||   " />
+    <row values=" | db |         t_order_federate_sharding|    ds_1 |         
t_order_federate_sharding||   " />
+    <row values=" | db |         t_order_item_federate_sharding | ds_0 |       
  t_order_item_federate_sharding | | " />
+    <row values=" | db |         t_order_item_federate_sharding | ds_1 |       
  t_order_item_federate_sharding | | " />
+</dataset>
diff --git 
a/test/e2e/suite/src/test/resources/cases/dql/dataset/db/select_sys_data_for_og.xml
 
b/test/e2e/suite/src/test/resources/cases/dql/dataset/db/select_sys_data_for_og.xml
new file mode 100644
index 00000000000..bdfa0c022e1
--- /dev/null
+++ 
b/test/e2e/suite/src/test/resources/cases/dql/dataset/db/select_sys_data_for_og.xml
@@ -0,0 +1,44 @@
+<!--
+  ~ Licensed to the Apache Software Foundation (ASF) under one or more
+  ~ contributor license agreements.  See the NOTICE file distributed with
+  ~ this work for additional information regarding copyright ownership.
+  ~ The ASF licenses this file to You under the Apache License, Version 2.0
+  ~ (the "License"); you may not use this file except in compliance with
+  ~ the License.  You may obtain a copy of the License at
+  ~
+  ~     http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+  -->
+
+<dataset>
+    <metadata>
+        <column name="Schema" />
+        <column name="Name" />
+        <column name="Type" />
+        <column name="Owner" />
+        <column name="Storage" assertion="false" />
+    </metadata>
+    <row values="public | t_broadcast_table | table | mock user |" />
+    <row values="public | t_country | table | mock user |" />
+    <row values="public | t_merchant | table | mock user |" />
+    <row values="public | t_order | table | mock user |" />
+    <row values="public | t_order_aggregation_view | view | mock user |" 
mayNotExist="true" />
+    <row values="public | t_order_federate | table | mock user |" />
+    <row values="public | t_order_federate_sharding | table | mock user |" />
+    <row values="public | t_order_item | table | mock user |" />
+    <row values="public | t_order_item_federate | table | mock user |" />
+    <row values="public | t_order_item_federate_sharding | table | mock user 
|" />
+    <row values="public | t_order_item_join_view | view | mock user |" 
mayNotExist="true" />
+    <row values="public | t_order_subquery_view | view | mock user |" 
mayNotExist="true" />
+    <row values="public | t_order_union_view | view | mock user |" 
mayNotExist="true"/>
+    <row values="public | t_product | table | mock user |" />
+    <row values="public | t_product_category | table | mock user |" />
+    <row values="public | t_product_detail | table | mock user |" />
+    <row values="public | t_single_table | table | mock user |" />
+    <row values="public | t_user | table | mock user |" />
+</dataset>
diff --git 
a/test/e2e/suite/src/test/resources/cases/dql/dataset/db/select_sys_data_for_pg.xml
 
b/test/e2e/suite/src/test/resources/cases/dql/dataset/db/select_sys_data_for_pg.xml
new file mode 100644
index 00000000000..ff889a09e57
--- /dev/null
+++ 
b/test/e2e/suite/src/test/resources/cases/dql/dataset/db/select_sys_data_for_pg.xml
@@ -0,0 +1,43 @@
+<!--
+  ~ Licensed to the Apache Software Foundation (ASF) under one or more
+  ~ contributor license agreements.  See the NOTICE file distributed with
+  ~ this work for additional information regarding copyright ownership.
+  ~ The ASF licenses this file to You under the Apache License, Version 2.0
+  ~ (the "License"); you may not use this file except in compliance with
+  ~ the License.  You may obtain a copy of the License at
+  ~
+  ~     http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+  -->
+
+<dataset>
+    <metadata>
+        <column name="Schema" />
+        <column name="Name" />
+        <column name="Type" />
+        <column name="Owner" />
+    </metadata>
+    <row values="public | t_broadcast_table | table | mock user" />
+    <row values="public | t_country | table | mock user" />
+    <row values="public | t_merchant | table | mock user" />
+    <row values="public | t_order | table | mock user" />
+    <row values="public | t_order_aggregation_view | view | mock user" 
mayNotExist="true" />
+    <row values="public | t_order_federate | table | mock user" />
+    <row values="public | t_order_federate_sharding | table | mock user" />
+    <row values="public | t_order_item | table | mock user" />
+    <row values="public | t_order_item_federate | table | mock user" />
+    <row values="public | t_order_item_federate_sharding | table | mock user" 
/>
+    <row values="public | t_order_item_join_view | view | mock user" 
mayNotExist="true" />
+    <row values="public | t_order_subquery_view | view | mock user" 
mayNotExist="true" />
+    <row values="public | t_order_union_view | view | mock user" 
mayNotExist="true" />
+    <row values="public | t_product | table | mock user" />
+    <row values="public | t_product_category | table | mock user" />
+    <row values="public | t_product_detail | table | mock user" />
+    <row values="public | t_single_table | table | mock user" />
+    <row values="public | t_user | table | mock user" />
+</dataset>
diff --git 
a/test/e2e/suite/src/test/resources/cases/dql/dql-integration-test-cases.xml 
b/test/e2e/suite/src/test/resources/cases/dql/dql-integration-test-cases.xml
index 1ca0e3bd40f..7e2c1ebf4df 100644
--- a/test/e2e/suite/src/test/resources/cases/dql/dql-integration-test-cases.xml
+++ b/test/e2e/suite/src/test/resources/cases/dql/dql-integration-test-cases.xml
@@ -1367,4 +1367,20 @@
         <assertion parameters="92233720368547758.07:String" 
expected-data-source-name="expected_dataset" />
         <assertion parameters="$92233720368547758.07:String" 
expected-data-source-name="expected_dataset" />
     </test-case>
+
+    <test-case sql="SELECT n.nspname as &quot;Schema&quot;, c.relname as 
&quot;Name&quot;, CASE c.relkind WHEN 'r' THEN 'table' WHEN 'v' THEN 'view' 
WHEN 'm' THEN 'materialized view' WHEN 'i' THEN 'index' WHEN 'S' THEN 
'sequence' WHEN 's' THEN 'special' WHEN 'f' THEN 'foreign table' WHEN 'p' THEN 
'partitioned table' WHEN 'I' THEN 'partitioned index' END as &quot;Type&quot;, 
pg_catalog.pg_get_userbyid(c.relowner) as &quot;Owner&quot; FROM 
pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_name [...]
+        <assertion expected-data-file="select_sys_data_for_pg.xml" />
+    </test-case>
+
+    <test-case sql="SELECT n.nspname as &quot;Schema&quot;, c.relname as 
&quot;Name&quot;, CASE c.relkind WHEN 'r' THEN 'table' WHEN 'v' THEN 'view' 
WHEN 'i' THEN 'index' WHEN 'I' THEN 'global partition index' WHEN 'S' THEN 
'sequence' WHEN 'L' THEN 'large sequence' WHEN 'f' THEN 'foreign table' WHEN 
'm' THEN 'materialized view'  WHEN 'e' THEN 'stream' WHEN 'o' THEN 'contview' 
END as &quot;Type&quot;, pg_catalog.pg_get_userbyid(c.relowner) as 
&quot;Owner&quot;, c.reloptions as &quot;Stora [...]
+        <assertion expected-data-file="select_sys_data_for_og.xml" />
+    </test-case>
+
+    <test-case sql="select * from shardingsphere.sharding_table_statistics 
order by id;" db-types="MySQL,PostgreSQL,openGauss" scenario-types="db">
+        <assertion expected-data-file="select_sharding_table_statistics.xml" />
+    </test-case>
+
+    <test-case sql="select * from shardingsphere.cluster_information;" 
db-types="MySQL,PostgreSQL,openGauss" scenario-types="db">
+        <assertion expected-data-file="select_cluster_information.xml" />
+    </test-case>
 </integration-test-cases>
diff --git 
a/test/e2e/suite/src/test/resources/cases/ral/dataset/empty_rules/cluster/mysql/select_sharding_table_statistics.xml
 
b/test/e2e/suite/src/test/resources/cases/ral/dataset/empty_rules/cluster/mysql/select_sharding_table_statistics.xml
deleted file mode 100644
index 7a298b8f92f..00000000000
--- 
a/test/e2e/suite/src/test/resources/cases/ral/dataset/empty_rules/cluster/mysql/select_sharding_table_statistics.xml
+++ /dev/null
@@ -1,108 +0,0 @@
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~     http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  -->
-
-<dataset>
-    <metadata>
-        <column name="id" assertion="false" />
-        <column name="logic_database_name" />
-        <column name="logic_table_name" />
-        <column name="actual_database_name" />
-        <column name="actual_table_name" />
-        <column name="row_count" assertion="false" />
-        <column name="size" assertion="false" />
-    </metadata>
-    <row values=" | empty_rules | t_user | write_ds_6 | t_user_26 | | " />
-    <row values=" | empty_rules | t_user | write_ds_1 | t_user_1 | | " />
-    <row values=" | empty_rules | t_user_item | write_ds_1 | t_user_item_21 | 
| " />
-    <row values=" | empty_rules | t_user_item | write_ds_6 | t_user_item_26 | 
| " />
-    <row values=" | empty_rules | t_user_item | write_ds_9 | t_user_item_19 | 
| " />
-    <row values=" | empty_rules | t_user | write_ds_4 | t_user_4 | | " />
-    <row values=" | empty_rules | t_user | write_ds_4 | t_user_14 | | " />
-    <row values=" | empty_rules | t_user | write_ds_9 | t_user_29 | | " />
-    <row values=" | empty_rules | t_user | write_ds_5 | t_user_15 | | " />
-    <row values=" | empty_rules | t_user | write_ds_0 | t_user_0 | | " />
-    <row values=" | empty_rules | t_user | write_ds_1 | t_user_21 | | " />
-    <row values=" | empty_rules | t_user | write_ds_6 | t_user_6 | | " />
-    <row values=" | empty_rules | t_user | write_ds_0 | t_user_10 | | " />
-    <row values=" | empty_rules | t_user | write_ds_7 | t_user_37 | | " />
-    <row values=" | empty_rules | t_user | write_ds_4 | t_user_34 | | " />
-    <row values=" | empty_rules | t_user_item | write_ds_1 | t_user_item_11 | 
| " />
-    <row values=" | empty_rules | t_user_item | write_ds_1 | t_user_item_1 | | 
" />
-    <row values=" | empty_rules | t_user | write_ds_0 | t_user_20 | | " />
-    <row values=" | empty_rules | t_user | write_ds_6 | t_user_16 | | " />
-    <row values=" | empty_rules | t_user | write_ds_7 | t_user_27 | | " />
-    <row values=" | empty_rules | t_user_item | write_ds_6 | t_user_item_6 | | 
" />
-    <row values=" | empty_rules | t_user | write_ds_3 | t_user_23 | | " />
-    <row values=" | empty_rules | t_user_item | write_ds_5 | t_user_item_35 | 
| " />
-    <row values=" | empty_rules | t_user_item | write_ds_5 | t_user_item_5 | | 
" />
-    <row values=" | empty_rules | t_user | write_ds_9 | t_user_19 | | " />
-    <row values=" | empty_rules | t_user_item | write_ds_2 | t_user_item_32 | 
| " />
-    <row values=" | empty_rules | t_user | write_ds_8 | t_user_28 | | " />
-    <row values=" | empty_rules | t_user_item | write_ds_2 | t_user_item_22 | 
| " />
-    <row values=" | empty_rules | t_user_item | write_ds_4 | t_user_item_14 | 
| " />
-    <row values=" | empty_rules | t_user | write_ds_0 | t_user_30 | | " />
-    <row values=" | empty_rules | t_user | write_ds_2 | t_user_12 | | " />
-    <row values=" | empty_rules | t_user | write_ds_8 | t_user_8 | | " />
-    <row values=" | empty_rules | t_user_item | write_ds_3 | t_user_item_23 | 
| " />
-    <row values=" | empty_rules | t_user_item | write_ds_3 | t_user_item_3 | | 
" />
-    <row values=" | empty_rules | t_user_item | write_ds_2 | t_user_item_2 | | 
" />
-    <row values=" | empty_rules | t_user_item | write_ds_0 | t_user_item_30 | 
| " />
-    <row values=" | empty_rules | t_user_item | write_ds_0 | t_user_item_10 | 
| " />
-    <row values=" | empty_rules | t_user_item | write_ds_8 | t_user_item_38 | 
| " />
-    <row values=" | empty_rules | t_user | write_ds_2 | t_user_32 | | " />
-    <row values=" | empty_rules | t_user_item | write_ds_9 | t_user_item_9 | | 
" />
-    <row values=" | empty_rules | t_user_item | write_ds_9 | t_user_item_29 | 
| " />
-    <row values=" | empty_rules | t_user_item | write_ds_4 | t_user_item_4 | | 
" />
-    <row values=" | empty_rules | t_user_item | write_ds_5 | t_user_item_25 | 
| " />
-    <row values=" | empty_rules | t_user_item | write_ds_4 | t_user_item_24 | 
| " />
-    <row values=" | empty_rules | t_user_item | write_ds_3 | t_user_item_13 | 
| " />
-    <row values=" | empty_rules | t_user | write_ds_1 | t_user_31 | | " />
-    <row values=" | empty_rules | t_user_item | write_ds_3 | t_user_item_33 | 
| " />
-    <row values=" | empty_rules | t_user | write_ds_7 | t_user_17 | | " />
-    <row values=" | empty_rules | t_user | write_ds_5 | t_user_25 | | " />
-    <row values=" | empty_rules | t_user | write_ds_8 | t_user_18 | | " />
-    <row values=" | empty_rules | t_user | write_ds_3 | t_user_33 | | " />
-    <row values=" | empty_rules | t_user_item | write_ds_7 | t_user_item_27 | 
| " />
-    <row values=" | empty_rules | t_user_item | write_ds_7 | t_user_item_7 | | 
" />
-    <row values=" | empty_rules | t_user | write_ds_2 | t_user_22 | | " />
-    <row values=" | empty_rules | t_user_item | write_ds_9 | t_user_item_39 | 
| " />
-    <row values=" | empty_rules | t_user_item | write_ds_7 | t_user_item_37 | 
| " />
-    <row values=" | empty_rules | t_user | write_ds_1 | t_user_11 | | " />
-    <row values=" | empty_rules | t_user_item | write_ds_0 | t_user_item_0 | | 
" />
-    <row values=" | empty_rules | t_user_item | write_ds_5 | t_user_item_15 | 
| " />
-    <row values=" | empty_rules | t_user | write_ds_3 | t_user_13 | | " />
-    <row values=" | empty_rules | t_user_item | write_ds_8 | t_user_item_28 | 
| " />
-    <row values=" | empty_rules | t_user | write_ds_5 | t_user_35 | | " />
-    <row values=" | empty_rules | t_user_item | write_ds_6 | t_user_item_16 | 
| " />
-    <row values=" | empty_rules | t_user_item | write_ds_0 | t_user_item_20 | 
| " />
-    <row values=" | empty_rules | t_user_item | write_ds_7 | t_user_item_17 | 
| " />
-    <row values=" | empty_rules | t_user_item | write_ds_6 | t_user_item_36 | 
| " />
-    <row values=" | empty_rules | t_user | write_ds_6 | t_user_36 | | " />
-    <row values=" | empty_rules | t_user | write_ds_3 | t_user_3 | | " />
-    <row values=" | empty_rules | t_user_item | write_ds_1 | t_user_item_31 | 
| " />
-    <row values=" | empty_rules | t_user | write_ds_8 | t_user_38 | | " />
-    <row values=" | empty_rules | t_user_item | write_ds_4 | t_user_item_34 | 
| " />
-    <row values=" | empty_rules | t_user_item | write_ds_8 | t_user_item_8 | | 
" />
-    <row values=" | empty_rules | t_user_item | write_ds_2 | t_user_item_12 | 
| " />
-    <row values=" | empty_rules | t_user | write_ds_9 | t_user_39 | | " />
-    <row values=" | empty_rules | t_user | write_ds_7 | t_user_7 | | " />
-    <row values=" | empty_rules | t_user | write_ds_9 | t_user_9 | | " />
-    <row values=" | empty_rules | t_user_item | write_ds_8 | t_user_item_18 | 
| " />
-    <row values=" | empty_rules | t_user | write_ds_2 | t_user_2 | | " />
-    <row values=" | empty_rules | t_user | write_ds_4 | t_user_24 | | " />
-    <row values=" | empty_rules | t_user | write_ds_5 | t_user_5 | | " />
-</dataset>
diff --git 
a/test/e2e/suite/src/test/resources/cases/ral/dataset/empty_rules/cluster/opengauss/select_sharding_table_statistics.xml
 
b/test/e2e/suite/src/test/resources/cases/ral/dataset/empty_rules/cluster/opengauss/select_sharding_table_statistics.xml
deleted file mode 100644
index 27139105a49..00000000000
--- 
a/test/e2e/suite/src/test/resources/cases/ral/dataset/empty_rules/cluster/opengauss/select_sharding_table_statistics.xml
+++ /dev/null
@@ -1,108 +0,0 @@
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~     http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  -->
-
-<dataset>
-    <metadata>
-        <column name="id" assertion="false" />
-        <column name="logic_database_name" />
-        <column name="logic_table_name" />
-        <column name="actual_database_name" />
-        <column name="actual_table_name" />
-        <column name="row_count" assertion="false" />
-        <column name="size" assertion="false" />
-    </metadata>
-    <row values=" | empty_rules | t_user_item | write_ds_0 | t_user_item_20 | 
| " />
-    <row values=" | empty_rules | t_user | write_ds_6 | t_user_16 | | " />
-    <row values=" | empty_rules | t_user | write_ds_0 | t_user_30 | | " />
-    <row values=" | empty_rules | t_user_item | write_ds_5 | t_user_item_35 | 
| " />
-    <row values=" | empty_rules | t_user | write_ds_0 | t_user_10 | | " />
-    <row values=" | empty_rules | t_user | write_ds_3 | t_user_13 | | " />
-    <row values=" | empty_rules | t_user | write_ds_5 | t_user_35 | | " />
-    <row values=" | empty_rules | t_user_item | write_ds_0 | t_user_item_10 | 
| " />
-    <row values=" | empty_rules | t_user_item | write_ds_1 | t_user_item_1 | | 
" />
-    <row values=" | empty_rules | t_user | write_ds_8 | t_user_8 | | " />
-    <row values=" | empty_rules | t_user_item | write_ds_1 | t_user_item_11 | 
| " />
-    <row values=" | empty_rules | t_user | write_ds_5 | t_user_25 | | " />
-    <row values=" | empty_rules | t_user | write_ds_2 | t_user_22 | | " />
-    <row values=" | empty_rules | t_user_item | write_ds_7 | t_user_item_27 | 
| " />
-    <row values=" | empty_rules | t_user_item | write_ds_0 | t_user_item_0 | | 
" />
-    <row values=" | empty_rules | t_user_item | write_ds_5 | t_user_item_25 | 
| " />
-    <row values=" | empty_rules | t_user | write_ds_4 | t_user_34 | | " />
-    <row values=" | empty_rules | t_user_item | write_ds_8 | t_user_item_28 | 
| " />
-    <row values=" | empty_rules | t_user | write_ds_1 | t_user_1 | | " />
-    <row values=" | empty_rules | t_user | write_ds_9 | t_user_29 | | " />
-    <row values=" | empty_rules | t_user_item | write_ds_5 | t_user_item_5 | | 
" />
-    <row values=" | empty_rules | t_user_item | write_ds_8 | t_user_item_38 | 
| " />
-    <row values=" | empty_rules | t_user_item | write_ds_2 | t_user_item_32 | 
| " />
-    <row values=" | empty_rules | t_user_item | write_ds_2 | t_user_item_2 | | 
" />
-    <row values=" | empty_rules | t_user_item | write_ds_6 | t_user_item_36 | 
| " />
-    <row values=" | empty_rules | t_user | write_ds_1 | t_user_11 | | " />
-    <row values=" | empty_rules | t_user_item | write_ds_7 | t_user_item_7 | | 
" />
-    <row values=" | empty_rules | t_user | write_ds_5 | t_user_15 | | " />
-    <row values=" | empty_rules | t_user | write_ds_8 | t_user_38 | | " />
-    <row values=" | empty_rules | t_user | write_ds_2 | t_user_12 | | " />
-    <row values=" | empty_rules | t_user_item | write_ds_7 | t_user_item_37 | 
| " />
-    <row values=" | empty_rules | t_user | write_ds_0 | t_user_0 | | " />
-    <row values=" | empty_rules | t_user_item | write_ds_8 | t_user_item_18 | 
| " />
-    <row values=" | empty_rules | t_user | write_ds_2 | t_user_32 | | " />
-    <row values=" | empty_rules | t_user_item | write_ds_4 | t_user_item_34 | 
| " />
-    <row values=" | empty_rules | t_user | write_ds_3 | t_user_3 | | " />
-    <row values=" | empty_rules | t_user | write_ds_1 | t_user_31 | | " />
-    <row values=" | empty_rules | t_user_item | write_ds_4 | t_user_item_14 | 
| " />
-    <row values=" | empty_rules | t_user_item | write_ds_9 | t_user_item_19 | 
| " />
-    <row values=" | empty_rules | t_user_item | write_ds_4 | t_user_item_24 | 
| " />
-    <row values=" | empty_rules | t_user_item | write_ds_9 | t_user_item_29 | 
| " />
-    <row values=" | empty_rules | t_user_item | write_ds_9 | t_user_item_39 | 
| " />
-    <row values=" | empty_rules | t_user | write_ds_4 | t_user_24 | | " />
-    <row values=" | empty_rules | t_user_item | write_ds_3 | t_user_item_33 | 
| " />
-    <row values=" | empty_rules | t_user | write_ds_9 | t_user_9 | | " />
-    <row values=" | empty_rules | t_user | write_ds_9 | t_user_39 | | " />
-    <row values=" | empty_rules | t_user_item | write_ds_2 | t_user_item_12 | 
| " />
-    <row values=" | empty_rules | t_user | write_ds_9 | t_user_19 | | " />
-    <row values=" | empty_rules | t_user_item | write_ds_7 | t_user_item_17 | 
| " />
-    <row values=" | empty_rules | t_user_item | write_ds_3 | t_user_item_13 | 
| " />
-    <row values=" | empty_rules | t_user_item | write_ds_9 | t_user_item_9 | | 
" />
-    <row values=" | empty_rules | t_user_item | write_ds_4 | t_user_item_4 | | 
" />
-    <row values=" | empty_rules | t_user | write_ds_1 | t_user_21 | | " />
-    <row values=" | empty_rules | t_user | write_ds_4 | t_user_4 | | " />
-    <row values=" | empty_rules | t_user_item | write_ds_8 | t_user_item_8 | | 
" />
-    <row values=" | empty_rules | t_user | write_ds_4 | t_user_14 | | " />
-    <row values=" | empty_rules | t_user | write_ds_8 | t_user_28 | | " />
-    <row values=" | empty_rules | t_user | write_ds_0 | t_user_20 | | " />
-    <row values=" | empty_rules | t_user | write_ds_6 | t_user_26 | | " />
-    <row values=" | empty_rules | t_user | write_ds_6 | t_user_6 | | " />
-    <row values=" | empty_rules | t_user_item | write_ds_0 | t_user_item_30 | 
| " />
-    <row values=" | empty_rules | t_user_item | write_ds_3 | t_user_item_23 | 
| " />
-    <row values=" | empty_rules | t_user | write_ds_3 | t_user_23 | | " />
-    <row values=" | empty_rules | t_user_item | write_ds_3 | t_user_item_3 | | 
" />
-    <row values=" | empty_rules | t_user | write_ds_7 | t_user_17 | | " />
-    <row values=" | empty_rules | t_user | write_ds_7 | t_user_7 | | " />
-    <row values=" | empty_rules | t_user | write_ds_5 | t_user_5 | | " />
-    <row values=" | empty_rules | t_user_item | write_ds_6 | t_user_item_6 | | 
" />
-    <row values=" | empty_rules | t_user | write_ds_7 | t_user_27 | | " />
-    <row values=" | empty_rules | t_user | write_ds_8 | t_user_18 | | " />
-    <row values=" | empty_rules | t_user_item | write_ds_5 | t_user_item_15 | 
| " />
-    <row values=" | empty_rules | t_user | write_ds_3 | t_user_33 | | " />
-    <row values=" | empty_rules | t_user_item | write_ds_2 | t_user_item_22 | 
| " />
-    <row values=" | empty_rules | t_user | write_ds_7 | t_user_37 | | " />
-    <row values=" | empty_rules | t_user_item | write_ds_1 | t_user_item_21 | 
| " />
-    <row values=" | empty_rules | t_user_item | write_ds_6 | t_user_item_16 | 
| " />
-    <row values=" | empty_rules | t_user | write_ds_6 | t_user_36 | | " />
-    <row values=" | empty_rules | t_user | write_ds_2 | t_user_2 | | " />
-    <row values=" | empty_rules | t_user_item | write_ds_1 | t_user_item_31 | 
| " />
-    <row values=" | empty_rules | t_user_item | write_ds_6 | t_user_item_26 | 
| " />
-</dataset>
diff --git 
a/test/e2e/suite/src/test/resources/cases/ral/dataset/empty_rules/cluster/opengauss/select_sys_data_for_og.xml
 
b/test/e2e/suite/src/test/resources/cases/ral/dataset/empty_rules/cluster/opengauss/select_sys_data_for_og.xml
deleted file mode 100644
index 852130358de..00000000000
--- 
a/test/e2e/suite/src/test/resources/cases/ral/dataset/empty_rules/cluster/opengauss/select_sys_data_for_og.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~     http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  -->
-
-<dataset>
-    <metadata>
-        <column name="Schema" />
-        <column name="Name" />
-        <column name="Type" />
-        <column name="Owner" />
-        <column name="Storage" assertion="false" />
-    </metadata>
-    <row values="public | t_single_table | table | mock user |" />
-    <row values="public | t_user | table | mock user |" />
-    <row values="public | t_user_item | table | mock user |" />
-</dataset>
diff --git 
a/test/e2e/suite/src/test/resources/cases/ral/dataset/empty_rules/cluster/postgresql/select_sharding_table_statistics.xml
 
b/test/e2e/suite/src/test/resources/cases/ral/dataset/empty_rules/cluster/postgresql/select_sharding_table_statistics.xml
deleted file mode 100644
index 27139105a49..00000000000
--- 
a/test/e2e/suite/src/test/resources/cases/ral/dataset/empty_rules/cluster/postgresql/select_sharding_table_statistics.xml
+++ /dev/null
@@ -1,108 +0,0 @@
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~     http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  -->
-
-<dataset>
-    <metadata>
-        <column name="id" assertion="false" />
-        <column name="logic_database_name" />
-        <column name="logic_table_name" />
-        <column name="actual_database_name" />
-        <column name="actual_table_name" />
-        <column name="row_count" assertion="false" />
-        <column name="size" assertion="false" />
-    </metadata>
-    <row values=" | empty_rules | t_user_item | write_ds_0 | t_user_item_20 | 
| " />
-    <row values=" | empty_rules | t_user | write_ds_6 | t_user_16 | | " />
-    <row values=" | empty_rules | t_user | write_ds_0 | t_user_30 | | " />
-    <row values=" | empty_rules | t_user_item | write_ds_5 | t_user_item_35 | 
| " />
-    <row values=" | empty_rules | t_user | write_ds_0 | t_user_10 | | " />
-    <row values=" | empty_rules | t_user | write_ds_3 | t_user_13 | | " />
-    <row values=" | empty_rules | t_user | write_ds_5 | t_user_35 | | " />
-    <row values=" | empty_rules | t_user_item | write_ds_0 | t_user_item_10 | 
| " />
-    <row values=" | empty_rules | t_user_item | write_ds_1 | t_user_item_1 | | 
" />
-    <row values=" | empty_rules | t_user | write_ds_8 | t_user_8 | | " />
-    <row values=" | empty_rules | t_user_item | write_ds_1 | t_user_item_11 | 
| " />
-    <row values=" | empty_rules | t_user | write_ds_5 | t_user_25 | | " />
-    <row values=" | empty_rules | t_user | write_ds_2 | t_user_22 | | " />
-    <row values=" | empty_rules | t_user_item | write_ds_7 | t_user_item_27 | 
| " />
-    <row values=" | empty_rules | t_user_item | write_ds_0 | t_user_item_0 | | 
" />
-    <row values=" | empty_rules | t_user_item | write_ds_5 | t_user_item_25 | 
| " />
-    <row values=" | empty_rules | t_user | write_ds_4 | t_user_34 | | " />
-    <row values=" | empty_rules | t_user_item | write_ds_8 | t_user_item_28 | 
| " />
-    <row values=" | empty_rules | t_user | write_ds_1 | t_user_1 | | " />
-    <row values=" | empty_rules | t_user | write_ds_9 | t_user_29 | | " />
-    <row values=" | empty_rules | t_user_item | write_ds_5 | t_user_item_5 | | 
" />
-    <row values=" | empty_rules | t_user_item | write_ds_8 | t_user_item_38 | 
| " />
-    <row values=" | empty_rules | t_user_item | write_ds_2 | t_user_item_32 | 
| " />
-    <row values=" | empty_rules | t_user_item | write_ds_2 | t_user_item_2 | | 
" />
-    <row values=" | empty_rules | t_user_item | write_ds_6 | t_user_item_36 | 
| " />
-    <row values=" | empty_rules | t_user | write_ds_1 | t_user_11 | | " />
-    <row values=" | empty_rules | t_user_item | write_ds_7 | t_user_item_7 | | 
" />
-    <row values=" | empty_rules | t_user | write_ds_5 | t_user_15 | | " />
-    <row values=" | empty_rules | t_user | write_ds_8 | t_user_38 | | " />
-    <row values=" | empty_rules | t_user | write_ds_2 | t_user_12 | | " />
-    <row values=" | empty_rules | t_user_item | write_ds_7 | t_user_item_37 | 
| " />
-    <row values=" | empty_rules | t_user | write_ds_0 | t_user_0 | | " />
-    <row values=" | empty_rules | t_user_item | write_ds_8 | t_user_item_18 | 
| " />
-    <row values=" | empty_rules | t_user | write_ds_2 | t_user_32 | | " />
-    <row values=" | empty_rules | t_user_item | write_ds_4 | t_user_item_34 | 
| " />
-    <row values=" | empty_rules | t_user | write_ds_3 | t_user_3 | | " />
-    <row values=" | empty_rules | t_user | write_ds_1 | t_user_31 | | " />
-    <row values=" | empty_rules | t_user_item | write_ds_4 | t_user_item_14 | 
| " />
-    <row values=" | empty_rules | t_user_item | write_ds_9 | t_user_item_19 | 
| " />
-    <row values=" | empty_rules | t_user_item | write_ds_4 | t_user_item_24 | 
| " />
-    <row values=" | empty_rules | t_user_item | write_ds_9 | t_user_item_29 | 
| " />
-    <row values=" | empty_rules | t_user_item | write_ds_9 | t_user_item_39 | 
| " />
-    <row values=" | empty_rules | t_user | write_ds_4 | t_user_24 | | " />
-    <row values=" | empty_rules | t_user_item | write_ds_3 | t_user_item_33 | 
| " />
-    <row values=" | empty_rules | t_user | write_ds_9 | t_user_9 | | " />
-    <row values=" | empty_rules | t_user | write_ds_9 | t_user_39 | | " />
-    <row values=" | empty_rules | t_user_item | write_ds_2 | t_user_item_12 | 
| " />
-    <row values=" | empty_rules | t_user | write_ds_9 | t_user_19 | | " />
-    <row values=" | empty_rules | t_user_item | write_ds_7 | t_user_item_17 | 
| " />
-    <row values=" | empty_rules | t_user_item | write_ds_3 | t_user_item_13 | 
| " />
-    <row values=" | empty_rules | t_user_item | write_ds_9 | t_user_item_9 | | 
" />
-    <row values=" | empty_rules | t_user_item | write_ds_4 | t_user_item_4 | | 
" />
-    <row values=" | empty_rules | t_user | write_ds_1 | t_user_21 | | " />
-    <row values=" | empty_rules | t_user | write_ds_4 | t_user_4 | | " />
-    <row values=" | empty_rules | t_user_item | write_ds_8 | t_user_item_8 | | 
" />
-    <row values=" | empty_rules | t_user | write_ds_4 | t_user_14 | | " />
-    <row values=" | empty_rules | t_user | write_ds_8 | t_user_28 | | " />
-    <row values=" | empty_rules | t_user | write_ds_0 | t_user_20 | | " />
-    <row values=" | empty_rules | t_user | write_ds_6 | t_user_26 | | " />
-    <row values=" | empty_rules | t_user | write_ds_6 | t_user_6 | | " />
-    <row values=" | empty_rules | t_user_item | write_ds_0 | t_user_item_30 | 
| " />
-    <row values=" | empty_rules | t_user_item | write_ds_3 | t_user_item_23 | 
| " />
-    <row values=" | empty_rules | t_user | write_ds_3 | t_user_23 | | " />
-    <row values=" | empty_rules | t_user_item | write_ds_3 | t_user_item_3 | | 
" />
-    <row values=" | empty_rules | t_user | write_ds_7 | t_user_17 | | " />
-    <row values=" | empty_rules | t_user | write_ds_7 | t_user_7 | | " />
-    <row values=" | empty_rules | t_user | write_ds_5 | t_user_5 | | " />
-    <row values=" | empty_rules | t_user_item | write_ds_6 | t_user_item_6 | | 
" />
-    <row values=" | empty_rules | t_user | write_ds_7 | t_user_27 | | " />
-    <row values=" | empty_rules | t_user | write_ds_8 | t_user_18 | | " />
-    <row values=" | empty_rules | t_user_item | write_ds_5 | t_user_item_15 | 
| " />
-    <row values=" | empty_rules | t_user | write_ds_3 | t_user_33 | | " />
-    <row values=" | empty_rules | t_user_item | write_ds_2 | t_user_item_22 | 
| " />
-    <row values=" | empty_rules | t_user | write_ds_7 | t_user_37 | | " />
-    <row values=" | empty_rules | t_user_item | write_ds_1 | t_user_item_21 | 
| " />
-    <row values=" | empty_rules | t_user_item | write_ds_6 | t_user_item_16 | 
| " />
-    <row values=" | empty_rules | t_user | write_ds_6 | t_user_36 | | " />
-    <row values=" | empty_rules | t_user | write_ds_2 | t_user_2 | | " />
-    <row values=" | empty_rules | t_user_item | write_ds_1 | t_user_item_31 | 
| " />
-    <row values=" | empty_rules | t_user_item | write_ds_6 | t_user_item_26 | 
| " />
-</dataset>
diff --git 
a/test/e2e/suite/src/test/resources/cases/ral/dataset/empty_rules/cluster/postgresql/select_sys_data_for_pg.xml
 
b/test/e2e/suite/src/test/resources/cases/ral/dataset/empty_rules/cluster/postgresql/select_sys_data_for_pg.xml
deleted file mode 100644
index 665af63d088..00000000000
--- 
a/test/e2e/suite/src/test/resources/cases/ral/dataset/empty_rules/cluster/postgresql/select_sys_data_for_pg.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~     http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  -->
-
-<dataset>
-    <metadata>
-        <column name="Schema" />
-        <column name="Name" />
-        <column name="Type" />
-        <column name="Owner" />
-    </metadata>
-    <row values="public | t_single_table | table | mock user" />
-    <row values="public | t_user | table | mock user" />
-    <row values="public | t_user_item | table | mock user" />
-</dataset>
diff --git 
a/test/e2e/suite/src/test/resources/cases/ral/dataset/empty_rules/select_sharding_table_statistics.xml
 
b/test/e2e/suite/src/test/resources/cases/ral/dataset/empty_rules/select_sharding_table_statistics.xml
deleted file mode 100644
index 4f5b677918f..00000000000
--- 
a/test/e2e/suite/src/test/resources/cases/ral/dataset/empty_rules/select_sharding_table_statistics.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~     http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  -->
-
-<dataset>
-    <metadata>
-        <column name="id" assertion="false" />
-        <column name="logic_database_name" />
-        <column name="logic_table_name" />
-        <column name="actual_database_name" />
-        <column name="actual_table_name" />
-        <column name="row_count" assertion="false" />
-        <column name="size" assertion="false" />
-    </metadata>
-</dataset>
diff --git 
a/test/e2e/suite/src/test/resources/cases/ral/dataset/empty_rules/standalone/opengauss/select_sys_data_for_og.xml
 
b/test/e2e/suite/src/test/resources/cases/ral/dataset/empty_rules/standalone/opengauss/select_sys_data_for_og.xml
deleted file mode 100644
index fecbb114fbc..00000000000
--- 
a/test/e2e/suite/src/test/resources/cases/ral/dataset/empty_rules/standalone/opengauss/select_sys_data_for_og.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~     http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  -->
-
-<dataset>
-    <metadata>
-        <column name="Schema" />
-        <column name="Name" />
-        <column name="Type" />
-        <column name="Owner" />
-        <column name="Storage" assertion="false" />
-    </metadata>
-</dataset>
diff --git 
a/test/e2e/suite/src/test/resources/cases/ral/dataset/empty_rules/standalone/postgresql/select_sys_data_for_pg.xml
 
b/test/e2e/suite/src/test/resources/cases/ral/dataset/empty_rules/standalone/postgresql/select_sys_data_for_pg.xml
deleted file mode 100644
index 4aaec0363b7..00000000000
--- 
a/test/e2e/suite/src/test/resources/cases/ral/dataset/empty_rules/standalone/postgresql/select_sys_data_for_pg.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~     http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  -->
-
-<dataset>
-    <metadata>
-        <column name="Schema" />
-        <column name="Name" />
-        <column name="Type" />
-        <column name="Owner" />
-    </metadata>
-</dataset>
diff --git 
a/test/e2e/suite/src/test/resources/cases/ral/ral-integration-test-cases.xml 
b/test/e2e/suite/src/test/resources/cases/ral/ral-integration-test-cases.xml
index 8b734b4eb71..abdeb5867ab 100644
--- a/test/e2e/suite/src/test/resources/cases/ral/ral-integration-test-cases.xml
+++ b/test/e2e/suite/src/test/resources/cases/ral/ral-integration-test-cases.xml
@@ -90,22 +90,6 @@
         </assertion>
     </test-case>
     
-    <test-case sql="SELECT n.nspname as &quot;Schema&quot;, c.relname as 
&quot;Name&quot;, CASE c.relkind WHEN 'r' THEN 'table' WHEN 'v' THEN 'view' 
WHEN 'm' THEN 'materialized view' WHEN 'i' THEN 'index' WHEN 'S' THEN 
'sequence' WHEN 's' THEN 'special' WHEN 'f' THEN 'foreign table' WHEN 'p' THEN 
'partitioned table' WHEN 'I' THEN 'partitioned index' END as &quot;Type&quot;, 
pg_catalog.pg_get_userbyid(c.relowner) as &quot;Owner&quot; FROM 
pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_name [...]
-        <assertion expected-data-file="select_sys_data_for_pg.xml" />
-    </test-case>
-
-    <test-case sql="SELECT n.nspname as &quot;Schema&quot;, c.relname as 
&quot;Name&quot;, CASE c.relkind WHEN 'r' THEN 'table' WHEN 'v' THEN 'view' 
WHEN 'i' THEN 'index' WHEN 'I' THEN 'global partition index' WHEN 'S' THEN 
'sequence' WHEN 'L' THEN 'large sequence' WHEN 'f' THEN 'foreign table' WHEN 
'm' THEN 'materialized view'  WHEN 'e' THEN 'stream' WHEN 'o' THEN 'contview' 
END as &quot;Type&quot;, pg_catalog.pg_get_userbyid(c.relowner) as 
&quot;Owner&quot;, c.reloptions as &quot;Stora [...]
-        <assertion expected-data-file="select_sys_data_for_og.xml" />
-    </test-case>
-    
-    <test-case sql="select * from shardingsphere.sharding_table_statistics;" 
db-types="MySQL,PostgreSQL,openGauss">
-        <assertion expected-data-file="select_sharding_table_statistics.xml" />
-    </test-case>
-
-    <test-case sql="select * from shardingsphere.cluster_information;" 
db-types="MySQL,PostgreSQL,openGauss">
-        <assertion expected-data-file="select_cluster_information.xml" />
-    </test-case>
-
     <test-case sql="SHOW AUTHORITY RULE;">
         <assertion expected-data-file="show_authority_rule.xml" />
     </test-case>

Reply via email to