You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by du...@apache.org on 2022/10/02 07:07:24 UTC

[shardingsphere] branch master updated: Refactor PipelineSQLBuilder (#21316)

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

duanzhengqiang 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 50c0f9ae495 Refactor PipelineSQLBuilder (#21316)
50c0f9ae495 is described below

commit 50c0f9ae4957ed77affbfad4af5c5da522d927ab
Author: Liang Zhang <zh...@apache.org>
AuthorDate: Sun Oct 2 15:07:15 2022 +0800

    Refactor PipelineSQLBuilder (#21316)
---
 .../sqlbuilder/AbstractPipelineSQLBuilder.java     | 52 ++++++++--------------
 .../core/sqlbuilder/DefaultPipelineSQLBuilder.java | 10 -----
 .../core/sqlbuilder/OraclePipelineSQLBuilder.java  | 32 +++++--------
 .../mysql/sqlbuilder/MySQLPipelineSQLBuilder.java  | 10 -----
 .../mysql/fixture/FixturePipelineSQLBuilder.java   | 10 -----
 .../sqlbuilder/OpenGaussPipelineSQLBuilder.java    | 12 +----
 .../fixture/FixturePipelineSQLBuilder.java         | 10 -----
 .../sqlbuilder/PostgreSQLPipelineSQLBuilder.java   | 12 +----
 .../fixture/FixturePipelineSQLBuilder.java         | 10 -----
 .../core/fixture/FixturePipelineSQLBuilder.java    | 10 -----
 10 files changed, 32 insertions(+), 136 deletions(-)

diff --git a/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-core/src/main/java/org/apache/shardingsphere/data/pipeline/core/sqlbuilder/AbstractPipelineSQLBuilder.java b/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-core/src/main/java/org/apache/shardingsphere/data/pipeline/core/sqlbuilder/AbstractPipelineSQLBuilder.java
index a16bb10ff48..06ee1f0b349 100644
--- a/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-core/src/main/java/org/apache/shardingsphere/data/pipeline/core/sqlbuilder/AbstractPipelineSQLBuilder.java
+++ b/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-core/src/main/java/org/apache/shardingsphere/data/pipeline/core/sqlbuilder/AbstractPipelineSQLBuilder.java
@@ -48,20 +48,6 @@ public abstract class AbstractPipelineSQLBuilder implements PipelineSQLBuilder {
     
     private final ConcurrentMap<String, String> sqlCacheMap = new ConcurrentHashMap<>();
     
-    /**
-     * Get left identifier quote string.
-     *
-     * @return string
-     */
-    protected abstract String getLeftIdentifierQuoteString();
-    
-    /**
-     * Get right identifier quote string.
-     *
-     * @return string
-     */
-    protected abstract String getRightIdentifierQuoteString();
-    
     /**
      * Add left and right identifier quote string.
      *
@@ -76,31 +62,26 @@ public abstract class AbstractPipelineSQLBuilder implements PipelineSQLBuilder {
     
     @Override
     public String buildInventoryDumpSQL(final String schemaName, final String tableName, final String uniqueKey, final int uniqueKeyDataType, final boolean firstQuery) {
-        String decoratedTableName = decorate(schemaName, tableName);
+        String qualifiedTableName = getQualifiedTableName(schemaName, tableName);
         String quotedUniqueKey = quote(uniqueKey);
         if (PipelineJdbcUtils.isIntegerColumn(uniqueKeyDataType)) {
-            return "SELECT * FROM " + decoratedTableName + " WHERE " + quotedUniqueKey + " " + (firstQuery ? ">=" : ">") + " ?"
-                    + " AND " + quotedUniqueKey + " <= ? ORDER BY " + quotedUniqueKey + " ASC LIMIT ?";
+            return String.format("SELECT * FROM %s WHERE %s%s? AND %s <= ? ORDER BY %s ASC LIMIT ?", qualifiedTableName, quotedUniqueKey, firstQuery ? ">=" : ">", quotedUniqueKey, quotedUniqueKey);
         }
         if (PipelineJdbcUtils.isStringColumn(uniqueKeyDataType)) {
-            return "SELECT * FROM " + decoratedTableName + " WHERE " + quotedUniqueKey + " " + (firstQuery ? ">=" : ">") + " ?" + " ORDER BY " + quotedUniqueKey + " ASC LIMIT ?";
+            return String.format("SELECT * FROM %s WHERE %s%s? ORDER BY %s ASC LIMIT ?", qualifiedTableName, quotedUniqueKey, firstQuery ? ">=" : ">", quotedUniqueKey);
         }
         throw new IllegalArgumentException("Unknown uniqueKeyDataType: " + uniqueKeyDataType);
     }
     
-    protected String decorate(final String schemaName, final String tableName) {
+    protected final String getQualifiedTableName(final String schemaName, final String tableName) {
         StringBuilder result = new StringBuilder();
-        if (isSchemaAvailable() && !Strings.isNullOrEmpty(schemaName)) {
+        if (DatabaseTypeFactory.getInstance(getType()).isSchemaAvailable() && !Strings.isNullOrEmpty(schemaName)) {
             result.append(quote(schemaName)).append(".");
         }
         result.append(quote(tableName));
         return result.toString();
     }
     
-    private boolean isSchemaAvailable() {
-        return DatabaseTypeFactory.getInstance(getType()).isSchemaAvailable();
-    }
-    
     @Override
     public String buildInsertSQL(final String schemaName, final DataRecord dataRecord, final Map<LogicTableName, Set<String>> shardingColumnsMap) {
         String sqlCacheKey = INSERT_SQL_CACHE_KEY_PREFIX + dataRecord.getTableName();
@@ -119,7 +100,7 @@ public abstract class AbstractPipelineSQLBuilder implements PipelineSQLBuilder {
         }
         columnsLiteral.setLength(columnsLiteral.length() - 1);
         holder.setLength(holder.length() - 1);
-        return String.format("INSERT INTO %s(%s) VALUES(%s)", decorate(schemaName, tableName), columnsLiteral, holder);
+        return String.format("INSERT INTO %s(%s) VALUES(%s)", getQualifiedTableName(schemaName, tableName), columnsLiteral, holder);
     }
     
     // TODO seems sharding column could be updated for insert statement on conflict by kernel now
@@ -143,7 +124,7 @@ public abstract class AbstractPipelineSQLBuilder implements PipelineSQLBuilder {
     }
     
     private String buildUpdateSQLInternal(final String schemaName, final String tableName, final Collection<Column> conditionColumns) {
-        return String.format("UPDATE %s SET %%s WHERE %s", decorate(schemaName, tableName), buildWhereSQL(conditionColumns));
+        return String.format("UPDATE %s SET %%s WHERE %s", getQualifiedTableName(schemaName, tableName), buildWhereSQL(conditionColumns));
     }
     
     @Override
@@ -162,11 +143,11 @@ public abstract class AbstractPipelineSQLBuilder implements PipelineSQLBuilder {
     
     @Override
     public String buildDropSQL(final String schemaName, final String tableName) {
-        return String.format("DROP TABLE IF EXISTS %s", decorate(schemaName, tableName));
+        return String.format("DROP TABLE IF EXISTS %s", getQualifiedTableName(schemaName, tableName));
     }
     
     private String buildDeleteSQLInternal(final String schemaName, final String tableName, final Collection<Column> conditionColumns) {
-        return String.format("DELETE FROM %s WHERE %s", decorate(schemaName, tableName), buildWhereSQL(conditionColumns));
+        return String.format("DELETE FROM %s WHERE %s", getQualifiedTableName(schemaName, tableName), buildWhereSQL(conditionColumns));
     }
     
     private String buildWhereSQL(final Collection<Column> conditionColumns) {
@@ -180,24 +161,27 @@ public abstract class AbstractPipelineSQLBuilder implements PipelineSQLBuilder {
     
     @Override
     public String buildCountSQL(final String schemaName, final String tableName) {
-        return String.format("SELECT COUNT(*) FROM %s", decorate(schemaName, tableName));
+        return String.format("SELECT COUNT(*) FROM %s", getQualifiedTableName(schemaName, tableName));
     }
     
     @Override
     public String buildChunkedQuerySQL(final String schemaName, final @NonNull String tableName, final @NonNull String uniqueKey, final boolean firstQuery) {
+        String qualifiedTableName = getQualifiedTableName(schemaName, tableName);
+        String quotedUniqueKey = quote(uniqueKey);
         return firstQuery
-                ? "SELECT * FROM " + decorate(schemaName, tableName) + " ORDER BY " + quote(uniqueKey) + " ASC LIMIT ?"
-                : "SELECT * FROM " + decorate(schemaName, tableName) + " WHERE " + quote(uniqueKey) + " > ? ORDER BY " + quote(uniqueKey) + " ASC LIMIT ?";
+                ? String.format("SELECT * FROM %s ORDER BY %s ASC LIMIT ?", qualifiedTableName, quotedUniqueKey)
+                : String.format("SELECT * FROM %s WHERE %s>? ORDER BY %s ASC LIMIT ?", qualifiedTableName, quotedUniqueKey, quotedUniqueKey);
     }
     
     @Override
     public String buildCheckEmptySQL(final String schemaName, final String tableName) {
-        return String.format("SELECT * FROM %s LIMIT 1", decorate(schemaName, tableName));
+        return String.format("SELECT * FROM %s LIMIT 1", getQualifiedTableName(schemaName, tableName));
     }
     
     @Override
     public String buildSplitByPrimaryKeyRangeSQL(final String schemaName, final String tableName, final String primaryKey) {
-        String quotedKey = quote(primaryKey);
-        return String.format("SELECT MAX(%s) FROM (SELECT %s FROM %s WHERE %s>=? ORDER BY %s LIMIT ?) t", quotedKey, quotedKey, decorate(schemaName, tableName), quotedKey, quotedKey);
+        String quotedUniqueKey = quote(primaryKey);
+        return String.format("SELECT MAX(%s) FROM (SELECT %s FROM %s WHERE %s>=? ORDER BY %s LIMIT ?) t",
+                quotedUniqueKey, quotedUniqueKey, getQualifiedTableName(schemaName, tableName), quotedUniqueKey, quotedUniqueKey);
     }
 }
diff --git a/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-core/src/main/java/org/apache/shardingsphere/data/pipeline/core/sqlbuilder/DefaultPipelineSQLBuilder.java b/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-core/src/main/java/org/apache/shardingsphere/data/pipeline/core/sqlbuilder/DefaultPipelineSQLBuilder.java
index 88d0089df31..da7a0512a5b 100644
--- a/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-core/src/main/java/org/apache/shardingsphere/data/pipeline/core/sqlbuilder/DefaultPipelineSQLBuilder.java
+++ b/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-core/src/main/java/org/apache/shardingsphere/data/pipeline/core/sqlbuilder/DefaultPipelineSQLBuilder.java
@@ -22,16 +22,6 @@ package org.apache.shardingsphere.data.pipeline.core.sqlbuilder;
  */
 public final class DefaultPipelineSQLBuilder extends AbstractPipelineSQLBuilder {
     
-    @Override
-    public String getLeftIdentifierQuoteString() {
-        return "";
-    }
-    
-    @Override
-    public String getRightIdentifierQuoteString() {
-        return "";
-    }
-    
     @Override
     public boolean isDefault() {
         return true;
diff --git a/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-core/src/main/java/org/apache/shardingsphere/data/pipeline/core/sqlbuilder/OraclePipelineSQLBuilder.java b/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-core/src/main/java/org/apache/shardingsphere/data/pipeline/core/sqlbuilder/OraclePipelineSQLBuilder.java
index bb9ea68c4b0..ac9f89ab7f0 100644
--- a/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-core/src/main/java/org/apache/shardingsphere/data/pipeline/core/sqlbuilder/OraclePipelineSQLBuilder.java
+++ b/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-core/src/main/java/org/apache/shardingsphere/data/pipeline/core/sqlbuilder/OraclePipelineSQLBuilder.java
@@ -36,27 +36,16 @@ public final class OraclePipelineSQLBuilder extends AbstractPipelineSQLBuilder {
         throw new UnsupportedSQLOperationException("buildCreateSchemaSQL");
     }
     
-    @Override
-    public String getLeftIdentifierQuoteString() {
-        return "\"";
-    }
-    
-    @Override
-    public String getRightIdentifierQuoteString() {
-        return "\"";
-    }
-    
     @Override
     public String buildInventoryDumpSQL(final String schemaName, final String tableName, final String uniqueKey, final int uniqueKeyDataType, final boolean firstQuery) {
-        String decoratedTableName = decorate(schemaName, tableName);
+        String qualifiedTableName = getQualifiedTableName(schemaName, tableName);
         String quotedUniqueKey = quote(uniqueKey);
         if (PipelineJdbcUtils.isIntegerColumn(uniqueKeyDataType)) {
-            return "SELECT * FROM (SELECT * FROM " + decoratedTableName + " WHERE " + quotedUniqueKey + " " + (firstQuery ? ">=" : ">") + " ?"
-                    + " AND " + quotedUniqueKey + " <= ? ORDER BY " + quotedUniqueKey + " ASC) WHERE ROWNUM<=?";
+            return String.format("SELECT * FROM (SELECT * FROM %s WHERE %s%s? AND %s<=? ORDER BY %s ASC) WHERE ROWNUM<=?",
+                    qualifiedTableName, quotedUniqueKey, firstQuery ? ">=" : ">", quotedUniqueKey, quotedUniqueKey);
         }
         if (PipelineJdbcUtils.isStringColumn(uniqueKeyDataType)) {
-            return "SELECT * FROM (SELECT * FROM " + decoratedTableName + " WHERE " + quotedUniqueKey + " " + (firstQuery ? ">=" : ">") + " ?"
-                    + " ORDER BY " + quotedUniqueKey + " ASC) WHERE ROWNUM<=?";
+            return String.format("SELECT * FROM (SELECT * FROM %s WHERE %s%s? ORDER BY %s ASC) WHERE ROWNUM<=?", qualifiedTableName, quotedUniqueKey, firstQuery ? ">=" : ">", quotedUniqueKey);
         }
         throw new IllegalArgumentException("Unknown uniqueKeyDataType: " + uniqueKeyDataType);
     }
@@ -70,21 +59,24 @@ public final class OraclePipelineSQLBuilder extends AbstractPipelineSQLBuilder {
     
     @Override
     public String buildChunkedQuerySQL(final String schemaName, final @NonNull String tableName, final @NonNull String uniqueKey, final boolean firstQuery) {
+        String qualifiedTableName = getQualifiedTableName(schemaName, tableName);
+        String quotedUniqueKey = quote(uniqueKey);
         return firstQuery
-                ? "SELECT * FROM (SELECT * FROM " + decorate(schemaName, tableName) + " ORDER BY " + quote(uniqueKey) + " ASC) WHERE ROWNUM<=?"
-                : "SELECT * FROM (SELECT * FROM " + decorate(schemaName, tableName) + " WHERE " + quote(uniqueKey) + " > ? ORDER BY " + quote(uniqueKey) + " ASC) WHERE ROWNUM<=?";
+                ? String.format("SELECT * FROM (SELECT * FROM %s ORDER BY %s ASC) WHERE ROWNUM<=?", qualifiedTableName, quotedUniqueKey)
+                : String.format("SELECT * FROM (SELECT * FROM %s WHERE %s>? ORDER BY %s ASC) WHERE ROWNUM<=?", qualifiedTableName, quotedUniqueKey, quotedUniqueKey);
     }
     
     @Override
     public String buildCheckEmptySQL(final String schemaName, final String tableName) {
-        return String.format("SELECT * FROM (SELECT * FROM %s) WHERE ROWNUM<=1", decorate(schemaName, tableName));
+        return String.format("SELECT * FROM (SELECT * FROM %s) WHERE ROWNUM<=1", getQualifiedTableName(schemaName, tableName));
     }
     
     @Override
     public String buildSplitByPrimaryKeyRangeSQL(final String schemaName, final String tableName, final String primaryKey) {
-        String quotedKey = quote(primaryKey);
+        String qualifiedTableName = getQualifiedTableName(schemaName, tableName);
+        String quotedUniqueKey = quote(primaryKey);
         return String.format("SELECT MAX(%s) FROM (SELECT * FROM (SELECT %s FROM %s WHERE %s>=? ORDER BY %s) WHERE ROWNUM<=?) t",
-                quotedKey, quotedKey, decorate(schemaName, tableName), quotedKey, quotedKey);
+                quotedUniqueKey, quotedUniqueKey, qualifiedTableName, quotedUniqueKey, quotedUniqueKey);
     }
     
     @Override
diff --git a/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-dialect/shardingsphere-data-pipeline-mysql/src/main/java/org/apache/shardingsphere/data/pipeline/mysql/sqlbuilder/MySQLPipelineSQLBuilder.java b/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-dialect/shardingsphere-data-pipeline-mysql/src/main/java/org/apache/shardingsphere/data/pipeline/mysql/sqlbuilder/MySQLPipelineSQLBuilder.java
index 870f676e3ff..14440f0344d 100644
--- a/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-dialect/shardingsphere-data-pipeline-mysql/src/main/java/org/apache/shardingsphere/data/pipeline/mysql/sqlbuilder/MySQLPipelineSQLBuilder.java
+++ b/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-dialect/shardingsphere-data-pipeline-mysql/src/main/java/org/apache/shardingsphere/data/pipeline/mysql/sqlbuilder/MySQLPipelineSQLBuilder.java
@@ -31,16 +31,6 @@ import java.util.Set;
  */
 public final class MySQLPipelineSQLBuilder extends AbstractPipelineSQLBuilder {
     
-    @Override
-    public String getLeftIdentifierQuoteString() {
-        return "`";
-    }
-    
-    @Override
-    public String getRightIdentifierQuoteString() {
-        return "`";
-    }
-    
     @Override
     public String buildInsertSQL(final String schemaName, final DataRecord dataRecord, final Map<LogicTableName, Set<String>> shardingColumnsMap) {
         return super.buildInsertSQL(schemaName, dataRecord, shardingColumnsMap) + buildDuplicateUpdateSQL(dataRecord, shardingColumnsMap);
diff --git a/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-dialect/shardingsphere-data-pipeline-mysql/src/test/java/org/apache/shardingsphere/data/pipeline/mysql/fixture/FixturePipelineSQLBuilder.java b/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-dialect/shardingsphere-data-pipeline-mysql/src/test/java/org/apache/shardingsphere/data/pipeline/mysql/fixture/FixturePipelineSQLBuilder.java
index 48f4f2888b2..f7516064eea 100644
--- a/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-dialect/shardingsphere-data-pipeline-mysql/src/test/java/org/apache/shardingsphere/data/pipeline/mysql/fixture/FixturePipelineSQLBuilder.java
+++ b/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-dialect/shardingsphere-data-pipeline-mysql/src/test/java/org/apache/shardingsphere/data/pipeline/mysql/fixture/FixturePipelineSQLBuilder.java
@@ -21,16 +21,6 @@ import org.apache.shardingsphere.data.pipeline.core.sqlbuilder.AbstractPipelineS
 
 public final class FixturePipelineSQLBuilder extends AbstractPipelineSQLBuilder {
     
-    @Override
-    protected String getLeftIdentifierQuoteString() {
-        return "`";
-    }
-    
-    @Override
-    protected String getRightIdentifierQuoteString() {
-        return "`";
-    }
-    
     @Override
     public String getType() {
         return "H2";
diff --git a/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-dialect/shardingsphere-data-pipeline-opengauss/src/main/java/org/apache/shardingsphere/data/pipeline/opengauss/sqlbuilder/OpenGaussPipelineSQLBuilder.java b/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-dialect/shardingsphere-data-pipeline-opengauss/src/main/java/org/apache/shardingsphere/data/pipeline/opengauss/sqlbuilder/OpenGaussPipelineSQLBuilder.java
index 3cb06a59bc0..a6de251311a 100644
--- a/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-dialect/shardingsphere-data-pipeline-opengauss/src/main/java/org/apache/shardingsphere/data/pipeline/opengauss/sqlbuilder/OpenGaussPipelineSQLBuilder.java
+++ b/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-dialect/shardingsphere-data-pipeline-opengauss/src/main/java/org/apache/shardingsphere/data/pipeline/opengauss/sqlbuilder/OpenGaussPipelineSQLBuilder.java
@@ -34,17 +34,7 @@ public final class OpenGaussPipelineSQLBuilder extends AbstractPipelineSQLBuilde
     
     @Override
     public String buildCreateSchemaSQL(final String schemaName) {
-        return "CREATE SCHEMA " + quote(schemaName);
-    }
-    
-    @Override
-    public String getLeftIdentifierQuoteString() {
-        return "";
-    }
-    
-    @Override
-    public String getRightIdentifierQuoteString() {
-        return "";
+        return String.format("CREATE SCHEMA %s", quote(schemaName));
     }
     
     @Override
diff --git a/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-dialect/shardingsphere-data-pipeline-opengauss/src/test/java/org/apache/shardingsphere/data/pipeline/opengauss/fixture/FixturePipelineSQLBuilder.java b/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-dialect/shardingsphere-data-pipeline-opengauss/src/test/java/org/apache/shardingsphere/data/pipeline/opengauss/fixture/FixturePipelineSQLBuilder.java
index 08b8694eb3c..d38e9d79cc2 100644
--- a/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-dialect/shardingsphere-data-pipeline-opengauss/src/test/java/org/apache/shardingsphere/data/pipeline/opengauss/fixture/FixturePipelineSQLBuilder.java
+++ b/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-dialect/shardingsphere-data-pipeline-opengauss/src/test/java/org/apache/shardingsphere/data/pipeline/opengauss/fixture/FixturePipelineSQLBuilder.java
@@ -21,16 +21,6 @@ import org.apache.shardingsphere.data.pipeline.core.sqlbuilder.AbstractPipelineS
 
 public final class FixturePipelineSQLBuilder extends AbstractPipelineSQLBuilder {
     
-    @Override
-    protected String getLeftIdentifierQuoteString() {
-        return "`";
-    }
-    
-    @Override
-    protected String getRightIdentifierQuoteString() {
-        return "`";
-    }
-    
     @Override
     public String getType() {
         return "H2";
diff --git a/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-dialect/shardingsphere-data-pipeline-postgresql/src/main/java/org/apache/shardingsphere/data/pipeline/postgresql/sqlbuilder/PostgreSQLPipelineSQLBuilder.java b/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-dialect/shardingsphere-data-pipeline-postgresql/src/main/java/org/apache/shardingsphere/data/pipeline/postgresql/sqlbuilder/PostgreSQLPipelineSQLBuilder.java
index e7fda9f2e84..8eac089286d 100644
--- a/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-dialect/shardingsphere-data-pipeline-postgresql/src/main/java/org/apache/shardingsphere/data/pipeline/postgresql/sqlbuilder/PostgreSQLPipelineSQLBuilder.java
+++ b/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-dialect/shardingsphere-data-pipeline-postgresql/src/main/java/org/apache/shardingsphere/data/pipeline/postgresql/sqlbuilder/PostgreSQLPipelineSQLBuilder.java
@@ -33,17 +33,7 @@ public final class PostgreSQLPipelineSQLBuilder extends AbstractPipelineSQLBuild
     
     @Override
     public String buildCreateSchemaSQL(final String schemaName) {
-        return "CREATE SCHEMA IF NOT EXISTS " + quote(schemaName);
-    }
-    
-    @Override
-    public String getLeftIdentifierQuoteString() {
-        return "\"";
-    }
-    
-    @Override
-    public String getRightIdentifierQuoteString() {
-        return "\"";
+        return String.format("CREATE SCHEMA IF NOT EXISTS %s", quote(schemaName));
     }
     
     @Override
diff --git a/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-dialect/shardingsphere-data-pipeline-postgresql/src/test/java/org/apache/shardingsphere/data/pipeline/postgresql/fixture/FixturePipelineSQLBuilder.java b/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-dialect/shardingsphere-data-pipeline-postgresql/src/test/java/org/apache/shardingsphere/data/pipeline/postgresql/fixture/FixturePipelineSQLBuilder.java
index 8f8edc4467d..c4a0e735e4c 100644
--- a/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-dialect/shardingsphere-data-pipeline-postgresql/src/test/java/org/apache/shardingsphere/data/pipeline/postgresql/fixture/FixturePipelineSQLBuilder.java
+++ b/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-dialect/shardingsphere-data-pipeline-postgresql/src/test/java/org/apache/shardingsphere/data/pipeline/postgresql/fixture/FixturePipelineSQLBuilder.java
@@ -21,16 +21,6 @@ import org.apache.shardingsphere.data.pipeline.core.sqlbuilder.AbstractPipelineS
 
 public final class FixturePipelineSQLBuilder extends AbstractPipelineSQLBuilder {
     
-    @Override
-    protected String getLeftIdentifierQuoteString() {
-        return "`";
-    }
-    
-    @Override
-    protected String getRightIdentifierQuoteString() {
-        return "`";
-    }
-    
     @Override
     public String getType() {
         return "H2";
diff --git a/shardingsphere-test/shardingsphere-pipeline-test/src/test/java/org/apache/shardingsphere/data/pipeline/core/fixture/FixturePipelineSQLBuilder.java b/shardingsphere-test/shardingsphere-pipeline-test/src/test/java/org/apache/shardingsphere/data/pipeline/core/fixture/FixturePipelineSQLBuilder.java
index fb6f5d92440..b3be5e10559 100644
--- a/shardingsphere-test/shardingsphere-pipeline-test/src/test/java/org/apache/shardingsphere/data/pipeline/core/fixture/FixturePipelineSQLBuilder.java
+++ b/shardingsphere-test/shardingsphere-pipeline-test/src/test/java/org/apache/shardingsphere/data/pipeline/core/fixture/FixturePipelineSQLBuilder.java
@@ -21,16 +21,6 @@ import org.apache.shardingsphere.data.pipeline.core.sqlbuilder.AbstractPipelineS
 
 public final class FixturePipelineSQLBuilder extends AbstractPipelineSQLBuilder {
     
-    @Override
-    protected String getLeftIdentifierQuoteString() {
-        return "`";
-    }
-    
-    @Override
-    protected String getRightIdentifierQuoteString() {
-        return "`";
-    }
-    
     @Override
     public String getType() {
         return "H2";