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 3dca1f64c20 Add DatabaseTypedSPI (#26892)
3dca1f64c20 is described below
commit 3dca1f64c20f8704c18b9bdb6dbdd01185bf59f4
Author: Liang Zhang <[email protected]>
AuthorDate: Tue Jul 11 07:06:26 2023 +0800
Add DatabaseTypedSPI (#26892)
---
.../loader/datatype/DialectDataTypeLoader.java | 4 ++--
.../datatype/dialect/MySQLDataTypeLoader.java | 2 +-
.../datatype/dialect/OracleDataTypeLoader.java | 2 +-
.../DatabaseTypedSPI.java} | 25 +++++++++++----------
.../infra/spi/DatabaseTypedSPILoader.java | 9 ++++----
.../infra/spi/DatabaseTypedSPILoaderTest.java | 16 ++++++-------
.../infra/spi/fixture/DatabaseTypedSPIFixture.java | 4 ++--
.../fixture/impl/FooDatabaseTypedSPIFixture.java | 2 +-
.../spi/check/datasource/DataSourceChecker.java | 4 ++--
.../datasource/JdbcQueryPropertiesExtension.java | 4 ++--
.../spi/ddlgenerator/CreateTableSQLGenerator.java | 4 ++--
.../spi/ingest/dumper/ColumnValueReader.java | 4 ++--
.../ingest/dumper/IncrementalDumperCreator.java | 4 ++--
.../spi/ingest/position/PositionInitializer.java | 4 ++--
.../spi/sqlbuilder/PipelineSQLBuilder.java | 7 ++----
.../datasource/H2JdbcQueryPropertiesExtension.java | 2 +-
.../sqlbuilder/AbstractPipelineSQLBuilder.java | 4 +---
.../preparer/datasource/DataSourcePreparer.java | 4 ++--
.../checker/AbstractDataSourceChecker.java | 7 ------
.../datasource/checker/BasicDataSourceChecker.java | 2 +-
.../position/FixturePositionInitializer.java | 2 +-
.../sqlbuilder/FixturePipelineSQLBuilder.java | 2 +-
.../common/sqlbuilder/H2PipelineSQLBuilder.java | 2 +-
.../datasource/AbstractDataSourceCheckerTest.java | 8 +++----
.../datasource/AbstractDataSourcePreparerTest.java | 5 +++++
.../pipeline/h2/H2IncrementalDumperCreator.java | 2 +-
.../mysql/MySQLIncrementalDumperCreator.java | 2 +-
.../check/datasource/MySQLDataSourceChecker.java | 2 +-
.../MySQLJdbcQueryPropertiesExtension.java | 2 +-
.../ddlgenerator/MySQLCreateTableSQLGenerator.java | 2 +-
.../mysql/ingest/MySQLColumnValueReader.java | 2 +-
.../mysql/ingest/MySQLPositionInitializer.java | 2 +-
.../datasource/MySQLDataSourcePreparer.java | 2 +-
.../mysql/sqlbuilder/MySQLPipelineSQLBuilder.java | 2 +-
.../MySQLJdbcQueryPropertiesExtensionTest.java | 26 ++++++++++++----------
.../OpenGaussIncrementalDumperCreator.java | 2 +-
.../datasource/OpenGaussDataSourceChecker.java | 2 +-
.../OpenGaussJdbcQueryPropertiesExtension.java | 2 +-
.../OpenGaussCreateTableSQLGenerator.java | 2 +-
.../ingest/OpenGaussPositionInitializer.java | 2 +-
.../ingest/wal/OpenGaussColumnValueReader.java | 2 +-
.../datasource/OpenGaussDataSourcePreparer.java | 2 +-
.../sqlbuilder/OpenGaussPipelineSQLBuilder.java | 2 +-
.../OpenGaussJdbcQueryPropertiesExtensionTest.java | 10 +++++----
.../PostgreSQLIncrementalDumperCreator.java | 2 +-
.../datasource/PostgreSQLDataSourceChecker.java | 2 +-
.../PostgreSQLJdbcQueryPropertiesExtension.java | 2 +-
.../PostgreSQLCreateTableSQLGenerator.java | 2 +-
.../ingest/PostgreSQLColumnValueReader.java | 2 +-
.../ingest/PostgreSQLPositionInitializer.java | 2 +-
.../datasource/PostgreSQLDataSourcePreparer.java | 2 +-
.../sqlbuilder/PostgreSQLPipelineSQLBuilder.java | 2 +-
...PostgreSQLJdbcQueryPropertiesExtensionTest.java | 8 ++++---
.../executor/GlobalClockTransactionExecutor.java | 4 ++--
.../OpenGaussGlobalClockTransactionExecutor.java | 2 +-
.../createtable/CreateTableSQLGeneratorIT.java | 6 ++---
test/it/pipeline/pom.xml | 5 +++++
.../core/fixture/FixtureColumnValueReader.java | 2 +-
.../core/fixture/FixtureDataSourceChecker.java | 2 +-
.../fixture/FixtureIncrementalDumperCreator.java | 2 +-
.../core/fixture/H2CreateTableSQLGenerator.java | 5 ++---
.../core/fixture/H2DataSourcePreparer.java | 2 +-
.../core/fixture/H2PipelineSQLBuilder.java | 2 +-
.../core/fixture/H2PositionInitializer.java | 2 +-
64 files changed, 132 insertions(+), 129 deletions(-)
diff --git
a/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/loader/datatype/DialectDataTypeLoader.java
b/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/loader/datatype/DialectDataTypeLoader.java
index 8cee6a38786..33ea47d065a 100644
---
a/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/loader/datatype/DialectDataTypeLoader.java
+++
b/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/loader/datatype/DialectDataTypeLoader.java
@@ -17,8 +17,8 @@
package
org.apache.shardingsphere.infra.metadata.database.schema.loader.datatype;
+import org.apache.shardingsphere.infra.spi.DatabaseTypedSPI;
import org.apache.shardingsphere.infra.util.spi.annotation.SingletonSPI;
-import org.apache.shardingsphere.infra.util.spi.type.typed.TypedSPI;
import java.sql.SQLException;
import java.util.Map;
@@ -27,7 +27,7 @@ import java.util.Map;
* Dialect data type loader.
*/
@SingletonSPI
-public interface DialectDataTypeLoader extends TypedSPI {
+public interface DialectDataTypeLoader extends DatabaseTypedSPI {
/**
* Load data type.
diff --git
a/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/loader/datatype/dialect/MySQLDataTypeLoader.java
b/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/loader/datatype/dialect/MySQLDataTypeLoader.java
index 5446274515d..c6a5e7378dd 100644
---
a/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/loader/datatype/dialect/MySQLDataTypeLoader.java
+++
b/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/loader/datatype/dialect/MySQLDataTypeLoader.java
@@ -46,7 +46,7 @@ public final class MySQLDataTypeLoader implements
DialectDataTypeLoader {
}
@Override
- public String getType() {
+ public String getDatabaseType() {
return "MySQL";
}
}
diff --git
a/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/loader/datatype/dialect/OracleDataTypeLoader.java
b/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/loader/datatype/dialect/OracleDataTypeLoader.java
index 2d43396579e..49e56b44cdd 100644
---
a/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/loader/datatype/dialect/OracleDataTypeLoader.java
+++
b/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/loader/datatype/dialect/OracleDataTypeLoader.java
@@ -35,7 +35,7 @@ public final class OracleDataTypeLoader implements
DialectDataTypeLoader {
}
@Override
- public String getType() {
+ public String getDatabaseType() {
return "Oracle";
}
}
diff --git
a/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/loader/datatype/DialectDataTypeLoader.java
b/infra/common/src/main/java/org/apache/shardingsphere/infra/spi/DatabaseTypedSPI.java
similarity index 65%
copy from
infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/loader/datatype/DialectDataTypeLoader.java
copy to
infra/common/src/main/java/org/apache/shardingsphere/infra/spi/DatabaseTypedSPI.java
index 8cee6a38786..f849b86a4c1 100644
---
a/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/loader/datatype/DialectDataTypeLoader.java
+++
b/infra/common/src/main/java/org/apache/shardingsphere/infra/spi/DatabaseTypedSPI.java
@@ -15,25 +15,26 @@
* limitations under the License.
*/
-package
org.apache.shardingsphere.infra.metadata.database.schema.loader.datatype;
+package org.apache.shardingsphere.infra.spi;
-import org.apache.shardingsphere.infra.util.spi.annotation.SingletonSPI;
+import org.apache.shardingsphere.infra.database.type.DatabaseType;
import org.apache.shardingsphere.infra.util.spi.type.typed.TypedSPI;
-
-import java.sql.SQLException;
-import java.util.Map;
+import org.apache.shardingsphere.infra.util.spi.type.typed.TypedSPILoader;
/**
- * Dialect data type loader.
+ * Database typed SPI.
*/
-@SingletonSPI
-public interface DialectDataTypeLoader extends TypedSPI {
+public interface DatabaseTypedSPI extends TypedSPI {
/**
- * Load data type.
+ * Get database type.
*
- * @return data type map
- * @throws SQLException SQL exception
+ * @return database type
*/
- Map<String, Integer> load() throws SQLException;
+ String getDatabaseType();
+
+ @Override
+ default DatabaseType getType() {
+ return TypedSPILoader.getService(DatabaseType.class,
getDatabaseType());
+ }
}
diff --git
a/infra/common/src/main/java/org/apache/shardingsphere/infra/spi/DatabaseTypedSPILoader.java
b/infra/common/src/main/java/org/apache/shardingsphere/infra/spi/DatabaseTypedSPILoader.java
index 56c98f36bbc..cabb5d8468b 100644
---
a/infra/common/src/main/java/org/apache/shardingsphere/infra/spi/DatabaseTypedSPILoader.java
+++
b/infra/common/src/main/java/org/apache/shardingsphere/infra/spi/DatabaseTypedSPILoader.java
@@ -22,7 +22,6 @@ import lombok.NoArgsConstructor;
import org.apache.shardingsphere.infra.database.type.BranchDatabaseType;
import org.apache.shardingsphere.infra.database.type.DatabaseType;
import
org.apache.shardingsphere.infra.util.spi.exception.ServiceProviderNotFoundServerException;
-import org.apache.shardingsphere.infra.util.spi.type.typed.TypedSPI;
import org.apache.shardingsphere.infra.util.spi.type.typed.TypedSPILoader;
import java.util.Optional;
@@ -41,13 +40,13 @@ public final class DatabaseTypedSPILoader {
* @param <T> SPI class type
* @return found service
*/
- public static <T extends TypedSPI> Optional<T> findService(final Class<T>
spiClass, final DatabaseType databaseType) {
- Optional<T> result = TypedSPILoader.findService(spiClass,
databaseType.getType());
+ public static <T extends DatabaseTypedSPI> Optional<T> findService(final
Class<T> spiClass, final DatabaseType databaseType) {
+ Optional<T> result = TypedSPILoader.findService(spiClass,
databaseType);
if (result.isPresent()) {
return result;
}
if (databaseType instanceof BranchDatabaseType) {
- return TypedSPILoader.findService(spiClass, ((BranchDatabaseType)
databaseType).getTrunkDatabaseType().getType());
+ return TypedSPILoader.findService(spiClass, ((BranchDatabaseType)
databaseType).getTrunkDatabaseType());
}
return result;
}
@@ -60,7 +59,7 @@ public final class DatabaseTypedSPILoader {
* @param <T> SPI class type
* @return found service
*/
- public static <T extends TypedSPI> T getService(final Class<T> spiClass,
final DatabaseType databaseType) {
+ public static <T extends DatabaseTypedSPI> T getService(final Class<T>
spiClass, final DatabaseType databaseType) {
return findService(spiClass, databaseType).orElseThrow(() -> new
ServiceProviderNotFoundServerException(spiClass, databaseType.getType()));
}
}
diff --git
a/infra/common/src/test/java/org/apache/shardingsphere/infra/spi/DatabaseTypedSPILoaderTest.java
b/infra/common/src/test/java/org/apache/shardingsphere/infra/spi/DatabaseTypedSPILoaderTest.java
index cd182bc35a0..8c76e5fbcde 100644
---
a/infra/common/src/test/java/org/apache/shardingsphere/infra/spi/DatabaseTypedSPILoaderTest.java
+++
b/infra/common/src/test/java/org/apache/shardingsphere/infra/spi/DatabaseTypedSPILoaderTest.java
@@ -17,11 +17,10 @@
package org.apache.shardingsphere.infra.spi;
-import
org.apache.shardingsphere.infra.database.type.dialect.MariaDBDatabaseType;
-import org.apache.shardingsphere.infra.database.type.dialect.MySQLDatabaseType;
-import
org.apache.shardingsphere.infra.database.type.dialect.PostgreSQLDatabaseType;
+import org.apache.shardingsphere.infra.database.type.DatabaseType;
import org.apache.shardingsphere.infra.spi.fixture.DatabaseTypedSPIFixture;
import
org.apache.shardingsphere.infra.util.spi.exception.ServiceProviderNotFoundServerException;
+import org.apache.shardingsphere.infra.util.spi.type.typed.TypedSPILoader;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertDoesNotThrow;
@@ -33,26 +32,27 @@ class DatabaseTypedSPILoaderTest {
@Test
void assertFindServiceWithTrunkDatabaseType() {
-
assertTrue(DatabaseTypedSPILoader.findService(DatabaseTypedSPIFixture.class,
new MySQLDatabaseType()).isPresent());
+
assertTrue(DatabaseTypedSPILoader.findService(DatabaseTypedSPIFixture.class,
TypedSPILoader.getService(DatabaseType.class, "MySQL")).isPresent());
}
@Test
void assertFindServiceWithBranchDatabaseType() {
-
assertTrue(DatabaseTypedSPILoader.findService(DatabaseTypedSPIFixture.class,
new MariaDBDatabaseType()).isPresent());
+
assertTrue(DatabaseTypedSPILoader.findService(DatabaseTypedSPIFixture.class,
TypedSPILoader.getService(DatabaseType.class, "MariaDB")).isPresent());
}
@Test
void assertFindServiceWithUnregisteredDatabaseType() {
-
assertFalse(DatabaseTypedSPILoader.findService(DatabaseTypedSPIFixture.class,
new PostgreSQLDatabaseType()).isPresent());
+
assertFalse(DatabaseTypedSPILoader.findService(DatabaseTypedSPIFixture.class,
TypedSPILoader.getService(DatabaseType.class, "PostgreSQL")).isPresent());
}
@Test
void assertGetServiceWithRegisteredDatabaseType() {
- assertDoesNotThrow(() ->
DatabaseTypedSPILoader.getService(DatabaseTypedSPIFixture.class, new
MySQLDatabaseType()));
+ assertDoesNotThrow(() ->
DatabaseTypedSPILoader.getService(DatabaseTypedSPIFixture.class,
TypedSPILoader.getService(DatabaseType.class, "MySQL")));
}
@Test
void assertGetServiceWithUnregisteredDatabaseType() {
- assertThrows(ServiceProviderNotFoundServerException.class, () ->
DatabaseTypedSPILoader.getService(DatabaseTypedSPIFixture.class, new
PostgreSQLDatabaseType()));
+ assertThrows(ServiceProviderNotFoundServerException.class,
+ () ->
DatabaseTypedSPILoader.getService(DatabaseTypedSPIFixture.class,
TypedSPILoader.getService(DatabaseType.class, "PostgreSQL")));
}
}
diff --git
a/infra/common/src/test/java/org/apache/shardingsphere/infra/spi/fixture/DatabaseTypedSPIFixture.java
b/infra/common/src/test/java/org/apache/shardingsphere/infra/spi/fixture/DatabaseTypedSPIFixture.java
index eefabb86218..92e09882e42 100644
---
a/infra/common/src/test/java/org/apache/shardingsphere/infra/spi/fixture/DatabaseTypedSPIFixture.java
+++
b/infra/common/src/test/java/org/apache/shardingsphere/infra/spi/fixture/DatabaseTypedSPIFixture.java
@@ -17,7 +17,7 @@
package org.apache.shardingsphere.infra.spi.fixture;
-import org.apache.shardingsphere.infra.util.spi.type.typed.TypedSPI;
+import org.apache.shardingsphere.infra.spi.DatabaseTypedSPI;
-public interface DatabaseTypedSPIFixture extends TypedSPI {
+public interface DatabaseTypedSPIFixture extends DatabaseTypedSPI {
}
diff --git
a/infra/common/src/test/java/org/apache/shardingsphere/infra/spi/fixture/impl/FooDatabaseTypedSPIFixture.java
b/infra/common/src/test/java/org/apache/shardingsphere/infra/spi/fixture/impl/FooDatabaseTypedSPIFixture.java
index c3da9f81ddf..616dcde6e4a 100644
---
a/infra/common/src/test/java/org/apache/shardingsphere/infra/spi/fixture/impl/FooDatabaseTypedSPIFixture.java
+++
b/infra/common/src/test/java/org/apache/shardingsphere/infra/spi/fixture/impl/FooDatabaseTypedSPIFixture.java
@@ -22,7 +22,7 @@ import
org.apache.shardingsphere.infra.spi.fixture.DatabaseTypedSPIFixture;
public final class FooDatabaseTypedSPIFixture implements
DatabaseTypedSPIFixture {
@Override
- public String getType() {
+ public String getDatabaseType() {
return "MySQL";
}
}
diff --git
a/kernel/data-pipeline/api/src/main/java/org/apache/shardingsphere/data/pipeline/spi/check/datasource/DataSourceChecker.java
b/kernel/data-pipeline/api/src/main/java/org/apache/shardingsphere/data/pipeline/spi/check/datasource/DataSourceChecker.java
index 7f2ba48c3c1..1052c4e98c9 100644
---
a/kernel/data-pipeline/api/src/main/java/org/apache/shardingsphere/data/pipeline/spi/check/datasource/DataSourceChecker.java
+++
b/kernel/data-pipeline/api/src/main/java/org/apache/shardingsphere/data/pipeline/spi/check/datasource/DataSourceChecker.java
@@ -18,8 +18,8 @@
package org.apache.shardingsphere.data.pipeline.spi.check.datasource;
import
org.apache.shardingsphere.data.pipeline.api.config.TableNameSchemaNameMapping;
+import org.apache.shardingsphere.infra.spi.DatabaseTypedSPI;
import org.apache.shardingsphere.infra.util.spi.annotation.SingletonSPI;
-import org.apache.shardingsphere.infra.util.spi.type.typed.TypedSPI;
import javax.sql.DataSource;
import java.util.Collection;
@@ -28,7 +28,7 @@ import java.util.Collection;
* Data source checker.
*/
@SingletonSPI
-public interface DataSourceChecker extends TypedSPI {
+public interface DataSourceChecker extends DatabaseTypedSPI {
/**
* Check data source connections.
diff --git
a/kernel/data-pipeline/api/src/main/java/org/apache/shardingsphere/data/pipeline/spi/datasource/JdbcQueryPropertiesExtension.java
b/kernel/data-pipeline/api/src/main/java/org/apache/shardingsphere/data/pipeline/spi/datasource/JdbcQueryPropertiesExtension.java
index fe8eca84bca..28597a80edf 100644
---
a/kernel/data-pipeline/api/src/main/java/org/apache/shardingsphere/data/pipeline/spi/datasource/JdbcQueryPropertiesExtension.java
+++
b/kernel/data-pipeline/api/src/main/java/org/apache/shardingsphere/data/pipeline/spi/datasource/JdbcQueryPropertiesExtension.java
@@ -17,8 +17,8 @@
package org.apache.shardingsphere.data.pipeline.spi.datasource;
+import org.apache.shardingsphere.infra.spi.DatabaseTypedSPI;
import org.apache.shardingsphere.infra.util.spi.annotation.SingletonSPI;
-import org.apache.shardingsphere.infra.util.spi.type.typed.TypedSPI;
import java.util.Properties;
@@ -26,7 +26,7 @@ import java.util.Properties;
* JDBC query properties extension.
*/
@SingletonSPI
-public interface JdbcQueryPropertiesExtension extends TypedSPI {
+public interface JdbcQueryPropertiesExtension extends DatabaseTypedSPI {
/**
* Extend query properties.
diff --git
a/kernel/data-pipeline/api/src/main/java/org/apache/shardingsphere/data/pipeline/spi/ddlgenerator/CreateTableSQLGenerator.java
b/kernel/data-pipeline/api/src/main/java/org/apache/shardingsphere/data/pipeline/spi/ddlgenerator/CreateTableSQLGenerator.java
index f234f3a36e7..61b4bc39393 100644
---
a/kernel/data-pipeline/api/src/main/java/org/apache/shardingsphere/data/pipeline/spi/ddlgenerator/CreateTableSQLGenerator.java
+++
b/kernel/data-pipeline/api/src/main/java/org/apache/shardingsphere/data/pipeline/spi/ddlgenerator/CreateTableSQLGenerator.java
@@ -17,8 +17,8 @@
package org.apache.shardingsphere.data.pipeline.spi.ddlgenerator;
+import org.apache.shardingsphere.infra.spi.DatabaseTypedSPI;
import org.apache.shardingsphere.infra.util.spi.annotation.SingletonSPI;
-import org.apache.shardingsphere.infra.util.spi.type.typed.TypedSPI;
import javax.sql.DataSource;
import java.sql.SQLException;
@@ -28,7 +28,7 @@ import java.util.Collection;
* Create table SQL generator.
*/
@SingletonSPI
-public interface CreateTableSQLGenerator extends TypedSPI {
+public interface CreateTableSQLGenerator extends DatabaseTypedSPI {
/**
* Generate create table SQLs.
diff --git
a/kernel/data-pipeline/api/src/main/java/org/apache/shardingsphere/data/pipeline/spi/ingest/dumper/ColumnValueReader.java
b/kernel/data-pipeline/api/src/main/java/org/apache/shardingsphere/data/pipeline/spi/ingest/dumper/ColumnValueReader.java
index 1c5861cbfad..0fa56e5fdc7 100644
---
a/kernel/data-pipeline/api/src/main/java/org/apache/shardingsphere/data/pipeline/spi/ingest/dumper/ColumnValueReader.java
+++
b/kernel/data-pipeline/api/src/main/java/org/apache/shardingsphere/data/pipeline/spi/ingest/dumper/ColumnValueReader.java
@@ -17,8 +17,8 @@
package org.apache.shardingsphere.data.pipeline.spi.ingest.dumper;
+import org.apache.shardingsphere.infra.spi.DatabaseTypedSPI;
import org.apache.shardingsphere.infra.util.spi.annotation.SingletonSPI;
-import org.apache.shardingsphere.infra.util.spi.type.typed.TypedSPI;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
@@ -28,7 +28,7 @@ import java.sql.SQLException;
* Column value reader.
*/
@SingletonSPI
-public interface ColumnValueReader extends TypedSPI {
+public interface ColumnValueReader extends DatabaseTypedSPI {
/**
* Read column value.
diff --git
a/kernel/data-pipeline/api/src/main/java/org/apache/shardingsphere/data/pipeline/spi/ingest/dumper/IncrementalDumperCreator.java
b/kernel/data-pipeline/api/src/main/java/org/apache/shardingsphere/data/pipeline/spi/ingest/dumper/IncrementalDumperCreator.java
index a2abf411610..64c6ce273a7 100644
---
a/kernel/data-pipeline/api/src/main/java/org/apache/shardingsphere/data/pipeline/spi/ingest/dumper/IncrementalDumperCreator.java
+++
b/kernel/data-pipeline/api/src/main/java/org/apache/shardingsphere/data/pipeline/spi/ingest/dumper/IncrementalDumperCreator.java
@@ -22,14 +22,14 @@ import
org.apache.shardingsphere.data.pipeline.api.ingest.channel.PipelineChanne
import
org.apache.shardingsphere.data.pipeline.api.ingest.dumper.IncrementalDumper;
import
org.apache.shardingsphere.data.pipeline.api.ingest.position.IngestPosition;
import
org.apache.shardingsphere.data.pipeline.api.metadata.loader.PipelineTableMetaDataLoader;
+import org.apache.shardingsphere.infra.spi.DatabaseTypedSPI;
import org.apache.shardingsphere.infra.util.spi.annotation.SingletonSPI;
-import org.apache.shardingsphere.infra.util.spi.type.typed.TypedSPI;
/**
* Incremental dumper creator.
*/
@SingletonSPI
-public interface IncrementalDumperCreator extends TypedSPI {
+public interface IncrementalDumperCreator extends DatabaseTypedSPI {
/**
* Create incremental dumper.
diff --git
a/kernel/data-pipeline/api/src/main/java/org/apache/shardingsphere/data/pipeline/spi/ingest/position/PositionInitializer.java
b/kernel/data-pipeline/api/src/main/java/org/apache/shardingsphere/data/pipeline/spi/ingest/position/PositionInitializer.java
index d038bbd4ac3..c448ad43c40 100644
---
a/kernel/data-pipeline/api/src/main/java/org/apache/shardingsphere/data/pipeline/spi/ingest/position/PositionInitializer.java
+++
b/kernel/data-pipeline/api/src/main/java/org/apache/shardingsphere/data/pipeline/spi/ingest/position/PositionInitializer.java
@@ -18,8 +18,8 @@
package org.apache.shardingsphere.data.pipeline.spi.ingest.position;
import
org.apache.shardingsphere.data.pipeline.api.ingest.position.IngestPosition;
+import org.apache.shardingsphere.infra.spi.DatabaseTypedSPI;
import org.apache.shardingsphere.infra.util.spi.annotation.SingletonSPI;
-import org.apache.shardingsphere.infra.util.spi.type.typed.TypedSPI;
import javax.sql.DataSource;
import java.sql.SQLException;
@@ -28,7 +28,7 @@ import java.sql.SQLException;
* Position initializer.
*/
@SingletonSPI
-public interface PositionInitializer extends TypedSPI {
+public interface PositionInitializer extends DatabaseTypedSPI {
/**
* Init position by data source.
diff --git
a/kernel/data-pipeline/api/src/main/java/org/apache/shardingsphere/data/pipeline/spi/sqlbuilder/PipelineSQLBuilder.java
b/kernel/data-pipeline/api/src/main/java/org/apache/shardingsphere/data/pipeline/spi/sqlbuilder/PipelineSQLBuilder.java
index 743410b9bd6..646f1dc907a 100644
---
a/kernel/data-pipeline/api/src/main/java/org/apache/shardingsphere/data/pipeline/spi/sqlbuilder/PipelineSQLBuilder.java
+++
b/kernel/data-pipeline/api/src/main/java/org/apache/shardingsphere/data/pipeline/spi/sqlbuilder/PipelineSQLBuilder.java
@@ -19,7 +19,7 @@ package
org.apache.shardingsphere.data.pipeline.spi.sqlbuilder;
import org.apache.shardingsphere.data.pipeline.api.ingest.record.Column;
import org.apache.shardingsphere.data.pipeline.api.ingest.record.DataRecord;
-import org.apache.shardingsphere.infra.util.spi.type.typed.TypedSPI;
+import org.apache.shardingsphere.infra.spi.DatabaseTypedSPI;
import java.util.Collection;
import java.util.List;
@@ -28,7 +28,7 @@ import java.util.Optional;
/**
* Pipeline SQL builder.
*/
-public interface PipelineSQLBuilder extends TypedSPI {
+public interface PipelineSQLBuilder extends DatabaseTypedSPI {
/**
* Build create schema SQL.
@@ -189,7 +189,4 @@ public interface PipelineSQLBuilder extends TypedSPI {
default Optional<String> buildCRC32SQL(final String schemaName, final
String tableName, final String column) {
return Optional.empty();
}
-
- @Override
- String getType();
}
diff --git
a/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/common/datasource/H2JdbcQueryPropertiesExtension.java
b/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/common/datasource/H2JdbcQueryPropertiesExtension.java
index 3c018f31532..b00fa5ef812 100644
---
a/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/common/datasource/H2JdbcQueryPropertiesExtension.java
+++
b/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/common/datasource/H2JdbcQueryPropertiesExtension.java
@@ -33,7 +33,7 @@ public final class H2JdbcQueryPropertiesExtension implements
JdbcQueryProperties
}
@Override
- public String getType() {
+ public String getDatabaseType() {
return "H2";
}
}
diff --git
a/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/common/sqlbuilder/AbstractPipelineSQLBuilder.java
b/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/common/sqlbuilder/AbstractPipelineSQLBuilder.java
index cf20d2b5d16..0c6d23c5262 100644
---
a/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/common/sqlbuilder/AbstractPipelineSQLBuilder.java
+++
b/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/common/sqlbuilder/AbstractPipelineSQLBuilder.java
@@ -22,8 +22,6 @@ import
org.apache.shardingsphere.data.pipeline.api.ingest.record.Column;
import org.apache.shardingsphere.data.pipeline.api.ingest.record.DataRecord;
import
org.apache.shardingsphere.data.pipeline.common.ingest.record.RecordUtils;
import
org.apache.shardingsphere.data.pipeline.spi.sqlbuilder.PipelineSQLBuilder;
-import org.apache.shardingsphere.infra.database.type.DatabaseType;
-import org.apache.shardingsphere.infra.util.spi.type.typed.TypedSPILoader;
import java.util.ArrayList;
import java.util.Collection;
@@ -107,7 +105,7 @@ public abstract class AbstractPipelineSQLBuilder implements
PipelineSQLBuilder {
protected final String getQualifiedTableName(final String schemaName,
final String tableName) {
StringBuilder result = new StringBuilder();
- if (TypedSPILoader.getService(DatabaseType.class,
getType()).isSchemaAvailable() && !Strings.isNullOrEmpty(schemaName)) {
+ if (getType().isSchemaAvailable() &&
!Strings.isNullOrEmpty(schemaName)) {
result.append(quote(schemaName)).append('.');
}
result.append(quote(tableName));
diff --git
a/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/preparer/datasource/DataSourcePreparer.java
b/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/preparer/datasource/DataSourcePreparer.java
index ffaa144b947..9f8136c17ab 100644
---
a/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/preparer/datasource/DataSourcePreparer.java
+++
b/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/preparer/datasource/DataSourcePreparer.java
@@ -17,8 +17,8 @@
package org.apache.shardingsphere.data.pipeline.core.preparer.datasource;
+import org.apache.shardingsphere.infra.spi.DatabaseTypedSPI;
import org.apache.shardingsphere.infra.util.spi.annotation.SingletonSPI;
-import org.apache.shardingsphere.infra.util.spi.type.typed.TypedSPI;
import java.sql.SQLException;
@@ -26,7 +26,7 @@ import java.sql.SQLException;
* Data source preparer.
*/
@SingletonSPI
-public interface DataSourcePreparer extends TypedSPI {
+public interface DataSourcePreparer extends DatabaseTypedSPI {
/**
* Prepare target schemas.
diff --git
a/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/preparer/datasource/checker/AbstractDataSourceChecker.java
b/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/preparer/datasource/checker/AbstractDataSourceChecker.java
index fc15ab9890a..0dc919fa28a 100644
---
a/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/preparer/datasource/checker/AbstractDataSourceChecker.java
+++
b/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/preparer/datasource/checker/AbstractDataSourceChecker.java
@@ -76,11 +76,4 @@ public abstract class AbstractDataSourceChecker implements
DataSourceChecker {
return !resultSet.next();
}
}
-
- protected abstract String getDatabaseType();
-
- @Override
- public String getType() {
- return getDatabaseType();
- }
}
diff --git
a/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/preparer/datasource/checker/BasicDataSourceChecker.java
b/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/preparer/datasource/checker/BasicDataSourceChecker.java
index 6ace7ce02d4..f00e9ea561d 100644
---
a/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/preparer/datasource/checker/BasicDataSourceChecker.java
+++
b/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/preparer/datasource/checker/BasicDataSourceChecker.java
@@ -39,7 +39,7 @@ public final class BasicDataSourceChecker extends
AbstractDataSourceChecker {
}
@Override
- protected String getDatabaseType() {
+ public String getDatabaseType() {
return databaseType;
}
}
diff --git
a/kernel/data-pipeline/core/src/test/java/org/apache/shardingsphere/data/pipeline/common/ingest/position/FixturePositionInitializer.java
b/kernel/data-pipeline/core/src/test/java/org/apache/shardingsphere/data/pipeline/common/ingest/position/FixturePositionInitializer.java
index 94b1eb69e79..3d3da5ea236 100644
---
a/kernel/data-pipeline/core/src/test/java/org/apache/shardingsphere/data/pipeline/common/ingest/position/FixturePositionInitializer.java
+++
b/kernel/data-pipeline/core/src/test/java/org/apache/shardingsphere/data/pipeline/common/ingest/position/FixturePositionInitializer.java
@@ -34,7 +34,7 @@ public final class FixturePositionInitializer implements
PositionInitializer {
}
@Override
- public String getType() {
+ public String getDatabaseType() {
return "H2";
}
}
diff --git
a/kernel/data-pipeline/core/src/test/java/org/apache/shardingsphere/data/pipeline/common/sqlbuilder/FixturePipelineSQLBuilder.java
b/kernel/data-pipeline/core/src/test/java/org/apache/shardingsphere/data/pipeline/common/sqlbuilder/FixturePipelineSQLBuilder.java
index 98c3e23348f..58a5f586a30 100644
---
a/kernel/data-pipeline/core/src/test/java/org/apache/shardingsphere/data/pipeline/common/sqlbuilder/FixturePipelineSQLBuilder.java
+++
b/kernel/data-pipeline/core/src/test/java/org/apache/shardingsphere/data/pipeline/common/sqlbuilder/FixturePipelineSQLBuilder.java
@@ -104,7 +104,7 @@ public final class FixturePipelineSQLBuilder implements
PipelineSQLBuilder {
}
@Override
- public String getType() {
+ public String getDatabaseType() {
return "FIXTURE";
}
}
diff --git
a/kernel/data-pipeline/core/src/test/java/org/apache/shardingsphere/data/pipeline/common/sqlbuilder/H2PipelineSQLBuilder.java
b/kernel/data-pipeline/core/src/test/java/org/apache/shardingsphere/data/pipeline/common/sqlbuilder/H2PipelineSQLBuilder.java
index d8217185dba..7cb22c98bc4 100644
---
a/kernel/data-pipeline/core/src/test/java/org/apache/shardingsphere/data/pipeline/common/sqlbuilder/H2PipelineSQLBuilder.java
+++
b/kernel/data-pipeline/core/src/test/java/org/apache/shardingsphere/data/pipeline/common/sqlbuilder/H2PipelineSQLBuilder.java
@@ -42,7 +42,7 @@ public final class H2PipelineSQLBuilder extends
AbstractPipelineSQLBuilder {
}
@Override
- public String getType() {
+ public String getDatabaseType() {
return "H2";
}
}
diff --git
a/kernel/data-pipeline/core/src/test/java/org/apache/shardingsphere/data/pipeline/core/preparer/datasource/AbstractDataSourceCheckerTest.java
b/kernel/data-pipeline/core/src/test/java/org/apache/shardingsphere/data/pipeline/core/preparer/datasource/AbstractDataSourceCheckerTest.java
index df0947eef9e..25209cd1af4 100644
---
a/kernel/data-pipeline/core/src/test/java/org/apache/shardingsphere/data/pipeline/core/preparer/datasource/AbstractDataSourceCheckerTest.java
+++
b/kernel/data-pipeline/core/src/test/java/org/apache/shardingsphere/data/pipeline/core/preparer/datasource/AbstractDataSourceCheckerTest.java
@@ -64,16 +64,16 @@ class AbstractDataSourceCheckerTest {
dataSourceChecker = new AbstractDataSourceChecker() {
@Override
- protected String getDatabaseType() {
- return "H2";
+ public void checkPrivilege(final Collection<? extends DataSource>
dataSources) {
}
@Override
- public void checkPrivilege(final Collection<? extends DataSource>
dataSources) {
+ public void checkVariable(final Collection<? extends DataSource>
dataSources) {
}
@Override
- public void checkVariable(final Collection<? extends DataSource>
dataSources) {
+ public String getDatabaseType() {
+ return "H2";
}
};
dataSources = new LinkedList<>();
diff --git
a/kernel/data-pipeline/core/src/test/java/org/apache/shardingsphere/data/pipeline/core/preparer/datasource/AbstractDataSourcePreparerTest.java
b/kernel/data-pipeline/core/src/test/java/org/apache/shardingsphere/data/pipeline/core/preparer/datasource/AbstractDataSourcePreparerTest.java
index 5805fd8f4ef..05081717dd1 100644
---
a/kernel/data-pipeline/core/src/test/java/org/apache/shardingsphere/data/pipeline/core/preparer/datasource/AbstractDataSourcePreparerTest.java
+++
b/kernel/data-pipeline/core/src/test/java/org/apache/shardingsphere/data/pipeline/core/preparer/datasource/AbstractDataSourcePreparerTest.java
@@ -42,6 +42,11 @@ class AbstractDataSourcePreparerTest {
@Override
public void prepareTargetTables(final PrepareTargetTablesParameter
param) {
}
+
+ @Override
+ public String getDatabaseType() {
+ return "FIXTURE";
+ }
};
@Test
diff --git
a/kernel/data-pipeline/dialect/h2/src/main/java/org/apache/shardingsphere/data/pipeline/h2/H2IncrementalDumperCreator.java
b/kernel/data-pipeline/dialect/h2/src/main/java/org/apache/shardingsphere/data/pipeline/h2/H2IncrementalDumperCreator.java
index 282d37bcb26..d732e1ee4cc 100644
---
a/kernel/data-pipeline/dialect/h2/src/main/java/org/apache/shardingsphere/data/pipeline/h2/H2IncrementalDumperCreator.java
+++
b/kernel/data-pipeline/dialect/h2/src/main/java/org/apache/shardingsphere/data/pipeline/h2/H2IncrementalDumperCreator.java
@@ -41,7 +41,7 @@ public final class H2IncrementalDumperCreator implements
IncrementalDumperCreato
}
@Override
- public String getType() {
+ public String getDatabaseType() {
return "H2";
}
}
diff --git
a/kernel/data-pipeline/dialect/mysql/src/main/java/org/apache/shardingsphere/data/pipeline/mysql/MySQLIncrementalDumperCreator.java
b/kernel/data-pipeline/dialect/mysql/src/main/java/org/apache/shardingsphere/data/pipeline/mysql/MySQLIncrementalDumperCreator.java
index b27d1ba2653..98660a98b67 100644
---
a/kernel/data-pipeline/dialect/mysql/src/main/java/org/apache/shardingsphere/data/pipeline/mysql/MySQLIncrementalDumperCreator.java
+++
b/kernel/data-pipeline/dialect/mysql/src/main/java/org/apache/shardingsphere/data/pipeline/mysql/MySQLIncrementalDumperCreator.java
@@ -37,7 +37,7 @@ public final class MySQLIncrementalDumperCreator implements
IncrementalDumperCre
}
@Override
- public String getType() {
+ public String getDatabaseType() {
return "MySQL";
}
}
diff --git
a/kernel/data-pipeline/dialect/mysql/src/main/java/org/apache/shardingsphere/data/pipeline/mysql/check/datasource/MySQLDataSourceChecker.java
b/kernel/data-pipeline/dialect/mysql/src/main/java/org/apache/shardingsphere/data/pipeline/mysql/check/datasource/MySQLDataSourceChecker.java
index 673efb35f49..b03acf9fb4d 100644
---
a/kernel/data-pipeline/dialect/mysql/src/main/java/org/apache/shardingsphere/data/pipeline/mysql/check/datasource/MySQLDataSourceChecker.java
+++
b/kernel/data-pipeline/dialect/mysql/src/main/java/org/apache/shardingsphere/data/pipeline/mysql/check/datasource/MySQLDataSourceChecker.java
@@ -114,7 +114,7 @@ public final class MySQLDataSourceChecker extends
AbstractDataSourceChecker {
}
@Override
- protected String getDatabaseType() {
+ public String getDatabaseType() {
return "MySQL";
}
}
diff --git
a/kernel/data-pipeline/dialect/mysql/src/main/java/org/apache/shardingsphere/data/pipeline/mysql/datasource/MySQLJdbcQueryPropertiesExtension.java
b/kernel/data-pipeline/dialect/mysql/src/main/java/org/apache/shardingsphere/data/pipeline/mysql/datasource/MySQLJdbcQueryPropertiesExtension.java
index ffd56b8812e..037beacb115 100644
---
a/kernel/data-pipeline/dialect/mysql/src/main/java/org/apache/shardingsphere/data/pipeline/mysql/datasource/MySQLJdbcQueryPropertiesExtension.java
+++
b/kernel/data-pipeline/dialect/mysql/src/main/java/org/apache/shardingsphere/data/pipeline/mysql/datasource/MySQLJdbcQueryPropertiesExtension.java
@@ -78,7 +78,7 @@ public final class MySQLJdbcQueryPropertiesExtension
implements JdbcQueryPropert
}
@Override
- public String getType() {
+ public String getDatabaseType() {
return "MySQL";
}
}
diff --git
a/kernel/data-pipeline/dialect/mysql/src/main/java/org/apache/shardingsphere/data/pipeline/mysql/ddlgenerator/MySQLCreateTableSQLGenerator.java
b/kernel/data-pipeline/dialect/mysql/src/main/java/org/apache/shardingsphere/data/pipeline/mysql/ddlgenerator/MySQLCreateTableSQLGenerator.java
index 9f3d225dacb..3bbeeb484af 100644
---
a/kernel/data-pipeline/dialect/mysql/src/main/java/org/apache/shardingsphere/data/pipeline/mysql/ddlgenerator/MySQLCreateTableSQLGenerator.java
+++
b/kernel/data-pipeline/dialect/mysql/src/main/java/org/apache/shardingsphere/data/pipeline/mysql/ddlgenerator/MySQLCreateTableSQLGenerator.java
@@ -51,7 +51,7 @@ public final class MySQLCreateTableSQLGenerator implements
CreateTableSQLGenerat
}
@Override
- public String getType() {
+ public String getDatabaseType() {
return "MySQL";
}
}
diff --git
a/kernel/data-pipeline/dialect/mysql/src/main/java/org/apache/shardingsphere/data/pipeline/mysql/ingest/MySQLColumnValueReader.java
b/kernel/data-pipeline/dialect/mysql/src/main/java/org/apache/shardingsphere/data/pipeline/mysql/ingest/MySQLColumnValueReader.java
index cbfc9d4fee3..7fe1dd5c6f2 100644
---
a/kernel/data-pipeline/dialect/mysql/src/main/java/org/apache/shardingsphere/data/pipeline/mysql/ingest/MySQLColumnValueReader.java
+++
b/kernel/data-pipeline/dialect/mysql/src/main/java/org/apache/shardingsphere/data/pipeline/mysql/ingest/MySQLColumnValueReader.java
@@ -43,7 +43,7 @@ public final class MySQLColumnValueReader extends
AbstractColumnValueReader {
}
@Override
- public String getType() {
+ public String getDatabaseType() {
return "MySQL";
}
}
diff --git
a/kernel/data-pipeline/dialect/mysql/src/main/java/org/apache/shardingsphere/data/pipeline/mysql/ingest/MySQLPositionInitializer.java
b/kernel/data-pipeline/dialect/mysql/src/main/java/org/apache/shardingsphere/data/pipeline/mysql/ingest/MySQLPositionInitializer.java
index 50dd4a2b688..50aec801c9a 100644
---
a/kernel/data-pipeline/dialect/mysql/src/main/java/org/apache/shardingsphere/data/pipeline/mysql/ingest/MySQLPositionInitializer.java
+++
b/kernel/data-pipeline/dialect/mysql/src/main/java/org/apache/shardingsphere/data/pipeline/mysql/ingest/MySQLPositionInitializer.java
@@ -67,7 +67,7 @@ public final class MySQLPositionInitializer implements
PositionInitializer {
}
@Override
- public String getType() {
+ public String getDatabaseType() {
return "MySQL";
}
}
diff --git
a/kernel/data-pipeline/dialect/mysql/src/main/java/org/apache/shardingsphere/data/pipeline/mysql/prepare/datasource/MySQLDataSourcePreparer.java
b/kernel/data-pipeline/dialect/mysql/src/main/java/org/apache/shardingsphere/data/pipeline/mysql/prepare/datasource/MySQLDataSourcePreparer.java
index 8624e0521d0..24f967a3302 100644
---
a/kernel/data-pipeline/dialect/mysql/src/main/java/org/apache/shardingsphere/data/pipeline/mysql/prepare/datasource/MySQLDataSourcePreparer.java
+++
b/kernel/data-pipeline/dialect/mysql/src/main/java/org/apache/shardingsphere/data/pipeline/mysql/prepare/datasource/MySQLDataSourcePreparer.java
@@ -42,7 +42,7 @@ public final class MySQLDataSourcePreparer extends
AbstractDataSourcePreparer {
}
@Override
- public String getType() {
+ public String getDatabaseType() {
return "MySQL";
}
}
diff --git
a/kernel/data-pipeline/dialect/mysql/src/main/java/org/apache/shardingsphere/data/pipeline/mysql/sqlbuilder/MySQLPipelineSQLBuilder.java
b/kernel/data-pipeline/dialect/mysql/src/main/java/org/apache/shardingsphere/data/pipeline/mysql/sqlbuilder/MySQLPipelineSQLBuilder.java
index 00205d9190d..c25ffd99ce6 100644
---
a/kernel/data-pipeline/dialect/mysql/src/main/java/org/apache/shardingsphere/data/pipeline/mysql/sqlbuilder/MySQLPipelineSQLBuilder.java
+++
b/kernel/data-pipeline/dialect/mysql/src/main/java/org/apache/shardingsphere/data/pipeline/mysql/sqlbuilder/MySQLPipelineSQLBuilder.java
@@ -98,7 +98,7 @@ public final class MySQLPipelineSQLBuilder extends
AbstractPipelineSQLBuilder {
}
@Override
- public String getType() {
+ public String getDatabaseType() {
return "MySQL";
}
}
diff --git
a/kernel/data-pipeline/dialect/mysql/src/test/java/org/apache/shardingsphere/data/pipeline/mysql/datasource/MySQLJdbcQueryPropertiesExtensionTest.java
b/kernel/data-pipeline/dialect/mysql/src/test/java/org/apache/shardingsphere/data/pipeline/mysql/datasource/MySQLJdbcQueryPropertiesExtensionTest.java
index fecc23e9ba4..f014124ac78 100644
---
a/kernel/data-pipeline/dialect/mysql/src/test/java/org/apache/shardingsphere/data/pipeline/mysql/datasource/MySQLJdbcQueryPropertiesExtensionTest.java
+++
b/kernel/data-pipeline/dialect/mysql/src/test/java/org/apache/shardingsphere/data/pipeline/mysql/datasource/MySQLJdbcQueryPropertiesExtensionTest.java
@@ -18,13 +18,15 @@
package org.apache.shardingsphere.data.pipeline.mysql.datasource;
import
org.apache.shardingsphere.data.pipeline.spi.datasource.JdbcQueryPropertiesExtension;
+import org.apache.shardingsphere.infra.database.type.DatabaseType;
+import org.apache.shardingsphere.infra.spi.DatabaseTypedSPILoader;
import org.apache.shardingsphere.infra.util.spi.type.typed.TypedSPILoader;
import org.junit.jupiter.api.Test;
import java.util.Optional;
import java.util.Properties;
-import static org.hamcrest.CoreMatchers.equalTo;
+import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.CoreMatchers.instanceOf;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.junit.jupiter.api.Assertions.assertTrue;
@@ -33,7 +35,7 @@ class MySQLJdbcQueryPropertiesExtensionTest {
@Test
void assertExtendQueryProperties() {
- Optional<JdbcQueryPropertiesExtension> extension =
TypedSPILoader.findService(JdbcQueryPropertiesExtension.class, "MySQL");
+ Optional<JdbcQueryPropertiesExtension> extension =
DatabaseTypedSPILoader.findService(JdbcQueryPropertiesExtension.class,
TypedSPILoader.getService(DatabaseType.class, "MySQL"));
assertTrue(extension.isPresent());
assertExtension(extension.get());
Properties props = new Properties();
@@ -47,18 +49,18 @@ class MySQLJdbcQueryPropertiesExtensionTest {
private void assertExtension(final JdbcQueryPropertiesExtension actual) {
assertThat(actual,
instanceOf(MySQLJdbcQueryPropertiesExtension.class));
- assertThat(actual.getType(), equalTo("MySQL"));
+ assertThat(actual.getType(),
is(TypedSPILoader.getService(DatabaseType.class, "MySQL")));
}
private void assertQueryProperties(final Properties actual, final String
expectedNetTimeoutForStreamingResults) {
- assertThat(actual.size(), equalTo(8));
- assertThat(actual.getProperty("useSSL"),
equalTo(Boolean.FALSE.toString()));
- assertThat(actual.getProperty("useServerPrepStmts"),
equalTo(Boolean.FALSE.toString()));
- assertThat(actual.getProperty("rewriteBatchedStatements"),
equalTo(Boolean.TRUE.toString()));
- assertThat(actual.getProperty("yearIsDateType"),
equalTo(Boolean.FALSE.toString()));
- assertThat(actual.getProperty("zeroDateTimeBehavior"),
equalTo("convertToNull"));
- assertThat(actual.getProperty("noDatetimeStringSync"),
equalTo(Boolean.TRUE.toString()));
- assertThat(actual.getProperty("jdbcCompliantTruncation"),
equalTo(Boolean.FALSE.toString()));
- assertThat(actual.getProperty("netTimeoutForStreamingResults"),
equalTo(expectedNetTimeoutForStreamingResults));
+ assertThat(actual.size(), is(8));
+ assertThat(actual.getProperty("useSSL"), is(Boolean.FALSE.toString()));
+ assertThat(actual.getProperty("useServerPrepStmts"),
is(Boolean.FALSE.toString()));
+ assertThat(actual.getProperty("rewriteBatchedStatements"),
is(Boolean.TRUE.toString()));
+ assertThat(actual.getProperty("yearIsDateType"),
is(Boolean.FALSE.toString()));
+ assertThat(actual.getProperty("zeroDateTimeBehavior"),
is("convertToNull"));
+ assertThat(actual.getProperty("noDatetimeStringSync"),
is(Boolean.TRUE.toString()));
+ assertThat(actual.getProperty("jdbcCompliantTruncation"),
is(Boolean.FALSE.toString()));
+ assertThat(actual.getProperty("netTimeoutForStreamingResults"),
is(expectedNetTimeoutForStreamingResults));
}
}
diff --git
a/kernel/data-pipeline/dialect/opengauss/src/main/java/org/apache/shardingsphere/data/pipeline/opengauss/OpenGaussIncrementalDumperCreator.java
b/kernel/data-pipeline/dialect/opengauss/src/main/java/org/apache/shardingsphere/data/pipeline/opengauss/OpenGaussIncrementalDumperCreator.java
index 3f4b84805c7..fc016ed683a 100644
---
a/kernel/data-pipeline/dialect/opengauss/src/main/java/org/apache/shardingsphere/data/pipeline/opengauss/OpenGaussIncrementalDumperCreator.java
+++
b/kernel/data-pipeline/dialect/opengauss/src/main/java/org/apache/shardingsphere/data/pipeline/opengauss/OpenGaussIncrementalDumperCreator.java
@@ -37,7 +37,7 @@ public final class OpenGaussIncrementalDumperCreator
implements IncrementalDumpe
}
@Override
- public String getType() {
+ public String getDatabaseType() {
return "openGauss";
}
}
diff --git
a/kernel/data-pipeline/dialect/opengauss/src/main/java/org/apache/shardingsphere/data/pipeline/opengauss/check/datasource/OpenGaussDataSourceChecker.java
b/kernel/data-pipeline/dialect/opengauss/src/main/java/org/apache/shardingsphere/data/pipeline/opengauss/check/datasource/OpenGaussDataSourceChecker.java
index 3a2e97568da..e80cf8c5b3f 100644
---
a/kernel/data-pipeline/dialect/opengauss/src/main/java/org/apache/shardingsphere/data/pipeline/opengauss/check/datasource/OpenGaussDataSourceChecker.java
+++
b/kernel/data-pipeline/dialect/opengauss/src/main/java/org/apache/shardingsphere/data/pipeline/opengauss/check/datasource/OpenGaussDataSourceChecker.java
@@ -69,7 +69,7 @@ public final class OpenGaussDataSourceChecker extends
AbstractDataSourceChecker
}
@Override
- protected String getDatabaseType() {
+ public String getDatabaseType() {
return "openGauss";
}
}
diff --git
a/kernel/data-pipeline/dialect/opengauss/src/main/java/org/apache/shardingsphere/data/pipeline/opengauss/datasource/OpenGaussJdbcQueryPropertiesExtension.java
b/kernel/data-pipeline/dialect/opengauss/src/main/java/org/apache/shardingsphere/data/pipeline/opengauss/datasource/OpenGaussJdbcQueryPropertiesExtension.java
index dde1a6136bb..2269e8c4c91 100644
---
a/kernel/data-pipeline/dialect/opengauss/src/main/java/org/apache/shardingsphere/data/pipeline/opengauss/datasource/OpenGaussJdbcQueryPropertiesExtension.java
+++
b/kernel/data-pipeline/dialect/opengauss/src/main/java/org/apache/shardingsphere/data/pipeline/opengauss/datasource/OpenGaussJdbcQueryPropertiesExtension.java
@@ -39,7 +39,7 @@ public final class OpenGaussJdbcQueryPropertiesExtension
implements JdbcQueryPro
}
@Override
- public String getType() {
+ public String getDatabaseType() {
return "openGauss";
}
}
diff --git
a/kernel/data-pipeline/dialect/opengauss/src/main/java/org/apache/shardingsphere/data/pipeline/opengauss/ddlgenerator/OpenGaussCreateTableSQLGenerator.java
b/kernel/data-pipeline/dialect/opengauss/src/main/java/org/apache/shardingsphere/data/pipeline/opengauss/ddlgenerator/OpenGaussCreateTableSQLGenerator.java
index c5583e0f49b..6de596ef92e 100644
---
a/kernel/data-pipeline/dialect/opengauss/src/main/java/org/apache/shardingsphere/data/pipeline/opengauss/ddlgenerator/OpenGaussCreateTableSQLGenerator.java
+++
b/kernel/data-pipeline/dialect/opengauss/src/main/java/org/apache/shardingsphere/data/pipeline/opengauss/ddlgenerator/OpenGaussCreateTableSQLGenerator.java
@@ -54,7 +54,7 @@ public final class OpenGaussCreateTableSQLGenerator
implements CreateTableSQLGen
}
@Override
- public String getType() {
+ public String getDatabaseType() {
return "openGauss";
}
}
diff --git
a/kernel/data-pipeline/dialect/opengauss/src/main/java/org/apache/shardingsphere/data/pipeline/opengauss/ingest/OpenGaussPositionInitializer.java
b/kernel/data-pipeline/dialect/opengauss/src/main/java/org/apache/shardingsphere/data/pipeline/opengauss/ingest/OpenGaussPositionInitializer.java
index 396722399d0..fa4a1379969 100644
---
a/kernel/data-pipeline/dialect/opengauss/src/main/java/org/apache/shardingsphere/data/pipeline/opengauss/ingest/OpenGaussPositionInitializer.java
+++
b/kernel/data-pipeline/dialect/opengauss/src/main/java/org/apache/shardingsphere/data/pipeline/opengauss/ingest/OpenGaussPositionInitializer.java
@@ -146,7 +146,7 @@ public final class OpenGaussPositionInitializer implements
PositionInitializer {
}
@Override
- public String getType() {
+ public String getDatabaseType() {
return "openGauss";
}
}
diff --git
a/kernel/data-pipeline/dialect/opengauss/src/main/java/org/apache/shardingsphere/data/pipeline/opengauss/ingest/wal/OpenGaussColumnValueReader.java
b/kernel/data-pipeline/dialect/opengauss/src/main/java/org/apache/shardingsphere/data/pipeline/opengauss/ingest/wal/OpenGaussColumnValueReader.java
index b1137625450..31d1f512701 100644
---
a/kernel/data-pipeline/dialect/opengauss/src/main/java/org/apache/shardingsphere/data/pipeline/opengauss/ingest/wal/OpenGaussColumnValueReader.java
+++
b/kernel/data-pipeline/dialect/opengauss/src/main/java/org/apache/shardingsphere/data/pipeline/opengauss/ingest/wal/OpenGaussColumnValueReader.java
@@ -66,7 +66,7 @@ public final class OpenGaussColumnValueReader extends
AbstractColumnValueReader
}
@Override
- public String getType() {
+ public String getDatabaseType() {
return "openGauss";
}
}
diff --git
a/kernel/data-pipeline/dialect/opengauss/src/main/java/org/apache/shardingsphere/data/pipeline/opengauss/prepare/datasource/OpenGaussDataSourcePreparer.java
b/kernel/data-pipeline/dialect/opengauss/src/main/java/org/apache/shardingsphere/data/pipeline/opengauss/prepare/datasource/OpenGaussDataSourcePreparer.java
index 8a3a40cdbd0..ba9679fbb2b 100644
---
a/kernel/data-pipeline/dialect/opengauss/src/main/java/org/apache/shardingsphere/data/pipeline/opengauss/prepare/datasource/OpenGaussDataSourcePreparer.java
+++
b/kernel/data-pipeline/dialect/opengauss/src/main/java/org/apache/shardingsphere/data/pipeline/opengauss/prepare/datasource/OpenGaussDataSourcePreparer.java
@@ -77,7 +77,7 @@ public final class OpenGaussDataSourcePreparer extends
AbstractDataSourcePrepare
}
@Override
- public String getType() {
+ public String getDatabaseType() {
return "openGauss";
}
}
diff --git
a/kernel/data-pipeline/dialect/opengauss/src/main/java/org/apache/shardingsphere/data/pipeline/opengauss/sqlbuilder/OpenGaussPipelineSQLBuilder.java
b/kernel/data-pipeline/dialect/opengauss/src/main/java/org/apache/shardingsphere/data/pipeline/opengauss/sqlbuilder/OpenGaussPipelineSQLBuilder.java
index e7230ce145d..4e0fc38ab09 100644
---
a/kernel/data-pipeline/dialect/opengauss/src/main/java/org/apache/shardingsphere/data/pipeline/opengauss/sqlbuilder/OpenGaussPipelineSQLBuilder.java
+++
b/kernel/data-pipeline/dialect/opengauss/src/main/java/org/apache/shardingsphere/data/pipeline/opengauss/sqlbuilder/OpenGaussPipelineSQLBuilder.java
@@ -97,7 +97,7 @@ public final class OpenGaussPipelineSQLBuilder extends
AbstractPipelineSQLBuilde
}
@Override
- public String getType() {
+ public String getDatabaseType() {
return "openGauss";
}
}
diff --git
a/kernel/data-pipeline/dialect/opengauss/src/test/java/org/apache/shardingsphere/data/pipeline/opengauss/datasource/OpenGaussJdbcQueryPropertiesExtensionTest.java
b/kernel/data-pipeline/dialect/opengauss/src/test/java/org/apache/shardingsphere/data/pipeline/opengauss/datasource/OpenGaussJdbcQueryPropertiesExtensionTest.java
index 253e7375dcc..f052d144b4a 100644
---
a/kernel/data-pipeline/dialect/opengauss/src/test/java/org/apache/shardingsphere/data/pipeline/opengauss/datasource/OpenGaussJdbcQueryPropertiesExtensionTest.java
+++
b/kernel/data-pipeline/dialect/opengauss/src/test/java/org/apache/shardingsphere/data/pipeline/opengauss/datasource/OpenGaussJdbcQueryPropertiesExtensionTest.java
@@ -18,13 +18,15 @@
package org.apache.shardingsphere.data.pipeline.opengauss.datasource;
import
org.apache.shardingsphere.data.pipeline.spi.datasource.JdbcQueryPropertiesExtension;
+import org.apache.shardingsphere.infra.database.type.DatabaseType;
+import org.apache.shardingsphere.infra.spi.DatabaseTypedSPILoader;
import org.apache.shardingsphere.infra.util.spi.type.typed.TypedSPILoader;
import org.junit.jupiter.api.Test;
import java.util.Optional;
import java.util.Properties;
-import static org.hamcrest.CoreMatchers.equalTo;
+import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.CoreMatchers.instanceOf;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.junit.jupiter.api.Assertions.assertTrue;
@@ -33,16 +35,16 @@ class OpenGaussJdbcQueryPropertiesExtensionTest {
@Test
void assertExtendQueryProperties() {
- Optional<JdbcQueryPropertiesExtension> extension =
TypedSPILoader.findService(JdbcQueryPropertiesExtension.class, "openGauss");
+ Optional<JdbcQueryPropertiesExtension> extension =
DatabaseTypedSPILoader.findService(JdbcQueryPropertiesExtension.class,
TypedSPILoader.getService(DatabaseType.class, "openGauss"));
assertTrue(extension.isPresent());
assertExtension(extension.get());
}
private void assertExtension(final JdbcQueryPropertiesExtension actual) {
assertThat(actual,
instanceOf(OpenGaussJdbcQueryPropertiesExtension.class));
- assertThat(actual.getType(), equalTo("openGauss"));
+ assertThat(actual.getType(),
is(TypedSPILoader.getService(DatabaseType.class, "openGauss")));
Properties props = new Properties();
actual.extendQueryProperties(props);
- assertThat(props.size(), equalTo(2));
+ assertThat(props.size(), is(2));
}
}
diff --git
a/kernel/data-pipeline/dialect/postgresql/src/main/java/org/apache/shardingsphere/data/pipeline/postgresql/PostgreSQLIncrementalDumperCreator.java
b/kernel/data-pipeline/dialect/postgresql/src/main/java/org/apache/shardingsphere/data/pipeline/postgresql/PostgreSQLIncrementalDumperCreator.java
index 03f75393fb1..4b51cb7668d 100644
---
a/kernel/data-pipeline/dialect/postgresql/src/main/java/org/apache/shardingsphere/data/pipeline/postgresql/PostgreSQLIncrementalDumperCreator.java
+++
b/kernel/data-pipeline/dialect/postgresql/src/main/java/org/apache/shardingsphere/data/pipeline/postgresql/PostgreSQLIncrementalDumperCreator.java
@@ -37,7 +37,7 @@ public final class PostgreSQLIncrementalDumperCreator
implements IncrementalDump
}
@Override
- public String getType() {
+ public String getDatabaseType() {
return "PostgreSQL";
}
}
diff --git
a/kernel/data-pipeline/dialect/postgresql/src/main/java/org/apache/shardingsphere/data/pipeline/postgresql/check/datasource/PostgreSQLDataSourceChecker.java
b/kernel/data-pipeline/dialect/postgresql/src/main/java/org/apache/shardingsphere/data/pipeline/postgresql/check/datasource/PostgreSQLDataSourceChecker.java
index ad619b3edaa..2a397371035 100644
---
a/kernel/data-pipeline/dialect/postgresql/src/main/java/org/apache/shardingsphere/data/pipeline/postgresql/check/datasource/PostgreSQLDataSourceChecker.java
+++
b/kernel/data-pipeline/dialect/postgresql/src/main/java/org/apache/shardingsphere/data/pipeline/postgresql/check/datasource/PostgreSQLDataSourceChecker.java
@@ -71,7 +71,7 @@ public final class PostgreSQLDataSourceChecker extends
AbstractDataSourceChecker
}
@Override
- protected String getDatabaseType() {
+ public String getDatabaseType() {
return "PostgreSQL";
}
}
diff --git
a/kernel/data-pipeline/dialect/postgresql/src/main/java/org/apache/shardingsphere/data/pipeline/postgresql/datasource/PostgreSQLJdbcQueryPropertiesExtension.java
b/kernel/data-pipeline/dialect/postgresql/src/main/java/org/apache/shardingsphere/data/pipeline/postgresql/datasource/PostgreSQLJdbcQueryPropertiesExtension.java
index ec27ddbd4ff..c5f6baac62c 100644
---
a/kernel/data-pipeline/dialect/postgresql/src/main/java/org/apache/shardingsphere/data/pipeline/postgresql/datasource/PostgreSQLJdbcQueryPropertiesExtension.java
+++
b/kernel/data-pipeline/dialect/postgresql/src/main/java/org/apache/shardingsphere/data/pipeline/postgresql/datasource/PostgreSQLJdbcQueryPropertiesExtension.java
@@ -38,7 +38,7 @@ public final class PostgreSQLJdbcQueryPropertiesExtension
implements JdbcQueryPr
}
@Override
- public String getType() {
+ public String getDatabaseType() {
return "PostgreSQL";
}
}
diff --git
a/kernel/data-pipeline/dialect/postgresql/src/main/java/org/apache/shardingsphere/data/pipeline/postgresql/ddlgenerator/PostgreSQLCreateTableSQLGenerator.java
b/kernel/data-pipeline/dialect/postgresql/src/main/java/org/apache/shardingsphere/data/pipeline/postgresql/ddlgenerator/PostgreSQLCreateTableSQLGenerator.java
index 8de9ef2a364..a1e38cd5f5a 100644
---
a/kernel/data-pipeline/dialect/postgresql/src/main/java/org/apache/shardingsphere/data/pipeline/postgresql/ddlgenerator/PostgreSQLCreateTableSQLGenerator.java
+++
b/kernel/data-pipeline/dialect/postgresql/src/main/java/org/apache/shardingsphere/data/pipeline/postgresql/ddlgenerator/PostgreSQLCreateTableSQLGenerator.java
@@ -84,7 +84,7 @@ public final class PostgreSQLCreateTableSQLGenerator
implements CreateTableSQLGe
}
@Override
- public String getType() {
+ public String getDatabaseType() {
return "PostgreSQL";
}
}
diff --git
a/kernel/data-pipeline/dialect/postgresql/src/main/java/org/apache/shardingsphere/data/pipeline/postgresql/ingest/PostgreSQLColumnValueReader.java
b/kernel/data-pipeline/dialect/postgresql/src/main/java/org/apache/shardingsphere/data/pipeline/postgresql/ingest/PostgreSQLColumnValueReader.java
index a46560050dd..8bc1b84efef 100644
---
a/kernel/data-pipeline/dialect/postgresql/src/main/java/org/apache/shardingsphere/data/pipeline/postgresql/ingest/PostgreSQLColumnValueReader.java
+++
b/kernel/data-pipeline/dialect/postgresql/src/main/java/org/apache/shardingsphere/data/pipeline/postgresql/ingest/PostgreSQLColumnValueReader.java
@@ -60,7 +60,7 @@ public final class PostgreSQLColumnValueReader extends
AbstractColumnValueReader
}
@Override
- public String getType() {
+ public String getDatabaseType() {
return "PostgreSQL";
}
}
diff --git
a/kernel/data-pipeline/dialect/postgresql/src/main/java/org/apache/shardingsphere/data/pipeline/postgresql/ingest/PostgreSQLPositionInitializer.java
b/kernel/data-pipeline/dialect/postgresql/src/main/java/org/apache/shardingsphere/data/pipeline/postgresql/ingest/PostgreSQLPositionInitializer.java
index bf4cbfd71af..c13647687ff 100644
---
a/kernel/data-pipeline/dialect/postgresql/src/main/java/org/apache/shardingsphere/data/pipeline/postgresql/ingest/PostgreSQLPositionInitializer.java
+++
b/kernel/data-pipeline/dialect/postgresql/src/main/java/org/apache/shardingsphere/data/pipeline/postgresql/ingest/PostgreSQLPositionInitializer.java
@@ -137,7 +137,7 @@ public final class PostgreSQLPositionInitializer implements
PositionInitializer
}
@Override
- public String getType() {
+ public String getDatabaseType() {
return "PostgreSQL";
}
}
diff --git
a/kernel/data-pipeline/dialect/postgresql/src/main/java/org/apache/shardingsphere/data/pipeline/postgresql/prepare/datasource/PostgreSQLDataSourcePreparer.java
b/kernel/data-pipeline/dialect/postgresql/src/main/java/org/apache/shardingsphere/data/pipeline/postgresql/prepare/datasource/PostgreSQLDataSourcePreparer.java
index 9485d89e6ac..abd17f3a8cd 100644
---
a/kernel/data-pipeline/dialect/postgresql/src/main/java/org/apache/shardingsphere/data/pipeline/postgresql/prepare/datasource/PostgreSQLDataSourcePreparer.java
+++
b/kernel/data-pipeline/dialect/postgresql/src/main/java/org/apache/shardingsphere/data/pipeline/postgresql/prepare/datasource/PostgreSQLDataSourcePreparer.java
@@ -47,7 +47,7 @@ public final class PostgreSQLDataSourcePreparer extends
AbstractDataSourcePrepar
}
@Override
- public String getType() {
+ public String getDatabaseType() {
return "PostgreSQL";
}
}
diff --git
a/kernel/data-pipeline/dialect/postgresql/src/main/java/org/apache/shardingsphere/data/pipeline/postgresql/sqlbuilder/PostgreSQLPipelineSQLBuilder.java
b/kernel/data-pipeline/dialect/postgresql/src/main/java/org/apache/shardingsphere/data/pipeline/postgresql/sqlbuilder/PostgreSQLPipelineSQLBuilder.java
index 4eb01238bf4..6a24ed29d86 100644
---
a/kernel/data-pipeline/dialect/postgresql/src/main/java/org/apache/shardingsphere/data/pipeline/postgresql/sqlbuilder/PostgreSQLPipelineSQLBuilder.java
+++
b/kernel/data-pipeline/dialect/postgresql/src/main/java/org/apache/shardingsphere/data/pipeline/postgresql/sqlbuilder/PostgreSQLPipelineSQLBuilder.java
@@ -99,7 +99,7 @@ public final class PostgreSQLPipelineSQLBuilder extends
AbstractPipelineSQLBuild
}
@Override
- public String getType() {
+ public String getDatabaseType() {
return "PostgreSQL";
}
}
diff --git
a/kernel/data-pipeline/dialect/postgresql/src/test/java/org/apache/shardingsphere/data/pipeline/postgresql/datasource/PostgreSQLJdbcQueryPropertiesExtensionTest.java
b/kernel/data-pipeline/dialect/postgresql/src/test/java/org/apache/shardingsphere/data/pipeline/postgresql/datasource/PostgreSQLJdbcQueryPropertiesExtensionTest.java
index 27b0ee947da..56fdefdbba3 100644
---
a/kernel/data-pipeline/dialect/postgresql/src/test/java/org/apache/shardingsphere/data/pipeline/postgresql/datasource/PostgreSQLJdbcQueryPropertiesExtensionTest.java
+++
b/kernel/data-pipeline/dialect/postgresql/src/test/java/org/apache/shardingsphere/data/pipeline/postgresql/datasource/PostgreSQLJdbcQueryPropertiesExtensionTest.java
@@ -18,14 +18,16 @@
package org.apache.shardingsphere.data.pipeline.postgresql.datasource;
import
org.apache.shardingsphere.data.pipeline.spi.datasource.JdbcQueryPropertiesExtension;
+import org.apache.shardingsphere.infra.database.type.DatabaseType;
+import org.apache.shardingsphere.infra.spi.DatabaseTypedSPILoader;
import org.apache.shardingsphere.infra.util.spi.type.typed.TypedSPILoader;
import org.junit.jupiter.api.Test;
import java.util.Optional;
import java.util.Properties;
-import static org.hamcrest.CoreMatchers.equalTo;
import static org.hamcrest.CoreMatchers.instanceOf;
+import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertTrue;
@@ -34,14 +36,14 @@ class PostgreSQLJdbcQueryPropertiesExtensionTest {
@Test
void assertExtendQueryProperties() {
- Optional<JdbcQueryPropertiesExtension> extension =
TypedSPILoader.findService(JdbcQueryPropertiesExtension.class, "PostgreSQL");
+ Optional<JdbcQueryPropertiesExtension> extension =
DatabaseTypedSPILoader.findService(JdbcQueryPropertiesExtension.class,
TypedSPILoader.getService(DatabaseType.class, "PostgreSQL"));
assertTrue(extension.isPresent());
assertExtension(extension.get());
}
private void assertExtension(final JdbcQueryPropertiesExtension actual) {
assertThat(actual,
instanceOf(PostgreSQLJdbcQueryPropertiesExtension.class));
- assertThat(actual.getType(), equalTo("PostgreSQL"));
+ assertThat(actual.getType(),
is(TypedSPILoader.getService(DatabaseType.class, "PostgreSQL")));
Properties props = new Properties();
actual.extendQueryProperties(props);
assertFalse(props.isEmpty());
diff --git
a/kernel/global-clock/core/src/main/java/org/apache/shardingsphere/globalclock/core/executor/GlobalClockTransactionExecutor.java
b/kernel/global-clock/core/src/main/java/org/apache/shardingsphere/globalclock/core/executor/GlobalClockTransactionExecutor.java
index 54bc170fea9..a86ec4a27bb 100644
---
a/kernel/global-clock/core/src/main/java/org/apache/shardingsphere/globalclock/core/executor/GlobalClockTransactionExecutor.java
+++
b/kernel/global-clock/core/src/main/java/org/apache/shardingsphere/globalclock/core/executor/GlobalClockTransactionExecutor.java
@@ -17,8 +17,8 @@
package org.apache.shardingsphere.globalclock.core.executor;
+import org.apache.shardingsphere.infra.spi.DatabaseTypedSPI;
import org.apache.shardingsphere.infra.util.spi.annotation.SingletonSPI;
-import org.apache.shardingsphere.infra.util.spi.type.typed.TypedSPI;
import java.sql.Connection;
import java.sql.SQLException;
@@ -28,7 +28,7 @@ import java.util.Collection;
* Global clock transaction executor.
*/
@SingletonSPI
-public interface GlobalClockTransactionExecutor extends TypedSPI {
+public interface GlobalClockTransactionExecutor extends DatabaseTypedSPI {
/**
* Send snapshot timestamp.
diff --git
a/kernel/global-clock/core/src/main/java/org/apache/shardingsphere/globalclock/core/executor/OpenGaussGlobalClockTransactionExecutor.java
b/kernel/global-clock/core/src/main/java/org/apache/shardingsphere/globalclock/core/executor/OpenGaussGlobalClockTransactionExecutor.java
index c5420cdb6ac..b5df300f77f 100644
---
a/kernel/global-clock/core/src/main/java/org/apache/shardingsphere/globalclock/core/executor/OpenGaussGlobalClockTransactionExecutor.java
+++
b/kernel/global-clock/core/src/main/java/org/apache/shardingsphere/globalclock/core/executor/OpenGaussGlobalClockTransactionExecutor.java
@@ -48,7 +48,7 @@ public final class OpenGaussGlobalClockTransactionExecutor
implements GlobalCloc
}
@Override
- public String getType() {
+ public String getDatabaseType() {
return "openGauss";
}
}
diff --git
a/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/data/pipeline/cases/createtable/CreateTableSQLGeneratorIT.java
b/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/data/pipeline/cases/createtable/CreateTableSQLGeneratorIT.java
index efd58f2e287..25ad1fd70bc 100644
---
a/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/data/pipeline/cases/createtable/CreateTableSQLGeneratorIT.java
+++
b/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/data/pipeline/cases/createtable/CreateTableSQLGeneratorIT.java
@@ -22,7 +22,7 @@ import
org.apache.shardingsphere.infra.database.type.DatabaseType;
import org.apache.shardingsphere.infra.database.type.dialect.MySQLDatabaseType;
import
org.apache.shardingsphere.infra.database.type.dialect.OpenGaussDatabaseType;
import
org.apache.shardingsphere.infra.database.type.dialect.PostgreSQLDatabaseType;
-import org.apache.shardingsphere.infra.util.spi.type.typed.TypedSPILoader;
+import org.apache.shardingsphere.infra.spi.DatabaseTypedSPILoader;
import
org.apache.shardingsphere.test.e2e.data.pipeline.entity.CreateTableSQLGeneratorAssertionEntity;
import
org.apache.shardingsphere.test.e2e.data.pipeline.entity.CreateTableSQLGeneratorAssertionsRootEntity;
import
org.apache.shardingsphere.test.e2e.data.pipeline.entity.CreateTableSQLGeneratorOutputEntity;
@@ -92,8 +92,8 @@ class CreateTableSQLGeneratorIT {
int majorVersion =
connection.getMetaData().getDatabaseMajorVersion();
for (CreateTableSQLGeneratorAssertionEntity each :
rootEntity.getAssertions()) {
statement.execute(each.getInput().getSql());
- Collection<String> actualDDLs = TypedSPILoader.getService(
- CreateTableSQLGenerator.class,
testParam.getDatabaseType().getType()).generate(dataSource, DEFAULT_SCHEMA,
each.getInput().getTable());
+ Collection<String> actualDDLs =
DatabaseTypedSPILoader.getService(
+ CreateTableSQLGenerator.class,
testParam.getDatabaseType()).generate(dataSource, DEFAULT_SCHEMA,
each.getInput().getTable());
assertSQL(actualDDLs, getVersionOutput(each.getOutputs(),
majorVersion));
}
}
diff --git a/test/it/pipeline/pom.xml b/test/it/pipeline/pom.xml
index d668f131c5e..3475c9c06de 100644
--- a/test/it/pipeline/pom.xml
+++ b/test/it/pipeline/pom.xml
@@ -42,6 +42,11 @@
<artifactId>shardingsphere-data-pipeline-opengauss</artifactId>
<version>${project.version}</version>
</dependency>
+ <dependency>
+ <groupId>org.apache.shardingsphere</groupId>
+ <artifactId>shardingsphere-data-pipeline-h2</artifactId>
+ <version>${project.version}</version>
+ </dependency>
<dependency>
<groupId>org.apache.shardingsphere</groupId>
<artifactId>shardingsphere-data-pipeline-scenario-migration</artifactId>
diff --git
a/test/it/pipeline/src/test/java/org/apache/shardingsphere/test/it/data/pipeline/core/fixture/FixtureColumnValueReader.java
b/test/it/pipeline/src/test/java/org/apache/shardingsphere/test/it/data/pipeline/core/fixture/FixtureColumnValueReader.java
index b786f146575..e0c50eb3dfe 100644
---
a/test/it/pipeline/src/test/java/org/apache/shardingsphere/test/it/data/pipeline/core/fixture/FixtureColumnValueReader.java
+++
b/test/it/pipeline/src/test/java/org/apache/shardingsphere/test/it/data/pipeline/core/fixture/FixtureColumnValueReader.java
@@ -34,7 +34,7 @@ public final class FixtureColumnValueReader extends
AbstractColumnValueReader {
}
@Override
- public String getType() {
+ public String getDatabaseType() {
return "H2";
}
}
diff --git
a/test/it/pipeline/src/test/java/org/apache/shardingsphere/test/it/data/pipeline/core/fixture/FixtureDataSourceChecker.java
b/test/it/pipeline/src/test/java/org/apache/shardingsphere/test/it/data/pipeline/core/fixture/FixtureDataSourceChecker.java
index bab376756f5..c912f36169f 100644
---
a/test/it/pipeline/src/test/java/org/apache/shardingsphere/test/it/data/pipeline/core/fixture/FixtureDataSourceChecker.java
+++
b/test/it/pipeline/src/test/java/org/apache/shardingsphere/test/it/data/pipeline/core/fixture/FixtureDataSourceChecker.java
@@ -42,7 +42,7 @@ public final class FixtureDataSourceChecker implements
DataSourceChecker {
}
@Override
- public String getType() {
+ public String getDatabaseType() {
return "H2";
}
}
diff --git
a/test/it/pipeline/src/test/java/org/apache/shardingsphere/test/it/data/pipeline/core/fixture/FixtureIncrementalDumperCreator.java
b/test/it/pipeline/src/test/java/org/apache/shardingsphere/test/it/data/pipeline/core/fixture/FixtureIncrementalDumperCreator.java
index fd9441b1b56..8abb8b49287 100644
---
a/test/it/pipeline/src/test/java/org/apache/shardingsphere/test/it/data/pipeline/core/fixture/FixtureIncrementalDumperCreator.java
+++
b/test/it/pipeline/src/test/java/org/apache/shardingsphere/test/it/data/pipeline/core/fixture/FixtureIncrementalDumperCreator.java
@@ -36,7 +36,7 @@ public final class FixtureIncrementalDumperCreator implements
IncrementalDumperC
}
@Override
- public String getType() {
+ public String getDatabaseType() {
return "Fixture";
}
}
diff --git
a/test/it/pipeline/src/test/java/org/apache/shardingsphere/test/it/data/pipeline/core/fixture/H2CreateTableSQLGenerator.java
b/test/it/pipeline/src/test/java/org/apache/shardingsphere/test/it/data/pipeline/core/fixture/H2CreateTableSQLGenerator.java
index e9128c7deba..06c04a91813 100644
---
a/test/it/pipeline/src/test/java/org/apache/shardingsphere/test/it/data/pipeline/core/fixture/H2CreateTableSQLGenerator.java
+++
b/test/it/pipeline/src/test/java/org/apache/shardingsphere/test/it/data/pipeline/core/fixture/H2CreateTableSQLGenerator.java
@@ -22,7 +22,6 @@ import
org.apache.shardingsphere.data.pipeline.spi.ddlgenerator.CreateTableSQLGe
import
org.apache.shardingsphere.test.it.data.pipeline.core.util.PipelineContextUtils;
import javax.sql.DataSource;
-import java.sql.SQLException;
import java.util.Collection;
import java.util.Collections;
@@ -32,7 +31,7 @@ import java.util.Collections;
public final class H2CreateTableSQLGenerator implements
CreateTableSQLGenerator {
@Override
- public Collection<String> generate(final DataSource dataSource, final
String schemaName, final String tableName) throws SQLException {
+ public Collection<String> generate(final DataSource dataSource, final
String schemaName, final String tableName) {
if ("t_order".equalsIgnoreCase(tableName)) {
return
Collections.singletonList(PipelineContextUtils.getCreateOrderTableSchema());
}
@@ -40,7 +39,7 @@ public final class H2CreateTableSQLGenerator implements
CreateTableSQLGenerator
}
@Override
- public String getType() {
+ public String getDatabaseType() {
return "H2";
}
}
diff --git
a/test/it/pipeline/src/test/java/org/apache/shardingsphere/test/it/data/pipeline/core/fixture/H2DataSourcePreparer.java
b/test/it/pipeline/src/test/java/org/apache/shardingsphere/test/it/data/pipeline/core/fixture/H2DataSourcePreparer.java
index de95b2c6615..820803b38b0 100644
---
a/test/it/pipeline/src/test/java/org/apache/shardingsphere/test/it/data/pipeline/core/fixture/H2DataSourcePreparer.java
+++
b/test/it/pipeline/src/test/java/org/apache/shardingsphere/test/it/data/pipeline/core/fixture/H2DataSourcePreparer.java
@@ -42,7 +42,7 @@ public final class H2DataSourcePreparer extends
AbstractDataSourcePreparer {
}
@Override
- public String getType() {
+ public String getDatabaseType() {
return "H2";
}
}
diff --git
a/test/it/pipeline/src/test/java/org/apache/shardingsphere/test/it/data/pipeline/core/fixture/H2PipelineSQLBuilder.java
b/test/it/pipeline/src/test/java/org/apache/shardingsphere/test/it/data/pipeline/core/fixture/H2PipelineSQLBuilder.java
index 80502e4d15b..b3d36544b6d 100644
---
a/test/it/pipeline/src/test/java/org/apache/shardingsphere/test/it/data/pipeline/core/fixture/H2PipelineSQLBuilder.java
+++
b/test/it/pipeline/src/test/java/org/apache/shardingsphere/test/it/data/pipeline/core/fixture/H2PipelineSQLBuilder.java
@@ -44,7 +44,7 @@ public final class H2PipelineSQLBuilder extends
AbstractPipelineSQLBuilder {
}
@Override
- public String getType() {
+ public String getDatabaseType() {
return "H2";
}
}
diff --git
a/test/it/pipeline/src/test/java/org/apache/shardingsphere/test/it/data/pipeline/core/fixture/H2PositionInitializer.java
b/test/it/pipeline/src/test/java/org/apache/shardingsphere/test/it/data/pipeline/core/fixture/H2PositionInitializer.java
index 1e0634a4462..8c0fa4ba5f9 100644
---
a/test/it/pipeline/src/test/java/org/apache/shardingsphere/test/it/data/pipeline/core/fixture/H2PositionInitializer.java
+++
b/test/it/pipeline/src/test/java/org/apache/shardingsphere/test/it/data/pipeline/core/fixture/H2PositionInitializer.java
@@ -35,7 +35,7 @@ public final class H2PositionInitializer implements
PositionInitializer {
}
@Override
- public String getType() {
+ public String getDatabaseType() {
return "H2";
}
}