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

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


The following commit(s) were added to refs/heads/master by this push:
     new e2df5afc4b9 Refactor 
PipelineDataConsistencyCalculateSQLBuilder.buildPointQuerySQL (#33957)
e2df5afc4b9 is described below

commit e2df5afc4b93599101d8f0b68ec8819ca8534200
Author: Liang Zhang <[email protected]>
AuthorDate: Sat Dec 7 20:36:12 2024 +0800

    Refactor PipelineDataConsistencyCalculateSQLBuilder.buildPointQuerySQL 
(#33957)
---
 .../table/calculator/RecordSingleTableInventoryCalculator.java     | 3 +--
 .../sqlbuilder/sql/PipelineDataConsistencyCalculateSQLBuilder.java | 7 +++----
 .../sql/PipelineDataConsistencyCalculateSQLBuilderTest.java        | 6 +++---
 3 files changed, 7 insertions(+), 9 deletions(-)

diff --git 
a/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/consistencycheck/table/calculator/RecordSingleTableInventoryCalculator.java
 
b/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/consistencycheck/table/calculator/RecordSingleTableInventoryCalculator.java
index f38a17ba1bf..22af62850c3 100644
--- 
a/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/consistencycheck/table/calculator/RecordSingleTableInventoryCalculator.java
+++ 
b/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/consistencycheck/table/calculator/RecordSingleTableInventoryCalculator.java
@@ -156,8 +156,7 @@ public final class RecordSingleTableInventoryCalculator 
extends AbstractStreamin
             case RANGE_QUERY:
                 return 
pipelineSQLBuilder.buildQueryRangeOrderingSQL(param.getTable(), columnNames, 
param.getUniqueKeysNames(), param.getQueryRange(), 
param.getShardingColumnsNames());
             case POINT_QUERY:
-                return pipelineSQLBuilder.buildPointQuerySQL(
-                        param.getTable().getSchemaName(), 
param.getTable().getTableName(), columnNames, param.getUniqueKeysNames(), 
param.getShardingColumnsNames());
+                return pipelineSQLBuilder.buildPointQuerySQL(param.getTable(), 
columnNames, param.getUniqueKeysNames(), param.getShardingColumnsNames());
             default:
                 throw new UnsupportedOperationException("Query type: " + 
param.getQueryType());
         }
diff --git 
a/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/sqlbuilder/sql/PipelineDataConsistencyCalculateSQLBuilder.java
 
b/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/sqlbuilder/sql/PipelineDataConsistencyCalculateSQLBuilder.java
index c3edc165fe1..c5211dcd225 100644
--- 
a/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/sqlbuilder/sql/PipelineDataConsistencyCalculateSQLBuilder.java
+++ 
b/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/sqlbuilder/sql/PipelineDataConsistencyCalculateSQLBuilder.java
@@ -93,16 +93,15 @@ public final class 
PipelineDataConsistencyCalculateSQLBuilder {
     /**
      * Build point query SQL.
      *
-     * @param schemaName schema name
-     * @param tableName table name
+     * @param table qualified table
      * @param columnNames column names
      * @param uniqueKeys unique keys, it may be primary key, not null
      * @param shardingColumnsNames sharding columns names, nullable
      * @return built SQL
      */
-    public String buildPointQuerySQL(final String schemaName, final String 
tableName, final Collection<String> columnNames, final List<String> uniqueKeys,
+    public String buildPointQuerySQL(final QualifiedTable table, final 
Collection<String> columnNames, final List<String> uniqueKeys,
                                      @Nullable final List<String> 
shardingColumnsNames) {
-        String qualifiedTableName = 
sqlSegmentBuilder.getQualifiedTableName(schemaName, tableName);
+        String qualifiedTableName = 
sqlSegmentBuilder.getQualifiedTableName(table.getSchemaName(), 
table.getTableName());
         String queryColumns = 
columnNames.stream().map(sqlSegmentBuilder::getEscapedIdentifier).collect(Collectors.joining(","));
         String equalsConditions = joinColumns(uniqueKeys, 
shardingColumnsNames).stream().map(each -> 
sqlSegmentBuilder.getEscapedIdentifier(each) + 
"=?").collect(Collectors.joining(" AND "));
         return String.format("SELECT %s FROM %s WHERE %s", queryColumns, 
qualifiedTableName, equalsConditions);
diff --git 
a/kernel/data-pipeline/core/src/test/java/org/apache/shardingsphere/data/pipeline/core/sqlbuilder/sql/PipelineDataConsistencyCalculateSQLBuilderTest.java
 
b/kernel/data-pipeline/core/src/test/java/org/apache/shardingsphere/data/pipeline/core/sqlbuilder/sql/PipelineDataConsistencyCalculateSQLBuilderTest.java
index 06ab86fae9f..189d213d87b 100644
--- 
a/kernel/data-pipeline/core/src/test/java/org/apache/shardingsphere/data/pipeline/core/sqlbuilder/sql/PipelineDataConsistencyCalculateSQLBuilderTest.java
+++ 
b/kernel/data-pipeline/core/src/test/java/org/apache/shardingsphere/data/pipeline/core/sqlbuilder/sql/PipelineDataConsistencyCalculateSQLBuilderTest.java
@@ -63,11 +63,11 @@ class PipelineDataConsistencyCalculateSQLBuilderTest {
     
     @Test
     void assertBuildPointQuerySQLWithoutQueryCondition() {
-        String actual = sqlBuilder.buildPointQuerySQL(null, "t_order", 
COLUMN_NAMES, UNIQUE_KEYS, null);
+        String actual = sqlBuilder.buildPointQuerySQL(new QualifiedTable(null, 
"t_order"), COLUMN_NAMES, UNIQUE_KEYS, null);
         assertThat(actual, is("SELECT order_id,user_id,status FROM t_order 
WHERE order_id=? AND status=?"));
-        actual = sqlBuilder.buildPointQuerySQL(null, "t_order", COLUMN_NAMES, 
UNIQUE_KEYS, Collections.emptyList());
+        actual = sqlBuilder.buildPointQuerySQL(new QualifiedTable(null, 
"t_order"), COLUMN_NAMES, UNIQUE_KEYS, Collections.emptyList());
         assertThat(actual, is("SELECT order_id,user_id,status FROM t_order 
WHERE order_id=? AND status=?"));
-        actual = sqlBuilder.buildPointQuerySQL(null, "t_order", COLUMN_NAMES, 
UNIQUE_KEYS, Collections.singletonList("user_id"));
+        actual = sqlBuilder.buildPointQuerySQL(new QualifiedTable(null, 
"t_order"), COLUMN_NAMES, UNIQUE_KEYS, Collections.singletonList("user_id"));
         assertThat(actual, is("SELECT order_id,user_id,status FROM t_order 
WHERE order_id=? AND status=? AND user_id=?"));
     }
     

Reply via email to