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

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


The following commit(s) were added to refs/heads/master by this push:
     new 232c6f8785e Add PipelineInventoryDumpSQLBuilder (#27194)
232c6f8785e is described below

commit 232c6f8785ed40414925707d3bb4ecdfee6e51d2
Author: Liang Zhang <[email protected]>
AuthorDate: Fri Jul 14 16:42:01 2023 +0800

    Add PipelineInventoryDumpSQLBuilder (#27194)
---
 .../api/config/ingest/DumperConfiguration.java     |  6 +-
 .../PipelineInventoryDumpSQLBuilder.java           | 96 ++++++++++++++++++++++
 .../sqlbuilder/PipelineSQLBuilderEngine.java       | 70 ++--------------
 .../data/pipeline/core/dumper/InventoryDumper.java | 18 ++--
 .../PipelineInventoryDumpSQLBuilderTest.java       | 56 +++++++++++++
 .../sqlbuilder/PipelineSQLBuilderEngineTest.java   | 34 ++------
 6 files changed, 179 insertions(+), 101 deletions(-)

diff --git 
a/kernel/data-pipeline/api/src/main/java/org/apache/shardingsphere/data/pipeline/api/config/ingest/DumperConfiguration.java
 
b/kernel/data-pipeline/api/src/main/java/org/apache/shardingsphere/data/pipeline/api/config/ingest/DumperConfiguration.java
index 37c2033f6e2..044658d2aa9 100644
--- 
a/kernel/data-pipeline/api/src/main/java/org/apache/shardingsphere/data/pipeline/api/config/ingest/DumperConfiguration.java
+++ 
b/kernel/data-pipeline/api/src/main/java/org/apache/shardingsphere/data/pipeline/api/config/ingest/DumperConfiguration.java
@@ -107,12 +107,12 @@ public class DumperConfiguration {
     }
     
     /**
-     * Get column name list of table.
+     * Get column names.
      *
      * @param logicTableName logic table name
-     * @return column names of table
+     * @return column names
      */
-    public Optional<List<String>> getColumnNameList(final LogicTableName 
logicTableName) {
+    public Optional<List<String>> getColumnNames(final LogicTableName 
logicTableName) {
         Set<ColumnName> columnNames = null != targetTableColumnsMap ? 
targetTableColumnsMap.get(logicTableName) : null;
         if (null == columnNames) {
             return Optional.empty();
diff --git 
a/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/common/sqlbuilder/PipelineInventoryDumpSQLBuilder.java
 
b/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/common/sqlbuilder/PipelineInventoryDumpSQLBuilder.java
new file mode 100644
index 00000000000..74d3a0a599d
--- /dev/null
+++ 
b/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/common/sqlbuilder/PipelineInventoryDumpSQLBuilder.java
@@ -0,0 +1,96 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.shardingsphere.data.pipeline.common.sqlbuilder;
+
+import org.apache.shardingsphere.infra.database.type.DatabaseType;
+
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * Pipeline inventory dump SQL builder.
+ */
+public final class PipelineInventoryDumpSQLBuilder {
+    
+    private final PipelineSQLSegmentBuilder sqlSegmentBuilder;
+    
+    public PipelineInventoryDumpSQLBuilder(final DatabaseType databaseType) {
+        sqlSegmentBuilder = new PipelineSQLSegmentBuilder(databaseType);
+    }
+    
+    /**
+     * Build divisible inventory dump SQL.
+     *
+     * @param schemaName schema name
+     * @param tableName table name
+     * @param columnNames column names
+     * @param uniqueKey unique key
+     * @return built SQL
+     */
+    public String buildDivisibleSQL(final String schemaName, final String 
tableName, final List<String> columnNames, final String uniqueKey) {
+        String qualifiedTableName = 
sqlSegmentBuilder.getQualifiedTableName(schemaName, tableName);
+        String escapedUniqueKey = 
sqlSegmentBuilder.getEscapedIdentifier(uniqueKey);
+        return String.format("SELECT %s FROM %s WHERE %s>=? AND %s<=? ORDER BY 
%s ASC", buildQueryColumns(columnNames), qualifiedTableName, escapedUniqueKey, 
escapedUniqueKey, escapedUniqueKey);
+    }
+    
+    /**
+     * Build divisible inventory dump SQL with unlimited value.
+     *
+     * @param schemaName schema name
+     * @param tableName table name
+     * @param columnNames column names
+     * @param uniqueKey unique key
+     * @return built SQL
+     */
+    public String buildUnlimitedDivisibleSQL(final String schemaName, final 
String tableName, final List<String> columnNames, final String uniqueKey) {
+        String qualifiedTableName = 
sqlSegmentBuilder.getQualifiedTableName(schemaName, tableName);
+        String escapedUniqueKey = 
sqlSegmentBuilder.getEscapedIdentifier(uniqueKey);
+        return String.format("SELECT %s FROM %s WHERE %s>=? ORDER BY %s ASC", 
buildQueryColumns(columnNames), qualifiedTableName, escapedUniqueKey, 
escapedUniqueKey);
+    }
+    
+    /**
+     * Build indivisible inventory dump first SQL.
+     *
+     * @param schemaName schema name
+     * @param tableName table name
+     * @param columnNames column names
+     * @param uniqueKey unique key
+     * @return built SQL
+     */
+    public String buildIndivisibleSQL(final String schemaName, final String 
tableName, final List<String> columnNames, final String uniqueKey) {
+        String qualifiedTableName = 
sqlSegmentBuilder.getQualifiedTableName(schemaName, tableName);
+        String quotedUniqueKey = 
sqlSegmentBuilder.getEscapedIdentifier(uniqueKey);
+        return String.format("SELECT %s FROM %s ORDER BY %s ASC", 
buildQueryColumns(columnNames), qualifiedTableName, quotedUniqueKey);
+    }
+    
+    private String buildQueryColumns(final List<String> columnNames) {
+        return 
columnNames.stream().map(sqlSegmentBuilder::getEscapedIdentifier).collect(Collectors.joining(","));
+    }
+    
+    /**
+     * Build fetch all inventory dump SQL.
+     *
+     * @param schemaName schema name
+     * @param tableName tableName
+     * @return built SQL
+     */
+    public String buildFetchAllSQL(final String schemaName, final String 
tableName) {
+        String qualifiedTableName = 
sqlSegmentBuilder.getQualifiedTableName(schemaName, tableName);
+        return String.format("SELECT * FROM %s", qualifiedTableName);
+    }
+}
diff --git 
a/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/common/sqlbuilder/PipelineSQLBuilderEngine.java
 
b/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/common/sqlbuilder/PipelineSQLBuilderEngine.java
index 0c945e9bae0..3d9e02b3a46 100644
--- 
a/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/common/sqlbuilder/PipelineSQLBuilderEngine.java
+++ 
b/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/common/sqlbuilder/PipelineSQLBuilderEngine.java
@@ -17,6 +17,7 @@
 
 package org.apache.shardingsphere.data.pipeline.common.sqlbuilder;
 
+import lombok.Getter;
 import org.apache.shardingsphere.data.pipeline.api.ingest.record.Column;
 import org.apache.shardingsphere.data.pipeline.api.ingest.record.DataRecord;
 import 
org.apache.shardingsphere.data.pipeline.spi.sqlbuilder.DialectPipelineSQLBuilder;
@@ -41,6 +42,9 @@ public final class PipelineSQLBuilderEngine {
     
     private static final String DELETE_SQL_CACHE_KEY_PREFIX = "DELETE_";
     
+    @Getter
+    private final PipelineInventoryDumpSQLBuilder inventoryDumpSQLBuilder;
+    
     private final DialectPipelineSQLBuilder dialectSQLBuilder;
     
     private final PipelineSQLSegmentBuilder sqlSegmentBuilder;
@@ -48,6 +52,7 @@ public final class PipelineSQLBuilderEngine {
     private final ConcurrentMap<String, String> sqlCacheMap;
     
     public PipelineSQLBuilderEngine(final DatabaseType databaseType) {
+        inventoryDumpSQLBuilder = new 
PipelineInventoryDumpSQLBuilder(databaseType);
         dialectSQLBuilder = 
DatabaseTypedSPILoader.getService(DialectPipelineSQLBuilder.class, 
databaseType);
         sqlSegmentBuilder = new PipelineSQLSegmentBuilder(databaseType);
         sqlCacheMap = new ConcurrentHashMap<>();
@@ -63,67 +68,6 @@ public final class PipelineSQLBuilderEngine {
         return dialectSQLBuilder.buildCreateSchemaSQL(schemaName);
     }
     
-    /**
-     * Build divisible inventory dump SQL.
-     *
-     * @param schemaName schema name
-     * @param tableName table name
-     * @param columnNames column names
-     * @param uniqueKey unique key
-     * @return divisible inventory dump SQL
-     */
-    public String buildDivisibleInventoryDumpSQL(final String schemaName, 
final String tableName, final List<String> columnNames, final String uniqueKey) 
{
-        String qualifiedTableName = 
sqlSegmentBuilder.getQualifiedTableName(schemaName, tableName);
-        String escapedUniqueKey = 
sqlSegmentBuilder.getEscapedIdentifier(uniqueKey);
-        return String.format("SELECT %s FROM %s WHERE %s>=? AND %s<=? ORDER BY 
%s ASC", buildQueryColumns(columnNames), qualifiedTableName, escapedUniqueKey, 
escapedUniqueKey, escapedUniqueKey);
-    }
-    
-    /**
-     * Build divisible inventory dump SQL without limited value.
-     *
-     * @param schemaName schema name
-     * @param tableName table name
-     * @param columnNames column names
-     * @param uniqueKey unique key
-     * @return divisible inventory dump SQL without end value
-     */
-    public String buildNoLimitedDivisibleInventoryDumpSQL(final String 
schemaName, final String tableName, final List<String> columnNames, final 
String uniqueKey) {
-        String qualifiedTableName = 
sqlSegmentBuilder.getQualifiedTableName(schemaName, tableName);
-        String escapedUniqueKey = 
sqlSegmentBuilder.getEscapedIdentifier(uniqueKey);
-        return String.format("SELECT %s FROM %s WHERE %s>=? ORDER BY %s ASC", 
buildQueryColumns(columnNames), qualifiedTableName, escapedUniqueKey, 
escapedUniqueKey);
-    }
-    
-    private String buildQueryColumns(final List<String> columnNames) {
-        return columnNames.isEmpty() ? "*" : 
columnNames.stream().map(sqlSegmentBuilder::getEscapedIdentifier).collect(Collectors.joining(","));
-    }
-    
-    /**
-     * Build indivisible inventory dump first SQL.
-     *
-     * @param schemaName schema name
-     * @param tableName table name
-     * @param columnNames column names
-     * @param uniqueKey unique key
-     * @return indivisible inventory dump SQL
-     */
-    public String buildIndivisibleInventoryDumpSQL(final String schemaName, 
final String tableName, final List<String> columnNames, final String uniqueKey) 
{
-        String qualifiedTableName = 
sqlSegmentBuilder.getQualifiedTableName(schemaName, tableName);
-        String quotedUniqueKey = 
sqlSegmentBuilder.getEscapedIdentifier(uniqueKey);
-        return String.format("SELECT %s FROM %s ORDER BY %s ASC", 
buildQueryColumns(columnNames), qualifiedTableName, quotedUniqueKey);
-    }
-    
-    /**
-     * Build no unique key inventory dump SQL.
-     *
-     * @param schemaName schema name
-     * @param tableName tableName
-     * @return inventory dump all SQL
-     */
-    public String buildNoUniqueKeyInventoryDumpSQL(final String schemaName, 
final String tableName) {
-        String qualifiedTableName = 
sqlSegmentBuilder.getQualifiedTableName(schemaName, tableName);
-        return String.format("SELECT * FROM %s", qualifiedTableName);
-    }
-    
     /**
      * Build insert SQL.
      *
@@ -280,6 +224,10 @@ public final class PipelineSQLBuilderEngine {
                 : String.format("SELECT %s FROM %s WHERE %s>? ORDER BY %s 
ASC", buildQueryColumns(columnNames), qualifiedTableName, quotedUniqueKey, 
quotedUniqueKey);
     }
     
+    private String buildQueryColumns(final List<String> columnNames) {
+        return columnNames.isEmpty() ? "*" : 
columnNames.stream().map(sqlSegmentBuilder::getEscapedIdentifier).collect(Collectors.joining(","));
+    }
+    
     /**
      * Build check empty SQL.
      *
diff --git 
a/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/dumper/InventoryDumper.java
 
b/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/dumper/InventoryDumper.java
index 52e80609743..124e9be7b9c 100644
--- 
a/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/dumper/InventoryDumper.java
+++ 
b/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/dumper/InventoryDumper.java
@@ -40,6 +40,7 @@ import 
org.apache.shardingsphere.data.pipeline.common.ingest.position.FinishedPo
 import 
org.apache.shardingsphere.data.pipeline.common.ingest.position.PlaceholderPosition;
 import 
org.apache.shardingsphere.data.pipeline.common.ingest.position.pk.PrimaryKeyPosition;
 import 
org.apache.shardingsphere.data.pipeline.common.ingest.position.pk.PrimaryKeyPositionFactory;
+import 
org.apache.shardingsphere.data.pipeline.common.sqlbuilder.PipelineInventoryDumpSQLBuilder;
 import 
org.apache.shardingsphere.data.pipeline.common.sqlbuilder.PipelineSQLBuilderEngine;
 import 
org.apache.shardingsphere.data.pipeline.common.util.JDBCStreamQueryUtils;
 import org.apache.shardingsphere.data.pipeline.common.util.PipelineJdbcUtils;
@@ -155,23 +156,24 @@ public final class InventoryDumper extends 
AbstractLifecycleExecutor implements
         if (!Strings.isNullOrEmpty(dumperConfig.getQuerySQL())) {
             return dumperConfig.getQuerySQL();
         }
+        PipelineInventoryDumpSQLBuilder inventoryDumpSQLBuilder = 
sqlBuilderEngine.getInventoryDumpSQLBuilder();
         LogicTableName logicTableName = new 
LogicTableName(dumperConfig.getLogicTableName());
         String schemaName = dumperConfig.getSchemaName(logicTableName);
         if (!dumperConfig.hasUniqueKey()) {
-            return 
sqlBuilderEngine.buildNoUniqueKeyInventoryDumpSQL(schemaName, 
dumperConfig.getActualTableName());
+            return inventoryDumpSQLBuilder.buildFetchAllSQL(schemaName, 
dumperConfig.getActualTableName());
         }
-        PrimaryKeyPosition<?> position = (PrimaryKeyPosition<?>) 
dumperConfig.getPosition();
+        PrimaryKeyPosition<?> primaryKeyPosition = (PrimaryKeyPosition<?>) 
dumperConfig.getPosition();
         PipelineColumnMetaData firstColumn = 
dumperConfig.getUniqueKeyColumns().get(0);
-        List<String> columnNames = 
dumperConfig.getColumnNameList(logicTableName).orElse(Collections.singletonList("*"));
+        List<String> columnNames = 
dumperConfig.getColumnNames(logicTableName).orElse(Collections.singletonList("*"));
         if (PipelineJdbcUtils.isIntegerColumn(firstColumn.getDataType()) || 
PipelineJdbcUtils.isStringColumn(firstColumn.getDataType())) {
-            if (null != position.getBeginValue() && null != 
position.getEndValue()) {
-                return 
sqlBuilderEngine.buildDivisibleInventoryDumpSQL(schemaName, 
dumperConfig.getActualTableName(), columnNames, firstColumn.getName());
+            if (null != primaryKeyPosition.getBeginValue() && null != 
primaryKeyPosition.getEndValue()) {
+                return inventoryDumpSQLBuilder.buildDivisibleSQL(schemaName, 
dumperConfig.getActualTableName(), columnNames, firstColumn.getName());
             }
-            if (null != position.getBeginValue() && null == 
position.getEndValue()) {
-                return 
sqlBuilderEngine.buildNoLimitedDivisibleInventoryDumpSQL(schemaName, 
dumperConfig.getActualTableName(), columnNames, firstColumn.getName());
+            if (null != primaryKeyPosition.getBeginValue() && null == 
primaryKeyPosition.getEndValue()) {
+                return 
inventoryDumpSQLBuilder.buildUnlimitedDivisibleSQL(schemaName, 
dumperConfig.getActualTableName(), columnNames, firstColumn.getName());
             }
         }
-        return sqlBuilderEngine.buildIndivisibleInventoryDumpSQL(schemaName, 
dumperConfig.getActualTableName(), columnNames, firstColumn.getName());
+        return inventoryDumpSQLBuilder.buildIndivisibleSQL(schemaName, 
dumperConfig.getActualTableName(), columnNames, firstColumn.getName());
     }
     
     private void setParameters(final PreparedStatement preparedStatement) 
throws SQLException {
diff --git 
a/kernel/data-pipeline/core/src/test/java/org/apache/shardingsphere/data/pipeline/common/sqlbuilder/PipelineInventoryDumpSQLBuilderTest.java
 
b/kernel/data-pipeline/core/src/test/java/org/apache/shardingsphere/data/pipeline/common/sqlbuilder/PipelineInventoryDumpSQLBuilderTest.java
new file mode 100644
index 00000000000..153935b5424
--- /dev/null
+++ 
b/kernel/data-pipeline/core/src/test/java/org/apache/shardingsphere/data/pipeline/common/sqlbuilder/PipelineInventoryDumpSQLBuilderTest.java
@@ -0,0 +1,56 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.shardingsphere.data.pipeline.common.sqlbuilder;
+
+import org.apache.shardingsphere.infra.database.type.DatabaseType;
+import org.apache.shardingsphere.infra.util.spi.type.typed.TypedSPILoader;
+import org.junit.jupiter.api.Test;
+
+import java.util.Arrays;
+
+import static org.hamcrest.CoreMatchers.is;
+import static org.hamcrest.MatcherAssert.assertThat;
+
+class PipelineInventoryDumpSQLBuilderTest {
+    
+    private final PipelineInventoryDumpSQLBuilder inventoryDumpSQLBuilder = 
new 
PipelineInventoryDumpSQLBuilder(TypedSPILoader.getService(DatabaseType.class, 
"FIXTURE"));
+    
+    @Test
+    void assertBuildDivisibleSQL() {
+        String actual = inventoryDumpSQLBuilder.buildDivisibleSQL(null, 
"t_order", Arrays.asList("order_id", "user_id", "status"), "order_id");
+        assertThat(actual, is("SELECT order_id,user_id,status FROM t_order 
WHERE order_id>=? AND order_id<=? ORDER BY order_id ASC"));
+    }
+    
+    @Test
+    void assertBuildUnlimitedDivisibleSQL() {
+        String actual = 
inventoryDumpSQLBuilder.buildUnlimitedDivisibleSQL(null, "t_order", 
Arrays.asList("order_id", "user_id", "status"), "order_id");
+        assertThat(actual, is("SELECT order_id,user_id,status FROM t_order 
WHERE order_id>=? ORDER BY order_id ASC"));
+    }
+    
+    @Test
+    void assertBuildIndivisibleSQL() {
+        String actual = inventoryDumpSQLBuilder.buildIndivisibleSQL(null, 
"t_order", Arrays.asList("order_id", "user_id", "status"), "order_id");
+        assertThat(actual, is("SELECT order_id,user_id,status FROM t_order 
ORDER BY order_id ASC"));
+    }
+    
+    @Test
+    void assertBuildFetchAllSQL() {
+        String actual = inventoryDumpSQLBuilder.buildFetchAllSQL(null, 
"t_order");
+        assertThat(actual, is("SELECT * FROM t_order"));
+    }
+}
diff --git 
a/kernel/data-pipeline/core/src/test/java/org/apache/shardingsphere/data/pipeline/common/sqlbuilder/PipelineSQLBuilderEngineTest.java
 
b/kernel/data-pipeline/core/src/test/java/org/apache/shardingsphere/data/pipeline/common/sqlbuilder/PipelineSQLBuilderEngineTest.java
index bf5568e0da1..b690d6b703e 100644
--- 
a/kernel/data-pipeline/core/src/test/java/org/apache/shardingsphere/data/pipeline/common/sqlbuilder/PipelineSQLBuilderEngineTest.java
+++ 
b/kernel/data-pipeline/core/src/test/java/org/apache/shardingsphere/data/pipeline/common/sqlbuilder/PipelineSQLBuilderEngineTest.java
@@ -37,30 +37,6 @@ class PipelineSQLBuilderEngineTest {
     
     private final PipelineSQLBuilderEngine sqlBuilderEngine = new 
PipelineSQLBuilderEngine(TypedSPILoader.getService(DatabaseType.class, "H2"));
     
-    @Test
-    void assertBuildDivisibleInventoryDumpSQL() {
-        String actual = sqlBuilderEngine.buildDivisibleInventoryDumpSQL(null, 
"t_order", Collections.singletonList("*"), "order_id");
-        assertThat(actual, is("SELECT * FROM t_order WHERE order_id>=? AND 
order_id<=? ORDER BY order_id ASC"));
-        actual = sqlBuilderEngine.buildDivisibleInventoryDumpSQL(null, 
"t_order", Arrays.asList("order_id", "user_id", "status"), "order_id");
-        assertThat(actual, is("SELECT order_id,user_id,status FROM t_order 
WHERE order_id>=? AND order_id<=? ORDER BY order_id ASC"));
-    }
-    
-    @Test
-    void assertBuildDivisibleInventoryDumpSQLNoEnd() {
-        String actual = 
sqlBuilderEngine.buildNoLimitedDivisibleInventoryDumpSQL(null, "t_order", 
Collections.singletonList("*"), "order_id");
-        assertThat(actual, is("SELECT * FROM t_order WHERE order_id>=? ORDER 
BY order_id ASC"));
-        actual = 
sqlBuilderEngine.buildNoLimitedDivisibleInventoryDumpSQL(null, "t_order", 
Arrays.asList("order_id", "user_id", "status"), "order_id");
-        assertThat(actual, is("SELECT order_id,user_id,status FROM t_order 
WHERE order_id>=? ORDER BY order_id ASC"));
-    }
-    
-    @Test
-    void assertBuildIndivisibleInventoryDumpSQL() {
-        String actual = 
sqlBuilderEngine.buildIndivisibleInventoryDumpSQL(null, "t_order", 
Collections.singletonList("*"), "order_id");
-        assertThat(actual, is("SELECT * FROM t_order ORDER BY order_id ASC"));
-        actual = sqlBuilderEngine.buildIndivisibleInventoryDumpSQL(null, 
"t_order", Arrays.asList("order_id", "user_id", "status"), "order_id");
-        assertThat(actual, is("SELECT order_id,user_id,status FROM t_order 
ORDER BY order_id ASC"));
-    }
-    
     @Test
     void assertBuildQueryAllOrderingSQLFirstQuery() {
         String actual = sqlBuilderEngine.buildQueryAllOrderingSQL(null, 
"t_order", Collections.singletonList("*"), "order_id", true);
@@ -125,20 +101,20 @@ class PipelineSQLBuilderEngineTest {
     
     @Test
     void assertBuildDeleteSQLWithoutUniqueKey() {
-        String actual = sqlBuilderEngine.buildDeleteSQL(null, 
mockDataRecordWithoutUniqueKey("t_order"),
-                
RecordUtils.extractConditionColumns(mockDataRecordWithoutUniqueKey("t_order"), 
Collections.emptySet()));
+        String actual = sqlBuilderEngine.buildDeleteSQL(null, 
mockDataRecordWithoutUniqueKey(),
+                
RecordUtils.extractConditionColumns(mockDataRecordWithoutUniqueKey(), 
Collections.emptySet()));
         assertThat(actual, is("DELETE FROM t_order WHERE id = ? AND name = 
?"));
     }
     
     @Test
     void assertBuildUpdateSQLWithoutShardingColumns() {
-        DataRecord dataRecord = mockDataRecordWithoutUniqueKey("t_order");
+        DataRecord dataRecord = mockDataRecordWithoutUniqueKey();
         String actual = sqlBuilderEngine.buildUpdateSQL(null, dataRecord, 
mockConditionColumns(dataRecord));
         assertThat(actual, is("UPDATE t_order SET name = ? WHERE id = ? AND 
name = ?"));
     }
     
-    private DataRecord mockDataRecordWithoutUniqueKey(final String tableName) {
-        DataRecord result = new DataRecord(IngestDataChangeType.INSERT, 
tableName, new PlaceholderPosition(), 4);
+    private DataRecord mockDataRecordWithoutUniqueKey() {
+        DataRecord result = new DataRecord(IngestDataChangeType.INSERT, 
"t_order", new PlaceholderPosition(), 4);
         result.addColumn(new Column("id", "", false, false));
         result.addColumn(new Column("name", "", true, false));
         return result;

Reply via email to