This is an automated email from the ASF dual-hosted git repository.
zhangliang 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 a2819c34a0f Refactor DialectPipelineSQLBuilder.wrapWithPageQuery()
(#32717)
a2819c34a0f is described below
commit a2819c34a0f4f444ea876d51108f0b9177857450
Author: Liang Zhang <[email protected]>
AuthorDate: Thu Aug 29 01:35:21 2024 +0800
Refactor DialectPipelineSQLBuilder.wrapWithPageQuery() (#32717)
* Refactor DialectPipelineSQLBuilder.wrapWithPageQuery()
* Refactor DialectPipelineSQLBuilder.wrapWithPageQuery()
* Refactor DialectPipelineSQLBuilder.wrapWithPageQuery()
* Refactor DialectPipelineSQLBuilder.wrapWithPageQuery()
* Refactor DialectPipelineSQLBuilder.wrapWithPageQuery()
---
.../core/sqlbuilder/dialect/DialectPipelineSQLBuilder.java | 4 +---
.../PipelineDataConsistencyCalculateSQLBuilderTest.java | 10 +++++-----
.../core/sqlbuilder/PipelineInventoryDumpSQLBuilderTest.java | 8 ++++----
.../core/sqlbuilder/fixture/FixturePipelineSQLBuilder.java | 5 +++++
.../pipeline/mysql/sqlbuilder/MySQLPipelineSQLBuilder.java | 5 +++++
.../opengauss/sqlbuilder/OpenGaussPipelineSQLBuilder.java | 5 +++++
.../postgresql/sqlbuilder/PostgreSQLPipelineSQLBuilder.java | 5 +++++
.../core/fixture/h2/sqlbuilder/H2PipelineSQLBuilder.java | 5 +++++
8 files changed, 35 insertions(+), 12 deletions(-)
diff --git
a/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/sqlbuilder/dialect/DialectPipelineSQLBuilder.java
b/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/sqlbuilder/dialect/DialectPipelineSQLBuilder.java
index 3c190ce57ba..accd35edae6 100644
---
a/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/sqlbuilder/dialect/DialectPipelineSQLBuilder.java
+++
b/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/sqlbuilder/dialect/DialectPipelineSQLBuilder.java
@@ -107,7 +107,5 @@ public interface DialectPipelineSQLBuilder extends
DatabaseTypedSPI {
* @param sql SQL
* @return wrapped SQL
*/
- default String wrapWithPageQuery(String sql) {
- return sql + " LIMIT ?";
- }
+ String wrapWithPageQuery(String sql);
}
diff --git
a/kernel/data-pipeline/core/src/test/java/org/apache/shardingsphere/data/pipeline/core/sqlbuilder/PipelineDataConsistencyCalculateSQLBuilderTest.java
b/kernel/data-pipeline/core/src/test/java/org/apache/shardingsphere/data/pipeline/core/sqlbuilder/PipelineDataConsistencyCalculateSQLBuilderTest.java
index 90ff549657d..86754b92e37 100644
---
a/kernel/data-pipeline/core/src/test/java/org/apache/shardingsphere/data/pipeline/core/sqlbuilder/PipelineDataConsistencyCalculateSQLBuilderTest.java
+++
b/kernel/data-pipeline/core/src/test/java/org/apache/shardingsphere/data/pipeline/core/sqlbuilder/PipelineDataConsistencyCalculateSQLBuilderTest.java
@@ -45,19 +45,19 @@ class PipelineDataConsistencyCalculateSQLBuilderTest {
void assertBuildQueryRangeOrderingSQLWithoutQueryCondition() {
String actual = pipelineSQLBuilder.buildQueryRangeOrderingSQL(null,
"t_order", COLUMN_NAMES, UNIQUE_KEYS,
new QueryRange(1, true, 5), SHARDING_COLUMNS_NAMES);
- assertThat(actual, is("SELECT order_id,user_id,status FROM t_order
WHERE order_id>=? AND order_id<=? ORDER BY order_id ASC, status ASC, user_id
ASC LIMIT ?"));
+ assertThat(actual, is("SELECT order_id,user_id,status FROM t_order
WHERE order_id>=? AND order_id<=? ORDER BY order_id ASC, status ASC, user_id
ASC"));
actual = pipelineSQLBuilder.buildQueryRangeOrderingSQL(null,
"t_order", COLUMN_NAMES, UNIQUE_KEYS,
new QueryRange(1, false, 5), SHARDING_COLUMNS_NAMES);
- assertThat(actual, is("SELECT order_id,user_id,status FROM t_order
WHERE order_id>? AND order_id<=? ORDER BY order_id ASC, status ASC, user_id ASC
LIMIT ?"));
+ assertThat(actual, is("SELECT order_id,user_id,status FROM t_order
WHERE order_id>? AND order_id<=? ORDER BY order_id ASC, status ASC, user_id
ASC"));
actual = pipelineSQLBuilder.buildQueryRangeOrderingSQL(null,
"t_order", COLUMN_NAMES, UNIQUE_KEYS,
new QueryRange(1, false, null), SHARDING_COLUMNS_NAMES);
- assertThat(actual, is("SELECT order_id,user_id,status FROM t_order
WHERE order_id>? ORDER BY order_id ASC, status ASC, user_id ASC LIMIT ?"));
+ assertThat(actual, is("SELECT order_id,user_id,status FROM t_order
WHERE order_id>? ORDER BY order_id ASC, status ASC, user_id ASC"));
actual = pipelineSQLBuilder.buildQueryRangeOrderingSQL(null,
"t_order", COLUMN_NAMES, UNIQUE_KEYS,
new QueryRange(null, false, 5), SHARDING_COLUMNS_NAMES);
- assertThat(actual, is("SELECT order_id,user_id,status FROM t_order
WHERE order_id<=? ORDER BY order_id ASC, status ASC, user_id ASC LIMIT ?"));
+ assertThat(actual, is("SELECT order_id,user_id,status FROM t_order
WHERE order_id<=? ORDER BY order_id ASC, status ASC, user_id ASC"));
actual = pipelineSQLBuilder.buildQueryRangeOrderingSQL(null,
"t_order", COLUMN_NAMES, UNIQUE_KEYS,
new QueryRange(null, false, null), SHARDING_COLUMNS_NAMES);
- assertThat(actual, is("SELECT order_id,user_id,status FROM t_order
ORDER BY order_id ASC, status ASC, user_id ASC LIMIT ?"));
+ assertThat(actual, is("SELECT order_id,user_id,status FROM t_order
ORDER BY order_id ASC, status ASC, user_id ASC"));
}
@Test
diff --git
a/kernel/data-pipeline/core/src/test/java/org/apache/shardingsphere/data/pipeline/core/sqlbuilder/PipelineInventoryDumpSQLBuilderTest.java
b/kernel/data-pipeline/core/src/test/java/org/apache/shardingsphere/data/pipeline/core/sqlbuilder/PipelineInventoryDumpSQLBuilderTest.java
index b72dd4f44e1..4984b9ad0a1 100644
---
a/kernel/data-pipeline/core/src/test/java/org/apache/shardingsphere/data/pipeline/core/sqlbuilder/PipelineInventoryDumpSQLBuilderTest.java
+++
b/kernel/data-pipeline/core/src/test/java/org/apache/shardingsphere/data/pipeline/core/sqlbuilder/PipelineInventoryDumpSQLBuilderTest.java
@@ -36,17 +36,17 @@ class PipelineInventoryDumpSQLBuilderTest {
@Test
void assertBuildDivisibleSQL() {
String actual = inventoryDumpSQLBuilder.buildDivisibleSQL(new
BuildDivisibleSQLParameter(null, "t_order", Arrays.asList("order_id",
"user_id", "status"), "order_id", true, true));
- assertThat(actual, is("SELECT order_id,user_id,status FROM t_order
WHERE order_id>=? AND order_id<=? ORDER BY order_id ASC LIMIT ?"));
+ assertThat(actual, is("SELECT order_id,user_id,status FROM t_order
WHERE order_id>=? AND order_id<=? ORDER BY order_id ASC"));
actual = inventoryDumpSQLBuilder.buildDivisibleSQL(new
BuildDivisibleSQLParameter(null, "t_order", Arrays.asList("order_id",
"user_id", "status"), "order_id", false, true));
- assertThat(actual, is("SELECT order_id,user_id,status FROM t_order
WHERE order_id>? AND order_id<=? ORDER BY order_id ASC LIMIT ?"));
+ 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.buildDivisibleSQL(new
BuildDivisibleSQLParameter(null, "t_order", Arrays.asList("order_id",
"user_id", "status"), "order_id", true, false));
- assertThat(actual, is("SELECT order_id,user_id,status FROM t_order
WHERE order_id>=? ORDER BY order_id ASC LIMIT ?"));
+ assertThat(actual, is("SELECT order_id,user_id,status FROM t_order
WHERE order_id>=? ORDER BY order_id ASC"));
actual = inventoryDumpSQLBuilder.buildDivisibleSQL(new
BuildDivisibleSQLParameter(null, "t_order", Arrays.asList("order_id",
"user_id", "status"), "order_id", false, false));
- assertThat(actual, is("SELECT order_id,user_id,status FROM t_order
WHERE order_id>? ORDER BY order_id ASC LIMIT ?"));
+ assertThat(actual, is("SELECT order_id,user_id,status FROM t_order
WHERE order_id>? ORDER BY order_id ASC"));
}
@Test
diff --git
a/kernel/data-pipeline/core/src/test/java/org/apache/shardingsphere/data/pipeline/core/sqlbuilder/fixture/FixturePipelineSQLBuilder.java
b/kernel/data-pipeline/core/src/test/java/org/apache/shardingsphere/data/pipeline/core/sqlbuilder/fixture/FixturePipelineSQLBuilder.java
index 66087b5f63d..e831ef9f4ae 100644
---
a/kernel/data-pipeline/core/src/test/java/org/apache/shardingsphere/data/pipeline/core/sqlbuilder/fixture/FixturePipelineSQLBuilder.java
+++
b/kernel/data-pipeline/core/src/test/java/org/apache/shardingsphere/data/pipeline/core/sqlbuilder/fixture/FixturePipelineSQLBuilder.java
@@ -41,6 +41,11 @@ public final class FixturePipelineSQLBuilder implements
DialectPipelineSQLBuilde
return Collections.emptyList();
}
+ @Override
+ public String wrapWithPageQuery(final String sql) {
+ return sql;
+ }
+
@Override
public String getDatabaseType() {
return "FIXTURE";
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 a06fa80441b..0d1a9b9a5ab 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
@@ -77,6 +77,11 @@ public final class MySQLPipelineSQLBuilder implements
DialectPipelineSQLBuilder
throw new CreateTableSQLGenerateException(tableName);
}
+ @Override
+ public String wrapWithPageQuery(final String sql) {
+ return sql + " LIMIT ?";
+ }
+
@Override
public String getDatabaseType() {
return "MySQL";
diff --git
a/kernel/data-pipeline/dialect/opengauss/src/main/java/org/apache/shardingsphere/data/pipeline/opengauss/sqlbuilder/OpenGaussPipelineSQLBuilder.java
b/kernel/data-pipeline/dialect/opengauss/src/main/java/org/apache/shardingsphere/data/pipeline/opengauss/sqlbuilder/OpenGaussPipelineSQLBuilder.java
index 534710f5b1d..0ee8e65ebf0 100644
---
a/kernel/data-pipeline/dialect/opengauss/src/main/java/org/apache/shardingsphere/data/pipeline/opengauss/sqlbuilder/OpenGaussPipelineSQLBuilder.java
+++
b/kernel/data-pipeline/dialect/opengauss/src/main/java/org/apache/shardingsphere/data/pipeline/opengauss/sqlbuilder/OpenGaussPipelineSQLBuilder.java
@@ -81,6 +81,11 @@ public final class OpenGaussPipelineSQLBuilder implements
DialectPipelineSQLBuil
return Optional.of("SELECT * FROM pg_current_xlog_location()");
}
+ @Override
+ public String wrapWithPageQuery(final String sql) {
+ return sql + " LIMIT ?";
+ }
+
@Override
public String getDatabaseType() {
return "openGauss";
diff --git
a/kernel/data-pipeline/dialect/postgresql/src/main/java/org/apache/shardingsphere/data/pipeline/postgresql/sqlbuilder/PostgreSQLPipelineSQLBuilder.java
b/kernel/data-pipeline/dialect/postgresql/src/main/java/org/apache/shardingsphere/data/pipeline/postgresql/sqlbuilder/PostgreSQLPipelineSQLBuilder.java
index 181f2fecb4d..2991ee4377d 100644
---
a/kernel/data-pipeline/dialect/postgresql/src/main/java/org/apache/shardingsphere/data/pipeline/postgresql/sqlbuilder/PostgreSQLPipelineSQLBuilder.java
+++
b/kernel/data-pipeline/dialect/postgresql/src/main/java/org/apache/shardingsphere/data/pipeline/postgresql/sqlbuilder/PostgreSQLPipelineSQLBuilder.java
@@ -126,6 +126,11 @@ public final class PostgreSQLPipelineSQLBuilder implements
DialectPipelineSQLBui
return Optional.of("SELECT * FROM pg_current_wal_lsn()");
}
+ @Override
+ public String wrapWithPageQuery(final String sql) {
+ return sql + " LIMIT ?";
+ }
+
@Override
public String getDatabaseType() {
return "PostgreSQL";
diff --git
a/test/it/pipeline/src/test/java/org/apache/shardingsphere/test/it/data/pipeline/core/fixture/h2/sqlbuilder/H2PipelineSQLBuilder.java
b/test/it/pipeline/src/test/java/org/apache/shardingsphere/test/it/data/pipeline/core/fixture/h2/sqlbuilder/H2PipelineSQLBuilder.java
index 79254e833db..aa3d2b3dcaa 100644
---
a/test/it/pipeline/src/test/java/org/apache/shardingsphere/test/it/data/pipeline/core/fixture/h2/sqlbuilder/H2PipelineSQLBuilder.java
+++
b/test/it/pipeline/src/test/java/org/apache/shardingsphere/test/it/data/pipeline/core/fixture/h2/sqlbuilder/H2PipelineSQLBuilder.java
@@ -42,6 +42,11 @@ public final class H2PipelineSQLBuilder implements
DialectPipelineSQLBuilder {
return
Collections.singleton(PipelineContextUtils.getCreateOrderTableSchema());
}
+ @Override
+ public String wrapWithPageQuery(final String sql) {
+ return sql + " LIMIT ?";
+ }
+
@Override
public String getDatabaseType() {
return "H2";