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)
{