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());
}