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

zhaojinchao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git


The following commit(s) were added to refs/heads/master by this push:
     new e2dd49d10b0 Add insert return generated key integration test case 
(#23495)
e2dd49d10b0 is described below

commit e2dd49d10b021ce852af405ef27e3570b79cfa11
Author: Zhengqiang Duan <[email protected]>
AuthorDate: Thu Jan 19 11:15:49 2023 +0800

    Add insert return generated key integration test case (#23495)
    
    * Add insert return generated key integration test case
    
    * open it.run.additional.cases to cover more case
    
    * Revert "open it.run.additional.cases to cover more case"
    
    This reverts commit 251e65c394be0890aae3b346c0c9b7bd5c090f9f.
    
    * open it.run.additional.cases for MySQL database
    
    * update github workflow
    
    * Skip openGauss and PostgreSQL for AdditionalDMLE2EIT
    
    * Support return mysql auto increment generated id when use Proxy
    
    * Replace sql format to getSQL in AdditionalDQLE2EIT
    
    * Update integration test
    
    * fix wrong column name in jdbc adapter
    
    * fix checkstyle
    
    * fix distsql integration test
    
    * fix distsql integration test
    
    * fix distsql integration test in batch execute
    
    * Optimize integration test
    
    * fix checkstyle
    
    * add ignore annotation for unsupported jdbc interface
    
    * ignore incorrect test case for PostgreSQL and openGauss
---
 .github/workflows/e2e.yml                          |  6 +--
 .../infra/hint/HintValueContext.java               |  2 +
 .../statement/ShardingSpherePreparedStatement.java |  9 +++-
 .../core/statement/ShardingSphereStatement.java    |  9 +++-
 ...ITAutoIncrementKeyGenerateAlgorithmFixture.java | 46 +++++++++++----------
 ...hardingsphere.sharding.spi.KeyGenerateAlgorithm |  1 +
 .../assertion/IntegrationTestCaseAssertion.java    |  3 ++
 .../test/e2e/engine/SingleE2EIT.java               |  5 +++
 .../test/e2e/engine/dml/AdditionalDMLE2EIT.java    | 48 +++++++++++++++++++---
 .../test/e2e/engine/dml/BaseDMLE2EIT.java          |  9 ++++
 .../test/e2e/engine/dql/AdditionalDQLE2EIT.java    | 35 ++++++++++++----
 .../batch_insert_without_generate_key_column.xml   |  7 ++--
 ...out_generate_key_column_generated_key_data.xml} |  6 +--
 ...out_generate_key_column_generated_key_data.xml} |  5 +--
 ...out_generate_key_column_generated_key_data.xml} |  6 +--
 ...out_generate_key_column_generated_key_data.xml} |  5 +--
 .../batch_insert_without_generate_key_column.xml   |  2 +-
 ...out_generate_key_column_generated_key_data.xml} |  6 +--
 ...out_generate_key_column_generated_key_data.xml} |  5 +--
 ...out_generate_key_column_generated_key_data.xml} |  6 +--
 ...out_generate_key_column_generated_key_data.xml} |  5 +--
 .../batch_insert_without_generate_key_column.xml   |  4 +-
 ...out_generate_key_column_generated_key_data.xml} |  6 +--
 ...out_generate_key_column_generated_key_data.xml} |  5 +--
 ...out_generate_key_column_generated_key_data.xml} |  6 +--
 ...out_generate_key_column_generated_key_data.xml} |  5 +--
 .../cases/dml/dml-integration-test-cases.xml       | 20 ++++-----
 .../rql/dataset/db/show_sharding_generators.xml    |  2 +-
 .../dataset/db/show_sharding_table_generator.xml   |  1 -
 .../rql/dataset/db/show_sharding_table_rules.xml   |  2 +-
 .../show_sharding_generators.xml                   |  2 +-
 .../show_sharding_table_generator.xml              |  1 -
 .../show_sharding_table_rules.xml                  |  2 +-
 .../rql/dataset/tbl/show_sharding_generators.xml   |  2 +-
 .../dataset/tbl/show_sharding_table_generator.xml  |  1 -
 .../rql/dataset/tbl/show_sharding_table_rules.xml  |  2 +-
 .../scenario/db/proxy/conf/mysql/config-db.yaml    |  6 +--
 .../db/proxy/conf/opengauss/config-db.yaml         |  6 +--
 .../db/proxy/conf/postgresql/config-db.yaml        |  6 +--
 .../src/test/resources/env/scenario/db/rules.yaml  |  6 +--
 .../config-dbtbl-with-readwrite-splitting.yaml     |  6 +--
 .../config-dbtbl-with-readwrite-splitting.yaml     |  6 +--
 .../config-dbtbl-with-readwrite-splitting.yaml     |  6 +--
 .../dbtbl_with_readwrite_splitting/rules.yaml      |  6 +--
 .../scenario/tbl/proxy/conf/mysql/config-tbl.yaml  |  6 +--
 .../tbl/proxy/conf/opengauss/config-tbl.yaml       |  6 +--
 .../tbl/proxy/conf/postgresql/config-tbl.yaml      |  6 +--
 .../src/test/resources/env/scenario/tbl/rules.yaml |  6 +--
 48 files changed, 218 insertions(+), 141 deletions(-)

diff --git a/.github/workflows/e2e.yml b/.github/workflows/e2e.yml
index ce262534514..ecb0a5c0d1c 100644
--- a/.github/workflows/e2e.yml
+++ b/.github/workflows/e2e.yml
@@ -127,7 +127,7 @@ jobs:
         if: matrix.adapter == 'proxy'
         run: docker load -i /tmp/${{ env.REPOSITORY_NAME }}-proxy-test.tar
       - name: Run E2E Test
-        run: ./mvnw -nsu -B install -f test/e2e/suite/pom.xml 
-Dspotless.apply.skip=true -Dit.run.modes=Cluster -Dit.scenarios=${{ 
matrix.scenario }} -Dit.cluster.adapters=${{ matrix.adapter }} 
-Dit.cluster.databases=${{ matrix.database }} -Dit.cluster.env.type=DOCKER ${{ 
matrix.additional-options }}
+        run: ./mvnw -nsu -B install -f test/e2e/suite/pom.xml 
-Dspotless.apply.skip=true -Dit.run.modes=Cluster 
-Dit.run.additional.cases=true -Dit.scenarios=${{ matrix.scenario }} 
-Dit.cluster.adapters=${{ matrix.adapter }} -Dit.cluster.databases=${{ 
matrix.database }} -Dit.cluster.env.type=DOCKER ${{ matrix.additional-options }}
 
   it-single-rule:
     name: single rule
@@ -163,7 +163,7 @@ jobs:
         if: matrix.adapter == 'proxy'
         run: docker load -i /tmp/${{ env.REPOSITORY_NAME }}-proxy-test.tar
       - name: Run E2E Test
-        run: ./mvnw -nsu -B install -f test/e2e/suite/pom.xml 
-Dspotless.apply.skip=true -Dit.cluster.env.type=DOCKER 
-Dit.cluster.adapters=${{ matrix.adapter }} -Dit.run.modes=${{ matrix.mode }} 
-Dit.cluster.databases=${{ matrix.database }} -Dit.scenarios=${{ 
matrix.scenario }}
+        run: ./mvnw -nsu -B install -f test/e2e/suite/pom.xml 
-Dspotless.apply.skip=true -Dit.cluster.env.type=DOCKER 
-Dit.cluster.adapters=${{ matrix.adapter }} -Dit.run.modes=${{ matrix.mode }} 
-Dit.run.additional.cases=true -Dit.cluster.databases=${{ matrix.database }} 
-Dit.scenarios=${{ matrix.scenario }}
 
   it-mixture-rule:
     name: mixture rule
@@ -199,4 +199,4 @@ jobs:
         if: matrix.adapter == 'proxy'
         run: docker load -i /tmp/${{ env.REPOSITORY_NAME }}-proxy-test.tar
       - name: Run E2E Test
-        run: ./mvnw -nsu -B install -f test/e2e/suite/pom.xml 
-Dspotless.apply.skip=true -Dit.cluster.env.type=DOCKER 
-Dit.cluster.adapters=${{ matrix.adapter }} -Dit.run.modes=${{ matrix.mode }} 
-Dit.cluster.databases=${{ matrix.database }} -Dit.scenarios=${{ 
matrix.scenario }}
+        run: ./mvnw -nsu -B install -f test/e2e/suite/pom.xml 
-Dspotless.apply.skip=true -Dit.cluster.env.type=DOCKER 
-Dit.cluster.adapters=${{ matrix.adapter }} -Dit.run.modes=${{ matrix.mode }} 
-Dit.run.additional.cases=true -Dit.cluster.databases=${{ matrix.database }} 
-Dit.scenarios=${{ matrix.scenario }}
diff --git 
a/infra/common/src/main/java/org/apache/shardingsphere/infra/hint/HintValueContext.java
 
b/infra/common/src/main/java/org/apache/shardingsphere/infra/hint/HintValueContext.java
index bde499217e5..4e25f47db0b 100644
--- 
a/infra/common/src/main/java/org/apache/shardingsphere/infra/hint/HintValueContext.java
+++ 
b/infra/common/src/main/java/org/apache/shardingsphere/infra/hint/HintValueContext.java
@@ -21,12 +21,14 @@ import com.google.common.collect.ArrayListMultimap;
 import com.google.common.collect.Multimap;
 import lombok.Getter;
 import lombok.Setter;
+import lombok.ToString;
 
 /**
  * Hint value context.
  */
 @Getter
 @Setter
+@ToString
 public final class HintValueContext {
     
     private final Multimap<String, Comparable<?>> shardingDatabaseValues = 
ArrayListMultimap.create();
diff --git 
a/jdbc/core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/statement/ShardingSpherePreparedStatement.java
 
b/jdbc/core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/statement/ShardingSpherePreparedStatement.java
index ce208118d06..4ddef94167b 100644
--- 
a/jdbc/core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/statement/ShardingSpherePreparedStatement.java
+++ 
b/jdbc/core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/statement/ShardingSpherePreparedStatement.java
@@ -46,6 +46,7 @@ import 
org.apache.shardingsphere.infra.config.props.ConfigurationPropertyKey;
 import org.apache.shardingsphere.infra.context.kernel.KernelProcessor;
 import org.apache.shardingsphere.infra.database.type.DatabaseType;
 import org.apache.shardingsphere.infra.database.type.DatabaseTypeEngine;
+import org.apache.shardingsphere.infra.database.type.dialect.MySQLDatabaseType;
 import org.apache.shardingsphere.infra.executor.check.SQLCheckEngine;
 import org.apache.shardingsphere.infra.executor.kernel.model.ExecutionGroup;
 import 
org.apache.shardingsphere.infra.executor.kernel.model.ExecutionGroupContext;
@@ -614,7 +615,7 @@ public final class ShardingSpherePreparedStatement extends 
AbstractPreparedState
     public ResultSet getGeneratedKeys() throws SQLException {
         Optional<GeneratedKeyContext> generatedKey = 
findGeneratedKey(executionContext);
         if (generatedKey.isPresent() && 
statementOption.isReturnGeneratedKeys() && !generatedValues.isEmpty()) {
-            return new 
GeneratedKeysResultSet(generatedKey.get().getColumnName(), 
generatedValues.iterator(), this);
+            return new 
GeneratedKeysResultSet(getGeneratedKeysColumnName(generatedKey.get().getColumnName()),
 generatedValues.iterator(), this);
         }
         for (PreparedStatement each : statements) {
             ResultSet resultSet = each.getGeneratedKeys();
@@ -623,7 +624,11 @@ public final class ShardingSpherePreparedStatement extends 
AbstractPreparedState
             }
         }
         String columnName = 
generatedKey.map(GeneratedKeyContext::getColumnName).orElse(null);
-        return new GeneratedKeysResultSet(columnName, 
generatedValues.iterator(), this);
+        return new 
GeneratedKeysResultSet(getGeneratedKeysColumnName(columnName), 
generatedValues.iterator(), this);
+    }
+    
+    private String getGeneratedKeysColumnName(final String columnName) {
+        return 
metaDataContexts.getMetaData().getDatabase(connection.getDatabaseName()).getProtocolType()
 instanceof MySQLDatabaseType ? "GENERATED_KEY" : columnName;
     }
     
     @Override
