You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by pa...@apache.org on 2022/05/28 08:56:04 UTC
[shardingsphere] branch master updated: Rename DialectDDLGenerator to CreateTableSQLGenerator (#18027)
This is an automated email from the ASF dual-hosted git repository.
panjuan 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 a718151664d Rename DialectDDLGenerator to CreateTableSQLGenerator (#18027)
a718151664d is described below
commit a718151664de49c93ae65cc189a79c264749c5b2
Author: Liang Zhang <zh...@apache.org>
AuthorDate: Sat May 28 16:55:58 2022 +0800
Rename DialectDDLGenerator to CreateTableSQLGenerator (#18027)
---
...Generator.java => CreateTableSQLGenerator.java} | 12 ++++-----
...ry.java => CreateTableSQLGeneratorFactory.java} | 12 ++++-----
...ava => CreateTableSQLGeneratorFactoryTest.java} | 4 +--
...re.java => CreateTableSQLGeneratorFixture.java} | 6 ++---
...eline.spi.ddlgenerator.CreateTableSQLGenerator} | 2 +-
.../metadata/generator/PipelineDDLGenerator.java | 6 ++---
...ator.java => MySQLCreateTableSQLGenerator.java} | 8 +++---
...eline.spi.ddlgenerator.CreateTableSQLGenerator} | 2 +-
....java => OpenGaussCreateTableSQLGenerator.java} | 8 +++---
...eline.spi.ddlgenerator.CreateTableSQLGenerator} | 2 +-
.../ddlgenerator/AbstractPostgresDDLAdapter.java | 2 +-
...java => PostgreSQLCreateTableSQLGenerator.java} | 30 +++++++++++-----------
...nerator.java => PostgresIndexSQLGenerator.java} | 14 +++++-----
.../PostgresTablePropertiesLoader.java | 7 ++---
.../postgresql/util/FreemarkerManager.java | 6 ++---
...eline.spi.ddlgenerator.CreateTableSQLGenerator} | 2 +-
.../cases/postgresql/PostgreSQLDDLGeneratorIT.java | 6 ++---
17 files changed, 63 insertions(+), 66 deletions(-)
diff --git a/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-api/src/main/java/org/apache/shardingsphere/data/pipeline/spi/ddlgenerator/DialectDDLGenerator.java b/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-api/src/main/java/org/apache/shardingsphere/data/pipeline/spi/ddlgenerator/CreateTableSQLGenerator.java
similarity index 80%
rename from shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-api/src/main/java/org/apache/shardingsphere/data/pipeline/spi/ddlgenerator/DialectDDLGenerator.java
rename to shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-api/src/main/java/org/apache/shardingsphere/data/pipeline/spi/ddlgenerator/CreateTableSQLGenerator.java
index 336cebadc4f..db622b19789 100644
--- a/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-api/src/main/java/org/apache/shardingsphere/data/pipeline/spi/ddlgenerator/DialectDDLGenerator.java
+++ b/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-api/src/main/java/org/apache/shardingsphere/data/pipeline/spi/ddlgenerator/CreateTableSQLGenerator.java
@@ -24,19 +24,19 @@ import javax.sql.DataSource;
import java.sql.SQLException;
/**
- * Dialect DDL SQL generator.
+ * Create table SQL generator.
*/
@SingletonSPI
-public interface DialectDDLGenerator extends TypedSPI {
+public interface CreateTableSQLGenerator extends TypedSPI {
/**
- * Generate DDL SQL.
+ * Generate create table SQL.
*
* @param tableName table name
* @param schemaName schema name
* @param dataSource dataSource
- * @return sql
- * @throws SQLException sql exception
+ * @return generated SQL
+ * @throws SQLException SQL exception
*/
- String generateDDLSQL(String tableName, String schemaName, DataSource dataSource) throws SQLException;
+ String generate(String tableName, String schemaName, DataSource dataSource) throws SQLException;
}
diff --git a/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-api/src/main/java/org/apache/shardingsphere/data/pipeline/spi/ddlgenerator/DialectDDLSQLGeneratorFactory.java b/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-api/src/main/java/org/apache/shardingsphere/data/pipeline/spi/ddlgenerator/CreateTableSQLGeneratorFactory.java
similarity index 75%
rename from shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-api/src/main/java/org/apache/shardingsphere/data/pipeline/spi/ddlgenerator/DialectDDLSQLGeneratorFactory.java
rename to shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-api/src/main/java/org/apache/shardingsphere/data/pipeline/spi/ddlgenerator/CreateTableSQLGeneratorFactory.java
index 61863bce8b7..19695ba966b 100644
--- a/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-api/src/main/java/org/apache/shardingsphere/data/pipeline/spi/ddlgenerator/DialectDDLSQLGeneratorFactory.java
+++ b/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-api/src/main/java/org/apache/shardingsphere/data/pipeline/spi/ddlgenerator/CreateTableSQLGeneratorFactory.java
@@ -26,22 +26,22 @@ import org.apache.shardingsphere.spi.type.typed.TypedSPIRegistry;
import java.util.Optional;
/**
- * Dialect DDL SQL generator factory.
+ * Create table SQL generator factory.
*/
@NoArgsConstructor(access = AccessLevel.PRIVATE)
-public final class DialectDDLSQLGeneratorFactory {
+public final class CreateTableSQLGeneratorFactory {
static {
- ShardingSphereServiceLoader.register(DialectDDLGenerator.class);
+ ShardingSphereServiceLoader.register(CreateTableSQLGenerator.class);
}
/**
- * Find instance of dialect DDL SQL generator.
+ * Find instance of create table SQL generator.
*
* @param databaseType database type
* @return found instance
*/
- public static Optional<DialectDDLGenerator> findInstance(final DatabaseType databaseType) {
- return TypedSPIRegistry.findRegisteredService(DialectDDLGenerator.class, databaseType.getType());
+ public static Optional<CreateTableSQLGenerator> findInstance(final DatabaseType databaseType) {
+ return TypedSPIRegistry.findRegisteredService(CreateTableSQLGenerator.class, databaseType.getType());
}
}
diff --git a/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-api/src/test/java/org/apache/shardingsphere/data/pipeline/spi/ddlgenerator/DialectDDLSQLGeneratorFactoryTest.java b/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-api/src/test/java/org/apache/shardingsphere/data/pipeline/spi/ddlgenerator/CreateTableSQLGeneratorFactoryTest.java
similarity index 84%
rename from shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-api/src/test/java/org/apache/shardingsphere/data/pipeline/spi/ddlgenerator/DialectDDLSQLGeneratorFactoryTest.java
rename to shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-api/src/test/java/org/apache/shardingsphere/data/pipeline/spi/ddlgenerator/CreateTableSQLGeneratorFactoryTest.java
index 8602785da6d..44d20cbbb4d 100644
--- a/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-api/src/test/java/org/apache/shardingsphere/data/pipeline/spi/ddlgenerator/DialectDDLSQLGeneratorFactoryTest.java
+++ b/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-api/src/test/java/org/apache/shardingsphere/data/pipeline/spi/ddlgenerator/CreateTableSQLGeneratorFactoryTest.java
@@ -22,10 +22,10 @@ import org.junit.Test;
import static org.junit.Assert.assertTrue;
-public final class DialectDDLSQLGeneratorFactoryTest {
+public final class CreateTableSQLGeneratorFactoryTest {
@Test
public void assertFindInstance() {
- assertTrue(DialectDDLSQLGeneratorFactory.findInstance(DatabaseTypeFactory.getInstance("DDL.GENERATOR.FIXTURE")).isPresent());
+ assertTrue(CreateTableSQLGeneratorFactory.findInstance(DatabaseTypeFactory.getInstance("DDL.GENERATOR.FIXTURE")).isPresent());
}
}
diff --git a/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-api/src/test/java/org/apache/shardingsphere/data/pipeline/spi/fixture/DialectDDLGeneratorFixture.java b/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-api/src/test/java/org/apache/shardingsphere/data/pipeline/spi/fixture/CreateTableSQLGeneratorFixture.java
similarity index 83%
rename from shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-api/src/test/java/org/apache/shardingsphere/data/pipeline/spi/fixture/DialectDDLGeneratorFixture.java
rename to shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-api/src/test/java/org/apache/shardingsphere/data/pipeline/spi/fixture/CreateTableSQLGeneratorFixture.java
index 308658aa8ee..6e5373831e1 100644
--- a/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-api/src/test/java/org/apache/shardingsphere/data/pipeline/spi/fixture/DialectDDLGeneratorFixture.java
+++ b/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-api/src/test/java/org/apache/shardingsphere/data/pipeline/spi/fixture/CreateTableSQLGeneratorFixture.java
@@ -17,14 +17,14 @@
package org.apache.shardingsphere.data.pipeline.spi.fixture;
-import org.apache.shardingsphere.data.pipeline.spi.ddlgenerator.DialectDDLGenerator;
+import org.apache.shardingsphere.data.pipeline.spi.ddlgenerator.CreateTableSQLGenerator;
import javax.sql.DataSource;
-public final class DialectDDLGeneratorFixture implements DialectDDLGenerator {
+public final class CreateTableSQLGeneratorFixture implements CreateTableSQLGenerator {
@Override
- public String generateDDLSQL(final String tableName, final String schemaName, final DataSource dataSource) {
+ public String generate(final String tableName, final String schemaName, final DataSource dataSource) {
return "";
}
diff --git a/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-api/src/test/resources/META-INF/services/org.apache.shardingsphere.data.pipeline.spi.ddlgenerator.DialectDDLGenerator b/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-api/src/test/resources/META-INF/services/org.apache.shardingsphere.data.pipeline.spi.ddlgenerator.CreateTableSQLGenerator
similarity index 90%
rename from shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-api/src/test/resources/META-INF/services/org.apache.shardingsphere.data.pipeline.spi.ddlgenerator.DialectDDLGenerator
rename to shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-api/src/test/resources/META-INF/services/org.apache.shardingsphere.data.pipeline.spi.ddlgenerator.CreateTableSQLGenerator
index c1d897de1ed..3d500797cdb 100644
--- a/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-api/src/test/resources/META-INF/services/org.apache.shardingsphere.data.pipeline.spi.ddlgenerator.DialectDDLGenerator
+++ b/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-api/src/test/resources/META-INF/services/org.apache.shardingsphere.data.pipeline.spi.ddlgenerator.CreateTableSQLGenerator
@@ -15,4 +15,4 @@
# limitations under the License.
#
-org.apache.shardingsphere.data.pipeline.spi.fixture.DialectDDLGeneratorFixture
+org.apache.shardingsphere.data.pipeline.spi.fixture.CreateTableSQLGeneratorFixture
diff --git a/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-core/src/main/java/org/apache/shardingsphere/data/pipeline/core/metadata/generator/PipelineDDLGenerator.java b/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-core/src/main/java/org/apache/shardingsphere/data/pipeline/core/metadata/generator/PipelineDDLGenerator.java
index 83a288d8e57..7ccd1ed351f 100644
--- a/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-core/src/main/java/org/apache/shardingsphere/data/pipeline/core/metadata/generator/PipelineDDLGenerator.java
+++ b/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-core/src/main/java/org/apache/shardingsphere/data/pipeline/core/metadata/generator/PipelineDDLGenerator.java
@@ -21,7 +21,7 @@ import com.google.common.base.Preconditions;
import lombok.RequiredArgsConstructor;
import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j;
-import org.apache.shardingsphere.data.pipeline.spi.ddlgenerator.DialectDDLSQLGeneratorFactory;
+import org.apache.shardingsphere.data.pipeline.spi.ddlgenerator.CreateTableSQLGeneratorFactory;
import org.apache.shardingsphere.infra.binder.LogicSQL;
import org.apache.shardingsphere.infra.binder.SQLStatementContextFactory;
import org.apache.shardingsphere.infra.binder.statement.SQLStatementContext;
@@ -136,8 +136,8 @@ public final class PipelineDDLGenerator {
.findFirst();
String dataSourceName = filteredDataNode.map(DataNode::getDataSourceName).orElseGet(() -> database.getResource().getDataSources().keySet().iterator().next());
String actualTable = filteredDataNode.map(DataNode::getTableName).orElse(tableName);
- return DialectDDLSQLGeneratorFactory.findInstance(databaseType).orElseThrow(() -> new ShardingSphereException("Failed to get dialect ddl sql generator"))
- .generateDDLSQL(actualTable, schemaName, database.getResource().getDataSources().get(dataSourceName));
+ return CreateTableSQLGeneratorFactory.findInstance(databaseType).orElseThrow(() -> new ShardingSphereException("Failed to get dialect ddl sql generator"))
+ .generate(actualTable, schemaName, database.getResource().getDataSources().get(dataSourceName));
}
private String decorateActualSQL(final String sql, final ShardingSphereDatabase database, final DatabaseType databaseType, final String databaseName) {
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/ddlgenerator/MySQLDDLGenerator.java b/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-dialect/shardingsphere-data-pipeline-mysql/src/main/java/org/apache/shardingsphere/data/pipeline/mysql/ddlgenerator/MySQLCreateTableSQLGenerator.java
similarity index 86%
rename from shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-dialect/shardingsphere-data-pipeline-mysql/src/main/java/org/apache/shardingsphere/data/pipeline/mysql/ddlgenerator/MySQLDDLGenerator.java
rename to shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-dialect/shardingsphere-data-pipeline-mysql/src/main/java/org/apache/shardingsphere/data/pipeline/mysql/ddlgenerator/MySQLCreateTableSQLGenerator.java
index 0d43c329101..1e4c721f0b0 100644
--- a/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-dialect/shardingsphere-data-pipeline-mysql/src/main/java/org/apache/shardingsphere/data/pipeline/mysql/ddlgenerator/MySQLDDLGenerator.java
+++ b/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-dialect/shardingsphere-data-pipeline-mysql/src/main/java/org/apache/shardingsphere/data/pipeline/mysql/ddlgenerator/MySQLCreateTableSQLGenerator.java
@@ -17,7 +17,7 @@
package org.apache.shardingsphere.data.pipeline.mysql.ddlgenerator;
-import org.apache.shardingsphere.data.pipeline.spi.ddlgenerator.DialectDDLGenerator;
+import org.apache.shardingsphere.data.pipeline.spi.ddlgenerator.CreateTableSQLGenerator;
import org.apache.shardingsphere.infra.exception.ShardingSphereException;
import javax.sql.DataSource;
@@ -26,16 +26,16 @@ import java.sql.SQLException;
import java.sql.Statement;
/**
-* DDL generator for MySQL.
+* Create table SQL generator for MySQL.
*/
-public final class MySQLDDLGenerator implements DialectDDLGenerator {
+public final class MySQLCreateTableSQLGenerator implements CreateTableSQLGenerator {
private static final String SHOW_CREATE_SQL = "SHOW CREATE TABLE %s";
private static final String COLUMN_LABEL = "create table";
@Override
- public String generateDDLSQL(final String tableName, final String schemaName, final DataSource dataSource) throws SQLException {
+ public String generate(final String tableName, final String schemaName, final DataSource dataSource) throws SQLException {
try (
Statement statement = dataSource.getConnection().createStatement();
ResultSet resultSet = statement.executeQuery(String.format(SHOW_CREATE_SQL, tableName))) {
diff --git a/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-dialect/shardingsphere-data-pipeline-mysql/src/main/resources/META-INF/services/org.apache.shardingsphere.data.pipeline.spi.ddlgenerator.DialectDDLGenerator b/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-dialect/shardingsphere-data-pipeline-mysql/src/main/resources/META-INF/services/org.apache.shardingsphere.data.pipeline.spi.ddlgenerator.CreateTableSQLGenerator
similarity index 97%
rename from shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-dialect/shardingsphere-data-pipeline-mysql/src/main/resources/META-INF/services/org.apache.shardingsphere.data.pipeline.spi.ddlgenerator.DialectDDLGenerator
rename to shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-dialect/shardingsphere-data-pipeline-mysql/src/main/resources/META-INF/services/org.apache.shardingsphere.data.pipeline.spi.ddlgenerator.CreateTableSQLGenerator
index c9c10564d95..4d8d8e80a06 100644
--- a/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-dialect/shardingsphere-data-pipeline-mysql/src/main/resources/META-INF/services/org.apache.shardingsphere.data.pipeline.spi.ddlgenerator.DialectDDLGenerator
+++ b/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-dialect/shardingsphere-data-pipeline-mysql/src/main/resources/META-INF/services/org.apache.shardingsphere.data.pipeline.spi.ddlgenerator.CreateTableSQLGenerator
@@ -15,4 +15,4 @@
# limitations under the License.
#
-org.apache.shardingsphere.data.pipeline.mysql.ddlgenerator.MySQLDDLGenerator
+org.apache.shardingsphere.data.pipeline.mysql.ddlgenerator.MySQLCreateTableSQLGenerator
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/ddlgenerator/OpenGaussDDLGenerator.java b/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-dialect/shardingsphere-data-pipeline-opengauss/src/main/java/org/apache/shardingsphere/data/pipeline/opengauss/ddlgenerator/OpenGaussCreateTableSQLGenerator.java
similarity index 86%
rename from shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-dialect/shardingsphere-data-pipeline-opengauss/src/main/java/org/apache/shardingsphere/data/pipeline/opengauss/ddlgenerator/OpenGaussDDLGenerator.java
rename to shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-dialect/shardingsphere-data-pipeline-opengauss/src/main/java/org/apache/shardingsphere/data/pipeline/opengauss/ddlgenerator/OpenGaussCreateTableSQLGenerator.java
index c5b2e2d533d..6a07a5c58aa 100644
--- a/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-dialect/shardingsphere-data-pipeline-opengauss/src/main/java/org/apache/shardingsphere/data/pipeline/opengauss/ddlgenerator/OpenGaussDDLGenerator.java
+++ b/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-dialect/shardingsphere-data-pipeline-opengauss/src/main/java/org/apache/shardingsphere/data/pipeline/opengauss/ddlgenerator/OpenGaussCreateTableSQLGenerator.java
@@ -17,7 +17,7 @@
package org.apache.shardingsphere.data.pipeline.opengauss.ddlgenerator;
-import org.apache.shardingsphere.data.pipeline.spi.ddlgenerator.DialectDDLGenerator;
+import org.apache.shardingsphere.data.pipeline.spi.ddlgenerator.CreateTableSQLGenerator;
import org.apache.shardingsphere.infra.exception.ShardingSphereException;
import javax.sql.DataSource;
@@ -26,16 +26,16 @@ import java.sql.SQLException;
import java.sql.Statement;
/**
-* DDL generator for openGauss.
+* Create table SQL generator for openGauss.
*/
-public final class OpenGaussDDLGenerator implements DialectDDLGenerator {
+public final class OpenGaussCreateTableSQLGenerator implements CreateTableSQLGenerator {
private static final String SELECT_TABLE_DEF_SQL = "SELECT * FROM pg_get_tabledef('%s.%s')";
private static final String COLUMN_LABEL = "pg_get_tabledef";
@Override
- public String generateDDLSQL(final String tableName, final String schemaName, final DataSource dataSource) throws SQLException {
+ public String generate(final String tableName, final String schemaName, final DataSource dataSource) throws SQLException {
try (
Statement statement = dataSource.getConnection().createStatement();
ResultSet resultSet = statement.executeQuery(String.format(SELECT_TABLE_DEF_SQL, schemaName, tableName))) {
diff --git a/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-dialect/shardingsphere-data-pipeline-opengauss/src/main/resources/META-INF/services/org.apache.shardingsphere.data.pipeline.spi.ddlgenerator.DialectDDLGenerator b/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-dialect/shardingsphere-data-pipeline-opengauss/src/main/resources/META-INF/services/org.apache.shardingsphere.data.pipeline.spi.ddlgenerator.CreateTableSQLGenerator
similarity index 96%
rename from shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-dialect/shardingsphere-data-pipeline-opengauss/src/main/resources/META-INF/services/org.apache.shardingsphere.data.pipeline.spi.ddlgenerator.DialectDDLGenerator
rename to shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-dialect/shardingsphere-data-pipeline-opengauss/src/main/resources/META-INF/services/org.apache.shardingsphere.data.pipeline.spi.ddlgenerator.CreateTableSQLGenerator
index 261342bc3a4..a57974eebae 100644
--- a/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-dialect/shardingsphere-data-pipeline-opengauss/src/main/resources/META-INF/services/org.apache.shardingsphere.data.pipeline.spi.ddlgenerator.DialectDDLGenerator
+++ b/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-dialect/shardingsphere-data-pipeline-opengauss/src/main/resources/META-INF/services/org.apache.shardingsphere.data.pipeline.spi.ddlgenerator.CreateTableSQLGenerator
@@ -15,4 +15,4 @@
# limitations under the License.
#
-org.apache.shardingsphere.data.pipeline.opengauss.ddlgenerator.OpenGaussDDLGenerator
+org.apache.shardingsphere.data.pipeline.opengauss.ddlgenerator.OpenGaussCreateTableSQLGenerator
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/ddlgenerator/AbstractPostgresDDLAdapter.java b/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-dialect/shardingsphere-data-pipeline-postgresql/src/main/java/org/apache/shardingsphere/data/pipeline/postgresql/ddlgenerator/AbstractPostgresDDLAdapter.java
index eb9f8a115f4..2c8addecd33 100644
--- a/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-dialect/shardingsphere-data-pipeline-postgresql/src/main/java/org/apache/shardingsphere/data/pipeline/postgresql/ddlgenerator/AbstractPostgresDDLAdapter.java
+++ b/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-dialect/shardingsphere-data-pipeline-postgresql/src/main/java/org/apache/shardingsphere/data/pipeline/postgresql/ddlgenerator/AbstractPostgresDDLAdapter.java
@@ -58,7 +58,7 @@ public abstract class AbstractPostgresDDLAdapter {
protected Collection<Map<String, Object>> executeByTemplate(final Map<String, Object> parameters, final String path) {
try (
Statement statement = connection.createStatement();
- ResultSet resultSet = statement.executeQuery(FreemarkerManager.getSqlByPgVersion(parameters, path, majorVersion, minorVersion))) {
+ ResultSet resultSet = statement.executeQuery(FreemarkerManager.getSQLByPgVersion(parameters, path, majorVersion, minorVersion))) {
return getRows(resultSet);
}
}
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/ddlgenerator/PostgreDDLGenerator.java b/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-dialect/shardingsphere-data-pipeline-postgresql/src/main/java/org/apache/shardingsphere/data/pipeline/postgresql/ddlgenerator/PostgreSQLCreateTableSQLGenerator.java
similarity index 72%
rename from shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-dialect/shardingsphere-data-pipeline-postgresql/src/main/java/org/apache/shardingsphere/data/pipeline/postgresql/ddlgenerator/PostgreDDLGenerator.java
rename to shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-dialect/shardingsphere-data-pipeline-postgresql/src/main/java/org/apache/shardingsphere/data/pipeline/postgresql/ddlgenerator/PostgreSQLCreateTableSQLGenerator.java
index dd046166000..462b88bfa3f 100644
--- a/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-dialect/shardingsphere-data-pipeline-postgresql/src/main/java/org/apache/shardingsphere/data/pipeline/postgresql/ddlgenerator/PostgreDDLGenerator.java
+++ b/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-dialect/shardingsphere-data-pipeline-postgresql/src/main/java/org/apache/shardingsphere/data/pipeline/postgresql/ddlgenerator/PostgreSQLCreateTableSQLGenerator.java
@@ -17,7 +17,7 @@
package org.apache.shardingsphere.data.pipeline.postgresql.ddlgenerator;
-import org.apache.shardingsphere.data.pipeline.spi.ddlgenerator.DialectDDLGenerator;
+import org.apache.shardingsphere.data.pipeline.spi.ddlgenerator.CreateTableSQLGenerator;
import org.apache.shardingsphere.data.pipeline.postgresql.util.FreemarkerManager;
import javax.sql.DataSource;
@@ -27,41 +27,41 @@ import java.util.Collection;
import java.util.Map;
/**
- * DDL generator for PostgreSQL.
+ * Create table SQL generator for PostgreSQL.
*/
-public final class PostgreDDLGenerator implements DialectDDLGenerator {
+public final class PostgreSQLCreateTableSQLGenerator implements CreateTableSQLGenerator {
// TODO support partitions etc.
@Override
- public String generateDDLSQL(final String tableName, final String schemaName, final DataSource dataSource) throws SQLException {
+ public String generate(final String tableName, final String schemaName, final DataSource dataSource) throws SQLException {
try (Connection connection = dataSource.getConnection()) {
int majorVersion = connection.getMetaData().getDatabaseMajorVersion();
int minorVersion = connection.getMetaData().getDatabaseMinorVersion();
Map<String, Object> materials = loadMaterials(tableName, schemaName, connection, majorVersion, minorVersion);
- String tableSql = generateCreateTableSql(materials, majorVersion, minorVersion);
- String indexSql = generateCreateIndexSql(materials, majorVersion, minorVersion, connection);
- return tableSql + System.lineSeparator() + indexSql;
+ String tableSQL = generateCreateTableSQL(majorVersion, minorVersion, materials);
+ String indexSQL = generateCreateIndexSQL(connection, majorVersion, minorVersion, materials);
+ return tableSQL + System.lineSeparator() + indexSQL;
}
}
- private Map<String, Object> loadMaterials(final String tableName, final String schemaName, final Connection connection, final int majorVersion, final int minorVersion) {
- Map<String, Object> result = new PostgresTablePropertiesLoader(connection, tableName, schemaName, majorVersion, minorVersion).loadTableProperties();
+ private Map<String, Object> loadMaterials(final String tableName, final String schemaName, final Connection connection, final int majorVersion, final int minorVersion) throws SQLException {
+ Map<String, Object> result = new PostgresTablePropertiesLoader(connection, tableName, schemaName, majorVersion, minorVersion).load();
new PostgresColumnPropertiesAppender(connection, majorVersion, minorVersion).append(result);
new PostgresConstraintsPropertiesAppender(connection, majorVersion, minorVersion).append(result);
- formatColumnList(result);
+ formatColumns(result);
return result;
}
- private String generateCreateTableSql(final Map<String, Object> materials, final int majorVersion, final int minorVersion) {
- return FreemarkerManager.getSqlByPgVersion(materials, "table/%s/create.ftl", majorVersion, minorVersion).trim();
+ private String generateCreateTableSQL(final int majorVersion, final int minorVersion, final Map<String, Object> materials) {
+ return FreemarkerManager.getSQLByPgVersion(materials, "table/%s/create.ftl", majorVersion, minorVersion).trim();
}
- private String generateCreateIndexSql(final Map<String, Object> materials, final int majorVersion, final int minorVersion, final Connection connection) {
- return new PostgresIndexSqlGenerator(connection, majorVersion, minorVersion).generate(materials);
+ private String generateCreateIndexSQL(final Connection connection, final int majorVersion, final int minorVersion, final Map<String, Object> materials) {
+ return new PostgresIndexSQLGenerator(connection, majorVersion, minorVersion).generate(materials);
}
@SuppressWarnings("unchecked")
- private void formatColumnList(final Map<String, Object> context) {
+ private void formatColumns(final Map<String, Object> context) {
Collection<Map<String, Object>> columns = (Collection<Map<String, Object>>) context.get("columns");
for (Map<String, Object> each : columns) {
if (each.containsKey("cltype")) {
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/ddlgenerator/PostgresIndexSqlGenerator.java b/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-dialect/shardingsphere-data-pipeline-postgresql/src/main/java/org/apache/shardingsphere/data/pipeline/postgresql/ddlgenerator/PostgresIndexSQLGenerator.java
similarity index 95%
rename from shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-dialect/shardingsphere-data-pipeline-postgresql/src/main/java/org/apache/shardingsphere/data/pipeline/postgresql/ddlgenerator/PostgresIndexSqlGenerator.java
rename to shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-dialect/shardingsphere-data-pipeline-postgresql/src/main/java/org/apache/shardingsphere/data/pipeline/postgresql/ddlgenerator/PostgresIndexSQLGenerator.java
index fc93b72e41e..33e76341f37 100644
--- a/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-dialect/shardingsphere-data-pipeline-postgresql/src/main/java/org/apache/shardingsphere/data/pipeline/postgresql/ddlgenerator/PostgresIndexSqlGenerator.java
+++ b/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-dialect/shardingsphere-data-pipeline-postgresql/src/main/java/org/apache/shardingsphere/data/pipeline/postgresql/ddlgenerator/PostgresIndexSQLGenerator.java
@@ -29,21 +29,21 @@ import java.util.LinkedList;
import java.util.Map;
/**
- * Postgres index sql generator.
+ * Postgres index SQL generator.
*/
-public final class PostgresIndexSqlGenerator extends AbstractPostgresDDLAdapter {
+public final class PostgresIndexSQLGenerator extends AbstractPostgresDDLAdapter {
private static final Integer PG_INDEX_INCLUDE_VERSION = 11;
- public PostgresIndexSqlGenerator(final Connection connection, final int majorVersion, final int minorVersion) {
+ public PostgresIndexSQLGenerator(final Connection connection, final int majorVersion, final int minorVersion) {
super(connection, majorVersion, minorVersion);
}
/**
- * Generate create index sql.
+ * Generate create index SQL.
*
* @param context context
- * @return index sql
+ * @return generated SQL
*/
@SneakyThrows
public String generate(final Map<String, Object> context) {
@@ -74,9 +74,9 @@ public final class PostgresIndexSqlGenerator extends AbstractPostgresDDLAdapter
}
private String doGenerateIndexSql(final Map<String, Object> indexData) {
- String result = FreemarkerManager.getSqlByPgVersion(indexData, "indexes/%s/create.ftl", getMajorVersion(), getMinorVersion());
+ String result = FreemarkerManager.getSQLByPgVersion(indexData, "indexes/%s/create.ftl", getMajorVersion(), getMinorVersion());
result += System.lineSeparator();
- result += FreemarkerManager.getSqlByPgVersion(indexData, "indexes/%s/alter.ftl", getMajorVersion(), getMinorVersion());
+ result += FreemarkerManager.getSQLByPgVersion(indexData, "indexes/%s/alter.ftl", getMajorVersion(), getMinorVersion());
return result;
}
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/ddlgenerator/PostgresTablePropertiesLoader.java b/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-dialect/shardingsphere-data-pipeline-postgresql/src/main/java/org/apache/shardingsphere/data/pipeline/postgresql/ddlgenerator/PostgresTablePropertiesLoader.java
index a491b8ecb27..08488d082af 100644
--- a/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-dialect/shardingsphere-data-pipeline-postgresql/src/main/java/org/apache/shardingsphere/data/pipeline/postgresql/ddlgenerator/PostgresTablePropertiesLoader.java
+++ b/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-dialect/shardingsphere-data-pipeline-postgresql/src/main/java/org/apache/shardingsphere/data/pipeline/postgresql/ddlgenerator/PostgresTablePropertiesLoader.java
@@ -17,8 +17,6 @@
package org.apache.shardingsphere.data.pipeline.postgresql.ddlgenerator;
-import lombok.SneakyThrows;
-
import java.sql.Connection;
import java.sql.SQLException;
import java.util.Arrays;
@@ -44,10 +42,9 @@ public final class PostgresTablePropertiesLoader extends AbstractPostgresDDLAdap
/**
* Load table properties.
*
- * @return table properties
+ * @return loaded table properties
*/
- @SneakyThrows
- public Map<String, Object> loadTableProperties() {
+ public Map<String, Object> load() throws SQLException {
Map<String, Object> result = new LinkedHashMap<>();
fetchDataBaseId(result);
fetchSchemaId(result);
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/util/FreemarkerManager.java b/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-dialect/shardingsphere-data-pipeline-postgresql/src/main/java/org/apache/shardingsphere/data/pipeline/postgresql/util/FreemarkerManager.java
index 577e04946f9..966184f4468 100644
--- a/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-dialect/shardingsphere-data-pipeline-postgresql/src/main/java/org/apache/shardingsphere/data/pipeline/postgresql/util/FreemarkerManager.java
+++ b/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-dialect/shardingsphere-data-pipeline-postgresql/src/main/java/org/apache/shardingsphere/data/pipeline/postgresql/util/FreemarkerManager.java
@@ -76,16 +76,16 @@ public final class FreemarkerManager {
}
/**
- * Get sql by postgres version.
+ * Get SQL by postgres version.
*
* @param data data
* @param pathFormat path format
* @param majorVersion major version
* @param minorVersion minor version
- * @return sql
+ * @return SQL
*/
@SneakyThrows
- public static String getSqlByPgVersion(final Map<String, Object> data, final String pathFormat, final int majorVersion, final int minorVersion) {
+ public static String getSQLByPgVersion(final Map<String, Object> data, final String pathFormat, final int majorVersion, final int minorVersion) {
int version = majorVersion * 10000 + minorVersion;
try (StringWriter result = new StringWriter()) {
findTemplate(pathFormat, version).orElseThrow(() -> new ShardingSphereException("Failed to get template, path:%s, version:%s", pathFormat, version)).process(data, result);
diff --git a/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-dialect/shardingsphere-data-pipeline-postgresql/src/main/resources/META-INF/services/org.apache.shardingsphere.data.pipeline.spi.ddlgenerator.DialectDDLGenerator b/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-dialect/shardingsphere-data-pipeline-postgresql/src/main/resources/META-INF/services/org.apache.shardingsphere.data.pipeline.spi.ddlgenerator.CreateTableSQL [...]
similarity index 96%
rename from shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-dialect/shardingsphere-data-pipeline-postgresql/src/main/resources/META-INF/services/org.apache.shardingsphere.data.pipeline.spi.ddlgenerator.DialectDDLGenerator
rename to shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-dialect/shardingsphere-data-pipeline-postgresql/src/main/resources/META-INF/services/org.apache.shardingsphere.data.pipeline.spi.ddlgenerator.CreateTableSQLGenerator
index 2a160367151..e34da9d903c 100644
--- a/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-dialect/shardingsphere-data-pipeline-postgresql/src/main/resources/META-INF/services/org.apache.shardingsphere.data.pipeline.spi.ddlgenerator.DialectDDLGenerator
+++ b/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-dialect/shardingsphere-data-pipeline-postgresql/src/main/resources/META-INF/services/org.apache.shardingsphere.data.pipeline.spi.ddlgenerator.CreateTableSQLGenerator
@@ -15,4 +15,4 @@
# limitations under the License.
#
-org.apache.shardingsphere.data.pipeline.postgresql.ddlgenerator.PostgreDDLGenerator
+org.apache.shardingsphere.data.pipeline.postgresql.ddlgenerator.PostgreSQLCreateTableSQLGenerator
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-scaling/src/test/java/org/apache/shardingsphere/integration/data/pipeline/cases/postgresql/PostgreSQLDDLGeneratorIT.java b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-scaling/src/test/java/org/apache/shardingsphere/integration/data/pipeline/cases/postgresql/PostgreSQLDDLGeneratorIT.java
index 2ca6de44bb4..49b63ff25ed 100644
--- a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-scaling/src/test/java/org/apache/shardingsphere/integration/data/pipeline/cases/postgresql/PostgreSQLDDLGeneratorIT.java
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-scaling/src/test/java/org/apache/shardingsphere/integration/data/pipeline/cases/postgresql/PostgreSQLDDLGeneratorIT.java
@@ -19,7 +19,7 @@ package org.apache.shardingsphere.integration.data.pipeline.cases.postgresql;
import com.google.common.base.Strings;
import com.zaxxer.hikari.HikariDataSource;
-import org.apache.shardingsphere.data.pipeline.spi.ddlgenerator.DialectDDLSQLGeneratorFactory;
+import org.apache.shardingsphere.data.pipeline.spi.ddlgenerator.CreateTableSQLGeneratorFactory;
import org.apache.shardingsphere.infra.database.type.dialect.PostgreSQLDatabaseType;
import org.apache.shardingsphere.infra.exception.ShardingSphereException;
import org.apache.shardingsphere.integration.data.pipeline.cases.entity.DDLGeneratorAssertionEntity;
@@ -96,8 +96,8 @@ public final class PostgreSQLDDLGeneratorIT {
int majorVersion = connection.getMetaData().getDatabaseMajorVersion();
for (DDLGeneratorAssertionEntity each : rootEntity.getAssertions()) {
statement.execute(each.getInput().getSql());
- String sql = DialectDDLSQLGeneratorFactory.findInstance(parameterized.getDatabaseType()).orElseThrow(() -> new ShardingSphereException("Failed to get dialect ddl sql generator"))
- .generateDDLSQL(each.getInput().getTable(), DEFAULT_SCHEMA, dataSource);
+ String sql = CreateTableSQLGeneratorFactory.findInstance(parameterized.getDatabaseType()).orElseThrow(() -> new ShardingSphereException("Failed to get dialect ddl sql generator"))
+ .generate(each.getInput().getTable(), DEFAULT_SCHEMA, dataSource);
assertThat(REPLACE_LINE_SPACE.matcher(sql).replaceAll(""), is(REPLACE_LINE_SPACE.matcher(getVersionOutput(each.getOutputs(), majorVersion)).replaceAll("")));
}
}