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

azexin 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 472cd5a6f64 Review and improve pipeline code (#30162)
472cd5a6f64 is described below

commit 472cd5a6f645ef2314565c48ce6e759750fbf552
Author: Hongsheng Zhong <[email protected]>
AuthorDate: Sun Feb 18 13:06:36 2024 +0800

    Review and improve pipeline code (#30162)
    
    * Refactor ConsistencyCheckJobItemInfo.incrementalIdleSeconds
    
    * Improve MySQLPipelineSQLBuilder.buildInsertOnDuplicateClause
---
 .../core/consistencycheck/pojo/ConsistencyCheckJobItemInfo.java   | 2 +-
 .../data/pipeline/mysql/sqlbuilder/MySQLPipelineSQLBuilder.java   | 7 -------
 .../pipeline/mysql/sqlbuilder/MySQLPipelineSQLBuilderTest.java    | 8 +-------
 .../distsql/handler/query/ShowMigrationCheckStatusExecutor.java   | 3 ++-
 4 files changed, 4 insertions(+), 16 deletions(-)

diff --git 
a/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/consistencycheck/pojo/ConsistencyCheckJobItemInfo.java
 
b/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/consistencycheck/pojo/ConsistencyCheckJobItemInfo.java
index 6cea80035ae..dfc81719640 100644
--- 
a/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/consistencycheck/pojo/ConsistencyCheckJobItemInfo.java
+++ 
b/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/consistencycheck/pojo/ConsistencyCheckJobItemInfo.java
@@ -41,7 +41,7 @@ public final class ConsistencyCheckJobItemInfo {
     
     private long inventoryRemainingSeconds;
     
-    private String incrementalIdleSeconds = "";
+    private Long incrementalIdleSeconds;
     
     private String checkBeginTime;
     
diff --git 
a/kernel/data-pipeline/dialect/mysql/src/main/java/org/apache/shardingsphere/data/pipeline/mysql/sqlbuilder/MySQLPipelineSQLBuilder.java
 
b/kernel/data-pipeline/dialect/mysql/src/main/java/org/apache/shardingsphere/data/pipeline/mysql/sqlbuilder/MySQLPipelineSQLBuilder.java
index cd4c69bdd6e..b79f152a811 100644
--- 
a/kernel/data-pipeline/dialect/mysql/src/main/java/org/apache/shardingsphere/data/pipeline/mysql/sqlbuilder/MySQLPipelineSQLBuilder.java
+++ 
b/kernel/data-pipeline/dialect/mysql/src/main/java/org/apache/shardingsphere/data/pipeline/mysql/sqlbuilder/MySQLPipelineSQLBuilder.java
@@ -43,13 +43,6 @@ public final class MySQLPipelineSQLBuilder implements 
DialectPipelineSQLBuilder
         PipelineSQLSegmentBuilder sqlSegmentBuilder = new 
PipelineSQLSegmentBuilder(getType());
         for (int i = 0; i < dataRecord.getColumnCount(); i++) {
             Column column = dataRecord.getColumn(i);
-            if (!column.isUpdated()) {
-                continue;
-            }
-            // TOOD not skip unique key
-            if (column.isUniqueKey()) {
-                continue;
-            }
             
result.append(sqlSegmentBuilder.getEscapedIdentifier(column.getName())).append("=VALUES(").append(sqlSegmentBuilder.getEscapedIdentifier(column.getName())).append("),");
         }
         result.setLength(result.length() - 1);
diff --git 
a/kernel/data-pipeline/dialect/mysql/src/test/java/org/apache/shardingsphere/data/pipeline/mysql/sqlbuilder/MySQLPipelineSQLBuilderTest.java
 
b/kernel/data-pipeline/dialect/mysql/src/test/java/org/apache/shardingsphere/data/pipeline/mysql/sqlbuilder/MySQLPipelineSQLBuilderTest.java
index 24dd5b820c0..8a03929b65e 100644
--- 
a/kernel/data-pipeline/dialect/mysql/src/test/java/org/apache/shardingsphere/data/pipeline/mysql/sqlbuilder/MySQLPipelineSQLBuilderTest.java
+++ 
b/kernel/data-pipeline/dialect/mysql/src/test/java/org/apache/shardingsphere/data/pipeline/mysql/sqlbuilder/MySQLPipelineSQLBuilderTest.java
@@ -36,13 +36,7 @@ class MySQLPipelineSQLBuilderTest {
     @Test
     void assertBuildInsertSQLOnDuplicateClause() {
         String actual = 
sqlBuilder.buildInsertOnDuplicateClause(mockDataRecord("t1")).orElse(null);
-        assertThat(actual, is("ON DUPLICATE KEY UPDATE 
c1=VALUES(c1),c2=VALUES(c2),c3=VALUES(c3)"));
-    }
-    
-    @Test
-    void assertBuildInsertSQLOnDuplicateClauseHasShardingColumn() {
-        String actual = 
sqlBuilder.buildInsertOnDuplicateClause(mockDataRecord("t2")).orElse(null);
-        assertThat(actual, is("ON DUPLICATE KEY UPDATE 
c1=VALUES(c1),c2=VALUES(c2),c3=VALUES(c3)"));
+        assertThat(actual, is("ON DUPLICATE KEY UPDATE 
id=VALUES(id),sc=VALUES(sc),c1=VALUES(c1),c2=VALUES(c2),c3=VALUES(c3)"));
     }
     
     @Test
diff --git 
a/kernel/data-pipeline/distsql/handler/src/main/java/org/apache/shardingsphere/data/pipeline/migration/distsql/handler/query/ShowMigrationCheckStatusExecutor.java
 
b/kernel/data-pipeline/distsql/handler/src/main/java/org/apache/shardingsphere/data/pipeline/migration/distsql/handler/query/ShowMigrationCheckStatusExecutor.java
index a853fb010c7..befa884e387 100644
--- 
a/kernel/data-pipeline/distsql/handler/src/main/java/org/apache/shardingsphere/data/pipeline/migration/distsql/handler/query/ShowMigrationCheckStatusExecutor.java
+++ 
b/kernel/data-pipeline/distsql/handler/src/main/java/org/apache/shardingsphere/data/pipeline/migration/distsql/handler/query/ShowMigrationCheckStatusExecutor.java
@@ -48,8 +48,9 @@ public final class ShowMigrationCheckStatusExecutor 
implements DistSQLQueryExecu
     }
     
     private LocalDataQueryResultRow convert(final ConsistencyCheckJobItemInfo 
info) {
+        String incrementalIdleSeconds = null == 
info.getIncrementalIdleSeconds() ? "" : 
String.valueOf(info.getIncrementalIdleSeconds());
         return new LocalDataQueryResultRow(info.getTableNames(), 
info.getCheckSuccess(), info.getCheckFailedTableNames(), info.isActive(),
-                info.getInventoryFinishedPercentage(), 
info.getInventoryRemainingSeconds(), info.getIncrementalIdleSeconds(),
+                info.getInventoryFinishedPercentage(), 
info.getInventoryRemainingSeconds(), incrementalIdleSeconds,
                 info.getCheckBeginTime(), info.getCheckEndTime(), 
info.getDurationSeconds(), info.getAlgorithmType(), info.getAlgorithmProps(), 
info.getErrorMessage());
     }
     

Reply via email to