diff --git 
a/jdbc/core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/statement/ShardingSphereStatement.java
 
b/jdbc/core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/statement/ShardingSphereStatement.java
index f1a57aaa6db..76c2a898167 100644
--- 
a/jdbc/core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/statement/ShardingSphereStatement.java
+++ 
b/jdbc/core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/statement/ShardingSphereStatement.java
@@ -45,6 +45,7 @@ import 
org.apache.shardingsphere.infra.config.props.ConfigurationPropertyKey;
 import org.apache.shardingsphere.infra.context.kernel.KernelProcessor;
 import org.apache.shardingsphere.infra.database.type.DatabaseType;
 import org.apache.shardingsphere.infra.database.type.DatabaseTypeEngine;
+import org.apache.shardingsphere.infra.database.type.dialect.MySQLDatabaseType;
 import org.apache.shardingsphere.infra.executor.check.SQLCheckEngine;
 import org.apache.shardingsphere.infra.executor.kernel.model.ExecutionGroup;
 import 
org.apache.shardingsphere.infra.executor.kernel.model.ExecutionGroupContext;
@@ -672,7 +673,7 @@ public final class ShardingSphereStatement extends 
AbstractStatementAdapter {
     public ResultSet getGeneratedKeys() throws SQLException {
         Optional<GeneratedKeyContext> generatedKey = findGeneratedKey();
         if (returnGeneratedKeys && generatedKey.isPresent() && 
!generatedKey.get().getGeneratedValues().isEmpty()) {
-            return new 
GeneratedKeysResultSet(generatedKey.get().getColumnName(), 
generatedKey.get().getGeneratedValues().iterator(), this);
+            return new 
GeneratedKeysResultSet(getGeneratedKeysColumnName(generatedKey.get().getColumnName()),
 generatedKey.get().getGeneratedValues().iterator(), this);
         }
         Collection<Comparable<?>> generatedValues = new LinkedList<>();
         for (Statement each : statements) {
@@ -682,7 +683,7 @@ public final class ShardingSphereStatement extends 
AbstractStatementAdapter {
             }
         }
         String columnName = 
generatedKey.map(GeneratedKeyContext::getColumnName).orElse(null);
-        return new GeneratedKeysResultSet(columnName, 
generatedValues.iterator(), this);
+        return new 
GeneratedKeysResultSet(getGeneratedKeysColumnName(columnName), 
generatedValues.iterator(), this);
     }
     
     private Optional<GeneratedKeyContext> findGeneratedKey() {
@@ -690,4 +691,8 @@ public final class ShardingSphereStatement extends 
AbstractStatementAdapter {
                 ? ((InsertStatementContext) 
executionContext.getSqlStatementContext()).getGeneratedKeyContext()
                 : Optional.empty();
     }
+    
+    private String getGeneratedKeysColumnName(final String columnName) {
+        return 
metaDataContexts.getMetaData().getDatabase(connection.getDatabaseName()).getProtocolType()
 instanceof MySQLDatabaseType ? "GENERATED_KEY" : columnName;
+    }
 }
diff --git 
a/infra/common/src/main/java/org/apache/shardingsphere/infra/hint/HintValueContext.java
 
b/test/e2e/fixture/src/test/java/org/apache/shardingsphere/test/e2e/fixture/ITAutoIncrementKeyGenerateAlgorithmFixture.java
similarity index 52%
copy from 
infra/common/src/main/java/org/apache/shardingsphere/infra/hint/HintValueContext.java
copy to 
test/e2e/fixture/src/test/java/org/apache/shardingsphere/test/e2e/fixture/ITAutoIncrementKeyGenerateAlgorithmFixture.java
index bde499217e5..717fa42518c 100644
--- 
a/infra/common/src/main/java/org/apache/shardingsphere/infra/hint/HintValueContext.java
+++ 
b/test/e2e/fixture/src/test/java/org/apache/shardingsphere/test/e2e/fixture/ITAutoIncrementKeyGenerateAlgorithmFixture.java
@@ -15,35 +15,39 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.infra.hint;
+package org.apache.shardingsphere.test.e2e.fixture;
 
-import com.google.common.collect.ArrayListMultimap;
-import com.google.common.collect.Multimap;
 import lombok.Getter;
-import lombok.Setter;
+import org.apache.shardingsphere.sharding.spi.KeyGenerateAlgorithm;
+
+import java.util.Properties;
+import java.util.concurrent.atomic.AtomicLong;
 
-/**
- * Hint value context.
- */
 @Getter
-@Setter
-public final class HintValueContext {
-    
-    private final Multimap<String, Comparable<?>> shardingDatabaseValues = 
ArrayListMultimap.create();
-    
-    private final Multimap<String, Comparable<?>> shardingTableValues = 
ArrayListMultimap.create();
-    
-    private String dataSourceName = "";
+public final class ITAutoIncrementKeyGenerateAlgorithmFixture implements 
KeyGenerateAlgorithm {
     
-    private boolean databaseShardingOnly;
+    private final AtomicLong idGenerator = new AtomicLong(1L);
     
-    private boolean writeRouteOnly;
+    private Properties props;
     
-    private boolean useTraffic;
+    @Override
+    public void init(final Properties props) {
+        this.props = props;
+    }
     
-    private boolean skipEncryptRewrite;
+    @Override
+    public Long generateKey() {
+        return idGenerator.getAndIncrement();
+    }
     
-    private String disableAuditNames = "";
+    @Override
+    public String getType() {
+        return "IT.AUTO_INCREMENT.FIXTURE";
+    }
     
-    private boolean shadow;
+    @Override
+    public boolean isSupportAutoIncrement() {
+        idGenerator.set(1L);
+        return true;
+    }
 }
diff --git 
a/test/e2e/fixture/src/test/resources/META-INF/services/org.apache.shardingsphere.sharding.spi.KeyGenerateAlgorithm
 
b/test/e2e/fixture/src/test/resources/META-INF/services/org.apache.shardingsphere.sharding.spi.KeyGenerateAlgorithm
index f7d5dae02f2..e934b093655 100644
--- 
a/test/e2e/fixture/src/test/resources/META-INF/services/org.apache.shardingsphere.sharding.spi.KeyGenerateAlgorithm
+++ 
b/test/e2e/fixture/src/test/resources/META-INF/services/org.apache.shardingsphere.sharding.spi.KeyGenerateAlgorithm
@@ -16,3 +16,4 @@
 #
 
 org.apache.shardingsphere.test.e2e.fixture.ITKeyGenerateAlgorithmFixture
+org.apache.shardingsphere.test.e2e.fixture.ITAutoIncrementKeyGenerateAlgorithmFixture
diff --git 
a/test/e2e/suite/src/test/java/org/apache/shardingsphere/test/e2e/cases/assertion/IntegrationTestCaseAssertion.java
 
b/test/e2e/suite/src/test/java/org/apache/shardingsphere/test/e2e/cases/assertion/IntegrationTestCaseAssertion.java
index 23b8b47d54c..7c2f63c8c2a 100644
--- 
a/test/e2e/suite/src/test/java/org/apache/shardingsphere/test/e2e/cases/assertion/IntegrationTestCaseAssertion.java
+++ 
b/test/e2e/suite/src/test/java/org/apache/shardingsphere/test/e2e/cases/assertion/IntegrationTestCaseAssertion.java
@@ -47,6 +47,9 @@ public final class IntegrationTestCaseAssertion {
     @XmlAttribute(name = "expected-data-file")
     private String expectedDataFile;
     
+    @XmlAttribute(name = "expected-generated-key-data-file")
+    private String expectedGeneratedKeyDataFile;
+    
     @XmlAttribute
     private String parameters;
     
diff --git 
a/test/e2e/suite/src/test/java/org/apache/shardingsphere/test/e2e/engine/SingleE2EIT.java
 
b/test/e2e/suite/src/test/java/org/apache/shardingsphere/test/e2e/engine/SingleE2EIT.java
index f6e8de147db..c831ce1d5ef 100644
--- 
a/test/e2e/suite/src/test/java/org/apache/shardingsphere/test/e2e/engine/SingleE2EIT.java
+++ 
b/test/e2e/suite/src/test/java/org/apache/shardingsphere/test/e2e/engine/SingleE2EIT.java
@@ -46,6 +46,8 @@ public abstract class SingleE2EIT extends BaseE2EIT {
     
     private final DataSet dataSet;
     
+    private final DataSet generatedKeyDataSet;
+    
     public SingleE2EIT(final AssertionTestParameter testParam) {
         super(testParam);
         sqlExecuteType = testParam.getSqlExecuteType();
@@ -53,6 +55,9 @@ public abstract class SingleE2EIT extends BaseE2EIT {
         dataSet = null == assertion || null == assertion.getExpectedDataFile()
                 ? null
                 : 
DataSetLoader.load(testParam.getTestCaseContext().getParentPath(), 
getScenario(), getDatabaseType(), getMode(), assertion.getExpectedDataFile());
+        generatedKeyDataSet = null == assertion || null == 
assertion.getExpectedGeneratedKeyDataFile()
+                ? null
+                : 
DataSetLoader.load(testParam.getTestCaseContext().getParentPath(), 
getScenario(), getDatabaseType(), getMode(), 
assertion.getExpectedGeneratedKeyDataFile());
     }
     
     protected final String getSQL() throws ParseException {
diff --git 
a/test/e2e/suite/src/test/java/org/apache/shardingsphere/test/e2e/engine/dml/AdditionalDMLE2EIT.java
 
b/test/e2e/suite/src/test/java/org/apache/shardingsphere/test/e2e/engine/dml/AdditionalDMLE2EIT.java
index 674508ad548..190e8ccbe8a 100644
--- 
a/test/e2e/suite/src/test/java/org/apache/shardingsphere/test/e2e/engine/dml/AdditionalDMLE2EIT.java
+++ 
b/test/e2e/suite/src/test/java/org/apache/shardingsphere/test/e2e/engine/dml/AdditionalDMLE2EIT.java
@@ -25,6 +25,7 @@ import 
org.apache.shardingsphere.test.e2e.framework.param.array.E2ETestParameter
 import 
org.apache.shardingsphere.test.e2e.framework.param.model.AssertionTestParameter;
 import 
org.apache.shardingsphere.test.e2e.framework.runner.ParallelRunningStrategy;
 import 
org.apache.shardingsphere.test.e2e.framework.runner.ParallelRunningStrategy.ParallelLevel;
+import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runners.Parameterized.Parameters;
 
@@ -55,6 +56,9 @@ public final class AdditionalDMLE2EIT extends BaseDMLE2EIT {
     
     @Test
     public void executeUpdateWithAutoGeneratedKeys() throws SQLException, 
ParseException {
+        if (isPostgreSQLOrOpenGauss(getDatabaseType().getType())) {
+            return;
+        }
         int actualUpdateCount;
         try (Connection connection = getTargetDataSource().getConnection()) {
             actualUpdateCount = SQLExecuteType.Literal == getSqlExecuteType()
@@ -64,23 +68,36 @@ public final class AdditionalDMLE2EIT extends BaseDMLE2EIT {
         assertDataSet(actualUpdateCount);
     }
     
+    private boolean isPostgreSQLOrOpenGauss(final String databaseType) {
+        return "PostgreSQL".equals(databaseType) || 
"openGauss".equals(databaseType);
+    }
+    
     private int executeUpdateForStatementWithAutoGeneratedKeys(final 
Connection connection) throws SQLException, ParseException {
         try (Statement statement = connection.createStatement()) {
-            return statement.executeUpdate(String.format(getSQL(), 
getAssertion().getSQLValues().toArray()), Statement.NO_GENERATED_KEYS);
+            int result = statement.executeUpdate(String.format(getSQL(), 
getAssertion().getSQLValues().toArray()), Statement.RETURN_GENERATED_KEYS);
+            assertGeneratedKeys(statement.getGeneratedKeys());
+            return result;
         }
     }
     
     private int executeUpdateForPreparedStatementWithAutoGeneratedKeys(final 
Connection connection) throws SQLException, ParseException {
-        try (PreparedStatement preparedStatement = 
connection.prepareStatement(getSQL(), Statement.NO_GENERATED_KEYS)) {
+        try (PreparedStatement preparedStatement = 
connection.prepareStatement(getSQL(), Statement.RETURN_GENERATED_KEYS)) {
             for (SQLValue each : getAssertion().getSQLValues()) {
                 preparedStatement.setObject(each.getIndex(), each.getValue());
             }
-            return preparedStatement.executeUpdate();
+            int result = preparedStatement.executeUpdate();
+            assertGeneratedKeys(preparedStatement.getGeneratedKeys());
+            return result;
         }
     }
     
     @Test
+    @Ignore
+    // TODO support execute update with column indexes in #23626
     public void assertExecuteUpdateWithColumnIndexes() throws SQLException, 
ParseException {
+        if (isPostgreSQLOrOpenGauss(getDatabaseType().getType())) {
+            return;
+        }
         int actualUpdateCount;
         try (Connection connection = getTargetDataSource().getConnection()) {
             actualUpdateCount = SQLExecuteType.Literal == getSqlExecuteType() 
? executeUpdateForStatementWithColumnIndexes(connection) : 
executeUpdateForPreparedStatementWithColumnIndexes(connection);
@@ -104,7 +121,12 @@ public final class AdditionalDMLE2EIT extends BaseDMLE2EIT 
{
     }
     
     @Test
+    @Ignore
+    // TODO support execute update with column names in #23626
     public void assertExecuteUpdateWithColumnNames() throws SQLException, 
ParseException {
+        if (isPostgreSQLOrOpenGauss(getDatabaseType().getType())) {
+            return;
+        }
         int actualUpdateCount;
         try (Connection connection = getTargetDataSource().getConnection()) {
             actualUpdateCount = SQLExecuteType.Literal == getSqlExecuteType() 
? executeUpdateForStatementWithColumnNames(connection) : 
executeUpdateForPreparedStatementWithColumnNames(connection);
@@ -129,6 +151,9 @@ public final class AdditionalDMLE2EIT extends BaseDMLE2EIT {
     
     @Test
     public void assertExecuteWithoutAutoGeneratedKeys() throws SQLException, 
ParseException {
+        if (isPostgreSQLOrOpenGauss(getDatabaseType().getType())) {
+            return;
+        }
         int actualUpdateCount;
         try (Connection connection = getTargetDataSource().getConnection()) {
             actualUpdateCount = SQLExecuteType.Literal == getSqlExecuteType()
@@ -157,6 +182,9 @@ public final class AdditionalDMLE2EIT extends BaseDMLE2EIT {
     
     @Test
     public void assertExecuteWithAutoGeneratedKeys() throws SQLException, 
ParseException {
+        if (isPostgreSQLOrOpenGauss(getDatabaseType().getType())) {
+            return;
+        }
         int actualUpdateCount;
         try (Connection connection = getTargetDataSource().getConnection()) {
             actualUpdateCount = SQLExecuteType.Literal == getSqlExecuteType() 
? executeForStatementWithAutoGeneratedKeys(connection) : 
executeForPreparedStatementWithAutoGeneratedKeys(connection);
@@ -167,8 +195,8 @@ public final class AdditionalDMLE2EIT extends BaseDMLE2EIT {
     private int executeForStatementWithAutoGeneratedKeys(final Connection 
connection) throws SQLException, ParseException {
         try (Statement statement = connection.createStatement()) {
             assertFalse("Not a DML statement.", 
statement.execute(String.format(getSQL(), 
getAssertion().getSQLValues().toArray()), Statement.RETURN_GENERATED_KEYS));
+            assertGeneratedKeys(statement.getGeneratedKeys());
             return statement.getUpdateCount();
-            // TODO assert statement.getGeneratedKeys();
         }
     }
     
@@ -178,13 +206,18 @@ public final class AdditionalDMLE2EIT extends 
BaseDMLE2EIT {
                 preparedStatement.setObject(each.getIndex(), each.getValue());
             }
             assertFalse("Not a DML statement.", preparedStatement.execute());
+            assertGeneratedKeys(preparedStatement.getGeneratedKeys());
             return preparedStatement.getUpdateCount();
-            // TODO assert preparedStatement.getGeneratedKeys();
         }
     }
     
     @Test
+    @Ignore
+    // TODO support execute with column indexes in #23626
     public void assertExecuteWithColumnIndexes() throws SQLException, 
ParseException {
+        if (isPostgreSQLOrOpenGauss(getDatabaseType().getType())) {
+            return;
+        }
         int actualUpdateCount;
         try (Connection connection = getTargetDataSource().getConnection()) {
             actualUpdateCount = SQLExecuteType.Literal == getSqlExecuteType() 
? executeForStatementWithColumnIndexes(connection) : 
executeForPreparedStatementWithColumnIndexes(connection);
@@ -210,7 +243,12 @@ public final class AdditionalDMLE2EIT extends BaseDMLE2EIT 
{
     }
     
     @Test
+    @Ignore
+    // TODO support execute with column names in #23626
     public void assertExecuteWithColumnNames() throws SQLException, 
ParseException {
+        if (isPostgreSQLOrOpenGauss(getDatabaseType().getType())) {
+            return;
+        }
         int actualUpdateCount;
         try (Connection connection = getTargetDataSource().getConnection()) {
             actualUpdateCount = SQLExecuteType.Literal == getSqlExecuteType() 
? executeForStatementWithColumnNames(connection) : 
executeForPreparedStatementWithColumnNames(connection);
diff --git 
a/test/e2e/suite/src/test/java/org/apache/shardingsphere/test/e2e/engine/dml/BaseDMLE2EIT.java
 
b/test/e2e/suite/src/test/java/org/apache/shardingsphere/test/e2e/engine/dml/BaseDMLE2EIT.java
index a9d0bf99c15..7b99c828c9a 100644
--- 
a/test/e2e/suite/src/test/java/org/apache/shardingsphere/test/e2e/engine/dml/BaseDMLE2EIT.java
+++ 
b/test/e2e/suite/src/test/java/org/apache/shardingsphere/test/e2e/engine/dml/BaseDMLE2EIT.java
@@ -137,4 +137,13 @@ public abstract class BaseDMLE2EIT extends SingleE2EIT {
     private boolean isPostgreSQLOrOpenGaussMoney(final String columnTypeName) {
         return "money".equalsIgnoreCase(columnTypeName) && 
("PostgreSQL".equals(getDatabaseType().getType()) || 
"openGauss".equals(getDatabaseType().getType()));
     }
+    
+    protected void assertGeneratedKeys(final ResultSet generatedKeys) throws 
SQLException {
+        if (null == getGeneratedKeyDataSet()) {
+            return;
+        }
+        assertThat("Only support single table for DML.", 
getGeneratedKeyDataSet().getMetaDataList().size(), is(1));
+        assertMetaData(generatedKeys.getMetaData(), 
getGeneratedKeyDataSet().getMetaDataList().get(0).getColumns());
+        assertRows(generatedKeys, getGeneratedKeyDataSet().getRows());
+    }
 }
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 cbce1b2031f..9962e8a5b06 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
@@ -53,6 +53,10 @@ public final class AdditionalDQLE2EIT extends BaseDQLE2EIT {
     
     @Test
     public void assertExecuteQueryWithResultSetTypeAndResultSetConcurrency() 
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()) {
@@ -64,13 +68,17 @@ public final class AdditionalDQLE2EIT extends BaseDQLE2EIT {
         }
     }
     
+    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(String.format(getSQL(), 
getAssertion().getSQLValues().toArray()));
+                ResultSet actualResultSet = 
actualStatement.executeQuery(getSQL());
                 Statement expectedStatement = 
expectedConnection.createStatement(ResultSet.TYPE_FORWARD_ONLY, 
ResultSet.CONCUR_READ_ONLY);
-                ResultSet expectedResultSet = 
expectedStatement.executeQuery(String.format(getSQL(), 
getAssertion().getSQLValues().toArray()))) {
+                ResultSet expectedResultSet = 
expectedStatement.executeQuery(getSQL())) {
             assertResultSet(actualResultSet, expectedResultSet);
         }
     }
@@ -95,6 +103,10 @@ public final class AdditionalDQLE2EIT extends BaseDQLE2EIT {
     
     @Test
     public void 
assertExecuteQueryWithResultSetTypeAndResultSetConcurrencyAndResultSetHoldability()
 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()) {
@@ -109,12 +121,11 @@ public final class AdditionalDQLE2EIT extends 
BaseDQLE2EIT {
     private void 
assertExecuteQueryForStatementWithResultSetTypeAndResultSetConcurrencyAndResultSetHoldability(
                                                                                
                                final Connection actualConnection,
                                                                                
                                final Connection expectedConnection) throws 
SQLException, ParseException {
-        String sql = String.format(getSQL(), 
getAssertion().getSQLValues().toArray());
         try (
                 Statement actualStatement = 
actualConnection.createStatement(ResultSet.TYPE_FORWARD_ONLY, 
ResultSet.CONCUR_READ_ONLY, ResultSet.HOLD_CURSORS_OVER_COMMIT);
-                ResultSet actualResultSet = actualStatement.executeQuery(sql);
+                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(sql)) {
+                ResultSet expectedResultSet = 
expectedStatement.executeQuery(getSQL())) {
             assertResultSet(actualResultSet, expectedResultSet);
         }
     }
@@ -140,6 +151,10 @@ public final class AdditionalDQLE2EIT extends BaseDQLE2EIT 
{
     
     @Test
     public void assertExecuteWithResultSetTypeAndResultSetConcurrency() 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()) {
@@ -155,8 +170,7 @@ public final class AdditionalDQLE2EIT extends BaseDQLE2EIT {
         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)) {
-            String sql = String.format(getSQL(), 
getAssertion().getSQLValues().toArray());
-            assertTrue("Not a query statement.", actualStatement.execute(sql) 
&& expectedStatement.execute(sql));
+            assertTrue("Not a query statement.", 
actualStatement.execute(getSQL()) && expectedStatement.execute(getSQL()));
             try (
                     ResultSet actualResultSet = actualStatement.getResultSet();
                     ResultSet expectedResultSet = 
expectedStatement.getResultSet()) {
@@ -185,6 +199,10 @@ public final class AdditionalDQLE2EIT extends BaseDQLE2EIT 
{
     
     @Test
     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()) {
@@ -202,8 +220,7 @@ public final class AdditionalDQLE2EIT extends BaseDQLE2EIT {
         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)) {
-            String sql = String.format(getSQL(), 
getAssertion().getSQLValues().toArray());
-            assertTrue("Not a query statement.", actualStatement.execute(sql) 
&& expectedStatement.execute(sql));
+            assertTrue("Not a query statement.", 
actualStatement.execute(getSQL()) && expectedStatement.execute(getSQL()));
             try (
                     ResultSet actualResultSet = actualStatement.getResultSet();
                     ResultSet expectedResultSet = 
expectedStatement.getResultSet()) {
diff --git 
a/test/e2e/suite/src/test/resources/cases/dml/dataset/db/batch_insert_without_generate_key_column.xml
 
b/test/e2e/suite/src/test/resources/cases/dml/dataset/db/batch_insert_without_generate_key_column.xml
index b3f11d59ab8..07173e8c9dd 100644
--- 
a/test/e2e/suite/src/test/resources/cases/dml/dataset/db/batch_insert_without_generate_key_column.xml
+++ 
b/test/e2e/suite/src/test/resources/cases/dml/dataset/db/batch_insert_without_generate_key_column.xml
@@ -20,7 +20,8 @@
         <column name="item_id" type="numeric" />
         <column name="order_id" type="numeric" />
         <column name="user_id" type="numeric" />
-        <column name="status" type="varchar" />
+        <column name="product_id" type="numeric" />
+        <column name="quantity" type="numeric" />
         <column name="creation_date" type="datetime" />
     </metadata>
     <row data-node="db_0.t_order_item" values="100001, 1000, 10, 1, 1, 
2017-08-08" />
@@ -31,7 +32,7 @@
     <row data-node="db_0.t_order_item" values="200002, 2000, 20, 3, 1, 
2017-08-08" />
     <row data-node="db_0.t_order_item" values="200101, 2001, 20, 4, 1, 
2017-08-08" />
     <row data-node="db_0.t_order_item" values="200102, 2001, 20, 4, 1, 
2017-08-08" />
-    <row data-node="db_1.t_order_item" values="1, 1, 1, insert, 2017-08-08" />
+    <row data-node="db_1.t_order_item" values="1, 1, 1, 1, 1, 2017-08-08" />
     <row data-node="db_1.t_order_item" values="110001, 1100, 11, 5, 1, 
2017-08-08" />
     <row data-node="db_1.t_order_item" values="110002, 1100, 11, 5, 1, 
2017-08-08" />
     <row data-node="db_1.t_order_item" values="110101, 1101, 11, 6, 1, 
2017-08-08" />
@@ -40,7 +41,7 @@
     <row data-node="db_1.t_order_item" values="210002, 2100, 21, 7, 1, 
2017-08-08" />
     <row data-node="db_1.t_order_item" values="210101, 2101, 21, 8, 1, 
2017-08-08" />
     <row data-node="db_1.t_order_item" values="210102, 2101, 21, 8, 1, 
2017-08-08" />
-    <row data-node="db_2.t_order_item" values="1, 2, 2, insert, 2017-08-08" />
+    <row data-node="db_2.t_order_item" values="2, 2, 2, 2, 2, 2017-08-08" />
     <row data-node="db_2.t_order_item" values="120001, 1200, 12, 9, 1, 
2017-08-08" />
     <row data-node="db_2.t_order_item" values="120002, 1200, 12, 9, 1, 
2017-08-08" />
     <row data-node="db_2.t_order_item" values="120101, 1201, 12, 10, 1, 
2017-08-08" />
diff --git 
a/test/e2e/suite/src/test/resources/cases/rql/dataset/dbtbl_with_readwrite_splitting/show_sharding_table_generator.xml
 
b/test/e2e/suite/src/test/resources/cases/dml/dataset/db/batch_insert_without_generate_key_column_generated_key_data.xml
similarity index 89%
copy from 
test/e2e/suite/src/test/resources/cases/rql/dataset/dbtbl_with_readwrite_splitting/show_sharding_table_generator.xml
copy to 
test/e2e/suite/src/test/resources/cases/dml/dataset/db/batch_insert_without_generate_key_column_generated_key_data.xml
index fc16314648b..a006b9ae089 100644
--- 
a/test/e2e/suite/src/test/resources/cases/rql/dataset/dbtbl_with_readwrite_splitting/show_sharding_table_generator.xml
+++ 
b/test/e2e/suite/src/test/resources/cases/dml/dataset/db/batch_insert_without_generate_key_column_generated_key_data.xml
@@ -17,8 +17,8 @@
 
 <dataset>
     <metadata>
-        <column name="type" />
-        <column name="name" />
+        <column name="item_id" type="numeric" />
     </metadata>
-    <row values="table| t_order_item" />
+    <row values="1" />
+    <row values="2" />
 </dataset>
diff --git 
a/test/e2e/suite/src/test/resources/cases/rql/dataset/dbtbl_with_readwrite_splitting/show_sharding_table_generator.xml
 
b/test/e2e/suite/src/test/resources/cases/dml/dataset/db/insert_without_generate_key_column_generated_key_data.xml
similarity index 89%
copy from 
test/e2e/suite/src/test/resources/cases/rql/dataset/dbtbl_with_readwrite_splitting/show_sharding_table_generator.xml
copy to 
test/e2e/suite/src/test/resources/cases/dml/dataset/db/insert_without_generate_key_column_generated_key_data.xml
index fc16314648b..19f2e1cc4b4 100644
--- 
a/test/e2e/suite/src/test/resources/cases/rql/dataset/dbtbl_with_readwrite_splitting/show_sharding_table_generator.xml
+++ 
b/test/e2e/suite/src/test/resources/cases/dml/dataset/db/insert_without_generate_key_column_generated_key_data.xml
@@ -17,8 +17,7 @@
 
 <dataset>
     <metadata>
-        <column name="type" />
-        <column name="name" />
+        <column name="item_id" type="numeric" />
     </metadata>
-    <row values="table| t_order_item" />
+    <row values="1" />
 </dataset>
diff --git 
a/test/e2e/suite/src/test/resources/cases/rql/dataset/dbtbl_with_readwrite_splitting/show_sharding_table_generator.xml
 
b/test/e2e/suite/src/test/resources/cases/dml/dataset/db/mysql/batch_insert_without_generate_key_column_generated_key_data.xml
similarity index 89%
copy from 
test/e2e/suite/src/test/resources/cases/rql/dataset/dbtbl_with_readwrite_splitting/show_sharding_table_generator.xml
copy to 
test/e2e/suite/src/test/resources/cases/dml/dataset/db/mysql/batch_insert_without_generate_key_column_generated_key_data.xml
index fc16314648b..b609132b19c 100644
--- 
a/test/e2e/suite/src/test/resources/cases/rql/dataset/dbtbl_with_readwrite_splitting/show_sharding_table_generator.xml
+++ 
b/test/e2e/suite/src/test/resources/cases/dml/dataset/db/mysql/batch_insert_without_generate_key_column_generated_key_data.xml
@@ -17,8 +17,8 @@
 
 <dataset>
     <metadata>
-        <column name="type" />
-        <column name="name" />
+        <column name="GENERATED_KEY" type="numeric" />
     </metadata>
-    <row values="table| t_order_item" />
+    <row values="1" />
+    <row values="2" />
 </dataset>
diff --git 
a/test/e2e/suite/src/test/resources/cases/rql/dataset/dbtbl_with_readwrite_splitting/show_sharding_table_generator.xml
 
b/test/e2e/suite/src/test/resources/cases/dml/dataset/db/mysql/insert_without_generate_key_column_generated_key_data.xml
similarity index 89%
copy from 
test/e2e/suite/src/test/resources/cases/rql/dataset/dbtbl_with_readwrite_splitting/show_sharding_table_generator.xml
copy to 
test/e2e/suite/src/test/resources/cases/dml/dataset/db/mysql/insert_without_generate_key_column_generated_key_data.xml
index fc16314648b..615cdcbb1ee 100644
--- 
a/test/e2e/suite/src/test/resources/cases/rql/dataset/dbtbl_with_readwrite_splitting/show_sharding_table_generator.xml
+++ 
b/test/e2e/suite/src/test/resources/cases/dml/dataset/db/mysql/insert_without_generate_key_column_generated_key_data.xml
@@ -17,8 +17,7 @@
 
 <dataset>
     <metadata>
-        <column name="type" />
-        <column name="name" />
+        <column name="GENERATED_KEY" type="numeric" />
     </metadata>
-    <row values="table| t_order_item" />
+    <row values="1" />
 </dataset>
diff --git 
a/test/e2e/suite/src/test/resources/cases/dml/dataset/dbtbl_with_readwrite_splitting/batch_insert_without_generate_key_column.xml
 
b/test/e2e/suite/src/test/resources/cases/dml/dataset/dbtbl_with_readwrite_splitting/batch_insert_without_generate_key_column.xml
index 667f283b07c..ad1c550adf0 100644
--- 
a/test/e2e/suite/src/test/resources/cases/dml/dataset/dbtbl_with_readwrite_splitting/batch_insert_without_generate_key_column.xml
+++ 
b/test/e2e/suite/src/test/resources/cases/dml/dataset/dbtbl_with_readwrite_splitting/batch_insert_without_generate_key_column.xml
@@ -69,7 +69,7 @@
     <row data-node="write_ds_2.t_order_item_0" values="120001, 1200, 12, 2, 1, 
2017-08-08" />
     <row data-node="write_ds_2.t_order_item_1" values="120100, 1201, 12, 3, 1, 
2017-08-08" />
     <row data-node="write_ds_2.t_order_item_1" values="120101, 1201, 12, 4, 1, 
2017-08-08" />
-    <row data-node="write_ds_2.t_order_item_2" values="1, 2, 2, 2, 2, 
2017-08-08" />
+    <row data-node="write_ds_2.t_order_item_2" values="2, 2, 2, 2, 2, 
2017-08-08" />
     <row data-node="write_ds_2.t_order_item_2" values="120200, 1202, 12, 5, 1, 
2017-08-08" />
     <row data-node="write_ds_2.t_order_item_2" values="120201, 1202, 12, 6, 1, 
2017-08-08" />
     <row data-node="write_ds_2.t_order_item_3" values="120300, 1203, 12, 7, 1, 
2017-08-08" />
diff --git 
a/test/e2e/suite/src/test/resources/cases/rql/dataset/dbtbl_with_readwrite_splitting/show_sharding_table_generator.xml
 
b/test/e2e/suite/src/test/resources/cases/dml/dataset/dbtbl_with_readwrite_splitting/batch_insert_without_generate_key_column_generated_key_data.xml
similarity index 89%
copy from 
test/e2e/suite/src/test/resources/cases/rql/dataset/dbtbl_with_readwrite_splitting/show_sharding_table_generator.xml
copy to 
test/e2e/suite/src/test/resources/cases/dml/dataset/dbtbl_with_readwrite_splitting/batch_insert_without_generate_key_column_generated_key_data.xml
index fc16314648b..a006b9ae089 100644
--- 
a/test/e2e/suite/src/test/resources/cases/rql/dataset/dbtbl_with_readwrite_splitting/show_sharding_table_generator.xml
+++ 
b/test/e2e/suite/src/test/resources/cases/dml/dataset/dbtbl_with_readwrite_splitting/batch_insert_without_generate_key_column_generated_key_data.xml
@@ -17,8 +17,8 @@
 
 <dataset>
     <metadata>
-        <column name="type" />
-        <column name="name" />
+        <column name="item_id" type="numeric" />
     </metadata>
-    <row values="table| t_order_item" />
+    <row values="1" />
+    <row values="2" />
 </dataset>
diff --git 
a/test/e2e/suite/src/test/resources/cases/rql/dataset/dbtbl_with_readwrite_splitting/show_sharding_table_generator.xml
 
b/test/e2e/suite/src/test/resources/cases/dml/dataset/dbtbl_with_readwrite_splitting/insert_without_generate_key_column_generated_key_data.xml
similarity index 89%
copy from 
test/e2e/suite/src/test/resources/cases/rql/dataset/dbtbl_with_readwrite_splitting/show_sharding_table_generator.xml
copy to 
test/e2e/suite/src/test/resources/cases/dml/dataset/dbtbl_with_readwrite_splitting/insert_without_generate_key_column_generated_key_data.xml
index fc16314648b..19f2e1cc4b4 100644
--- 
a/test/e2e/suite/src/test/resources/cases/rql/dataset/dbtbl_with_readwrite_splitting/show_sharding_table_generator.xml
+++ 
b/test/e2e/suite/src/test/resources/cases/dml/dataset/dbtbl_with_readwrite_splitting/insert_without_generate_key_column_generated_key_data.xml
@@ -17,8 +17,7 @@
 
 <dataset>
     <metadata>
-        <column name="type" />
-        <column name="name" />
+        <column name="item_id" type="numeric" />
     </metadata>
-    <row values="table| t_order_item" />
+    <row values="1" />
 </dataset>
diff --git 
a/test/e2e/suite/src/test/resources/cases/rql/dataset/dbtbl_with_readwrite_splitting/show_sharding_table_generator.xml
 
b/test/e2e/suite/src/test/resources/cases/dml/dataset/dbtbl_with_readwrite_splitting/mysql/batch_insert_without_generate_key_column_generated_key_data.xml
similarity index 89%
copy from 
test/e2e/suite/src/test/resources/cases/rql/dataset/dbtbl_with_readwrite_splitting/show_sharding_table_generator.xml
copy to 
test/e2e/suite/src/test/resources/cases/dml/dataset/dbtbl_with_readwrite_splitting/mysql/batch_insert_without_generate_key_column_generated_key_data.xml
index fc16314648b..b609132b19c 100644
--- 
a/test/e2e/suite/src/test/resources/cases/rql/dataset/dbtbl_with_readwrite_splitting/show_sharding_table_generator.xml
+++ 
b/test/e2e/suite/src/test/resources/cases/dml/dataset/dbtbl_with_readwrite_splitting/mysql/batch_insert_without_generate_key_column_generated_key_data.xml
@@ -17,8 +17,8 @@
 
 <dataset>
     <metadata>
-        <column name="type" />
-        <column name="name" />
+        <column name="GENERATED_KEY" type="numeric" />
     </metadata>
-    <row values="table| t_order_item" />
+    <row values="1" />
+    <row values="2" />
 </dataset>
diff --git 
a/test/e2e/suite/src/test/resources/cases/rql/dataset/dbtbl_with_readwrite_splitting/show_sharding_table_generator.xml
 
b/test/e2e/suite/src/test/resources/cases/dml/dataset/dbtbl_with_readwrite_splitting/mysql/insert_without_generate_key_column_generated_key_data.xml
similarity index 89%
copy from 
test/e2e/suite/src/test/resources/cases/rql/dataset/dbtbl_with_readwrite_splitting/show_sharding_table_generator.xml
copy to 
test/e2e/suite/src/test/resources/cases/dml/dataset/dbtbl_with_readwrite_splitting/mysql/insert_without_generate_key_column_generated_key_data.xml
index fc16314648b..615cdcbb1ee 100644
--- 
a/test/e2e/suite/src/test/resources/cases/rql/dataset/dbtbl_with_readwrite_splitting/show_sharding_table_generator.xml
+++ 
b/test/e2e/suite/src/test/resources/cases/dml/dataset/dbtbl_with_readwrite_splitting/mysql/insert_without_generate_key_column_generated_key_data.xml
@@ -17,8 +17,7 @@
 
 <dataset>
     <metadata>
-        <column name="type" />
-        <column name="name" />
+        <column name="GENERATED_KEY" type="numeric" />
     </metadata>
-    <row values="table| t_order_item" />
+    <row values="1" />
 </dataset>
diff --git 
a/test/e2e/suite/src/test/resources/cases/dml/dataset/tbl/batch_insert_without_generate_key_column.xml
 
b/test/e2e/suite/src/test/resources/cases/dml/dataset/tbl/batch_insert_without_generate_key_column.xml
index eaf02e87af0..50e61b7cf2a 100644
--- 
a/test/e2e/suite/src/test/resources/cases/dml/dataset/tbl/batch_insert_without_generate_key_column.xml
+++ 
b/test/e2e/suite/src/test/resources/cases/dml/dataset/tbl/batch_insert_without_generate_key_column.xml
@@ -26,10 +26,10 @@
     </metadata>
     <row data-node="tbl.t_order_item_0" values="100000, 1000, 10, 1, 1, 
2017-08-08" />
     <row data-node="tbl.t_order_item_0" values="100001, 1000, 10, 2, 1, 
2017-08-08" />
-    <row data-node="tbl.t_order_item_1" values="1, 1, 1, 1, 1, '2017-08-08'" />
+    <row data-node="tbl.t_order_item_1" values="1, 1, 1, 1, 1, 2017-08-08" />
     <row data-node="tbl.t_order_item_1" values="100100, 1001, 10, 3, 1, 
2017-08-08" />
     <row data-node="tbl.t_order_item_1" values="100101, 1001, 10, 4, 1, 
2017-08-08" />
-    <row data-node="tbl.t_order_item_2" values="1, 2, 2, 2, 2, '2017-08-08'" />
+    <row data-node="tbl.t_order_item_2" values="2, 2, 2, 2, 2, 2017-08-08" />
     <row data-node="tbl.t_order_item_2" values="100200, 1002, 10, 5, 1, 
2017-08-08" />
     <row data-node="tbl.t_order_item_2" values="100201, 1002, 10, 6, 1, 
2017-08-08" />
     <row data-node="tbl.t_order_item_3" values="100300, 1003, 10, 7, 1, 
2017-08-08" />
diff --git 
a/test/e2e/suite/src/test/resources/cases/rql/dataset/dbtbl_with_readwrite_splitting/show_sharding_table_generator.xml
 
b/test/e2e/suite/src/test/resources/cases/dml/dataset/tbl/batch_insert_without_generate_key_column_generated_key_data.xml
similarity index 89%
copy from 
test/e2e/suite/src/test/resources/cases/rql/dataset/dbtbl_with_readwrite_splitting/show_sharding_table_generator.xml
copy to 
test/e2e/suite/src/test/resources/cases/dml/dataset/tbl/batch_insert_without_generate_key_column_generated_key_data.xml
index fc16314648b..a006b9ae089 100644
--- 
a/test/e2e/suite/src/test/resources/cases/rql/dataset/dbtbl_with_readwrite_splitting/show_sharding_table_generator.xml
+++ 
b/test/e2e/suite/src/test/resources/cases/dml/dataset/tbl/batch_insert_without_generate_key_column_generated_key_data.xml
@@ -17,8 +17,8 @@
 
 <dataset>
     <metadata>
-        <column name="type" />
-        <column name="name" />
+        <column name="item_id" type="numeric" />
     </metadata>
-    <row values="table| t_order_item" />
+    <row values="1" />
+    <row values="2" />
 </dataset>
diff --git 
a/test/e2e/suite/src/test/resources/cases/rql/dataset/dbtbl_with_readwrite_splitting/show_sharding_table_generator.xml
 
b/test/e2e/suite/src/test/resources/cases/dml/dataset/tbl/insert_without_generate_key_column_generated_key_data.xml
similarity index 89%
copy from 
test/e2e/suite/src/test/resources/cases/rql/dataset/dbtbl_with_readwrite_splitting/show_sharding_table_generator.xml
copy to 
test/e2e/suite/src/test/resources/cases/dml/dataset/tbl/insert_without_generate_key_column_generated_key_data.xml
index fc16314648b..19f2e1cc4b4 100644
--- 
a/test/e2e/suite/src/test/resources/cases/rql/dataset/dbtbl_with_readwrite_splitting/show_sharding_table_generator.xml
+++ 
b/test/e2e/suite/src/test/resources/cases/dml/dataset/tbl/insert_without_generate_key_column_generated_key_data.xml
@@ -17,8 +17,7 @@
 
 <dataset>
     <metadata>
-        <column name="type" />
-        <column name="name" />
+        <column name="item_id" type="numeric" />
     </metadata>
-    <row values="table| t_order_item" />
+    <row values="1" />
 </dataset>
diff --git 
a/test/e2e/suite/src/test/resources/cases/rql/dataset/dbtbl_with_readwrite_splitting/show_sharding_table_generator.xml
 
b/test/e2e/suite/src/test/resources/cases/dml/dataset/tbl/mysql/batch_insert_without_generate_key_column_generated_key_data.xml
similarity index 89%
copy from 
test/e2e/suite/src/test/resources/cases/rql/dataset/dbtbl_with_readwrite_splitting/show_sharding_table_generator.xml
copy to 
test/e2e/suite/src/test/resources/cases/dml/dataset/tbl/mysql/batch_insert_without_generate_key_column_generated_key_data.xml
index fc16314648b..b609132b19c 100644
--- 
a/test/e2e/suite/src/test/resources/cases/rql/dataset/dbtbl_with_readwrite_splitting/show_sharding_table_generator.xml
+++ 
b/test/e2e/suite/src/test/resources/cases/dml/dataset/tbl/mysql/batch_insert_without_generate_key_column_generated_key_data.xml
@@ -17,8 +17,8 @@
 
 <dataset>
     <metadata>
-        <column name="type" />
-        <column name="name" />
+        <column name="GENERATED_KEY" type="numeric" />
     </metadata>
-    <row values="table| t_order_item" />
+    <row values="1" />
+    <row values="2" />
 </dataset>
diff --git 
a/test/e2e/suite/src/test/resources/cases/rql/dataset/dbtbl_with_readwrite_splitting/show_sharding_table_generator.xml
 
b/test/e2e/suite/src/test/resources/cases/dml/dataset/tbl/mysql/insert_without_generate_key_column_generated_key_data.xml
similarity index 89%
copy from 
test/e2e/suite/src/test/resources/cases/rql/dataset/dbtbl_with_readwrite_splitting/show_sharding_table_generator.xml
copy to 
test/e2e/suite/src/test/resources/cases/dml/dataset/tbl/mysql/insert_without_generate_key_column_generated_key_data.xml
index fc16314648b..615cdcbb1ee 100644
--- 
a/test/e2e/suite/src/test/resources/cases/rql/dataset/dbtbl_with_readwrite_splitting/show_sharding_table_generator.xml
+++ 
b/test/e2e/suite/src/test/resources/cases/dml/dataset/tbl/mysql/insert_without_generate_key_column_generated_key_data.xml
@@ -17,8 +17,7 @@
 
 <dataset>
     <metadata>
-        <column name="type" />
-        <column name="name" />
+        <column name="GENERATED_KEY" type="numeric" />
     </metadata>
-    <row values="table| t_order_item" />
+    <row values="1" />
 </dataset>
diff --git 
a/test/e2e/suite/src/test/resources/cases/dml/dml-integration-test-cases.xml 
b/test/e2e/suite/src/test/resources/cases/dml/dml-integration-test-cases.xml
index 8a53abcf353..d3f318cf536 100644
--- a/test/e2e/suite/src/test/resources/cases/dml/dml-integration-test-cases.xml
+++ b/test/e2e/suite/src/test/resources/cases/dml/dml-integration-test-cases.xml
@@ -76,18 +76,16 @@
         <assertion parameters="999:int, 10:int, insertALL:String" 
expected-data-file="batch_insert_all_into_order_table.xml" />
     </test-case>
 
-    <test-case sql="INSERT INTO t_order_item values(?, ?, 1, 1, '2017-08-08')" 
scenario-types="db,tbl,dbtbl_with_readwrite_splitting">
-        <assertion sharding-rule-type="dbtbl_with_readwrite_splitting" 
parameters="1:int, 1:int" 
expected-data-file="insert_without_generate_key_column.xml" />
-        <!-- TODO add gen column on create table -->
-        <!--<assertion parameters="1:int, 1:int" 
expected-data-file="insert_with_generate_key_column.xml" />-->
+    <test-case sql="INSERT INTO t_order_item VALUES (?, ?, 1, 1, 
'2017-08-08')" scenario-types="db,tbl,dbtbl_with_readwrite_splitting">
+        <assertion parameters="1:int, 1:int" 
expected-data-file="insert_without_generate_key_column.xml" 
expected-generated-key-data-file="insert_without_generate_key_column_generated_key_data.xml"
 />
     </test-case>
     
-    <test-case sql="INSERT INTO t_order_item(order_id, user_id, product_id, 
quantity, creation_date) values (?, ?, 1, 1, '2017-08-08')" 
scenario-types="db,tbl,dbtbl_with_readwrite_splitting">
-        <assertion parameters="1:int, 1:int" 
expected-data-file="insert_without_generate_key_column.xml" />
+    <test-case sql="INSERT INTO t_order_item (order_id, user_id, product_id, 
quantity, creation_date) VALUES (?, ?, 1, 1, '2017-08-08')" 
scenario-types="db,tbl,dbtbl_with_readwrite_splitting">
+        <assertion parameters="1:int, 1:int" 
expected-data-file="insert_without_generate_key_column.xml" 
expected-generated-key-data-file="insert_without_generate_key_column_generated_key_data.xml"
 />
     </test-case>
     
     <test-case sql="INSERT INTO t_order_item SET order_id = ?, user_id = ?, 
product_id = 1, quantity = 1, creation_date='2017-08-08'" 
db-types="MySQL,SQLServer,Oracle" 
scenario-types="db,tbl,dbtbl_with_readwrite_splitting">
-        <assertion parameters="1:int, 1:int" 
expected-data-file="insert_without_generate_key_column.xml" />
+        <assertion parameters="1:int, 1:int" 
expected-data-file="insert_without_generate_key_column.xml" 
expected-generated-key-data-file="insert_without_generate_key_column_generated_key_data.xml"
 />
     </test-case>
     
     <test-case sql="INSERT INTO t_order (order_id, user_id, status, 
merchant_id, remark, creation_date) VALUES (?, ?, ?, 1, 'test', '2017-08-08'), 
(?, ?, ?, 2, 'test', '2017-08-08')" 
scenario-types="db,tbl,dbtbl_with_readwrite_splitting,readwrite_splitting,sharding_governance">
@@ -106,11 +104,9 @@
         <assertion parameters="1:int, 1:int, 1:int, 2:int, 2:int, 2:int" 
expected-data-file="batch_insert_with_generate_key_column.xml" />
     </test-case>
     
-    <!--<test-case sql="INSERT INTO t_order_item(order_id, user_id, status, 
creation_date) values (?, ?, 'insert', '2017-08-08'), (?, ?, 'insert', 
'2017-08-08')" scenario-types="db,tbl,dbtbl_with_readwrite_splitting">-->
-        <!--<assertion sharding-rule-type="dbtbl_with_readwrite_splitting" 
parameters="1:int, 1:int, 2:int, 2:int" 
expected-data-file="batch_insert_without_generate_key_column.xml" />-->
-        <!--&lt;!&ndash; TODO add gen column on create table &ndash;&gt;-->
-        <!--&lt;!&ndash;<assertion parameters="1:int, 1:int, 2:int, 2:int" 
expected-data-file="batch_insert_without_generate_key_column.xml" 
/>&ndash;&gt;-->
-    <!--</test-case>-->
+    <test-case sql="INSERT INTO t_order_item (order_id, user_id, product_id, 
quantity, creation_date) VALUES (?, ?, 1, 1, '2017-08-08'), (?, ?, 2, 2, 
'2017-08-08')" scenario-types="db,tbl,dbtbl_with_readwrite_splitting">
+        <assertion parameters="1:int, 1:int, 2:int, 2:int" 
expected-data-file="batch_insert_without_generate_key_column.xml" 
expected-generated-key-data-file="batch_insert_without_generate_key_column_generated_key_data.xml"
 />
+    </test-case>
     
     <test-case sql="INSERT INTO t_broadcast_table(id, status) values (?, 
'insert'),(?, 'insert')" scenario-types="db,tbl,dbtbl_with_readwrite_splitting">
         <assertion parameters="2:int, 3:int" 
expected-data-file="batch_insert_into_broadcast_table.xml" />
diff --git 
a/test/e2e/suite/src/test/resources/cases/rql/dataset/db/show_sharding_generators.xml
 
b/test/e2e/suite/src/test/resources/cases/rql/dataset/db/show_sharding_generators.xml
index 442a18aa3a6..22392646802 100644
--- 
a/test/e2e/suite/src/test/resources/cases/rql/dataset/db/show_sharding_generators.xml
+++ 
b/test/e2e/suite/src/test/resources/cases/rql/dataset/db/show_sharding_generators.xml
@@ -21,5 +21,5 @@
         <column name="type" />
         <column name="props" />
     </metadata>
-    <row values="constant| IT.FIXTURE| {}" />
+    <row values="auto_increment| IT.AUTO_INCREMENT.FIXTURE| {}" />
 </dataset>
diff --git 
a/test/e2e/suite/src/test/resources/cases/rql/dataset/db/show_sharding_table_generator.xml
 
b/test/e2e/suite/src/test/resources/cases/rql/dataset/db/show_sharding_table_generator.xml
index fc16314648b..280c5005039 100644
--- 
a/test/e2e/suite/src/test/resources/cases/rql/dataset/db/show_sharding_table_generator.xml
+++ 
b/test/e2e/suite/src/test/resources/cases/rql/dataset/db/show_sharding_table_generator.xml
@@ -20,5 +20,4 @@
         <column name="type" />
         <column name="name" />
     </metadata>
-    <row values="table| t_order_item" />
 </dataset>
diff --git 
a/test/e2e/suite/src/test/resources/cases/rql/dataset/db/show_sharding_table_rules.xml
 
b/test/e2e/suite/src/test/resources/cases/rql/dataset/db/show_sharding_table_rules.xml
index 61d4c3f7183..d0caed62bd5 100644
--- 
a/test/e2e/suite/src/test/resources/cases/rql/dataset/db/show_sharding_table_rules.xml
+++ 
b/test/e2e/suite/src/test/resources/cases/rql/dataset/db/show_sharding_table_rules.xml
@@ -35,7 +35,7 @@
         <column name="allow_hint_disable" />
     </metadata>
     <row values="t_order| ds_${0..9}.t_order| | STANDARD| user_id| 
IT.STANDARD.FIXTURE| | | | | | | | | | " />
-    <row values="t_order_item| ds_${0..9}.t_order_item| | STANDARD| user_id| 
IT.STANDARD.FIXTURE| | | | | | item_id| IT.FIXTURE| | IT.AUDITOR.FIXTURE| true" 
/>
+    <row values="t_order_item| ds_${0..9}.t_order_item| | STANDARD| user_id| 
IT.STANDARD.FIXTURE| | | | | | item_id| IT.AUTO_INCREMENT.FIXTURE| | 
IT.AUDITOR.FIXTURE| true" />
     <row values="t_order_details| ds_${0..9}.t_order_details| | STANDARD| 
user_id| IT.STANDARD.FIXTURE| | | | | | | | | " />
     <row values="t_order_federate_sharding| 
ds_${0..1}.t_order_federate_sharding| | STANDARD| order_id_sharding| INLINE| 
algorithm-expression=ds_${order_id_sharding % 2}| | | | | | | | | " />
     <row values="t_order_item_federate_sharding| 
ds_${0..1}.t_order_item_federate_sharding| | STANDARD| item_id| INLINE| 
algorithm-expression=ds_${db_inline_item_id % 2}| | | | | | | | | " />
diff --git 
a/test/e2e/suite/src/test/resources/cases/rql/dataset/dbtbl_with_readwrite_splitting/show_sharding_generators.xml
 
b/test/e2e/suite/src/test/resources/cases/rql/dataset/dbtbl_with_readwrite_splitting/show_sharding_generators.xml
index 442a18aa3a6..22392646802 100644
--- 
a/test/e2e/suite/src/test/resources/cases/rql/dataset/dbtbl_with_readwrite_splitting/show_sharding_generators.xml
+++ 
b/test/e2e/suite/src/test/resources/cases/rql/dataset/dbtbl_with_readwrite_splitting/show_sharding_generators.xml
@@ -21,5 +21,5 @@
         <column name="type" />
         <column name="props" />
     </metadata>
-    <row values="constant| IT.FIXTURE| {}" />
+    <row values="auto_increment| IT.AUTO_INCREMENT.FIXTURE| {}" />
 </dataset>
diff --git 
a/test/e2e/suite/src/test/resources/cases/rql/dataset/dbtbl_with_readwrite_splitting/show_sharding_table_generator.xml
 
b/test/e2e/suite/src/test/resources/cases/rql/dataset/dbtbl_with_readwrite_splitting/show_sharding_table_generator.xml
index fc16314648b..280c5005039 100644
--- 
a/test/e2e/suite/src/test/resources/cases/rql/dataset/dbtbl_with_readwrite_splitting/show_sharding_table_generator.xml
+++ 
b/test/e2e/suite/src/test/resources/cases/rql/dataset/dbtbl_with_readwrite_splitting/show_sharding_table_generator.xml
@@ -20,5 +20,4 @@
         <column name="type" />
         <column name="name" />
     </metadata>
-    <row values="table| t_order_item" />
 </dataset>
diff --git 
a/test/e2e/suite/src/test/resources/cases/rql/dataset/dbtbl_with_readwrite_splitting/show_sharding_table_rules.xml
 
b/test/e2e/suite/src/test/resources/cases/rql/dataset/dbtbl_with_readwrite_splitting/show_sharding_table_rules.xml
index 2efe57177ab..106fcdfcc7b 100644
--- 
a/test/e2e/suite/src/test/resources/cases/rql/dataset/dbtbl_with_readwrite_splitting/show_sharding_table_rules.xml
+++ 
b/test/e2e/suite/src/test/resources/cases/rql/dataset/dbtbl_with_readwrite_splitting/show_sharding_table_rules.xml
@@ -35,7 +35,7 @@
         <column name="allow_hint_disable" />
     </metadata>
     <row values="t_order| readwrite_ds_${0..9}.t_order_${0..9}| | STANDARD| 
user_id| IT.STANDARD.FIXTURE| | STANDARD| order_id| IT.STANDARD.FIXTURE| | | | 
| | " />
-    <row values="t_order_item| readwrite_ds_${0..9}.t_order_item_${0..9}| | 
STANDARD| user_id| IT.STANDARD.FIXTURE| | STANDARD| order_id| 
IT.STANDARD.FIXTURE| | item_id| IT.FIXTURE| | IT.AUDITOR.FIXTURE| true" />
+    <row values="t_order_item| readwrite_ds_${0..9}.t_order_item_${0..9}| | 
STANDARD| user_id| IT.STANDARD.FIXTURE| | STANDARD| order_id| 
IT.STANDARD.FIXTURE| | item_id| IT.AUTO_INCREMENT.FIXTURE| | 
IT.AUDITOR.FIXTURE| true" />
     <row values="t_order_details| 
readwrite_ds_${0..9}.t_order_details_${0..9}| | STANDARD| user_id| 
IT.STANDARD.FIXTURE| | STANDARD| order_id| IT.STANDARD.FIXTURE| | | | | | " />
     <row values="t_order_item_federate_sharding | 
readwrite_ds_1.t_order_item_federate_sharding_${0..1}| | | | | | STANDARD| 
item_id| INLINE| algorithm-expression=t_order_item_federate_sharding_${item_id 
% 2}| | | | | " />
     <row values="t_order_federate_sharding | 
readwrite_ds_1.t_order_federate_sharding_${0..1}| | | | | | STANDARD| 
order_id_sharding| INLINE| 
algorithm-expression=t_order_federate_sharding_${order_id_sharding % 2}| | | | 
| " />
diff --git 
a/test/e2e/suite/src/test/resources/cases/rql/dataset/tbl/show_sharding_generators.xml
 
b/test/e2e/suite/src/test/resources/cases/rql/dataset/tbl/show_sharding_generators.xml
index 442a18aa3a6..22392646802 100644
--- 
a/test/e2e/suite/src/test/resources/cases/rql/dataset/tbl/show_sharding_generators.xml
+++ 
b/test/e2e/suite/src/test/resources/cases/rql/dataset/tbl/show_sharding_generators.xml
@@ -21,5 +21,5 @@
         <column name="type" />
         <column name="props" />
     </metadata>
-    <row values="constant| IT.FIXTURE| {}" />
+    <row values="auto_increment| IT.AUTO_INCREMENT.FIXTURE| {}" />
 </dataset>
diff --git 
a/test/e2e/suite/src/test/resources/cases/rql/dataset/tbl/show_sharding_table_generator.xml
 
b/test/e2e/suite/src/test/resources/cases/rql/dataset/tbl/show_sharding_table_generator.xml
index fc16314648b..280c5005039 100644
--- 
a/test/e2e/suite/src/test/resources/cases/rql/dataset/tbl/show_sharding_table_generator.xml
+++ 
b/test/e2e/suite/src/test/resources/cases/rql/dataset/tbl/show_sharding_table_generator.xml
@@ -20,5 +20,4 @@
         <column name="type" />
         <column name="name" />
     </metadata>
-    <row values="table| t_order_item" />
 </dataset>
diff --git 
a/test/e2e/suite/src/test/resources/cases/rql/dataset/tbl/show_sharding_table_rules.xml
 
b/test/e2e/suite/src/test/resources/cases/rql/dataset/tbl/show_sharding_table_rules.xml
index be92003e94e..747b4104a25 100644
--- 
a/test/e2e/suite/src/test/resources/cases/rql/dataset/tbl/show_sharding_table_rules.xml
+++ 
b/test/e2e/suite/src/test/resources/cases/rql/dataset/tbl/show_sharding_table_rules.xml
@@ -35,7 +35,7 @@
         <column name="allow_hint_disable" />
     </metadata>
     <row values="t_order| tbl.t_order_${0..9}| | | | | | STANDARD| order_id| 
IT.STANDARD.FIXTURE| | | | | | " />
-    <row values="t_order_item| tbl.t_order_item_${0..9}| | | | | | STANDARD| 
order_id| IT.STANDARD.FIXTURE| | item_id| IT.FIXTURE| | IT.AUDITOR.FIXTURE| 
true" />
+    <row values="t_order_item| tbl.t_order_item_${0..9}| | | | | | STANDARD| 
order_id| IT.STANDARD.FIXTURE| | item_id| IT.AUTO_INCREMENT.FIXTURE| | 
IT.AUDITOR.FIXTURE| true" />
     <row values="t_order_details| tbl.t_order_details_${0..9}| | | | | | 
STANDARD| order_id| IT.STANDARD.FIXTURE| | | | | | " />
     <row values="t_order_federate_sharding| 
tbl.t_order_federate_sharding_${0..1}| | | | | | STANDARD| order_id_sharding| 
INLINE| algorithm-expression=t_order_federate_sharding_${order_id_sharding % 
2},allow-range-query-with-inline-sharding=true| | | | | " />
     <row values="t_order_item_federate_sharding | 
tbl.t_order_item_federate_sharding_${0..1}| | | | | | STANDARD| item_id| 
INLINE| algorithm-expression=t_order_item_federate_sharding_${item_id % 2}| | | 
| | " />
diff --git 
a/test/e2e/suite/src/test/resources/env/scenario/db/proxy/conf/mysql/config-db.yaml
 
b/test/e2e/suite/src/test/resources/env/scenario/db/proxy/conf/mysql/config-db.yaml
index 7f691c1c09a..2700af537aa 100644
--- 
a/test/e2e/suite/src/test/resources/env/scenario/db/proxy/conf/mysql/config-db.yaml
+++ 
b/test/e2e/suite/src/test/resources/env/scenario/db/proxy/conf/mysql/config-db.yaml
@@ -126,7 +126,7 @@ rules:
           shardingAlgorithmName: it_standard_fixture
       keyGenerateStrategy:
         column: item_id
-        keyGeneratorName: constant
+        keyGeneratorName: auto_increment
       auditStrategy:
         auditorNames:
           - auditor_constant
@@ -169,8 +169,8 @@ rules:
         algorithm-expression: ds_${db_inline_item_id % 2}
 
   keyGenerators:
-      constant:
-        type: IT.FIXTURE
+      auto_increment:
+        type: IT.AUTO_INCREMENT.FIXTURE
 
   auditors:
     auditor_constant:
diff --git 
a/test/e2e/suite/src/test/resources/env/scenario/db/proxy/conf/opengauss/config-db.yaml
 
b/test/e2e/suite/src/test/resources/env/scenario/db/proxy/conf/opengauss/config-db.yaml
index 5e9a5cc3e6c..cf728175793 100644
--- 
a/test/e2e/suite/src/test/resources/env/scenario/db/proxy/conf/opengauss/config-db.yaml
+++ 
b/test/e2e/suite/src/test/resources/env/scenario/db/proxy/conf/opengauss/config-db.yaml
@@ -126,7 +126,7 @@ rules:
           shardingAlgorithmName: it_standard_fixture
       keyGenerateStrategy:
         column: item_id
-        keyGeneratorName: constant
+        keyGeneratorName: auto_increment
       auditStrategy:
         auditorNames:
           - auditor_constant
@@ -169,8 +169,8 @@ rules:
         algorithm-expression: ds_${db_inline_item_id % 2}
 
   keyGenerators:
-      constant:
-        type: IT.FIXTURE
+      auto_increment:
+        type: IT.AUTO_INCREMENT.FIXTURE
 
   auditors:
     auditor_constant:
diff --git 
a/test/e2e/suite/src/test/resources/env/scenario/db/proxy/conf/postgresql/config-db.yaml
 
b/test/e2e/suite/src/test/resources/env/scenario/db/proxy/conf/postgresql/config-db.yaml
index 3da750bce36..b88ca8cec93 100644
--- 
a/test/e2e/suite/src/test/resources/env/scenario/db/proxy/conf/postgresql/config-db.yaml
+++ 
b/test/e2e/suite/src/test/resources/env/scenario/db/proxy/conf/postgresql/config-db.yaml
@@ -126,7 +126,7 @@ rules:
           shardingAlgorithmName: it_standard_fixture
       keyGenerateStrategy:
         column: item_id
-        keyGeneratorName: constant
+        keyGeneratorName: auto_increment
       auditStrategy:
         auditorNames:
           - auditor_constant
@@ -169,8 +169,8 @@ rules:
         algorithm-expression: ds_${db_inline_item_id % 2}
 
   keyGenerators:
-      constant:
-        type: IT.FIXTURE
+      auto_increment:
+        type: IT.AUTO_INCREMENT.FIXTURE
 
   auditors:
     auditor_constant:
diff --git a/test/e2e/suite/src/test/resources/env/scenario/db/rules.yaml 
b/test/e2e/suite/src/test/resources/env/scenario/db/rules.yaml
index 4ff3b22443b..c06ad57dc94 100644
--- a/test/e2e/suite/src/test/resources/env/scenario/db/rules.yaml
+++ b/test/e2e/suite/src/test/resources/env/scenario/db/rules.yaml
@@ -32,7 +32,7 @@ rules:
           shardingAlgorithmName: it_standard_fixture
       keyGenerateStrategy:
         column: item_id
-        keyGeneratorName: constant
+        keyGeneratorName: auto_increment
       auditStrategy:
         auditorNames:
           - auditor_constant
@@ -77,8 +77,8 @@ rules:
         algorithm-expression: db_${db_inline_item_id % 2}
 
   keyGenerators:
-    constant:
-      type: IT.FIXTURE
+    auto_increment:
+      type: IT.AUTO_INCREMENT.FIXTURE
 
   auditors:
     auditor_constant:
diff --git 
a/test/e2e/suite/src/test/resources/env/scenario/dbtbl_with_readwrite_splitting/proxy/conf/mysql/config-dbtbl-with-readwrite-splitting.yaml
 
b/test/e2e/suite/src/test/resources/env/scenario/dbtbl_with_readwrite_splitting/proxy/conf/mysql/config-dbtbl-with-readwrite-splitting.yaml
index f0d2346b21b..55111cd5030 100644
--- 
a/test/e2e/suite/src/test/resources/env/scenario/dbtbl_with_readwrite_splitting/proxy/conf/mysql/config-dbtbl-with-readwrite-splitting.yaml
+++ 
b/test/e2e/suite/src/test/resources/env/scenario/dbtbl_with_readwrite_splitting/proxy/conf/mysql/config-dbtbl-with-readwrite-splitting.yaml
@@ -224,7 +224,7 @@ rules:
           shardingAlgorithmName: it_standard_fixture
       keyGenerateStrategy:
         column: item_id
-        keyGeneratorName: constant
+        keyGeneratorName: auto_increment
       auditStrategy:
         auditorNames:
           - auditor_constant
@@ -271,8 +271,8 @@ rules:
         algorithm-expression: t_order_federate_sharding_${order_id_sharding % 
2}
 
   keyGenerators:
-    constant:
-      type: IT.FIXTURE
+    auto_increment:
+      type: IT.AUTO_INCREMENT.FIXTURE
 
   auditors:
     auditor_constant:
diff --git 
a/test/e2e/suite/src/test/resources/env/scenario/dbtbl_with_readwrite_splitting/proxy/conf/opengauss/config-dbtbl-with-readwrite-splitting.yaml
 
b/test/e2e/suite/src/test/resources/env/scenario/dbtbl_with_readwrite_splitting/proxy/conf/opengauss/config-dbtbl-with-readwrite-splitting.yaml
index af52feb62f6..33d5be0368e 100644
--- 
a/test/e2e/suite/src/test/resources/env/scenario/dbtbl_with_readwrite_splitting/proxy/conf/opengauss/config-dbtbl-with-readwrite-splitting.yaml
+++ 
b/test/e2e/suite/src/test/resources/env/scenario/dbtbl_with_readwrite_splitting/proxy/conf/opengauss/config-dbtbl-with-readwrite-splitting.yaml
@@ -224,7 +224,7 @@ rules:
           shardingAlgorithmName: it_standard_fixture
       keyGenerateStrategy:
         column: item_id
-        keyGeneratorName: constant
+        keyGeneratorName: auto_increment
       auditStrategy:
         auditorNames:
           - auditor_constant
@@ -271,8 +271,8 @@ rules:
         algorithm-expression: t_order_federate_sharding_${order_id_sharding % 
2}
 
   keyGenerators:
-    constant:
-      type: IT.FIXTURE
+    auto_increment:
+      type: IT.AUTO_INCREMENT.FIXTURE
 
   auditors:
     auditor_constant:
diff --git 
a/test/e2e/suite/src/test/resources/env/scenario/dbtbl_with_readwrite_splitting/proxy/conf/postgresql/config-dbtbl-with-readwrite-splitting.yaml
 
b/test/e2e/suite/src/test/resources/env/scenario/dbtbl_with_readwrite_splitting/proxy/conf/postgresql/config-dbtbl-with-readwrite-splitting.yaml
index c5ad94fc9a3..42ab2680183 100644
--- 
a/test/e2e/suite/src/test/resources/env/scenario/dbtbl_with_readwrite_splitting/proxy/conf/postgresql/config-dbtbl-with-readwrite-splitting.yaml
+++ 
b/test/e2e/suite/src/test/resources/env/scenario/dbtbl_with_readwrite_splitting/proxy/conf/postgresql/config-dbtbl-with-readwrite-splitting.yaml
@@ -224,7 +224,7 @@ rules:
           shardingAlgorithmName: it_standard_fixture
       keyGenerateStrategy:
         column: item_id
-        keyGeneratorName: constant
+        keyGeneratorName: auto_increment
       auditStrategy:
         auditorNames:
           - auditor_constant
@@ -271,8 +271,8 @@ rules:
         algorithm-expression: t_order_federate_sharding_${order_id_sharding % 
2}
 
   keyGenerators:
-    constant:
-      type: IT.FIXTURE
+    auto_increment:
+      type: IT.AUTO_INCREMENT.FIXTURE
 
   auditors:
     auditor_constant:
diff --git 
a/test/e2e/suite/src/test/resources/env/scenario/dbtbl_with_readwrite_splitting/rules.yaml
 
b/test/e2e/suite/src/test/resources/env/scenario/dbtbl_with_readwrite_splitting/rules.yaml
index c62e8753706..752fd2d4ac7 100644
--- 
a/test/e2e/suite/src/test/resources/env/scenario/dbtbl_with_readwrite_splitting/rules.yaml
+++ 
b/test/e2e/suite/src/test/resources/env/scenario/dbtbl_with_readwrite_splitting/rules.yaml
@@ -40,7 +40,7 @@ rules:
           shardingAlgorithmName: it_standard_fixture
       keyGenerateStrategy:
         column: item_id
-        keyGeneratorName: constant
+        keyGeneratorName: auto_increment
       auditStrategy:
         auditorNames:
           - auditor_constant
@@ -88,8 +88,8 @@ rules:
         algorithm-expression: t_order_federate_sharding_${order_id_sharding % 
2}
 
   keyGenerators:
-    constant:
-      type: IT.FIXTURE
+    auto_increment:
+      type: IT.AUTO_INCREMENT.FIXTURE
 
   auditors:
     auditor_constant:
diff --git 
a/test/e2e/suite/src/test/resources/env/scenario/tbl/proxy/conf/mysql/config-tbl.yaml
 
b/test/e2e/suite/src/test/resources/env/scenario/tbl/proxy/conf/mysql/config-tbl.yaml
index dbd1f802c59..96da92ab73c 100644
--- 
a/test/e2e/suite/src/test/resources/env/scenario/tbl/proxy/conf/mysql/config-tbl.yaml
+++ 
b/test/e2e/suite/src/test/resources/env/scenario/tbl/proxy/conf/mysql/config-tbl.yaml
@@ -45,7 +45,7 @@ rules:
           shardingAlgorithmName: it_standard_fixture
       keyGenerateStrategy:
         column: item_id
-        keyGeneratorName: constant
+        keyGeneratorName: auto_increment
       auditStrategy:
         auditorNames:
           - auditor_constant
@@ -97,8 +97,8 @@ rules:
         algorithm-expression: t_product_${value}
   
   keyGenerators:
-    constant:
-      type: IT.FIXTURE
+    auto_increment:
+      type: IT.AUTO_INCREMENT.FIXTURE
 
   auditors:
     auditor_constant:
diff --git 
a/test/e2e/suite/src/test/resources/env/scenario/tbl/proxy/conf/opengauss/config-tbl.yaml
 
b/test/e2e/suite/src/test/resources/env/scenario/tbl/proxy/conf/opengauss/config-tbl.yaml
index 635486d289a..ed51d9c1f61 100644
--- 
a/test/e2e/suite/src/test/resources/env/scenario/tbl/proxy/conf/opengauss/config-tbl.yaml
+++ 
b/test/e2e/suite/src/test/resources/env/scenario/tbl/proxy/conf/opengauss/config-tbl.yaml
@@ -45,7 +45,7 @@ rules:
           shardingAlgorithmName: it_standard_fixture
       keyGenerateStrategy:
         column: item_id
-        keyGeneratorName: constant
+        keyGeneratorName: auto_increment
       auditStrategy:
         auditorNames:
           - auditor_constant
@@ -97,8 +97,8 @@ rules:
         algorithm-expression: t_product_${value}
   
   keyGenerators:
-    constant:
-      type: IT.FIXTURE
+    auto_increment:
+      type: IT.AUTO_INCREMENT.FIXTURE
 
   auditors:
     auditor_constant:
diff --git 
a/test/e2e/suite/src/test/resources/env/scenario/tbl/proxy/conf/postgresql/config-tbl.yaml
 
b/test/e2e/suite/src/test/resources/env/scenario/tbl/proxy/conf/postgresql/config-tbl.yaml
index f5ff36630c4..6391d62ae83 100644
--- 
a/test/e2e/suite/src/test/resources/env/scenario/tbl/proxy/conf/postgresql/config-tbl.yaml
+++ 
b/test/e2e/suite/src/test/resources/env/scenario/tbl/proxy/conf/postgresql/config-tbl.yaml
@@ -45,7 +45,7 @@ rules:
           shardingAlgorithmName: it_standard_fixture
       keyGenerateStrategy:
         column: item_id
-        keyGeneratorName: constant
+        keyGeneratorName: auto_increment
       auditStrategy:
         auditorNames:
           - auditor_constant
@@ -97,8 +97,8 @@ rules:
         algorithm-expression: t_product_${value}
   
   keyGenerators:
-    constant:
-      type: IT.FIXTURE
+    auto_increment:
+      type: IT.AUTO_INCREMENT.FIXTURE
 
   auditors:
     auditor_constant:
diff --git a/test/e2e/suite/src/test/resources/env/scenario/tbl/rules.yaml 
b/test/e2e/suite/src/test/resources/env/scenario/tbl/rules.yaml
index 54b353893c8..f5be26faf40 100644
--- a/test/e2e/suite/src/test/resources/env/scenario/tbl/rules.yaml
+++ b/test/e2e/suite/src/test/resources/env/scenario/tbl/rules.yaml
@@ -32,7 +32,7 @@ rules:
           shardingAlgorithmName: it_standard_fixture
       keyGenerateStrategy:
         column: item_id
-        keyGeneratorName: constant
+        keyGeneratorName: auto_increment
       auditStrategy:
         auditorNames:
           - auditor_constant
@@ -84,8 +84,8 @@ rules:
         algorithm-expression: t_product_${value}
   
   keyGenerators:
-    constant:
-      type: IT.FIXTURE
+    auto_increment:
+      type: IT.AUTO_INCREMENT.FIXTURE
 
   auditors:
     auditor_constant:

Reply via email to