From 915179c14b6d1af3ba61fe1d1bb1339072a3fb98 Mon Sep 17 00:00:00 2001 From: mystarry-sky Date: Sun, 11 Sep 2022 10:54:16 +0800 Subject: [PATCH] =?UTF-8?q?issues/I5Q3PG=20=E9=97=AE=E9=A2=98=E5=8D=95?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../extract/task/ExtractTaskRunnable.java | 3 ++- .../extract/task/sql/SelectSqlBuilder.java | 14 +++++++++++++- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/datachecker-extract/src/main/java/org/opengauss/datachecker/extract/task/ExtractTaskRunnable.java b/datachecker-extract/src/main/java/org/opengauss/datachecker/extract/task/ExtractTaskRunnable.java index b06898c..befa290 100644 --- a/datachecker-extract/src/main/java/org/opengauss/datachecker/extract/task/ExtractTaskRunnable.java +++ b/datachecker-extract/src/main/java/org/opengauss/datachecker/extract/task/ExtractTaskRunnable.java @@ -81,7 +81,8 @@ public class ExtractTaskRunnable extends KafkaProducerWapper implements Runnable TableMetadata tableMetadata = task.getTableMetadata(); // Construct query SQL according to the metadata information of the table in the current task final SelectSqlBuilder sqlBuilder = new SelectSqlBuilder(tableMetadata, schema); - String sql = sqlBuilder.dataBaseType(databaseType).offset(task.getStart(), task.getOffset()).builder(); + String sql = sqlBuilder.dataBaseType(databaseType).isDivisions(task.isDivisions()) + .offset(task.getStart(), task.getOffset()).builder(); log.debug("selectSql {}", sql); // Query data through JDBC SQL and Hash the queried data results , // then package data into RowDataHash type Objects diff --git a/datachecker-extract/src/main/java/org/opengauss/datachecker/extract/task/sql/SelectSqlBuilder.java b/datachecker-extract/src/main/java/org/opengauss/datachecker/extract/task/sql/SelectSqlBuilder.java index de1bd49..8e0d3c1 100644 --- a/datachecker-extract/src/main/java/org/opengauss/datachecker/extract/task/sql/SelectSqlBuilder.java +++ b/datachecker-extract/src/main/java/org/opengauss/datachecker/extract/task/sql/SelectSqlBuilder.java @@ -73,6 +73,7 @@ public class SelectSqlBuilder { private long start = 0L; private long offset = 0L; private DataBaseType dataBaseType; + private boolean isDivisions; /** * Table fragment query SQL Statement Builder @@ -98,6 +99,17 @@ public class SelectSqlBuilder { return this; } + /** + * current table query sql is divisions + * + * @param isDivisions isDivisions + * @return builder + */ + public SelectSqlBuilder isDivisions(boolean isDivisions) { + this.isDivisions = isDivisions; + return this; + } + /** * set param dataBaseType * @@ -118,7 +130,7 @@ public class SelectSqlBuilder { Assert.isTrue(Objects.nonNull(tableMetadata), Message.TABLE_METADATA_NULL_NOT_TO_BUILD_SQL); List columnsMetas = tableMetadata.getColumnsMetas(); Assert.notEmpty(columnsMetas, Message.COLUMN_METADATA_EMPTY_NOT_TO_BUILD_SQL); - if (offset == OFF_SET_ZERO) { + if (offset == OFF_SET_ZERO || !isDivisions) { return buildSelectSqlOffsetZero(columnsMetas, tableMetadata.getTableName()); } else { return buildSelectSqlOffset(tableMetadata, start, offset); -- Gitee