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

zhonghongsheng 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 fffa28ee2ce Refactor PipelineCaseHelper generate data methods into SPI 
(#37903)
fffa28ee2ce is described below

commit fffa28ee2ce2a4ab84778f65929cb4fbf76370dc
Author: Hongsheng Zhong <[email protected]>
AuthorDate: Fri Jan 30 17:40:36 2026 +0800

    Refactor PipelineCaseHelper generate data methods into SPI (#37903)
    
    * Delete unused PipelineCaseHelper.generateFullInsertData
    
    * Move PipelineCaseHelper.generateOrderItemInsertData to IntPkOrderItemDAO
    
    * Move PipelineCaseHelper.generateSmallOrderInsertData to 
StringPkSmallOrderDAO
    
    * Refactor PipelineCaseHelper.generateOrderInsertData into 
IntPkLargeOrderSQLBuilder impls
    
    * Refactor IntPkLargeOrderDAO.batchInsert to use IntPkLargeOrderSQLBuilder
    
    * Refactor E2EIncrementalTask to use IntPkLargeOrderDAO
---
 .../e2e/operation/pipeline/cases/cdc/CDCE2EIT.java |   4 +-
 .../general/MySQLMigrationGeneralE2EIT.java        |   3 +-
 .../general/PostgreSQLMigrationGeneralE2EIT.java   |   2 +-
 .../pipeline/cases/task/E2EIncrementalTask.java    |  22 ++--
 .../dao/order/large/IntPkLargeOrderDAO.java        |  23 ++--
 .../sqlbuilder/IntPkLargeOrderSQLBuilder.java      |  12 ++
 .../sqlbuilder/MySQLIntPkLargeOrderSQLBuilder.java |  51 +++++++-
 .../OpenGaussIntPkLargeOrderSQLBuilder.java        |  59 ++++++++-
 .../PostgreSQLIntPkLargeOrderSQLBuilder.java       |  45 ++++++-
 .../dao/order/small/StringPkSmallOrderDAO.java     |  22 +++-
 .../pipeline/dao/orderitem/IntPkOrderItemDAO.java  |  21 +++-
 .../framework/helper/PipelineCaseHelper.java       | 133 ++-------------------
 12 files changed, 234 insertions(+), 163 deletions(-)

diff --git 
a/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/cases/cdc/CDCE2EIT.java
 
b/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/cases/cdc/CDCE2EIT.java
index f92b1c0e620..10e7192e6c2 100644
--- 
a/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/cases/cdc/CDCE2EIT.java
+++ 
b/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/cases/cdc/CDCE2EIT.java
@@ -106,7 +106,7 @@ class CDCE2EIT {
             initSchemaAndTable(containerComposer, 
containerComposer.getProxyDataSource(), orderQualifiedTable, 3);
             PipelineDataSource jdbcDataSource = new 
PipelineDataSource(containerComposer.generateShardingSphereDataSourceFromProxy(),
 containerComposer.getDatabaseType());
             log.info("init data begin: {}", LocalDateTime.now());
-            IntPkLargeOrderDAO orderDAO = new 
IntPkLargeOrderDAO(jdbcDataSource, containerComposer.getDatabaseType(), 
orderQualifiedTable);
+            IntPkLargeOrderDAO orderDAO = new 
IntPkLargeOrderDAO(jdbcDataSource, containerComposer.getDatabaseType(), 
orderQualifiedTable.format());
             
orderDAO.batchInsert(PipelineContainerComposer.TABLE_INIT_ROW_COUNT);
             DataSourceExecuteUtils.executeBatch(jdbcDataSource, "INSERT INTO 
t_address(id, address_name) VALUES (?,?)", Arrays.asList(new Object[]{1, "a"}, 
new Object[]{2, "b"}));
             DataSourceExecuteUtils.executeBatch(jdbcDataSource, "INSERT INTO 
t_single(id) VALUES (?)", Arrays.asList(new Object[]{1}, new Object[]{2}, new 
Object[]{3}));
@@ -144,7 +144,7 @@ class CDCE2EIT {
     
     private void initSchemaAndTable(final PipelineContainerComposer 
containerComposer, final DataSource dataSource, final QualifiedTable 
orderQualifiedTable, final int seconds) throws SQLException {
         containerComposer.createSchema(dataSource, seconds);
-        new IntPkLargeOrderDAO(dataSource, 
containerComposer.getDatabaseType(), orderQualifiedTable).createTable();
+        new IntPkLargeOrderDAO(dataSource, 
containerComposer.getDatabaseType(), 
orderQualifiedTable.format()).createTable();
         try (
                 Connection connection = dataSource.getConnection();
                 Statement statement = connection.createStatement()) {
diff --git 
a/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/cases/migration/general/MySQLMigrationGeneralE2EIT.java
 
b/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/cases/migration/general/MySQLMigrationGeneralE2EIT.java
index dab81aa027b..33c1da110bf 100644
--- 
a/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/cases/migration/general/MySQLMigrationGeneralE2EIT.java
+++ 
b/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/cases/migration/general/MySQLMigrationGeneralE2EIT.java
@@ -21,7 +21,6 @@ import com.google.common.collect.ImmutableMap;
 import lombok.extern.slf4j.Slf4j;
 import 
org.apache.shardingsphere.data.pipeline.scenario.migration.MigrationJobType;
 import 
org.apache.shardingsphere.infra.algorithm.keygen.snowflake.SnowflakeKeyGenerateAlgorithm;
-import org.apache.shardingsphere.infra.metadata.database.schema.QualifiedTable;
 import 
org.apache.shardingsphere.test.e2e.operation.pipeline.cases.PipelineContainerComposer;
 import 
org.apache.shardingsphere.test.e2e.operation.pipeline.cases.migration.AbstractMigrationE2EIT;
 import 
org.apache.shardingsphere.test.e2e.operation.pipeline.cases.task.E2EIncrementalTask;
@@ -65,7 +64,7 @@ class MySQLMigrationGeneralE2EIT extends 
AbstractMigrationE2EIT {
         try (PipelineContainerComposer containerComposer = new 
PipelineContainerComposer(testParam)) {
             PipelineE2EDistSQLFacade distSQLFacade = new 
PipelineE2EDistSQLFacade(containerComposer, new MigrationJobType());
             distSQLFacade.alterPipelineRule();
-            IntPkLargeOrderDAO orderDAO = new 
IntPkLargeOrderDAO(containerComposer.getSourceDataSource(), 
containerComposer.getDatabaseType(), new QualifiedTable(null, 
SOURCE_TABLE_NAME));
+            IntPkLargeOrderDAO orderDAO = new 
IntPkLargeOrderDAO(containerComposer.getSourceDataSource(), 
containerComposer.getDatabaseType(), SOURCE_TABLE_NAME);
             orderDAO.createTable();
             IntPkOrderItemDAO orderItemDAO = new 
IntPkOrderItemDAO(containerComposer.getSourceDataSource(), 
containerComposer.getDatabaseType(), null);
             orderItemDAO.createTable();
diff --git 
a/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/cases/migration/general/PostgreSQLMigrationGeneralE2EIT.java
 
b/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/cases/migration/general/PostgreSQLMigrationGeneralE2EIT.java
index 77beafad189..c360a5392cb 100644
--- 
a/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/cases/migration/general/PostgreSQLMigrationGeneralE2EIT.java
+++ 
b/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/cases/migration/general/PostgreSQLMigrationGeneralE2EIT.java
@@ -66,7 +66,7 @@ class PostgreSQLMigrationGeneralE2EIT extends 
AbstractMigrationE2EIT {
             distSQLFacade.alterPipelineRule();
             createSourceSchema(containerComposer, 
PipelineContainerComposer.SCHEMA_NAME);
             IntPkLargeOrderDAO orderDAO = new 
IntPkLargeOrderDAO(containerComposer.getSourceDataSource(),
-                    containerComposer.getDatabaseType(), 
containerComposer.createQualifiedTableWithSchema(SOURCE_TABLE_NAME));
+                    containerComposer.getDatabaseType(), 
containerComposer.createQualifiedTableWithSchema(SOURCE_TABLE_NAME).format());
             orderDAO.createTable();
             IntPkOrderItemDAO orderItemDAO = new 
IntPkOrderItemDAO(containerComposer.getSourceDataSource(), 
containerComposer.getDatabaseType(), PipelineContainerComposer.SCHEMA_NAME);
             orderItemDAO.createTable();
diff --git 
a/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/cases/task/E2EIncrementalTask.java
 
b/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/cases/task/E2EIncrementalTask.java
index db2e1168cac..c837f0717e5 100644
--- 
a/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/cases/task/E2EIncrementalTask.java
+++ 
b/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/cases/task/E2EIncrementalTask.java
@@ -26,6 +26,7 @@ import 
org.apache.shardingsphere.database.connector.opengauss.type.OpenGaussData
 import 
org.apache.shardingsphere.database.connector.postgresql.type.PostgreSQLDatabaseType;
 import 
org.apache.shardingsphere.infra.algorithm.keygen.spi.KeyGenerateAlgorithm;
 import 
org.apache.shardingsphere.infra.exception.external.sql.type.wrapper.SQLWrapperException;
+import 
org.apache.shardingsphere.test.e2e.operation.pipeline.dao.order.large.IntPkLargeOrderDAO;
 import 
org.apache.shardingsphere.test.e2e.operation.pipeline.framework.helper.PipelineCaseHelper;
 import 
org.apache.shardingsphere.test.e2e.operation.pipeline.util.DataSourceExecuteUtils;
 import 
org.apache.shardingsphere.test.e2e.operation.pipeline.util.SQLBuilderUtils;
@@ -66,7 +67,7 @@ public final class E2EIncrementalTask implements Runnable {
     
     private final DataSource dataSource;
     
-    private final String orderTableName;
+    private final String orderQualifiedTableName;
     
     private final KeyGenerateAlgorithm primaryKeyGenerateAlgorithm;
     
@@ -85,7 +86,7 @@ public final class E2EIncrementalTask implements Runnable {
     }
     
     private void run0() throws SQLException {
-        List<Object[]> orderInsertData = 
PipelineCaseHelper.generateOrderInsertData(databaseType, 
primaryKeyGenerateAlgorithm, loopCount);
+        List<Object[]> orderInsertData = new IntPkLargeOrderDAO(dataSource, 
databaseType, 
orderQualifiedTableName).generateInsertData(primaryKeyGenerateAlgorithm, 
loopCount);
         List<Object> primaryKeys = new LinkedList<>();
         for (Object[] each : orderInsertData) {
             primaryKeys.add(each[0]);
@@ -108,14 +109,15 @@ public final class E2EIncrementalTask implements Runnable 
{
         log.info("increment task runnable execute successfully.");
     }
     
+    // TODO Refactor into SPI
     private void insertOrder(final Object[] orderInsertData) throws 
SQLException {
         String sql;
         if (databaseType instanceof MySQLDatabaseType) {
-            sql = SQLBuilderUtils.buildInsertSQL(MYSQL_COLUMN_NAMES, 
orderTableName);
+            sql = SQLBuilderUtils.buildInsertSQL(MYSQL_COLUMN_NAMES, 
orderQualifiedTableName);
         } else if (databaseType instanceof PostgreSQLDatabaseType) {
-            sql = SQLBuilderUtils.buildInsertSQL(POSTGRESQL_COLUMN_NAMES, 
orderTableName);
+            sql = SQLBuilderUtils.buildInsertSQL(POSTGRESQL_COLUMN_NAMES, 
orderQualifiedTableName);
         } else if (databaseType instanceof OpenGaussDatabaseType) {
-            sql = SQLBuilderUtils.buildInsertSQL(OPENGAUSS_COLUMN_NAMES, 
orderTableName);
+            sql = SQLBuilderUtils.buildInsertSQL(OPENGAUSS_COLUMN_NAMES, 
orderQualifiedTableName);
         } else {
             throw new UnsupportedOperationException("");
         }
@@ -144,7 +146,7 @@ public final class E2EIncrementalTask implements Runnable {
         ThreadLocalRandom random = ThreadLocalRandom.current();
         int randomInt = random.nextInt(-100, 100);
         if (databaseType instanceof MySQLDatabaseType) {
-            String sql = 
SQLBuilderUtils.buildUpdateSQL(ignoreShardingColumns(MYSQL_COLUMN_NAMES), 
orderTableName, "?");
+            String sql = 
SQLBuilderUtils.buildUpdateSQL(ignoreShardingColumns(MYSQL_COLUMN_NAMES), 
orderQualifiedTableName, "?");
             int randomUnsignedInt = random.nextInt(10, 100);
             LocalDateTime now = LocalDateTime.now();
             Object[] parameters = {"中文测试", randomInt, randomInt, randomInt, 
randomUnsignedInt, randomUnsignedInt, randomUnsignedInt,
@@ -156,7 +158,7 @@ public final class E2EIncrementalTask implements Runnable {
             return;
         }
         if (databaseType instanceof PostgreSQLDatabaseType) {
-            String sql = 
SQLBuilderUtils.buildUpdateSQL(ignoreShardingColumns(POSTGRESQL_COLUMN_NAMES), 
orderTableName, "?");
+            String sql = 
SQLBuilderUtils.buildUpdateSQL(ignoreShardingColumns(POSTGRESQL_COLUMN_NAMES), 
orderQualifiedTableName, "?");
             Object[] parameters = {"中文测试", randomInt, 
BigDecimal.valueOf(10000), random.nextBoolean(), new byte[]{-1, 0, 1}, "char", 
"varchar", PipelineCaseHelper.generateFloat(),
                     PipelineCaseHelper.generateDouble(), 
PipelineCaseHelper.generateJsonString(10, true), 
PipelineCaseHelper.generateJsonString(20, true), "text-update", LocalDate.now(),
                     LocalTime.now(), Timestamp.valueOf(LocalDateTime.now()), 
OffsetDateTime.now(), orderId};
@@ -166,7 +168,7 @@ public final class E2EIncrementalTask implements Runnable {
         }
         if (databaseType instanceof OpenGaussDatabaseType) {
             LocalDateTime now = LocalDateTime.now();
-            String sql = 
SQLBuilderUtils.buildUpdateSQL(ignoreShardingColumns(OPENGAUSS_COLUMN_NAMES), 
orderTableName, "?");
+            String sql = 
SQLBuilderUtils.buildUpdateSQL(ignoreShardingColumns(OPENGAUSS_COLUMN_NAMES), 
orderQualifiedTableName, "?");
             Object[] parameters = {"中文测试", randomInt, random.nextInt(-999, 
999), PipelineCaseHelper.generateFloat(), PipelineCaseHelper.generateDouble(), 
BigDecimal.valueOf(10000),
                     random.nextBoolean(), "update-char", "update-text", new 
byte[]{-1, 0, 1}, new byte[]{1, 0}, now.toLocalDate().plusDays(1), 
now.toLocalTime().plusHours(6), "2023-03-01", now,
                     OffsetDateTime.now(), "1 years 1 mons 1 days 1 hours 1 
mins 1 secs", "{4, 5, 6}", PipelineCaseHelper.generateJsonString(1, true), 
PipelineCaseHelper.generateJsonString(1, false),
@@ -183,14 +185,14 @@ public final class E2EIncrementalTask implements Runnable 
{
     }
     
     private void deleteOrderById(final Object orderId) throws SQLException {
-        String sql = SQLBuilderUtils.buildDeleteSQL(orderTableName, 
"order_id");
+        String sql = SQLBuilderUtils.buildDeleteSQL(orderQualifiedTableName, 
"order_id");
         log.info("delete sql: {}, params: {}", sql, orderId);
         DataSourceExecuteUtils.execute(dataSource, sql, new Object[]{orderId});
     }
     
     private void setNullToAllFields(final Object orderId) throws SQLException {
         if (databaseType instanceof MySQLDatabaseType) {
-            String sql = 
SQLBuilderUtils.buildUpdateSQL(ignoreShardingColumns(MYSQL_COLUMN_NAMES), 
orderTableName, "null");
+            String sql = 
SQLBuilderUtils.buildUpdateSQL(ignoreShardingColumns(MYSQL_COLUMN_NAMES), 
orderQualifiedTableName, "null");
             log.info("update sql: {}", sql);
             DataSourceExecuteUtils.execute(dataSource, sql, new 
Object[]{orderId});
         }
diff --git 
a/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/dao/order/large/IntPkLargeOrderDAO.java
 
b/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/dao/order/large/IntPkLargeOrderDAO.java
index b6efb3ad99c..b69ce48525c 100644
--- 
a/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/dao/order/large/IntPkLargeOrderDAO.java
+++ 
b/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/dao/order/large/IntPkLargeOrderDAO.java
@@ -20,9 +20,8 @@ package 
org.apache.shardingsphere.test.e2e.operation.pipeline.dao.order.large;
 import lombok.extern.slf4j.Slf4j;
 import 
org.apache.shardingsphere.database.connector.core.spi.DatabaseTypedSPILoader;
 import org.apache.shardingsphere.database.connector.core.type.DatabaseType;
-import org.apache.shardingsphere.infra.metadata.database.schema.QualifiedTable;
+import 
org.apache.shardingsphere.infra.algorithm.keygen.spi.KeyGenerateAlgorithm;
 import 
org.apache.shardingsphere.test.e2e.operation.pipeline.dao.order.large.sqlbuilder.IntPkLargeOrderSQLBuilder;
-import 
org.apache.shardingsphere.test.e2e.operation.pipeline.framework.helper.PipelineCaseHelper;
 import 
org.apache.shardingsphere.test.e2e.operation.pipeline.util.AutoIncrementKeyGenerateAlgorithm;
 import 
org.apache.shardingsphere.test.e2e.operation.pipeline.util.DataSourceExecuteUtils;
 
@@ -38,17 +37,14 @@ public final class IntPkLargeOrderDAO {
     
     private final DataSource dataSource;
     
-    private final DatabaseType databaseType;
-    
     private final IntPkLargeOrderSQLBuilder sqlBuilder;
     
     private final String qualifiedTableName;
     
-    public IntPkLargeOrderDAO(final DataSource dataSource, final DatabaseType 
databaseType, final QualifiedTable qualifiedTable) {
+    public IntPkLargeOrderDAO(final DataSource dataSource, final DatabaseType 
databaseType, final String qualifiedTableName) {
         this.dataSource = dataSource;
-        this.databaseType = databaseType;
         this.sqlBuilder = 
DatabaseTypedSPILoader.getService(IntPkLargeOrderSQLBuilder.class, 
databaseType);
-        this.qualifiedTableName = qualifiedTable.format();
+        this.qualifiedTableName = qualifiedTableName;
     }
     
     /**
@@ -69,12 +65,23 @@ public final class IntPkLargeOrderDAO {
      * @throws SQLException SQL exception
      */
     public void batchInsert(final int recordCount) throws SQLException {
-        List<Object[]> paramsList = 
PipelineCaseHelper.generateOrderInsertData(databaseType, new 
AutoIncrementKeyGenerateAlgorithm(), recordCount);
+        List<Object[]> paramsList = generateInsertData(new 
AutoIncrementKeyGenerateAlgorithm(), recordCount);
         String sql = sqlBuilder.buildPreparedInsertSQL(qualifiedTableName);
         log.info("Batch insert int pk large order SQL: {}, params list size: 
{}", sql, paramsList.size());
         DataSourceExecuteUtils.executeBatch(dataSource, sql, paramsList);
     }
     
+    /**
+     * Generate insert data.
+     *
+     * @param keyGenerateAlgorithm key generate algorithm
+     * @param recordCount record count
+     * @return insert data
+     */
+    public List<Object[]> generateInsertData(final KeyGenerateAlgorithm 
keyGenerateAlgorithm, final int recordCount) {
+        return sqlBuilder.generateInsertData(keyGenerateAlgorithm, 
recordCount);
+    }
+    
     /**
      * Insert order.
      *
diff --git 
a/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/dao/order/large/sqlbuilder/IntPkLargeOrderSQLBuilder.java
 
b/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/dao/order/large/sqlbuilder/IntPkLargeOrderSQLBuilder.java
index 79f3dc2549f..ba7cd01bfbc 100644
--- 
a/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/dao/order/large/sqlbuilder/IntPkLargeOrderSQLBuilder.java
+++ 
b/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/dao/order/large/sqlbuilder/IntPkLargeOrderSQLBuilder.java
@@ -18,6 +18,9 @@
 package 
org.apache.shardingsphere.test.e2e.operation.pipeline.dao.order.large.sqlbuilder;
 
 import org.apache.shardingsphere.database.connector.core.spi.DatabaseTypedSPI;
+import 
org.apache.shardingsphere.infra.algorithm.keygen.spi.KeyGenerateAlgorithm;
+
+import java.util.List;
 
 public interface IntPkLargeOrderSQLBuilder extends DatabaseTypedSPI {
     
@@ -37,6 +40,15 @@ public interface IntPkLargeOrderSQLBuilder extends 
DatabaseTypedSPI {
      */
     String buildPreparedInsertSQL(String qualifiedTableName);
     
+    /**
+     * Generate insert data.
+     *
+     * @param keyGenerateAlgorithm key generate algorithm
+     * @param recordCount record count
+     * @return insert data
+     */
+    List<Object[]> generateInsertData(KeyGenerateAlgorithm 
keyGenerateAlgorithm, int recordCount);
+    
     /**
      * Build prepared simple insert SQL.
      *
diff --git 
a/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/dao/order/large/sqlbuilder/MySQLIntPkLargeOrderSQLBuilder.java
 
b/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/dao/order/large/sqlbuilder/MySQLIntPkLargeOrderSQLBuilder.java
index 3f004070ba6..3273bccad36 100644
--- 
a/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/dao/order/large/sqlbuilder/MySQLIntPkLargeOrderSQLBuilder.java
+++ 
b/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/dao/order/large/sqlbuilder/MySQLIntPkLargeOrderSQLBuilder.java
@@ -17,6 +17,18 @@
 
 package 
org.apache.shardingsphere.test.e2e.operation.pipeline.dao.order.large.sqlbuilder;
 
+import 
org.apache.shardingsphere.infra.algorithm.core.context.AlgorithmSQLContext;
+import 
org.apache.shardingsphere.infra.algorithm.keygen.spi.KeyGenerateAlgorithm;
+import 
org.apache.shardingsphere.test.e2e.operation.pipeline.framework.helper.PipelineCaseHelper;
+
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+import java.time.Year;
+import java.util.ArrayList;
+import java.util.List;
+
+import static org.mockito.Mockito.mock;
+
 public final class MySQLIntPkLargeOrderSQLBuilder implements 
IntPkLargeOrderSQLBuilder {
     
     @Override
@@ -62,15 +74,42 @@ public final class MySQLIntPkLargeOrderSQLBuilder 
implements IntPkLargeOrderSQLB
     @Override
     public String buildPreparedInsertSQL(final String qualifiedTableName) {
         return String.format("""
-                INSERT INTO %s
-                (order_id, user_id, status, t_mediumint, t_smallint, 
t_tinyint, t_unsigned_int, t_unsigned_mediumint,
-                t_unsigned_smallint, t_unsigned_tinyint, t_float, t_double, 
t_decimal, t_timestamp, t_datetime, t_date, t_time, t_year,
-                t_bit, t_binary, t_varbinary, t_blob, t_mediumblob, t_char, 
t_text, t_mediumtext, t_enum, t_set, t_json)
-                VALUES
-                (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, 
?, ?, ?, ?, ?, ?, ?, ?, ?)
+                INSERT INTO %s (
+                order_id, user_id, status,
+                t_mediumint, t_smallint, t_tinyint, t_unsigned_int, 
t_unsigned_mediumint, t_unsigned_smallint, t_unsigned_tinyint,
+                t_float, t_double, t_decimal,
+                t_timestamp, t_datetime, t_date, t_time, t_year,
+                t_bit, t_binary, t_varbinary, t_blob, t_mediumblob,
+                t_char, t_text, t_mediumtext,
+                t_enum, t_set,
+                t_json
+                ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, 
?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
                 """, qualifiedTableName);
     }
     
+    @Override
+    public List<Object[]> generateInsertData(final KeyGenerateAlgorithm 
keyGenerateAlgorithm, final int recordCount) {
+        List<Object[]> result = new ArrayList<>(recordCount);
+        for (int i = 0; i < recordCount; i++) {
+            int randomInt = PipelineCaseHelper.generateInt(-100, 100);
+            Object orderId = 
keyGenerateAlgorithm.generateKeys(mock(AlgorithmSQLContext.class), 
1).iterator().next();
+            int randomUnsignedInt = PipelineCaseHelper.generateInt(0, 100);
+            LocalDateTime now = LocalDateTime.now();
+            Object[] params = {
+                    orderId, PipelineCaseHelper.generateInt(0, 100), 
PipelineCaseHelper.generateString(6),
+                    randomInt, randomInt, randomInt, randomUnsignedInt, 
randomUnsignedInt, randomUnsignedInt, randomUnsignedInt,
+                    PipelineCaseHelper.generateFloat(), 
PipelineCaseHelper.generateDouble(), 
BigDecimal.valueOf(PipelineCaseHelper.generateDouble()),
+                    now, now, now.toLocalDate(), now.toLocalTime(), 
Year.now().getValue(),
+                    "1", "t", "e", "s", "t",
+                    PipelineCaseHelper.generateString(2), "☠️x☺️x✋x☹️", 
PipelineCaseHelper.generateString(1),
+                    "1", "2",
+                    PipelineCaseHelper.generateJsonString(32, false)
+            };
+            result.add(params);
+        }
+        return result;
+    }
+    
     @Override
     public String getDatabaseType() {
         return "MySQL";
diff --git 
a/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/dao/order/large/sqlbuilder/OpenGaussIntPkLargeOrderSQLBuilder.java
 
b/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/dao/order/large/sqlbuilder/OpenGaussIntPkLargeOrderSQLBuilder.java
index dd73e553668..f855049e3c2 100644
--- 
a/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/dao/order/large/sqlbuilder/OpenGaussIntPkLargeOrderSQLBuilder.java
+++ 
b/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/dao/order/large/sqlbuilder/OpenGaussIntPkLargeOrderSQLBuilder.java
@@ -17,6 +17,23 @@
 
 package 
org.apache.shardingsphere.test.e2e.operation.pipeline.dao.order.large.sqlbuilder;
 
+import org.apache.commons.codec.digest.DigestUtils;
+import 
org.apache.shardingsphere.infra.algorithm.core.context.AlgorithmSQLContext;
+import 
org.apache.shardingsphere.infra.algorithm.keygen.spi.KeyGenerateAlgorithm;
+import 
org.apache.shardingsphere.test.e2e.operation.pipeline.framework.helper.PipelineCaseHelper;
+
+import java.math.BigDecimal;
+import java.sql.Timestamp;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.time.LocalTime;
+import java.time.OffsetDateTime;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.UUID;
+
+import static org.mockito.Mockito.mock;
+
 public final class OpenGaussIntPkLargeOrderSQLBuilder implements 
IntPkLargeOrderSQLBuilder {
     
     @Override
@@ -74,13 +91,49 @@ public final class OpenGaussIntPkLargeOrderSQLBuilder 
implements IntPkLargeOrder
     public String buildPreparedInsertSQL(final String qualifiedTableName) {
         return String.format("""
                 INSERT INTO %s (
-                order_id, user_id, status, c_int, c_smallint, c_float, 
c_double, c_numeric, c_boolean, c_char, c_text, c_bytea, c_raw, c_date, c_time,
-                c_smalldatetime, c_timestamp, c_timestamptz, c_interval, 
c_array, c_json, c_jsonb, c_uuid, c_hash32, c_tsvector, c_tsquery, c_bit,
-                c_int4range, c_daterange, c_tsrange, c_reltime, c_abstime, 
c_point, c_lseg, c_box, c_circle, c_bitvarying, c_cidr, c_inet, c_macaddr, 
c_hll, c_money
+                order_id, user_id, status,
+                c_int, c_smallint,
+                c_float, c_double, c_numeric, c_boolean,
+                c_char, c_text, c_bytea, c_raw,
+                c_date, c_time, c_smalldatetime, c_timestamp, c_timestamptz, 
c_interval,
+                c_array, c_json, c_jsonb,
+                c_uuid, c_hash32,
+                c_tsvector, c_tsquery, c_bit,
+                c_int4range, c_daterange, c_tsrange,
+                c_reltime, c_abstime,
+                c_point, c_lseg, c_box, c_circle, c_bitvarying,
+                c_cidr, c_inet, c_macaddr,
+                c_hll, c_money
                 ) VALUES ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, 
?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
                 """, qualifiedTableName);
     }
     
+    @Override
+    public List<Object[]> generateInsertData(final KeyGenerateAlgorithm 
keyGenerateAlgorithm, final int recordCount) {
+        List<Object[]> result = new ArrayList<>(recordCount);
+        for (int i = 0; i < recordCount; i++) {
+            Object orderId = 
keyGenerateAlgorithm.generateKeys(mock(AlgorithmSQLContext.class), 
1).iterator().next();
+            byte[] bytesValue = {Byte.MIN_VALUE, -1, 0, 1, Byte.MAX_VALUE};
+            Object[] params = new Object[]{
+                    orderId, PipelineCaseHelper.generateInt(0, 1000), 
"'status'" + i,
+                    PipelineCaseHelper.generateInt(-1000, 9999), 
PipelineCaseHelper.generateInt(0, 100),
+                    PipelineCaseHelper.generateFloat(), 
PipelineCaseHelper.generateDouble(), 
BigDecimal.valueOf(PipelineCaseHelper.generateDouble()), false,
+                    PipelineCaseHelper.generateString(6), "texts", bytesValue, 
bytesValue,
+                    LocalDate.now(), LocalTime.now(), "2001-10-01", 
Timestamp.valueOf(LocalDateTime.now()), OffsetDateTime.now(), "0 years 0 mons 1 
days 2 hours 3 mins 4 secs", "{1, 2, 3}",
+                    PipelineCaseHelper.generateJsonString(8, false), 
PipelineCaseHelper.generateJsonString(8, true),
+                    UUID.randomUUID().toString(), 
DigestUtils.md5Hex(orderId.toString()),
+                    "'rat' 'sat'", "tsquery", "0000",
+                    "[1,1000)", "[2020-01-02,2021-01-01)", "[2020-01-01 
00:00:00,2021-01-01 00:00:00)",
+                    "1 years 1 mons 10 days -06:00:00", "2000-01-02 
00:00:00+00",
+                    "(1.0,1.0)", "[(0.0,0.0),(2.0,2.0)]", 
"(3.0,3.0),(1.0,1.0)", "<(5.0,5.0),5.0>", "1111",
+                    "192.168.0.0/16", "192.168.1.1", "08:00:2b:01:02:03",
+                    
"\\x484c4c00000000002b05000000000000000000000000000000000000", 999
+            };
+            result.add(params);
+        }
+        return result;
+    }
+    
     @Override
     public String getDatabaseType() {
         return "openGauss";
diff --git 
a/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/dao/order/large/sqlbuilder/PostgreSQLIntPkLargeOrderSQLBuilder.java
 
b/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/dao/order/large/sqlbuilder/PostgreSQLIntPkLargeOrderSQLBuilder.java
index 0a0546e3c10..c9f575baef0 100644
--- 
a/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/dao/order/large/sqlbuilder/PostgreSQLIntPkLargeOrderSQLBuilder.java
+++ 
b/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/dao/order/large/sqlbuilder/PostgreSQLIntPkLargeOrderSQLBuilder.java
@@ -17,6 +17,21 @@
 
 package 
org.apache.shardingsphere.test.e2e.operation.pipeline.dao.order.large.sqlbuilder;
 
+import 
org.apache.shardingsphere.infra.algorithm.core.context.AlgorithmSQLContext;
+import 
org.apache.shardingsphere.infra.algorithm.keygen.spi.KeyGenerateAlgorithm;
+import 
org.apache.shardingsphere.test.e2e.operation.pipeline.framework.helper.PipelineCaseHelper;
+
+import java.math.BigDecimal;
+import java.sql.Timestamp;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.time.LocalTime;
+import java.time.OffsetDateTime;
+import java.util.ArrayList;
+import java.util.List;
+
+import static org.mockito.Mockito.mock;
+
 public final class PostgreSQLIntPkLargeOrderSQLBuilder implements 
IntPkLargeOrderSQLBuilder {
     
     @Override
@@ -49,13 +64,35 @@ public final class PostgreSQLIntPkLargeOrderSQLBuilder 
implements IntPkLargeOrde
     @Override
     public String buildPreparedInsertSQL(final String qualifiedTableName) {
         return String.format("""
-                INSERT INTO %s
-                (order_id, user_id, status, t_int2, t_numeric, t_bool, 
t_bytea, t_char, t_varchar,
-                t_float, t_double, t_json, t_jsonb, t_text, t_date, t_time, 
t_timestamp, t_timestamptz)
-                VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
+                INSERT INTO %s (
+                order_id, user_id, status,
+                t_int2, t_numeric, t_bool,
+                t_bytea, t_char, t_varchar,
+                t_float, t_double,
+                t_json, t_jsonb, t_text,
+                t_date, t_time, t_timestamp, t_timestamptz
+                ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
                 """, qualifiedTableName);
     }
     
+    @Override
+    public List<Object[]> generateInsertData(final KeyGenerateAlgorithm 
keyGenerateAlgorithm, final int recordCount) {
+        List<Object[]> result = new ArrayList<>(recordCount);
+        for (int i = 0; i < recordCount; i++) {
+            Object orderId = 
keyGenerateAlgorithm.generateKeys(mock(AlgorithmSQLContext.class), 
1).iterator().next();
+            Object[] params = new Object[]{
+                    orderId, PipelineCaseHelper.generateInt(0, 100), 
PipelineCaseHelper.generateString(6),
+                    PipelineCaseHelper.generateInt(-128, 127), 
BigDecimal.valueOf(PipelineCaseHelper.generateDouble()), true,
+                    "bytea".getBytes(), PipelineCaseHelper.generateString(2), 
PipelineCaseHelper.generateString(2),
+                    PipelineCaseHelper.generateFloat(), 
PipelineCaseHelper.generateDouble(),
+                    PipelineCaseHelper.generateJsonString(8, false), 
PipelineCaseHelper.generateJsonString(12, true), "☠️x☺️x✋x☹️",
+                    LocalDate.now(), LocalTime.now(), 
Timestamp.valueOf(LocalDateTime.now()), OffsetDateTime.now()
+            };
+            result.add(params);
+        }
+        return result;
+    }
+    
     @Override
     public String getDatabaseType() {
         return "PostgreSQL";
diff --git 
a/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/dao/order/small/StringPkSmallOrderDAO.java
 
b/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/dao/order/small/StringPkSmallOrderDAO.java
index 6865d27deb4..3e9f08f8d5a 100644
--- 
a/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/dao/order/small/StringPkSmallOrderDAO.java
+++ 
b/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/dao/order/small/StringPkSmallOrderDAO.java
@@ -20,15 +20,20 @@ package 
org.apache.shardingsphere.test.e2e.operation.pipeline.dao.order.small;
 import lombok.extern.slf4j.Slf4j;
 import 
org.apache.shardingsphere.database.connector.core.spi.DatabaseTypedSPILoader;
 import org.apache.shardingsphere.database.connector.core.type.DatabaseType;
+import 
org.apache.shardingsphere.infra.algorithm.core.context.AlgorithmSQLContext;
+import 
org.apache.shardingsphere.infra.algorithm.keygen.spi.KeyGenerateAlgorithm;
 import 
org.apache.shardingsphere.infra.algorithm.keygen.uuid.UUIDKeyGenerateAlgorithm;
 import org.apache.shardingsphere.infra.metadata.database.schema.QualifiedTable;
 import 
org.apache.shardingsphere.test.e2e.operation.pipeline.dao.order.small.sqlbuilder.StringPkSmallOrderSQLBuilder;
-import 
org.apache.shardingsphere.test.e2e.operation.pipeline.framework.helper.PipelineCaseHelper;
 import 
org.apache.shardingsphere.test.e2e.operation.pipeline.util.DataSourceExecuteUtils;
 
 import javax.sql.DataSource;
 import java.sql.SQLException;
+import java.util.ArrayList;
 import java.util.List;
+import java.util.concurrent.ThreadLocalRandom;
+
+import static org.mockito.Mockito.mock;
 
 /**
  * String PK small order DAO. Small table means the table has few columns.
@@ -66,12 +71,25 @@ public final class StringPkSmallOrderDAO {
      * @throws SQLException SQL exception
      */
     public void batchInsert(final int recordCount) throws SQLException {
-        List<Object[]> paramsList = 
PipelineCaseHelper.generateSmallOrderInsertData(new UUIDKeyGenerateAlgorithm(), 
recordCount);
+        List<Object[]> paramsList = generateInsertData(recordCount);
         String sql = sqlBuilder.buildPreparedInsertSQL(qualifiedTableName);
         log.info("Batch insert string pk small order SQL: {}, params list 
size: {}", sql, paramsList.size());
         DataSourceExecuteUtils.executeBatch(dataSource, sql, paramsList);
     }
     
+    private List<Object[]> generateInsertData(final int recordCount) {
+        List<Object[]> result = new ArrayList<>(recordCount);
+        KeyGenerateAlgorithm keyGenerateAlgorithm = new 
UUIDKeyGenerateAlgorithm();
+        for (int i = 0; i < recordCount; i++) {
+            Object[] params = new Object[3];
+            params[0] = 
keyGenerateAlgorithm.generateKeys(mock(AlgorithmSQLContext.class), 
1).iterator().next();
+            params[1] = ThreadLocalRandom.current().nextInt(0, 6);
+            params[2] = "OK";
+            result.add(params);
+        }
+        return result;
+    }
+    
     /**
      * Insert order.
      *
diff --git 
a/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/dao/orderitem/IntPkOrderItemDAO.java
 
b/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/dao/orderitem/IntPkOrderItemDAO.java
index 755504274a5..14bb2fe1280 100644
--- 
a/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/dao/orderitem/IntPkOrderItemDAO.java
+++ 
b/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/dao/orderitem/IntPkOrderItemDAO.java
@@ -20,14 +20,19 @@ package 
org.apache.shardingsphere.test.e2e.operation.pipeline.dao.orderitem;
 import lombok.extern.slf4j.Slf4j;
 import 
org.apache.shardingsphere.database.connector.core.spi.DatabaseTypedSPILoader;
 import org.apache.shardingsphere.database.connector.core.type.DatabaseType;
+import 
org.apache.shardingsphere.infra.algorithm.core.context.AlgorithmSQLContext;
+import 
org.apache.shardingsphere.infra.algorithm.keygen.spi.KeyGenerateAlgorithm;
 import 
org.apache.shardingsphere.test.e2e.operation.pipeline.dao.orderitem.sqlbuilder.IntPkOrderItemSQLBuilder;
-import 
org.apache.shardingsphere.test.e2e.operation.pipeline.framework.helper.PipelineCaseHelper;
 import 
org.apache.shardingsphere.test.e2e.operation.pipeline.util.AutoIncrementKeyGenerateAlgorithm;
 import 
org.apache.shardingsphere.test.e2e.operation.pipeline.util.DataSourceExecuteUtils;
 
 import javax.sql.DataSource;
 import java.sql.SQLException;
+import java.util.ArrayList;
 import java.util.List;
+import java.util.concurrent.ThreadLocalRandom;
+
+import static org.mockito.Mockito.mock;
 
 @Slf4j
 public final class IntPkOrderItemDAO {
@@ -62,12 +67,24 @@ public final class IntPkOrderItemDAO {
      * @throws SQLException SQL exception
      */
     public void batchInsert(final int recordCount) throws SQLException {
-        List<Object[]> paramsList = 
PipelineCaseHelper.generateOrderItemInsertData(new 
AutoIncrementKeyGenerateAlgorithm(), recordCount);
+        List<Object[]> paramsList = generateInsertData(recordCount);
         String sql = sqlBuilder.buildPreparedInsertSQL(schemaPrefix);
         log.info("Batch insert order_item SQL: {}, params list size: {}", sql, 
paramsList.size());
         DataSourceExecuteUtils.executeBatch(dataSource, sql, paramsList);
     }
     
+    private List<Object[]> generateInsertData(final int recordCount) {
+        List<Object[]> result = new ArrayList<>(recordCount);
+        KeyGenerateAlgorithm keyGenerateAlgorithm = new 
AutoIncrementKeyGenerateAlgorithm();
+        ThreadLocalRandom random = ThreadLocalRandom.current();
+        for (int i = 0; i < recordCount; i++) {
+            Object orderId = 
keyGenerateAlgorithm.generateKeys(mock(AlgorithmSQLContext.class), 
1).iterator().next();
+            int userId = random.nextInt(0, 100);
+            result.add(new 
Object[]{keyGenerateAlgorithm.generateKeys(mock(AlgorithmSQLContext.class), 
1).iterator().next(), orderId, userId, "SUCCESS"});
+        }
+        return result;
+    }
+    
     /**
      * Insert order item.
      *
diff --git 
a/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/framework/helper/PipelineCaseHelper.java
 
b/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/framework/helper/PipelineCaseHelper.java
index 88009cf719b..5371a344fe7 100644
--- 
a/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/framework/helper/PipelineCaseHelper.java
+++ 
b/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/framework/helper/PipelineCaseHelper.java
@@ -21,31 +21,14 @@ import com.google.common.base.Strings;
 import lombok.AccessLevel;
 import lombok.NoArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
-import org.apache.commons.codec.digest.DigestUtils;
 import org.apache.commons.lang3.RandomStringUtils;
-import org.apache.commons.lang3.tuple.Pair;
-import org.apache.shardingsphere.database.connector.core.type.DatabaseType;
-import 
org.apache.shardingsphere.database.connector.mariadb.type.MariaDBDatabaseType;
-import 
org.apache.shardingsphere.database.connector.mysql.type.MySQLDatabaseType;
-import 
org.apache.shardingsphere.database.connector.opengauss.type.OpenGaussDatabaseType;
-import 
org.apache.shardingsphere.database.connector.postgresql.type.PostgreSQLDatabaseType;
 import 
org.apache.shardingsphere.infra.algorithm.core.context.AlgorithmSQLContext;
 import 
org.apache.shardingsphere.infra.algorithm.keygen.spi.KeyGenerateAlgorithm;
-import 
org.apache.shardingsphere.test.e2e.operation.pipeline.util.AutoIncrementKeyGenerateAlgorithm;
 
-import java.math.BigDecimal;
 import java.sql.Connection;
 import java.sql.PreparedStatement;
 import java.sql.SQLException;
-import java.sql.Timestamp;
-import java.time.LocalDate;
 import java.time.LocalDateTime;
-import java.time.LocalTime;
-import java.time.OffsetDateTime;
-import java.time.Year;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.UUID;
 import java.util.concurrent.ThreadLocalRandom;
 
 import static org.mockito.Mockito.mock;
@@ -55,101 +38,23 @@ import static org.mockito.Mockito.mock;
 public final class PipelineCaseHelper {
     
     /**
-     * Generate insert data, contains full fields.
+     * Generate a pseudorandom integer in the specified range.
      *
-     * @param databaseType database type
-     * @param insertRows insert rows
-     * @return insert data list
+     * @param min lower bound (inclusive)
+     * @param max upper bound (exclusive)
+     * @return a pseudorandom int between {@code min} (inclusive) and {@code 
max} (exclusive)
      */
-    // TODO Delete
-    public static Pair<List<Object[]>, List<Object[]>> 
generateFullInsertData(final DatabaseType databaseType, final int insertRows) {
-        if (insertRows < 0) {
-            return Pair.of(null, null);
-        }
-        AutoIncrementKeyGenerateAlgorithm orderKeyGenerate = new 
AutoIncrementKeyGenerateAlgorithm();
-        AutoIncrementKeyGenerateAlgorithm orderItemKeyGenerate = new 
AutoIncrementKeyGenerateAlgorithm();
-        List<Object[]> orderData = generateOrderInsertData(databaseType, 
orderKeyGenerate, insertRows);
-        List<Object[]> orderItemData = 
generateOrderItemInsertData(orderItemKeyGenerate, insertRows);
-        return Pair.of(orderData, orderItemData);
-    }
-    
-    /**
-     * Generate small order insert data.
-     *
-     * @param keyGenerateAlgorithm key generate algorithm
-     * @param recordCount record count
-     * @return small order insert data
-     */
-    public static List<Object[]> generateSmallOrderInsertData(final 
KeyGenerateAlgorithm keyGenerateAlgorithm, final int recordCount) {
-        List<Object[]> result = new ArrayList<>(recordCount);
-        for (int i = 0; i < recordCount; i++) {
-            Object[] params = new Object[3];
-            params[0] = 
keyGenerateAlgorithm.generateKeys(mock(AlgorithmSQLContext.class), 
1).iterator().next();
-            params[1] = ThreadLocalRandom.current().nextInt(0, 6);
-            params[2] = "OK";
-            result.add(params);
-        }
-        return result;
+    public static int generateInt(final int min, final int max) {
+        return ThreadLocalRandom.current().nextInt(min, max);
     }
     
     /**
-     * Generate order insert data.
+     * Generate a random alphanumeric string of the given length.
      *
-     * @param databaseType database type
-     * @param keyGenerateAlgorithm key generate algorithm
-     * @param recordCount record count
-     * @return order insert data
-     * @throws UnsupportedOperationException Unsupported operation exception
+     * @param strLength desired string length
+     * @return random alphanumeric string
      */
-    // TODO Refactor to use SPI
-    public static List<Object[]> generateOrderInsertData(final DatabaseType 
databaseType, final KeyGenerateAlgorithm keyGenerateAlgorithm, final int 
recordCount) {
-        List<Object[]> result = new ArrayList<>(recordCount);
-        String emojiText = "☠️x☺️x✋x☹️";
-        if (databaseType instanceof MySQLDatabaseType || databaseType 
instanceof MariaDBDatabaseType) {
-            for (int i = 0; i < recordCount; i++) {
-                int randomInt = generateInt(-100, 100);
-                Object orderId = 
keyGenerateAlgorithm.generateKeys(mock(AlgorithmSQLContext.class), 
1).iterator().next();
-                int randomUnsignedInt = generateInt(0, 100);
-                LocalDateTime now = LocalDateTime.now();
-                Object[] addObjs = {orderId, generateInt(0, 100), 
generateString(6), randomInt, randomInt, randomInt,
-                        randomUnsignedInt, randomUnsignedInt, 
randomUnsignedInt, randomUnsignedInt, generateFloat(), generateDouble(),
-                        BigDecimal.valueOf(generateDouble()), now, now, 
now.toLocalDate(), now.toLocalTime(), Year.now().getValue(), "1", "t", "e", 
"s", "t", generateString(2),
-                        emojiText, generateString(1), "1", "2", 
generateJsonString(32, false)};
-                result.add(addObjs);
-            }
-            return result;
-        }
-        if (databaseType instanceof PostgreSQLDatabaseType) {
-            for (int i = 0; i < recordCount; i++) {
-                Object orderId = 
keyGenerateAlgorithm.generateKeys(mock(AlgorithmSQLContext.class), 
1).iterator().next();
-                result.add(new Object[]{orderId, generateInt(0, 100), 
generateString(6), generateInt(-128, 127),
-                        BigDecimal.valueOf(generateDouble()), true, 
"bytea".getBytes(), generateString(2), generateString(2), generateFloat(), 
generateDouble(),
-                        generateJsonString(8, false), generateJsonString(12, 
true), emojiText, LocalDate.now(),
-                        LocalTime.now(), 
Timestamp.valueOf(LocalDateTime.now()), OffsetDateTime.now()});
-            }
-            return result;
-        }
-        if (databaseType instanceof OpenGaussDatabaseType) {
-            for (int i = 0; i < recordCount; i++) {
-                Object orderId = 
keyGenerateAlgorithm.generateKeys(mock(AlgorithmSQLContext.class), 
1).iterator().next();
-                byte[] bytesValue = {Byte.MIN_VALUE, -1, 0, 1, Byte.MAX_VALUE};
-                result.add(new Object[]{orderId, generateInt(0, 1000), 
"'status'" + i, generateInt(-1000, 9999), generateInt(0, 100), generateFloat(), 
generateDouble(),
-                        BigDecimal.valueOf(generateDouble()), false, 
generateString(6), "texts", bytesValue, bytesValue, LocalDate.now(), 
LocalTime.now(), "2001-10-01",
-                        Timestamp.valueOf(LocalDateTime.now()), 
OffsetDateTime.now(), "0 years 0 mons 1 days 2 hours 3 mins 4 secs", "{1, 2, 
3}", generateJsonString(8, false),
-                        generateJsonString(8, true), 
UUID.randomUUID().toString(), DigestUtils.md5Hex(orderId.toString()), "'rat' 
'sat'", "tsquery", "0000", "[1,1000)", "[2020-01-02,2021-01-01)",
-                        "[2020-01-01 00:00:00,2021-01-01 00:00:00)", "1 years 
1 mons 10 days -06:00:00", "2000-01-02 00:00:00+00", "(1.0,1.0)", 
"[(0.0,0.0),(2.0,2.0)]", "(3.0,3.0),(1.0,1.0)",
-                        "<(5.0,5.0),5.0>", "1111", "192.168.0.0/16", 
"192.168.1.1", "08:00:2b:01:02:03", 
"\\x484c4c00000000002b05000000000000000000000000000000000000", 999});
-            }
-            return result;
-        }
-        throw new UnsupportedOperationException(String.format("Not support 
generate %s insert data", databaseType.getType()));
-    }
-    
-    private static int generateInt(final int min, final int max) {
-        return ThreadLocalRandom.current().nextInt(min, max);
-    }
-    
-    private static String generateString(final int strLength) {
+    public static String generateString(final int strLength) {
         return RandomStringUtils.randomAlphanumeric(strLength);
     }
     
@@ -188,23 +93,6 @@ public final class PipelineCaseHelper {
         return ThreadLocalRandom.current().nextInt(-1000000000, 1000000000) / 
1000000.0D;
     }
     
-    /**
-     * Generate order item insert data.
-     *
-     * @param keyGenerateAlgorithm key generate algorithm
-     * @param recordCount record count
-     * @return order item insert data
-     */
-    public static List<Object[]> generateOrderItemInsertData(final 
KeyGenerateAlgorithm keyGenerateAlgorithm, final int recordCount) {
-        List<Object[]> result = new ArrayList<>(recordCount);
-        for (int i = 0; i < recordCount; i++) {
-            Object orderId = 
keyGenerateAlgorithm.generateKeys(mock(AlgorithmSQLContext.class), 
1).iterator().next();
-            int userId = generateInt(0, 100);
-            result.add(new 
Object[]{keyGenerateAlgorithm.generateKeys(mock(AlgorithmSQLContext.class), 
1).iterator().next(), orderId, userId, "SUCCESS"});
-        }
-        return result;
-    }
-    
     /**
      * Batch insert order records with general columns.
      *
@@ -214,7 +102,6 @@ public final class PipelineCaseHelper {
      * @param recordCount record count
      * @throws SQLException sql exception
      */
-    // TODO Delete
     public static void batchInsertOrderRecordsWithGeneralColumns(final 
Connection connection, final KeyGenerateAlgorithm keyGenerateAlgorithm, final 
String tableName,
                                                                  final int 
recordCount) throws SQLException {
         log.info("init data begin: {}", LocalDateTime.now());

Reply via email to