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

sunnianjun 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 3e5ac4862cd Refactor DialectPipelineSQLBuilder (#27220)
3e5ac4862cd is described below

commit 3e5ac4862cd8a76e8f0c6b201bbb0a136f024960
Author: Liang Zhang <[email protected]>
AuthorDate: Sat Jul 15 17:14:38 2023 +0800

    Refactor DialectPipelineSQLBuilder (#27220)
    
    * Refactor DialectPipelineSQLBuilder
    
    * Refactor DialectPipelineSQLBuilder
---
 .../spi/sqlbuilder/DialectPipelineSQLBuilder.java       | 17 +++++++----------
 .../common/sqlbuilder/CommonPipelineSQLBuilder.java     | 14 +++++++-------
 .../sqlbuilder/fixture/FixturePipelineSQLBuilder.java   |  8 ++++----
 .../mysql/sqlbuilder/MySQLPipelineSQLBuilder.java       | 15 ++++++---------
 .../mysql/sqlbuilder/MySQLPipelineSQLBuilderTest.java   |  4 ++--
 .../sqlbuilder/OpenGaussPipelineSQLBuilder.java         | 12 +++++-------
 .../sqlbuilder/PostgreSQLPipelineSQLBuilder.java        | 12 +++++-------
 .../pipeline/core/fixture/H2PipelineSQLBuilder.java     |  4 ++--
 8 files changed, 38 insertions(+), 48 deletions(-)

diff --git 
a/kernel/data-pipeline/api/src/main/java/org/apache/shardingsphere/data/pipeline/spi/sqlbuilder/DialectPipelineSQLBuilder.java
 
b/kernel/data-pipeline/api/src/main/java/org/apache/shardingsphere/data/pipeline/spi/sqlbuilder/DialectPipelineSQLBuilder.java
index a72d6ee762c..a898654aa64 100644
--- 
a/kernel/data-pipeline/api/src/main/java/org/apache/shardingsphere/data/pipeline/spi/sqlbuilder/DialectPipelineSQLBuilder.java
+++ 
b/kernel/data-pipeline/api/src/main/java/org/apache/shardingsphere/data/pipeline/spi/sqlbuilder/DialectPipelineSQLBuilder.java
@@ -50,32 +50,29 @@ public interface DialectPipelineSQLBuilder extends 
DatabaseTypedSPI {
     /**
      * Build check empty SQL.
      *
-     * @param schemaName schema name
-     * @param tableName table name
+     * @param qualifiedTableName qualified table name
      * @return check SQL
      */
-    String buildCheckEmptySQL(String schemaName, String tableName);
+    String buildCheckEmptySQL(String qualifiedTableName);
     
     /**
      * Build estimated count SQL.
      *
-     * @param schemaName schema name
-     * @param tableName table name
+     * @param qualifiedTableName qualified table name
      * @return estimated count SQL
      */
-    default Optional<String> buildEstimatedCountSQL(String schemaName, String 
tableName) {
+    default Optional<String> buildEstimatedCountSQL(String qualifiedTableName) 
{
         return Optional.empty();
     }
     
     /**
      * Build CRC32 SQL.
      *
-     * @param schemaName schema name
-     * @param tableName table Name
-     * @param column column
+     * @param qualifiedTableName qualified table name
+     * @param columnName column name
      * @return CRC32 SQL
      */
-    default Optional<String> buildCRC32SQL(final String schemaName, final 
String tableName, final String column) {
+    default Optional<String> buildCRC32SQL(String qualifiedTableName, final 
String columnName) {
         return Optional.empty();
     }
 }
diff --git 
a/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/common/sqlbuilder/CommonPipelineSQLBuilder.java
 
b/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/common/sqlbuilder/CommonPipelineSQLBuilder.java
index 769b192e4c9..43640916024 100644
--- 
a/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/common/sqlbuilder/CommonPipelineSQLBuilder.java
+++ 
b/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/common/sqlbuilder/CommonPipelineSQLBuilder.java
@@ -46,7 +46,7 @@ public final class CommonPipelineSQLBuilder {
      * @return create schema SQL
      */
     public Optional<String> buildCreateSchemaSQL(final String schemaName) {
-        return dialectSQLBuilder.buildCreateSchemaSQL(schemaName);
+        return 
dialectSQLBuilder.buildCreateSchemaSQL(sqlSegmentBuilder.getEscapedIdentifier(schemaName));
     }
     
     /**
@@ -79,7 +79,7 @@ public final class CommonPipelineSQLBuilder {
      * @return estimated count SQL
      */
     public Optional<String> buildEstimatedCountSQL(final String schemaName, 
final String tableName) {
-        return dialectSQLBuilder.buildEstimatedCountSQL(schemaName, tableName);
+        return 
dialectSQLBuilder.buildEstimatedCountSQL(sqlSegmentBuilder.getQualifiedTableName(schemaName,
 tableName));
     }
     
     /**
@@ -122,18 +122,18 @@ public final class CommonPipelineSQLBuilder {
      * @return check SQL
      */
     public String buildCheckEmptySQL(final String schemaName, final String 
tableName) {
-        return dialectSQLBuilder.buildCheckEmptySQL(schemaName, tableName);
+        return 
dialectSQLBuilder.buildCheckEmptySQL(sqlSegmentBuilder.getQualifiedTableName(schemaName,
 tableName));
     }
     
     /**
      * Build CRC32 SQL.
      *
      * @param schemaName schema name
-     * @param tableName table Name
-     * @param column column
+     * @param tableName table name
+     * @param columnName column name
      * @return CRC32 SQL
      */
-    public Optional<String> buildCRC32SQL(final String schemaName, final 
String tableName, final String column) {
-        return dialectSQLBuilder.buildCRC32SQL(schemaName, tableName, column);
+    public Optional<String> buildCRC32SQL(final String schemaName, final 
String tableName, final String columnName) {
+        return 
dialectSQLBuilder.buildCRC32SQL(sqlSegmentBuilder.getQualifiedTableName(schemaName,
 tableName), sqlSegmentBuilder.getEscapedIdentifier(columnName));
     }
 }
diff --git 
a/kernel/data-pipeline/core/src/test/java/org/apache/shardingsphere/data/pipeline/common/sqlbuilder/fixture/FixturePipelineSQLBuilder.java
 
b/kernel/data-pipeline/core/src/test/java/org/apache/shardingsphere/data/pipeline/common/sqlbuilder/fixture/FixturePipelineSQLBuilder.java
index 3eb73bc96c9..8bb5d56b74e 100644
--- 
a/kernel/data-pipeline/core/src/test/java/org/apache/shardingsphere/data/pipeline/common/sqlbuilder/fixture/FixturePipelineSQLBuilder.java
+++ 
b/kernel/data-pipeline/core/src/test/java/org/apache/shardingsphere/data/pipeline/common/sqlbuilder/fixture/FixturePipelineSQLBuilder.java
@@ -24,13 +24,13 @@ import java.util.Optional;
 public final class FixturePipelineSQLBuilder implements 
DialectPipelineSQLBuilder {
     
     @Override
-    public String buildCheckEmptySQL(final String schemaName, final String 
tableName) {
-        return String.format("SELECT * FROM %s LIMIT 1", tableName);
+    public String buildCheckEmptySQL(final String qualifiedTableName) {
+        return String.format("SELECT * FROM %s LIMIT 1", qualifiedTableName);
     }
     
     @Override
-    public Optional<String> buildCRC32SQL(final String schemaName, final 
String tableName, final String column) {
-        return Optional.of(String.format("SELECT CRC32(%s) FROM %s", column, 
tableName));
+    public Optional<String> buildCRC32SQL(final String qualifiedTableName, 
final String columnName) {
+        return Optional.of(String.format("SELECT CRC32(%s) FROM %s", 
columnName, qualifiedTableName));
     }
     
     @Override
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 6711609a879..d6ac2df045b 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
@@ -49,21 +49,18 @@ public final class MySQLPipelineSQLBuilder implements 
DialectPipelineSQLBuilder
     }
     
     @Override
-    public String buildCheckEmptySQL(final String schemaName, final String 
tableName) {
-        return String.format("SELECT * FROM %s LIMIT 1", new 
PipelineSQLSegmentBuilder(getType()).getQualifiedTableName(schemaName, 
tableName));
+    public String buildCheckEmptySQL(final String qualifiedTableName) {
+        return String.format("SELECT * FROM %s LIMIT 1", qualifiedTableName);
     }
     
     @Override
-    public Optional<String> buildEstimatedCountSQL(final String schemaName, 
final String tableName) {
-        return Optional.of(String.format("SELECT TABLE_ROWS FROM 
INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = ? AND TABLE_NAME = '%s'",
-                new 
PipelineSQLSegmentBuilder(getType()).getQualifiedTableName(schemaName, 
tableName)));
+    public Optional<String> buildEstimatedCountSQL(final String 
qualifiedTableName) {
+        return Optional.of(String.format("SELECT TABLE_ROWS FROM 
INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = ? AND TABLE_NAME = '%s'", 
qualifiedTableName));
     }
     
     @Override
-    public Optional<String> buildCRC32SQL(final String schemaName, final 
String tableName, final String column) {
-        PipelineSQLSegmentBuilder sqlSegmentBuilder = new 
PipelineSQLSegmentBuilder(getType());
-        return Optional.of(String.format("SELECT BIT_XOR(CAST(CRC32(%s) AS 
UNSIGNED)) AS checksum, COUNT(1) AS cnt FROM %s",
-                sqlSegmentBuilder.getEscapedIdentifier(column), 
sqlSegmentBuilder.getEscapedIdentifier(tableName)));
+    public Optional<String> buildCRC32SQL(final String qualifiedTableName, 
final String columnName) {
+        return Optional.of(String.format("SELECT BIT_XOR(CAST(CRC32(%s) AS 
UNSIGNED)) AS checksum, COUNT(1) AS cnt FROM %s", columnName, 
qualifiedTableName));
     }
     
     @Override
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 fddf5969e9f..83b65a1630a 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
@@ -47,7 +47,7 @@ class MySQLPipelineSQLBuilderTest {
     
     @Test
     void assertBuildSumCrc32SQL() {
-        Optional<String> actual = sqlBuilder.buildCRC32SQL(null, "t2", "id");
+        Optional<String> actual = sqlBuilder.buildCRC32SQL("t2", "id");
         assertTrue(actual.isPresent());
         assertThat(actual.get(), is("SELECT BIT_XOR(CAST(CRC32(id) AS 
UNSIGNED)) AS checksum, COUNT(1) AS cnt FROM t2"));
     }
@@ -64,7 +64,7 @@ class MySQLPipelineSQLBuilderTest {
     
     @Test
     void assertBuilderEstimateCountSQLWithoutKeyword() {
-        Optional<String> actual = sqlBuilder.buildEstimatedCountSQL(null, 
"t_order");
+        Optional<String> actual = sqlBuilder.buildEstimatedCountSQL("t_order");
         assertTrue(actual.isPresent());
         assertThat(actual.get(), is("SELECT TABLE_ROWS FROM 
INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = ? AND TABLE_NAME = 't_order'"));
     }
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 8fa42823114..ed63cc2c5f6 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
@@ -31,8 +31,7 @@ public final class OpenGaussPipelineSQLBuilder implements 
DialectPipelineSQLBuil
     
     @Override
     public Optional<String> buildCreateSchemaSQL(final String schemaName) {
-        PipelineSQLSegmentBuilder sqlSegmentBuilder = new 
PipelineSQLSegmentBuilder(getType());
-        return Optional.of(String.format("CREATE SCHEMA %s", 
sqlSegmentBuilder.getEscapedIdentifier(schemaName)));
+        return Optional.of(String.format("CREATE SCHEMA %s", schemaName));
     }
     
     @Override
@@ -51,14 +50,13 @@ public final class OpenGaussPipelineSQLBuilder implements 
DialectPipelineSQLBuil
     }
     
     @Override
-    public String buildCheckEmptySQL(final String schemaName, final String 
tableName) {
-        return String.format("SELECT * FROM %s LIMIT 1", new 
PipelineSQLSegmentBuilder(getType()).getQualifiedTableName(schemaName, 
tableName));
+    public String buildCheckEmptySQL(final String qualifiedTableName) {
+        return String.format("SELECT * FROM %s LIMIT 1", qualifiedTableName);
     }
     
     @Override
-    public Optional<String> buildEstimatedCountSQL(final String schemaName, 
final String tableName) {
-        return Optional.of(String.format("SELECT reltuples::integer FROM 
pg_class WHERE oid='%s'::regclass::oid;",
-                new 
PipelineSQLSegmentBuilder(getType()).getQualifiedTableName(schemaName, 
tableName)));
+    public Optional<String> buildEstimatedCountSQL(final String 
qualifiedTableName) {
+        return Optional.of(String.format("SELECT reltuples::integer FROM 
pg_class WHERE oid='%s'::regclass::oid;", qualifiedTableName));
     }
     
     @Override
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 8c408ff2ba1..406fa2e02dc 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
@@ -32,8 +32,7 @@ public final class PostgreSQLPipelineSQLBuilder implements 
DialectPipelineSQLBui
     
     @Override
     public Optional<String> buildCreateSchemaSQL(final String schemaName) {
-        PipelineSQLSegmentBuilder sqlSegmentBuilder = new 
PipelineSQLSegmentBuilder(getType());
-        return Optional.of(String.format("CREATE SCHEMA IF NOT EXISTS %s", 
sqlSegmentBuilder.getEscapedIdentifier(schemaName)));
+        return Optional.of(String.format("CREATE SCHEMA IF NOT EXISTS %s", 
schemaName));
     }
     
     @Override
@@ -66,14 +65,13 @@ public final class PostgreSQLPipelineSQLBuilder implements 
DialectPipelineSQLBui
     }
     
     @Override
-    public String buildCheckEmptySQL(final String schemaName, final String 
tableName) {
-        return String.format("SELECT * FROM %s LIMIT 1", new 
PipelineSQLSegmentBuilder(getType()).getQualifiedTableName(schemaName, 
tableName));
+    public String buildCheckEmptySQL(final String qualifiedTableName) {
+        return String.format("SELECT * FROM %s LIMIT 1", qualifiedTableName);
     }
     
     @Override
-    public Optional<String> buildEstimatedCountSQL(final String schemaName, 
final String tableName) {
-        return Optional.of(String.format("SELECT reltuples::integer FROM 
pg_class WHERE oid='%s'::regclass::oid;",
-                new 
PipelineSQLSegmentBuilder(getType()).getQualifiedTableName(schemaName, 
tableName)));
+    public Optional<String> buildEstimatedCountSQL(final String 
qualifiedTableName) {
+        return Optional.of(String.format("SELECT reltuples::integer FROM 
pg_class WHERE oid='%s'::regclass::oid;", qualifiedTableName));
     }
     
     @Override
diff --git 
a/test/it/pipeline/src/test/java/org/apache/shardingsphere/test/it/data/pipeline/core/fixture/H2PipelineSQLBuilder.java
 
b/test/it/pipeline/src/test/java/org/apache/shardingsphere/test/it/data/pipeline/core/fixture/H2PipelineSQLBuilder.java
index 06f3862f63b..e50a85f8c89 100644
--- 
a/test/it/pipeline/src/test/java/org/apache/shardingsphere/test/it/data/pipeline/core/fixture/H2PipelineSQLBuilder.java
+++ 
b/test/it/pipeline/src/test/java/org/apache/shardingsphere/test/it/data/pipeline/core/fixture/H2PipelineSQLBuilder.java
@@ -22,8 +22,8 @@ import 
org.apache.shardingsphere.data.pipeline.spi.sqlbuilder.DialectPipelineSQL
 public final class H2PipelineSQLBuilder implements DialectPipelineSQLBuilder {
     
     @Override
-    public String buildCheckEmptySQL(final String schemaName, final String 
tableName) {
-        return String.format("SELECT * FROM %s LIMIT 1", tableName);
+    public String buildCheckEmptySQL(final String qualifiedTableName) {
+        return String.format("SELECT * FROM %s LIMIT 1", qualifiedTableName);
     }
     
     @Override

Reply via email to