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 2ca5b355261 Rename PostgreSQLDDLTemplateExecutor (#32507)
2ca5b355261 is described below

commit 2ca5b355261499b5e706dbee5b20c7c17bc6de4c
Author: Liang Zhang <[email protected]>
AuthorDate: Wed Aug 14 23:35:39 2024 +0800

    Rename PostgreSQLDDLTemplateExecutor (#32507)
    
    * Rename PostgreSQLDDLTemplateExecutor
    
    * Rename PostgreSQLDDLTemplateExecutor
---
 ...ter.java => PostgreSQLDDLTemplateExecutor.java} | 33 ++++++++++++++++----
 .../column/PostgreSQLColumnPropertiesAppender.java | 20 ++++++------
 .../PostgreSQLConstraintsPropertiesAppender.java   | 36 ++++++++++++----------
 .../ddl/index/PostgreSQLIndexSQLGenerator.java     | 22 +++++++------
 .../ddl/table/PostgreSQLTablePropertiesLoader.java | 20 ++++++------
 5 files changed, 80 insertions(+), 51 deletions(-)

diff --git 
a/kernel/data-pipeline/dialect/postgresql/src/main/java/org/apache/shardingsphere/data/pipeline/postgresql/sqlbuilder/ddl/AbstractPostgreSQLDDLAdapter.java
 
b/kernel/data-pipeline/dialect/postgresql/src/main/java/org/apache/shardingsphere/data/pipeline/postgresql/sqlbuilder/ddl/PostgreSQLDDLTemplateExecutor.java
similarity index 82%
rename from 
kernel/data-pipeline/dialect/postgresql/src/main/java/org/apache/shardingsphere/data/pipeline/postgresql/sqlbuilder/ddl/AbstractPostgreSQLDDLAdapter.java
rename to 
kernel/data-pipeline/dialect/postgresql/src/main/java/org/apache/shardingsphere/data/pipeline/postgresql/sqlbuilder/ddl/PostgreSQLDDLTemplateExecutor.java
index 5b209d11d41..ef1c4ece0b9 100644
--- 
a/kernel/data-pipeline/dialect/postgresql/src/main/java/org/apache/shardingsphere/data/pipeline/postgresql/sqlbuilder/ddl/AbstractPostgreSQLDDLAdapter.java
+++ 
b/kernel/data-pipeline/dialect/postgresql/src/main/java/org/apache/shardingsphere/data/pipeline/postgresql/sqlbuilder/ddl/PostgreSQLDDLTemplateExecutor.java
@@ -17,7 +17,6 @@
 
 package org.apache.shardingsphere.data.pipeline.postgresql.sqlbuilder.ddl;
 
-import lombok.AccessLevel;
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
 import 
org.apache.shardingsphere.data.pipeline.postgresql.util.PostgreSQLPipelineFreemarkerManager;
@@ -39,9 +38,9 @@ import java.util.stream.Collectors;
 /**
  * Abstract ddl adapter for PostgreSQL.
  */
-@RequiredArgsConstructor(access = AccessLevel.PROTECTED)
+@RequiredArgsConstructor
 @Getter
-public abstract class AbstractPostgreSQLDDLAdapter {
+public final class PostgreSQLDDLTemplateExecutor {
     
     private static final String SECURITY_LABEL_SPLIT = "=";
     
@@ -51,7 +50,15 @@ public abstract class AbstractPostgreSQLDDLAdapter {
     
     private final int minorVersion;
     
-    protected Collection<Map<String, Object>> executeByTemplate(final 
Map<String, Object> params, final String path) {
+    /**
+     * Execute by template.
+     *
+     * @param params parameters
+     * @param path path
+     * @return execute result
+     * @throws SQLWrapperException SQL wrapper exception
+     */
+    public Collection<Map<String, Object>> executeByTemplate(final Map<String, 
Object> params, final String path) {
         try (
                 Statement statement = connection.createStatement();
                 ResultSet resultSet = 
statement.executeQuery(PostgreSQLPipelineFreemarkerManager.getSQLByVersion(params,
 path, majorVersion, minorVersion))) {
@@ -75,7 +82,15 @@ public abstract class AbstractPostgreSQLDDLAdapter {
         return result;
     }
     
-    protected Map<String, Object> executeByTemplateForSingleRow(final 
Map<String, Object> params, final String path) {
+    /**
+     * Execute by template for single row.
+     *
+     * @param params parameters
+     * @param path path
+     * @return execute result
+     * @throws SQLWrapperException SQL wrapper exception
+     */
+    public Map<String, Object> executeByTemplateForSingleRow(final Map<String, 
Object> params, final String path) {
         try (
                 Statement statement = connection.createStatement();
                 ResultSet resultSet = 
statement.executeQuery(PostgreSQLPipelineFreemarkerManager.getSQLByVersion(params,
 path, majorVersion, minorVersion))) {
@@ -97,7 +112,13 @@ public abstract class AbstractPostgreSQLDDLAdapter {
         return result;
     }
     
-    protected void formatSecurityLabels(final Map<String, Object> data) throws 
SQLException {
+    /**
+     * Format security labels.
+     *
+     * @param data data
+     * @throws SQLException SQL exception
+     */
+    public void formatSecurityLabels(final Map<String, Object> data) throws 
SQLException {
         if (null == data.get("seclabels")) {
             return;
         }
diff --git 
a/kernel/data-pipeline/dialect/postgresql/src/main/java/org/apache/shardingsphere/data/pipeline/postgresql/sqlbuilder/ddl/column/PostgreSQLColumnPropertiesAppender.java
 
b/kernel/data-pipeline/dialect/postgresql/src/main/java/org/apache/shardingsphere/data/pipeline/postgresql/sqlbuilder/ddl/column/PostgreSQLColumnPropertiesAppender.java
index 70a3d8c63d8..3aee9a8bc5d 100644
--- 
a/kernel/data-pipeline/dialect/postgresql/src/main/java/org/apache/shardingsphere/data/pipeline/postgresql/sqlbuilder/ddl/column/PostgreSQLColumnPropertiesAppender.java
+++ 
b/kernel/data-pipeline/dialect/postgresql/src/main/java/org/apache/shardingsphere/data/pipeline/postgresql/sqlbuilder/ddl/column/PostgreSQLColumnPropertiesAppender.java
@@ -18,7 +18,7 @@
 package 
org.apache.shardingsphere.data.pipeline.postgresql.sqlbuilder.ddl.column;
 
 import lombok.SneakyThrows;
-import 
org.apache.shardingsphere.data.pipeline.postgresql.sqlbuilder.ddl.AbstractPostgreSQLDDLAdapter;
+import 
org.apache.shardingsphere.data.pipeline.postgresql.sqlbuilder.ddl.PostgreSQLDDLTemplateExecutor;
 
 import java.sql.Array;
 import java.sql.Connection;
@@ -37,7 +37,7 @@ import java.util.stream.Collectors;
 /**
  * Column properties appender for PostgreSQL.
  */
-public final class PostgreSQLColumnPropertiesAppender extends 
AbstractPostgreSQLDDLAdapter {
+public final class PostgreSQLColumnPropertiesAppender {
     
     private static final Collection<String> TIME_TYPE_NAMES = new 
HashSet<>(Arrays.asList(
             "time", "timetz", "time without time zone", "time with time zone", 
"timestamp", "timestamptz", "timestamp without time zone", "timestamp with time 
zone"));
@@ -52,8 +52,10 @@ public final class PostgreSQLColumnPropertiesAppender 
extends AbstractPostgreSQL
     
     private static final String ATT_OPTION_SPLIT = "=";
     
+    private final PostgreSQLDDLTemplateExecutor templateExecutor;
+    
     public PostgreSQLColumnPropertiesAppender(final Connection connection, 
final int majorVersion, final int minorVersion) {
-        super(connection, majorVersion, minorVersion);
+        templateExecutor = new PostgreSQLDDLTemplateExecutor(connection, 
majorVersion, minorVersion);
     }
     
     /**
@@ -64,7 +66,7 @@ public final class PostgreSQLColumnPropertiesAppender extends 
AbstractPostgreSQL
     @SneakyThrows(SQLException.class)
     public void append(final Map<String, Object> context) {
         Collection<Map<String, Object>> typeAndInheritedColumns = 
getTypeAndInheritedColumns(context);
-        Collection<Map<String, Object>> allColumns = 
executeByTemplate(context, "component/columns/%s/properties.ftl");
+        Collection<Map<String, Object>> allColumns = 
templateExecutor.executeByTemplate(context, 
"component/columns/%s/properties.ftl");
         for (Map<String, Object> each : allColumns) {
             for (Map<String, Object> column : typeAndInheritedColumns) {
                 if (each.get("name").equals(column.get("name"))) {
@@ -96,7 +98,7 @@ public final class PostgreSQLColumnPropertiesAppender extends 
AbstractPostgreSQL
     private Collection<Map<String, Object>> getColumnFromType(final 
Map<String, Object> context) {
         Map<String, Object> params = new LinkedHashMap<>();
         params.put("tid", context.get("typoid"));
-        return executeByTemplate(params, 
"component/table/%s/get_columns_for_table.ftl");
+        return templateExecutor.executeByTemplate(params, 
"component/table/%s/get_columns_for_table.ftl");
     }
     
     private Collection<String> toCollection(final Array array) throws 
SQLException {
@@ -105,11 +107,11 @@ public final class PostgreSQLColumnPropertiesAppender 
extends AbstractPostgreSQL
     
     private Collection<Map<String, Object>> getColumnFromInherits(final 
Collection<String> collInherits) {
         Collection<Map<String, Object>> result = new LinkedList<>();
-        for (Map<String, Object> each : executeByTemplate(new 
LinkedHashMap<>(), "component/table/%s/get_inherits.ftl")) {
+        for (Map<String, Object> each : templateExecutor.executeByTemplate(new 
LinkedHashMap<>(), "component/table/%s/get_inherits.ftl")) {
             if (collInherits.contains((String) each.get("inherits"))) {
                 Map<String, Object> params = new LinkedHashMap<>();
                 params.put("tid", each.get("oid"));
-                result.addAll(executeByTemplate(params, 
"table/%s/get_columns_for_table.ftl"));
+                result.addAll(templateExecutor.executeByTemplate(params, 
"table/%s/get_columns_for_table.ftl"));
             }
         }
         return result;
@@ -130,7 +132,7 @@ public final class PostgreSQLColumnPropertiesAppender 
extends AbstractPostgreSQL
         Map<String, Collection<String>> result = new LinkedHashMap<>();
         Map<String, Object> params = new LinkedHashMap<>();
         params.put("type_ids", allColumns.stream().map(each -> 
each.get("atttypid").toString()).collect(Collectors.joining(",")));
-        for (Map<String, Object> each : executeByTemplate(params, 
"component/columns/%s/edit_mode_types_multi.ftl")) {
+        for (Map<String, Object> each : 
templateExecutor.executeByTemplate(params, 
"component/columns/%s/edit_mode_types_multi.ftl")) {
             result.put(each.get("main_oid").toString(), 
toCollectionAndSort((Array) each.get("edit_types")));
         }
         return result;
@@ -144,7 +146,7 @@ public final class PostgreSQLColumnPropertiesAppender 
extends AbstractPostgreSQL
         handlePrimaryColumn(column);
         fetchLengthPrecision(column);
         formatColumnVariables(column);
-        formatSecurityLabels(column);
+        templateExecutor.formatSecurityLabels(column);
         editTypes.add(column.get("cltype").toString());
         column.put("edit_types", 
editTypes.stream().sorted().collect(Collectors.toList()));
         column.put("cltype", parseTypeName(column.get("cltype").toString()));
diff --git 
a/kernel/data-pipeline/dialect/postgresql/src/main/java/org/apache/shardingsphere/data/pipeline/postgresql/sqlbuilder/ddl/constraints/PostgreSQLConstraintsPropertiesAppender.java
 
b/kernel/data-pipeline/dialect/postgresql/src/main/java/org/apache/shardingsphere/data/pipeline/postgresql/sqlbuilder/ddl/constraints/PostgreSQLConstraintsPropertiesAppender.java
index 122392fb6a7..622046d3fd5 100644
--- 
a/kernel/data-pipeline/dialect/postgresql/src/main/java/org/apache/shardingsphere/data/pipeline/postgresql/sqlbuilder/ddl/constraints/PostgreSQLConstraintsPropertiesAppender.java
+++ 
b/kernel/data-pipeline/dialect/postgresql/src/main/java/org/apache/shardingsphere/data/pipeline/postgresql/sqlbuilder/ddl/constraints/PostgreSQLConstraintsPropertiesAppender.java
@@ -17,7 +17,7 @@
 
 package 
org.apache.shardingsphere.data.pipeline.postgresql.sqlbuilder.ddl.constraints;
 
-import 
org.apache.shardingsphere.data.pipeline.postgresql.sqlbuilder.ddl.AbstractPostgreSQLDDLAdapter;
+import 
org.apache.shardingsphere.data.pipeline.postgresql.sqlbuilder.ddl.PostgreSQLDDLTemplateExecutor;
 
 import java.sql.Connection;
 import java.util.Collection;
@@ -33,12 +33,14 @@ import java.util.stream.Collectors;
 /**
  * Constraints properties appender for PostgreSQL.
  */
-public final class PostgreSQLConstraintsPropertiesAppender extends 
AbstractPostgreSQLDDLAdapter {
+public final class PostgreSQLConstraintsPropertiesAppender {
     
     private static final Integer PG_CONSTRAINTS_INCLUDE_VERSION = 11;
     
+    private final PostgreSQLDDLTemplateExecutor templateExecutor;
+    
     public PostgreSQLConstraintsPropertiesAppender(final Connection 
connection, final int majorVersion, final int minorVersion) {
-        super(connection, majorVersion, minorVersion);
+        templateExecutor = new PostgreSQLDDLTemplateExecutor(connection, 
majorVersion, minorVersion);
     }
     
     /**
@@ -97,8 +99,8 @@ public final class PostgreSQLConstraintsPropertiesAppender 
extends AbstractPostg
         Map<String, Object> params = new LinkedHashMap<>();
         params.put("cid", constraintsProp.get("oid"));
         Collection<Object> includes = new LinkedList<>();
-        if (getMajorVersion() >= PG_CONSTRAINTS_INCLUDE_VERSION) {
-            for (Map<String, Object> each : executeByTemplate(params, 
"component/index_constraint/%s/get_constraint_include.ftl")) {
+        if (templateExecutor.getMajorVersion() >= 
PG_CONSTRAINTS_INCLUDE_VERSION) {
+            for (Map<String, Object> each : 
templateExecutor.executeByTemplate(params, 
"component/index_constraint/%s/get_constraint_include.ftl")) {
                 includes.add(each.get("colname"));
             }
         }
@@ -120,7 +122,7 @@ public final class PostgreSQLConstraintsPropertiesAppender 
extends AbstractPostg
         Map<String, Object> params = new HashMap<>();
         params.put("cid", constraintColProps.get("oid"));
         params.put("colcnt", constraintColProps.get("col_count"));
-        return executeByTemplate(params, 
"component/index_constraint/%s/get_costraint_cols.ftl");
+        return templateExecutor.executeByTemplate(params, 
"component/index_constraint/%s/get_costraint_cols.ftl");
     }
     
     private Collection<Map<String, Object>> fetchConstraintsProperties(final 
Map<String, Object> context, final String constraintType) {
@@ -129,14 +131,14 @@ public final class 
PostgreSQLConstraintsPropertiesAppender extends AbstractPostg
         params.put("tid", context.get("tid"));
         params.put("cid", context.get("cid"));
         params.put("constraint_type", constraintType);
-        return executeByTemplate(params, 
"component/index_constraint/%s/properties.ftl");
+        return templateExecutor.executeByTemplate(params, 
"component/index_constraint/%s/properties.ftl");
     }
     
     private Collection<Map<String, Object>> getExclusionConstraints(final 
Map<String, Object> context) {
         Map<String, Object> params = new HashMap<>();
         params.put("tid", context.get("tid"));
         params.put("did", context.get("did"));
-        Collection<Map<String, Object>> result = executeByTemplate(params, 
"component/exclusion_constraint/%s/properties.ftl");
+        Collection<Map<String, Object>> result = 
templateExecutor.executeByTemplate(params, 
"component/exclusion_constraint/%s/properties.ftl");
         for (Map<String, Object> each : result) {
             getExclusionConstraintsColumns(each);
         }
@@ -148,7 +150,7 @@ public final class PostgreSQLConstraintsPropertiesAppender 
extends AbstractPostg
         params.put("cid", exclusionConstraintsProps.get("oid"));
         params.put("col_count", exclusionConstraintsProps.get("col_count"));
         Collection<Map<String, Object>> columns = new LinkedList<>();
-        for (Map<String, Object> each : executeByTemplate(params, 
"component/exclusion_constraint/%s/get_constraint_cols.ftl")) {
+        for (Map<String, Object> each : 
templateExecutor.executeByTemplate(params, 
"component/exclusion_constraint/%s/get_constraint_cols.ftl")) {
             boolean order = 0 == (((int) each.get("options")) & 1);
             boolean nullsOrder = 0 != (((int) each.get("options")) & 2);
             Map<String, Object> col = new HashMap<>();
@@ -165,8 +167,8 @@ public final class PostgreSQLConstraintsPropertiesAppender 
extends AbstractPostg
         Map<String, Object> map = new HashMap<>();
         map.put("cid", exclusionConstraintsProps.get("oid"));
         Collection<String> include = new LinkedList<>();
-        if (getMajorVersion() >= PG_CONSTRAINTS_INCLUDE_VERSION) {
-            for (Map<String, Object> each : executeByTemplate(map, 
"exclusion_constraint/%s/get_constraint_include.ftl")) {
+        if (templateExecutor.getMajorVersion() >= 
PG_CONSTRAINTS_INCLUDE_VERSION) {
+            for (Map<String, Object> each : 
templateExecutor.executeByTemplate(map, 
"exclusion_constraint/%s/get_constraint_include.ftl")) {
                 include.add(each.get("colname").toString());
             }
         }
@@ -176,7 +178,7 @@ public final class PostgreSQLConstraintsPropertiesAppender 
extends AbstractPostg
     private Collection<Map<String, Object>> getForeignKeys(final Long tid) {
         Map<String, Object> params = new HashMap<>();
         params.put("tid", tid);
-        Collection<Map<String, Object>> result = executeByTemplate(params, 
"component/foreign_key/%s/properties.ftl");
+        Collection<Map<String, Object>> result = 
templateExecutor.executeByTemplate(params, 
"component/foreign_key/%s/properties.ftl");
         for (Map<String, Object> each : result) {
             Collection<Map<String, Object>> columns = new LinkedList<>();
             Set<String> cols = new HashSet<>();
@@ -202,7 +204,7 @@ public final class PostgreSQLConstraintsPropertiesAppender 
extends AbstractPostg
     private void setRemoteName(final Map<String, Object> foreignKey, final 
Collection<Map<String, Object>> columns) {
         Map<String, Object> params = new HashMap<>();
         params.put("tid", columns.iterator().next().get("references"));
-        Map<String, Object> parents = executeByTemplateForSingleRow(params, 
"component/foreign_key/%s/get_parent.ftl");
+        Map<String, Object> parents = 
templateExecutor.executeByTemplateForSingleRow(params, 
"component/foreign_key/%s/get_parent.ftl");
         foreignKey.put("remote_schema", parents.get("schema"));
         foreignKey.put("remote_table", parents.get("table"));
     }
@@ -216,7 +218,7 @@ public final class PostgreSQLConstraintsPropertiesAppender 
extends AbstractPostg
         key.put("conkey", foreignKeyProps.get("conkey"));
         keys.add(key);
         params.put("keys", keys);
-        return executeByTemplate(params, 
"component/foreign_key/%s/get_constraint_cols.ftl");
+        return templateExecutor.executeByTemplate(params, 
"component/foreign_key/%s/get_constraint_cols.ftl");
     }
     
     private boolean isPartitionAndConstraintInherited(final Map<String, 
Object> constraint, final Map<String, Object> context) {
@@ -226,11 +228,11 @@ public final class 
PostgreSQLConstraintsPropertiesAppender extends AbstractPostg
     private Optional<String> searchCoveringIndex(final Long tid, final 
Set<String> cols) {
         Map<String, Object> params = new HashMap<>();
         params.put("tid", tid);
-        for (Map<String, Object> each : executeByTemplate(params, 
"component/foreign_key/%s/get_constraints.ftl")) {
+        for (Map<String, Object> each : 
templateExecutor.executeByTemplate(params, 
"component/foreign_key/%s/get_constraints.ftl")) {
             Map<String, Object> map = new HashMap<>();
             map.put("cid", each.get("oid"));
             map.put("colcnt", each.get("col_count"));
-            Collection<Map<String, Object>> rows = executeByTemplate(map, 
"component/foreign_key/%s/get_cols.ftl");
+            Collection<Map<String, Object>> rows = 
templateExecutor.executeByTemplate(map, 
"component/foreign_key/%s/get_cols.ftl");
             Set<String> indexCols = new HashSet<>();
             for (Map<String, Object> row : rows) {
                 indexCols.add(strip(row.get("column").toString()));
@@ -266,6 +268,6 @@ public final class PostgreSQLConstraintsPropertiesAppender 
extends AbstractPostg
     private Collection<Map<String, Object>> getCheckConstraints(final Long 
tid) {
         Map<String, Object> params = new HashMap<>();
         params.put("tid", tid);
-        return executeByTemplate(params, 
"component/check_constraint/%s/properties.ftl");
+        return templateExecutor.executeByTemplate(params, 
"component/check_constraint/%s/properties.ftl");
     }
 }
diff --git 
a/kernel/data-pipeline/dialect/postgresql/src/main/java/org/apache/shardingsphere/data/pipeline/postgresql/sqlbuilder/ddl/index/PostgreSQLIndexSQLGenerator.java
 
b/kernel/data-pipeline/dialect/postgresql/src/main/java/org/apache/shardingsphere/data/pipeline/postgresql/sqlbuilder/ddl/index/PostgreSQLIndexSQLGenerator.java
index 8452282e04b..c5adcc14561 100644
--- 
a/kernel/data-pipeline/dialect/postgresql/src/main/java/org/apache/shardingsphere/data/pipeline/postgresql/sqlbuilder/ddl/index/PostgreSQLIndexSQLGenerator.java
+++ 
b/kernel/data-pipeline/dialect/postgresql/src/main/java/org/apache/shardingsphere/data/pipeline/postgresql/sqlbuilder/ddl/index/PostgreSQLIndexSQLGenerator.java
@@ -17,7 +17,7 @@
 
 package 
org.apache.shardingsphere.data.pipeline.postgresql.sqlbuilder.ddl.index;
 
-import 
org.apache.shardingsphere.data.pipeline.postgresql.sqlbuilder.ddl.AbstractPostgreSQLDDLAdapter;
+import 
org.apache.shardingsphere.data.pipeline.postgresql.sqlbuilder.ddl.PostgreSQLDDLTemplateExecutor;
 import 
org.apache.shardingsphere.data.pipeline.postgresql.util.PostgreSQLPipelineFreemarkerManager;
 import org.postgresql.jdbc.PgArray;
 
@@ -31,12 +31,14 @@ import java.util.Map;
 /**
  * Index SQL generator for PostgreSQL.
  */
-public final class PostgreSQLIndexSQLGenerator extends 
AbstractPostgreSQLDDLAdapter {
+public final class PostgreSQLIndexSQLGenerator {
     
     private static final Integer PG_INDEX_INCLUDE_VERSION = 11;
     
+    private final PostgreSQLDDLTemplateExecutor templateExecutor;
+    
     public PostgreSQLIndexSQLGenerator(final Connection connection, final int 
majorVersion, final int minorVersion) {
-        super(connection, majorVersion, minorVersion);
+        templateExecutor = new PostgreSQLDDLTemplateExecutor(connection, 
majorVersion, minorVersion);
     }
     
     /**
@@ -61,22 +63,22 @@ public final class PostgreSQLIndexSQLGenerator extends 
AbstractPostgreSQLDDLAdap
     private Collection<Map<String, Object>> getIndexNodes(final Map<String, 
Object> context) {
         Map<String, Object> param = new LinkedHashMap<>();
         param.put("tid", context.get("tid"));
-        return executeByTemplate(param, "component/indexes/%s/nodes.ftl");
+        return templateExecutor.executeByTemplate(param, 
"component/indexes/%s/nodes.ftl");
     }
     
     private String getIndexSql(final Map<String, Object> context, final 
Map<String, Object> indexNode) throws SQLException {
         Map<String, Object> indexData = getIndexData(context, indexNode);
         appendColumnDetails(indexData, (Long) indexNode.get("oid"));
-        if (getMajorVersion() >= PG_INDEX_INCLUDE_VERSION) {
+        if (templateExecutor.getMajorVersion() >= PG_INDEX_INCLUDE_VERSION) {
             appendIncludeDetails(indexData, (Long) indexNode.get("oid"));
         }
         return doGenerateIndexSql(indexData);
     }
     
     private String doGenerateIndexSql(final Map<String, Object> indexData) {
-        String result = 
PostgreSQLPipelineFreemarkerManager.getSQLByVersion(indexData, 
"component/indexes/%s/create.ftl", getMajorVersion(), getMinorVersion());
+        String result = 
PostgreSQLPipelineFreemarkerManager.getSQLByVersion(indexData, 
"component/indexes/%s/create.ftl", templateExecutor.getMajorVersion(), 
templateExecutor.getMinorVersion());
         result += System.lineSeparator();
-        result += 
PostgreSQLPipelineFreemarkerManager.getSQLByVersion(indexData, 
"component/indexes/%s/alter.ftl", getMajorVersion(), getMinorVersion());
+        result += 
PostgreSQLPipelineFreemarkerManager.getSQLByVersion(indexData, 
"component/indexes/%s/alter.ftl", templateExecutor.getMajorVersion(), 
templateExecutor.getMinorVersion());
         return result;
     }
     
@@ -94,7 +96,7 @@ public final class PostgreSQLIndexSQLGenerator extends 
AbstractPostgreSQLDDLAdap
         param.put("tid", context.get("tid"));
         param.put("idx", indexNode.get("oid"));
         param.put("datlastsysoid", context.get("datlastsysoid"));
-        return executeByTemplate(param, "component/indexes/%s/properties.ftl");
+        return templateExecutor.executeByTemplate(param, 
"component/indexes/%s/properties.ftl");
     }
     
     private void appendColumnDetails(final Map<String, Object> indexData, 
final Long indexId) throws SQLException {
@@ -140,7 +142,7 @@ public final class PostgreSQLIndexSQLGenerator extends 
AbstractPostgreSQLDDLAdap
     private Collection<Map<String, Object>> fetchColumnDetails(final Long 
indexId) {
         Map<String, Object> param = new LinkedHashMap<>();
         param.put("idx", indexId);
-        return executeByTemplate(param, 
"component/indexes/%s/column_details.ftl");
+        return templateExecutor.executeByTemplate(param, 
"component/indexes/%s/column_details.ftl");
     }
     
     private String getColumnPropertyDisplayData(final Map<String, Object> 
columnDetail, final Map<String, Object> indexData) throws SQLException {
@@ -167,7 +169,7 @@ public final class PostgreSQLIndexSQLGenerator extends 
AbstractPostgreSQLDDLAdap
         Map<String, Object> param = new LinkedHashMap<>();
         param.put("idx", oid);
         Collection<Object> includes = new LinkedList<>();
-        for (Map<String, Object> each : executeByTemplate(param, 
"component/indexes/%s/include_details.ftl")) {
+        for (Map<String, Object> each : 
templateExecutor.executeByTemplate(param, 
"component/indexes/%s/include_details.ftl")) {
             includes.add(each.get("colname"));
         }
         indexData.put("include", includes);
diff --git 
a/kernel/data-pipeline/dialect/postgresql/src/main/java/org/apache/shardingsphere/data/pipeline/postgresql/sqlbuilder/ddl/table/PostgreSQLTablePropertiesLoader.java
 
b/kernel/data-pipeline/dialect/postgresql/src/main/java/org/apache/shardingsphere/data/pipeline/postgresql/sqlbuilder/ddl/table/PostgreSQLTablePropertiesLoader.java
index 574b7b23b94..e1aa32e5ca6 100644
--- 
a/kernel/data-pipeline/dialect/postgresql/src/main/java/org/apache/shardingsphere/data/pipeline/postgresql/sqlbuilder/ddl/table/PostgreSQLTablePropertiesLoader.java
+++ 
b/kernel/data-pipeline/dialect/postgresql/src/main/java/org/apache/shardingsphere/data/pipeline/postgresql/sqlbuilder/ddl/table/PostgreSQLTablePropertiesLoader.java
@@ -17,7 +17,7 @@
 
 package 
org.apache.shardingsphere.data.pipeline.postgresql.sqlbuilder.ddl.table;
 
-import 
org.apache.shardingsphere.data.pipeline.postgresql.sqlbuilder.ddl.AbstractPostgreSQLDDLAdapter;
+import 
org.apache.shardingsphere.data.pipeline.postgresql.sqlbuilder.ddl.PostgreSQLDDLTemplateExecutor;
 
 import java.sql.Connection;
 import java.sql.SQLException;
@@ -29,16 +29,18 @@ import java.util.Map;
 /**
  * Table properties loader for PostgreSQL.
  */
-public final class PostgreSQLTablePropertiesLoader extends 
AbstractPostgreSQLDDLAdapter {
+public final class PostgreSQLTablePropertiesLoader {
     
     private final String tableName;
     
     private final String schemaName;
     
+    private final PostgreSQLDDLTemplateExecutor templateExecutor;
+    
     public PostgreSQLTablePropertiesLoader(final Connection connection, final 
String tableName, final String schemaName, final int majorVersion, final int 
minorVersion) {
-        super(connection, majorVersion, minorVersion);
         this.tableName = tableName;
         this.schemaName = schemaName;
+        templateExecutor = new PostgreSQLDDLTemplateExecutor(connection, 
majorVersion, minorVersion);
     }
     
     /**
@@ -58,28 +60,28 @@ public final class PostgreSQLTablePropertiesLoader extends 
AbstractPostgreSQLDDL
     
     private void fetchDataBaseId(final Map<String, Object> context) throws 
SQLException {
         Map<String, Object> params = new LinkedHashMap<>();
-        params.put("databaseName", getConnection().getCatalog());
-        context.putAll(executeByTemplateForSingleRow(params, 
"component/table/%s/get_database_id.ftl"));
+        params.put("databaseName", 
templateExecutor.getConnection().getCatalog());
+        context.putAll(templateExecutor.executeByTemplateForSingleRow(params, 
"component/table/%s/get_database_id.ftl"));
     }
     
     private void fetchTableId(final Map<String, Object> context) {
         Map<String, Object> params = new LinkedHashMap<>();
         params.put("schemaName", schemaName);
         params.put("tableName", tableName);
-        context.putAll(executeByTemplateForSingleRow(params, 
"component/table/%s/get_table_id.ftl"));
+        context.putAll(templateExecutor.executeByTemplateForSingleRow(params, 
"component/table/%s/get_table_id.ftl"));
     }
     
     private void fetchSchemaId(final Map<String, Object> context) {
         Map<String, Object> params = new LinkedHashMap<>();
         params.put("schemaName", schemaName);
-        context.putAll(executeByTemplateForSingleRow(params, 
"component/table/%s/get_schema_id.ftl"));
+        context.putAll(templateExecutor.executeByTemplateForSingleRow(params, 
"component/table/%s/get_schema_id.ftl"));
     }
     
     private void fetchTableProperties(final Map<String, Object> context) 
throws SQLException {
-        context.putAll(executeByTemplateForSingleRow(context, 
"component/table/%s/properties.ftl"));
+        context.putAll(templateExecutor.executeByTemplateForSingleRow(context, 
"component/table/%s/properties.ftl"));
         updateAutovacuumProperties(context);
         checkRlspolicySupport(context);
-        formatSecurityLabels(context);
+        templateExecutor.formatSecurityLabels(context);
     }
     
     private void updateAutovacuumProperties(final Map<String, Object> context) 
{

Reply via email to