This is an automated email from the ASF dual-hosted git repository.
zhangliang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git
The following commit(s) were added to refs/heads/master by this push:
new 5cf2e599e62 Decouple database types and modules as pluggable (#35345)
5cf2e599e62 is described below
commit 5cf2e599e62a8ad3b3fdcf51238d7f0d1d6dca49
Author: Liang Zhang <[email protected]>
AuthorDate: Fri May 9 14:44:29 2025 +0800
Decouple database types and modules as pluggable (#35345)
* Optimize code structure and improve return type handling
- Remove void methods and replace with returning Collection
- Wrap naked return with Collections.emptyList()
- Extract method to collect table statistics
- Improve code readability and maintainability
* Update dependencies and move to test scope
- Update shardingsphere-infra-database-mysql dependency in multiple pom
files
- Move several database-related dependencies to test scope
- Add new database-related dependencies in test scope across various modules
* Update dependencies and move to test scope
- Update shardingsphere-infra-database-mysql dependency in multiple pom
files
- Move several database-related dependencies to test scope
- Add new database-related dependencies in test scope across various modules
* Update dependencies and move to test scope
- Update shardingsphere-infra-database dependency in multiple pom files
- Move several database-related dependencies to test scope
- Add new database-related dependencies in test scope across various modules
* Update dependencies and move to test scope
- Update shardingsphere-infra-database dependency in multiple pom files
- Move several database-related dependencies to test scope
- Add new database-related dependencies in test scope across various modules
* Decouple database types and modules as pluggable
* Decouple database types and modules as pluggable
* Decouple database types and modules as pluggable
* Decouple database types and modules as pluggable
* Decouple database types and modules as pluggable
* Decouple database types and modules as pluggable
* Decouple database types and modules as pluggable
* Decouple database types and modules as pluggable
---
db-protocol/core/pom.xml | 7 +++
db-protocol/mysql/pom.xml | 6 +++
infra/common/pom.xml | 50 +++++++---------------
.../rdl/resource/AlterStorageUnitExecutorTest.java | 4 +-
.../resource/RegisterStorageUnitExecutorTest.java | 4 +-
.../rql/resource/ShowStorageUnitExecutorTest.java | 6 +--
infra/executor/pom.xml | 13 ++++++
.../parser/cache/SQLStatementCacheBuilderTest.java | 2 +-
.../parser/cache/SQLStatementCacheLoaderTest.java | 2 +-
.../sql/SQLStatementParserEngineFactoryTest.java | 2 +-
.../infra/rewrite/SQLRewriteEntryTest.java | 14 +++---
.../generic/SubstitutableColumnNameTokenTest.java | 28 +++++-------
jdbc/pom.xml | 46 ++++++++++++++++++++
kernel/global-clock/core/pom.xml | 7 +++
.../single/route/SingleSQLRouterTest.java | 2 +-
.../route/engine/engine/SingleRouteEngineTest.java | 2 +-
.../shardingsphere/single/rule/SingleRuleTest.java | 2 +-
kernel/sql-federation/core/pom.xml | 7 +++
kernel/sql-federation/executor/pom.xml | 7 +++
.../parser/rule/SQLParserRuleTest.java | 2 +-
kernel/sql-translator/core/pom.xml | 13 ++++++
kernel/time-service/type/database/pom.xml | 31 ++++++++++++++
kernel/transaction/core/pom.xml | 19 ++++++++
kernel/transaction/type/base/seata-at/pom.xml | 7 +++
kernel/transaction/type/xa/core/pom.xml | 49 +++++++++++++++++++++
.../resources/yaml/persist/data-source-foo.yaml | 4 +-
.../test/resources/yaml/persist/data-source.yaml | 4 +-
.../core/src/test/resources/yaml/data-source.yaml | 2 +-
parser/distsql/statement/pom.xml | 6 +++
.../converter/DataSourceSegmentsConverterTest.java | 4 +-
proxy/bootstrap/pom.xml | 46 ++++++++++++++++++++
31 files changed, 317 insertions(+), 81 deletions(-)
diff --git a/db-protocol/core/pom.xml b/db-protocol/core/pom.xml
index 44641fa3303..20c8e8490c3 100644
--- a/db-protocol/core/pom.xml
+++ b/db-protocol/core/pom.xml
@@ -40,6 +40,13 @@
<scope>test</scope>
</dependency>
+ <dependency>
+ <groupId>org.apache.shardingsphere</groupId>
+ <artifactId>shardingsphere-infra-database-mysql</artifactId>
+ <version>${project.version}</version>
+ <scope>test</scope>
+ </dependency>
+
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-handler</artifactId>
diff --git a/db-protocol/mysql/pom.xml b/db-protocol/mysql/pom.xml
index 2f243e927d0..f1bec4e7dee 100644
--- a/db-protocol/mysql/pom.xml
+++ b/db-protocol/mysql/pom.xml
@@ -38,5 +38,11 @@
<artifactId>shardingsphere-mysql-dialect-exception</artifactId>
<version>${project.version}</version>
</dependency>
+
+ <dependency>
+ <groupId>org.apache.shardingsphere</groupId>
+ <artifactId>shardingsphere-infra-database-mysql</artifactId>
+ <version>${project.version}</version>
+ </dependency>
</dependencies>
</project>
diff --git a/infra/common/pom.xml b/infra/common/pom.xml
index df4e9aa1ce6..0b33f9ba8c0 100644
--- a/infra/common/pom.xml
+++ b/infra/common/pom.xml
@@ -35,74 +35,54 @@
<dependency>
<groupId>org.apache.shardingsphere</groupId>
- <artifactId>shardingsphere-infra-database-mysql</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.shardingsphere</groupId>
- <artifactId>shardingsphere-infra-database-mariadb</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.shardingsphere</groupId>
- <artifactId>shardingsphere-infra-database-postgresql</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.shardingsphere</groupId>
- <artifactId>shardingsphere-infra-database-opengauss</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.shardingsphere</groupId>
- <artifactId>shardingsphere-infra-database-oracle</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.shardingsphere</groupId>
- <artifactId>shardingsphere-infra-database-sqlserver</artifactId>
+
<artifactId>shardingsphere-infra-data-source-pool-hikari</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.shardingsphere</groupId>
- <artifactId>shardingsphere-infra-database-h2</artifactId>
+ <artifactId>shardingsphere-parser-sql-engine</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.shardingsphere</groupId>
- <artifactId>shardingsphere-infra-database-clickhouse</artifactId>
+ <artifactId>shardingsphere-infra-database-sql92</artifactId>
<version>${project.version}</version>
</dependency>
+
<dependency>
<groupId>org.apache.shardingsphere</groupId>
- <artifactId>shardingsphere-infra-database-sql92</artifactId>
+ <artifactId>shardingsphere-test-util</artifactId>
<version>${project.version}</version>
+ <scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.shardingsphere</groupId>
- <artifactId>shardingsphere-infra-database-firebird</artifactId>
+ <artifactId>shardingsphere-test-fixture-database</artifactId>
<version>${project.version}</version>
+ <scope>test</scope>
</dependency>
+
<dependency>
<groupId>org.apache.shardingsphere</groupId>
-
<artifactId>shardingsphere-infra-data-source-pool-hikari</artifactId>
+ <artifactId>shardingsphere-infra-database-mysql</artifactId>
<version>${project.version}</version>
+ <scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.shardingsphere</groupId>
- <artifactId>shardingsphere-parser-sql-engine</artifactId>
+ <artifactId>shardingsphere-infra-database-postgresql</artifactId>
<version>${project.version}</version>
+ <scope>test</scope>
</dependency>
-
<dependency>
<groupId>org.apache.shardingsphere</groupId>
- <artifactId>shardingsphere-test-util</artifactId>
+ <artifactId>shardingsphere-infra-database-opengauss</artifactId>
<version>${project.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.shardingsphere</groupId>
- <artifactId>shardingsphere-test-fixture-database</artifactId>
+ <artifactId>shardingsphere-infra-database-h2</artifactId>
<version>${project.version}</version>
<scope>test</scope>
</dependency>
diff --git
a/infra/distsql-handler/src/test/java/org/apache/shardingsphere/distsql/handler/executor/rdl/resource/AlterStorageUnitExecutorTest.java
b/infra/distsql-handler/src/test/java/org/apache/shardingsphere/distsql/handler/executor/rdl/resource/AlterStorageUnitExecutorTest.java
index 516c552150a..4c313dbd078 100644
---
a/infra/distsql-handler/src/test/java/org/apache/shardingsphere/distsql/handler/executor/rdl/resource/AlterStorageUnitExecutorTest.java
+++
b/infra/distsql-handler/src/test/java/org/apache/shardingsphere/distsql/handler/executor/rdl/resource/AlterStorageUnitExecutorTest.java
@@ -103,14 +103,14 @@ class AlterStorageUnitExecutorTest {
}
private AlterStorageUnitStatement createAlterStorageUnitStatement(final
String resourceName) {
- return new AlterStorageUnitStatement(Collections.singleton(new
URLBasedDataSourceSegment(resourceName, "jdbc:mysql://127.0.0.1:3306/ds_0",
"root", "", new Properties())),
+ return new AlterStorageUnitStatement(Collections.singleton(new
URLBasedDataSourceSegment(resourceName, "jdbc:mock://127.0.0.1:3306/ds_0",
"root", "", new Properties())),
Collections.emptySet());
}
private AlterStorageUnitStatement
createAlterStorageUnitStatementWithDuplicateStorageUnitNames() {
return new AlterStorageUnitStatement(Arrays.asList(
new HostnameAndPortBasedDataSourceSegment("ds_0", "127.0.0.1",
"3306", "ds_0", "root", "", new Properties()),
- new URLBasedDataSourceSegment("ds_0",
"jdbc:mysql://127.0.0.1:3306/ds_1", "root", "", new Properties())),
Collections.emptySet());
+ new URLBasedDataSourceSegment("ds_0",
"jdbc:mock://127.0.0.1:3306/ds_1", "root", "", new Properties())),
Collections.emptySet());
}
private ConnectionProperties mockConnectionProperties(final String
catalog) {
diff --git
a/infra/distsql-handler/src/test/java/org/apache/shardingsphere/distsql/handler/executor/rdl/resource/RegisterStorageUnitExecutorTest.java
b/infra/distsql-handler/src/test/java/org/apache/shardingsphere/distsql/handler/executor/rdl/resource/RegisterStorageUnitExecutorTest.java
index 7167437d0e0..3b46c59485d 100644
---
a/infra/distsql-handler/src/test/java/org/apache/shardingsphere/distsql/handler/executor/rdl/resource/RegisterStorageUnitExecutorTest.java
+++
b/infra/distsql-handler/src/test/java/org/apache/shardingsphere/distsql/handler/executor/rdl/resource/RegisterStorageUnitExecutorTest.java
@@ -91,13 +91,13 @@ class RegisterStorageUnitExecutorTest {
}
private RegisterStorageUnitStatement createRegisterStorageUnitStatement() {
- return new RegisterStorageUnitStatement(false,
Collections.singleton(new URLBasedDataSourceSegment("ds_0",
"jdbc:mysql://127.0.0.1:3306/test0", "root", "", new Properties())),
+ return new RegisterStorageUnitStatement(false,
Collections.singleton(new URLBasedDataSourceSegment("ds_0",
"jdbc:mock://127.0.0.1:3306/test0", "root", "", new Properties())),
Collections.emptySet());
}
private RegisterStorageUnitStatement
createRegisterStorageUnitStatementWithDuplicateStorageUnitNames() {
return new RegisterStorageUnitStatement(false, Arrays.asList(
new HostnameAndPortBasedDataSourceSegment("ds_0", "127.0.0.1",
"3306", "ds_0", "root", "", new Properties()),
- new URLBasedDataSourceSegment("ds_0",
"jdbc:mysql://127.0.0.1:3306/ds_1", "root", "", new Properties())),
Collections.emptySet());
+ new URLBasedDataSourceSegment("ds_0",
"jdbc:mock://127.0.0.1:3306/ds_1", "root", "", new Properties())),
Collections.emptySet());
}
}
diff --git
a/infra/distsql-handler/src/test/java/org/apache/shardingsphere/distsql/handler/executor/rql/resource/ShowStorageUnitExecutorTest.java
b/infra/distsql-handler/src/test/java/org/apache/shardingsphere/distsql/handler/executor/rql/resource/ShowStorageUnitExecutorTest.java
index 4b830516d40..395e8032e79 100644
---
a/infra/distsql-handler/src/test/java/org/apache/shardingsphere/distsql/handler/executor/rql/resource/ShowStorageUnitExecutorTest.java
+++
b/infra/distsql-handler/src/test/java/org/apache/shardingsphere/distsql/handler/executor/rql/resource/ShowStorageUnitExecutorTest.java
@@ -59,7 +59,7 @@ class ShowStorageUnitExecutorTest {
private MockedDataSource createDataSource(final String dataSourceName) {
MockedDataSource result = new MockedDataSource();
- result.setUrl("jdbc:mysql://localhost:3307/" + dataSourceName);
+ result.setUrl("jdbc:mock://localhost:3307/" + dataSourceName);
result.setUsername("root");
result.setPassword("root");
result.setMaxPoolSize(100);
@@ -77,7 +77,7 @@ class ShowStorageUnitExecutorTest {
while (iterator.hasNext()) {
LocalDataQueryResultRow row = iterator.next();
assertThat(row.getCell(1), is(storageUnitNames.get(index)));
- assertThat(row.getCell(2), is("MySQL"));
+ assertThat(row.getCell(2), is("FIXTURE"));
assertThat(row.getCell(3), is("localhost"));
assertThat(row.getCell(4), is("3307"));
assertThat(row.getCell(5), is(storageUnitNames.get(index)));
@@ -98,7 +98,7 @@ class ShowStorageUnitExecutorTest {
assertThat(actual.size(), is(1));
LocalDataQueryResultRow row = actual.iterator().next();
assertThat(row.getCell(1), is("ds_0"));
- assertThat(row.getCell(2), is("MySQL"));
+ assertThat(row.getCell(2), is("FIXTURE"));
assertThat(row.getCell(3), is("localhost"));
assertThat(row.getCell(4), is("3307"));
assertThat(row.getCell(5), is("ds_0"));
diff --git a/infra/executor/pom.xml b/infra/executor/pom.xml
index 1e4d14aeebc..426512a0366 100644
--- a/infra/executor/pom.xml
+++ b/infra/executor/pom.xml
@@ -46,6 +46,19 @@
<scope>test</scope>
</dependency>
+ <dependency>
+ <groupId>org.apache.shardingsphere</groupId>
+ <artifactId>shardingsphere-infra-database-mysql</artifactId>
+ <version>${project.version}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.shardingsphere</groupId>
+ <artifactId>shardingsphere-infra-database-postgresql</artifactId>
+ <version>${project.version}</version>
+ <scope>test</scope>
+ </dependency>
+
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>transmittable-thread-local</artifactId>
diff --git
a/infra/parser/src/test/java/org/apache/shardingsphere/infra/parser/cache/SQLStatementCacheBuilderTest.java
b/infra/parser/src/test/java/org/apache/shardingsphere/infra/parser/cache/SQLStatementCacheBuilderTest.java
index 7e45a8df83d..63d78242d37 100644
---
a/infra/parser/src/test/java/org/apache/shardingsphere/infra/parser/cache/SQLStatementCacheBuilderTest.java
+++
b/infra/parser/src/test/java/org/apache/shardingsphere/infra/parser/cache/SQLStatementCacheBuilderTest.java
@@ -30,6 +30,6 @@ class SQLStatementCacheBuilderTest {
@Test
void assertBuild() {
-
assertThat(SQLStatementCacheBuilder.build(TypedSPILoader.getService(DatabaseType.class,
"MySQL"), new CacheOption(2000, 65535L), new CacheOption(128, 1024L)),
isA(LoadingCache.class));
+
assertThat(SQLStatementCacheBuilder.build(TypedSPILoader.getService(DatabaseType.class,
"SQL92"), new CacheOption(2000, 65535L), new CacheOption(128, 1024L)),
isA(LoadingCache.class));
}
}
diff --git
a/infra/parser/src/test/java/org/apache/shardingsphere/infra/parser/cache/SQLStatementCacheLoaderTest.java
b/infra/parser/src/test/java/org/apache/shardingsphere/infra/parser/cache/SQLStatementCacheLoaderTest.java
index 12fff0aab83..7c52ae95c31 100644
---
a/infra/parser/src/test/java/org/apache/shardingsphere/infra/parser/cache/SQLStatementCacheLoaderTest.java
+++
b/infra/parser/src/test/java/org/apache/shardingsphere/infra/parser/cache/SQLStatementCacheLoaderTest.java
@@ -36,7 +36,7 @@ class SQLStatementCacheLoaderTest {
@Test
void assertSQLStatementCacheLoad() throws ReflectiveOperationException {
- SQLStatementCacheLoader sqlStatementCacheLoader = new
SQLStatementCacheLoader(TypedSPILoader.getService(DatabaseType.class, "MySQL"),
new CacheOption(128, 1024L));
+ SQLStatementCacheLoader sqlStatementCacheLoader = new
SQLStatementCacheLoader(TypedSPILoader.getService(DatabaseType.class, "SQL92"),
new CacheOption(128, 1024L));
SQLStatementParserExecutor executor =
mock(SQLStatementParserExecutor.class, RETURNS_DEEP_STUBS);
Plugins.getMemberAccessor().set(SQLStatementCacheLoader.class.getDeclaredField("sqlStatementParserExecutor"),
sqlStatementCacheLoader, executor);
assertThat(sqlStatementCacheLoader.load(SQL), isA(SQLStatement.class));
diff --git
a/infra/parser/src/test/java/org/apache/shardingsphere/infra/parser/sql/SQLStatementParserEngineFactoryTest.java
b/infra/parser/src/test/java/org/apache/shardingsphere/infra/parser/sql/SQLStatementParserEngineFactoryTest.java
index 0742cb32705..0f56b81c6fe 100644
---
a/infra/parser/src/test/java/org/apache/shardingsphere/infra/parser/sql/SQLStatementParserEngineFactoryTest.java
+++
b/infra/parser/src/test/java/org/apache/shardingsphere/infra/parser/sql/SQLStatementParserEngineFactoryTest.java
@@ -27,7 +27,7 @@ import static org.junit.jupiter.api.Assertions.assertSame;
class SQLStatementParserEngineFactoryTest {
- private final DatabaseType databaseType =
TypedSPILoader.getService(DatabaseType.class, "MySQL");
+ private final DatabaseType databaseType =
TypedSPILoader.getService(DatabaseType.class, "SQL92");
@Test
void assertGetSQLStatementParserEngineNotSame() {
diff --git
a/infra/rewrite/src/test/java/org/apache/shardingsphere/infra/rewrite/SQLRewriteEntryTest.java
b/infra/rewrite/src/test/java/org/apache/shardingsphere/infra/rewrite/SQLRewriteEntryTest.java
index b13fa95e796..7de54af9cf3 100644
---
a/infra/rewrite/src/test/java/org/apache/shardingsphere/infra/rewrite/SQLRewriteEntryTest.java
+++
b/infra/rewrite/src/test/java/org/apache/shardingsphere/infra/rewrite/SQLRewriteEntryTest.java
@@ -52,13 +52,11 @@ import static org.mockito.Mockito.when;
class SQLRewriteEntryTest {
- private final DatabaseType h2DatabaseType =
TypedSPILoader.getService(DatabaseType.class, "H2");
-
- private final DatabaseType mysqlDatabaseType =
TypedSPILoader.getService(DatabaseType.class, "MySQL");
+ private final DatabaseType databaseType =
TypedSPILoader.getService(DatabaseType.class, "FIXTURE");
@Test
void assertRewriteForGenericSQLRewriteResult() {
- ShardingSphereDatabase database = new ShardingSphereDatabase("foo_db",
h2DatabaseType, mockResourceMetaData(),
+ ShardingSphereDatabase database = new ShardingSphereDatabase("foo_db",
databaseType, mockResourceMetaData(),
mock(RuleMetaData.class), Collections.singleton(new
ShardingSphereSchema("test")));
SQLRewriteEntry sqlRewriteEntry = new SQLRewriteEntry(
database, new RuleMetaData(Collections.singleton(new
SQLTranslatorRule(new
DefaultSQLTranslatorRuleConfigurationBuilder().build()))), new
ConfigurationProperties(new Properties()));
@@ -73,7 +71,7 @@ class SQLRewriteEntryTest {
when(result.getSql()).thenReturn("SELECT ?");
when(result.getParameters()).thenReturn(Collections.singletonList(1));
CommonSQLStatementContext sqlStatementContext =
mock(CommonSQLStatementContext.class);
- when(sqlStatementContext.getDatabaseType()).thenReturn(h2DatabaseType);
+ when(sqlStatementContext.getDatabaseType()).thenReturn(databaseType);
when(result.getSqlStatementContext()).thenReturn(sqlStatementContext);
when(result.getHintValueContext()).thenReturn(new HintValueContext());
return result;
@@ -82,7 +80,7 @@ class SQLRewriteEntryTest {
@Test
void assertRewriteForRouteSQLRewriteResult() {
ShardingSphereDatabase database = new ShardingSphereDatabase(
- "foo_db", h2DatabaseType, mockResourceMetaData(),
mock(RuleMetaData.class), Collections.singleton(new
ShardingSphereSchema("test")));
+ "foo_db", databaseType, mockResourceMetaData(),
mock(RuleMetaData.class), Collections.singleton(new
ShardingSphereSchema("test")));
SQLTranslatorRule sqlTranslatorRule = mock(SQLTranslatorRule.class);
when(sqlTranslatorRule.translate(any(), any(), any(), any(), any(),
any())).thenReturn(new SQLTranslatorContext("", Collections.emptyList()));
SQLRewriteEntry sqlRewriteEntry = new SQLRewriteEntry(database, new
RuleMetaData(Collections.singleton(sqlTranslatorRule)), new
ConfigurationProperties(new Properties()));
@@ -99,9 +97,9 @@ class SQLRewriteEntryTest {
private ResourceMetaData mockResourceMetaData() {
Map<String, StorageUnit> storageUnits = new LinkedHashMap<>(2, 1F);
StorageUnit storageUnit1 = mock(StorageUnit.class);
- when(storageUnit1.getStorageType()).thenReturn(h2DatabaseType);
+ when(storageUnit1.getStorageType()).thenReturn(databaseType);
StorageUnit storageUnit2 = mock(StorageUnit.class);
- when(storageUnit2.getStorageType()).thenReturn(mysqlDatabaseType);
+ when(storageUnit2.getStorageType()).thenReturn(mock());
storageUnits.put("ds_0", storageUnit1);
storageUnits.put("ds_1", storageUnit2);
ResourceMetaData result = mock(ResourceMetaData.class);
diff --git
a/infra/rewrite/src/test/java/org/apache/shardingsphere/infra/rewrite/sql/token/common/pojo/generic/SubstitutableColumnNameTokenTest.java
b/infra/rewrite/src/test/java/org/apache/shardingsphere/infra/rewrite/sql/token/common/pojo/generic/SubstitutableColumnNameTokenTest.java
index 4e7144c1cea..d64fc35c660 100644
---
a/infra/rewrite/src/test/java/org/apache/shardingsphere/infra/rewrite/sql/token/common/pojo/generic/SubstitutableColumnNameTokenTest.java
+++
b/infra/rewrite/src/test/java/org/apache/shardingsphere/infra/rewrite/sql/token/common/pojo/generic/SubstitutableColumnNameTokenTest.java
@@ -38,43 +38,37 @@ import static org.mockito.Mockito.mock;
class SubstitutableColumnNameTokenTest {
+ private final DatabaseType databaseType =
TypedSPILoader.getService(DatabaseType.class, "FIXTURE");
+
@Test
void assertToString() {
Collection<Projection> projections = Collections.singletonList(new
ColumnProjection(null, "id", null, mock(DatabaseType.class)));
- assertThat(
- new SubstitutableColumnNameToken(0, 1, projections,
TypedSPILoader.getService(DatabaseType.class, "MySQL"))
- .toString(mock(RouteUnit.class)),
- is("id"));
+ assertThat(new SubstitutableColumnNameToken(0, 1, projections,
databaseType).toString(mock(RouteUnit.class)), is("id"));
}
@Test
void assertToStringWithQuote() {
Collection<Projection> projections = Collections.singletonList(new
ColumnProjection(null,
new IdentifierValue("id", QuoteCharacter.BACK_QUOTE), new
IdentifierValue("id", QuoteCharacter.BACK_QUOTE), mock(DatabaseType.class)));
- assertThat(
- new SubstitutableColumnNameToken(0, 1, projections,
TypedSPILoader.getService(DatabaseType.class, "MySQL"))
- .toString(mock(RouteUnit.class)),
- is("`id` AS `id`"));
+ assertThat(new SubstitutableColumnNameToken(0, 1, projections,
databaseType).toString(mock(RouteUnit.class)), is("id AS id"));
}
@Test
void assertToStringWithOwnerQuote() {
Collection<Projection> projectionsWithOwnerQuote =
Collections.singletonList(new ColumnProjection(new IdentifierValue("temp",
QuoteCharacter.BACK_QUOTE),
new IdentifierValue("id", QuoteCharacter.BACK_QUOTE), new
IdentifierValue("id", QuoteCharacter.BACK_QUOTE), mock(DatabaseType.class)));
- assertThat(new SubstitutableColumnNameToken(0, 1,
projectionsWithOwnerQuote, TypedSPILoader.getService(DatabaseType.class,
"MySQL")).toString(mock(RouteUnit.class)),
- is("`temp`.`id` AS `id`"));
+ assertThat(new SubstitutableColumnNameToken(0, 1,
projectionsWithOwnerQuote, databaseType).toString(mock(RouteUnit.class)),
is("temp.id AS id"));
Collection<Projection> projectionsWithoutOwnerQuote =
Collections.singletonList(new ColumnProjection(new IdentifierValue("temp",
QuoteCharacter.NONE),
- new IdentifierValue("id", QuoteCharacter.BACK_QUOTE), new
IdentifierValue("id", QuoteCharacter.BACK_QUOTE), mock(DatabaseType.class)));
- assertThat(new SubstitutableColumnNameToken(0, 1,
projectionsWithoutOwnerQuote, TypedSPILoader.getService(DatabaseType.class,
"MySQL")).toString(mock(RouteUnit.class)),
- is("temp.`id` AS `id`"));
+ new IdentifierValue("id", QuoteCharacter.BACK_QUOTE), new
IdentifierValue("id", QuoteCharacter.BACK_QUOTE), databaseType));
+ assertThat(new SubstitutableColumnNameToken(0, 1,
projectionsWithoutOwnerQuote, databaseType).toString(mock(RouteUnit.class)),
is("temp.id AS id"));
}
@Test
void assertToStringWithSubqueryProjection() {
Collection<Projection> projections = Arrays.asList(new
ColumnProjection(new IdentifierValue("temp", QuoteCharacter.BACK_QUOTE),
- new IdentifierValue("id", QuoteCharacter.BACK_QUOTE), new
IdentifierValue("id", QuoteCharacter.BACK_QUOTE), mock(DatabaseType.class)),
- new SubqueryProjection(new SubqueryProjectionSegment(null,
"(SELECT name FROM t_order)"), new ColumnProjection(null, "name", null,
mock(DatabaseType.class)),
- new IdentifierValue("name"),
mock(DatabaseType.class)));
- assertThat(new SubstitutableColumnNameToken(0, 1, projections,
TypedSPILoader.getService(DatabaseType.class,
"MySQL")).toString(mock(RouteUnit.class)), is("`temp`.`id` AS `id`, `name`"));
+ new IdentifierValue("id", QuoteCharacter.BACK_QUOTE), new
IdentifierValue("id", QuoteCharacter.BACK_QUOTE), databaseType),
+ new SubqueryProjection(new SubqueryProjectionSegment(null,
"(SELECT name FROM t_order)"),
+ new ColumnProjection(null, "name", null,
databaseType), new IdentifierValue("name"), mock(DatabaseType.class)));
+ assertThat(new SubstitutableColumnNameToken(0, 1, projections,
databaseType).toString(mock(RouteUnit.class)), is("temp.id AS id, name"));
}
}
diff --git a/jdbc/pom.xml b/jdbc/pom.xml
index 36cbeecd8e3..b093c1a2c21 100644
--- a/jdbc/pom.xml
+++ b/jdbc/pom.xml
@@ -185,6 +185,52 @@
<version>${project.version}</version>
</dependency>
+ <dependency>
+ <groupId>org.apache.shardingsphere</groupId>
+ <artifactId>shardingsphere-infra-database-mysql</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.shardingsphere</groupId>
+ <artifactId>shardingsphere-infra-database-mariadb</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.shardingsphere</groupId>
+ <artifactId>shardingsphere-infra-database-postgresql</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.shardingsphere</groupId>
+ <artifactId>shardingsphere-infra-database-opengauss</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.shardingsphere</groupId>
+ <artifactId>shardingsphere-infra-database-oracle</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.shardingsphere</groupId>
+ <artifactId>shardingsphere-infra-database-sqlserver</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.shardingsphere</groupId>
+ <artifactId>shardingsphere-infra-database-h2</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.shardingsphere</groupId>
+ <artifactId>shardingsphere-infra-database-clickhouse</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.shardingsphere</groupId>
+ <artifactId>shardingsphere-infra-database-firebird</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
<dependency>
<groupId>org.apache.shardingsphere</groupId>
<artifactId>shardingsphere-test-util</artifactId>
diff --git a/kernel/global-clock/core/pom.xml b/kernel/global-clock/core/pom.xml
index b0077743d91..a53c0655886 100644
--- a/kernel/global-clock/core/pom.xml
+++ b/kernel/global-clock/core/pom.xml
@@ -55,5 +55,12 @@
<version>${project.version}</version>
<scope>test</scope>
</dependency>
+
+ <dependency>
+ <groupId>org.apache.shardingsphere</groupId>
+ <artifactId>shardingsphere-infra-database-opengauss</artifactId>
+ <version>${project.version}</version>
+ <scope>test</scope>
+ </dependency>
</dependencies>
</project>
diff --git
a/kernel/single/core/src/test/java/org/apache/shardingsphere/single/route/SingleSQLRouterTest.java
b/kernel/single/core/src/test/java/org/apache/shardingsphere/single/route/SingleSQLRouterTest.java
index dcf694dcc97..3b2c1291719 100644
---
a/kernel/single/core/src/test/java/org/apache/shardingsphere/single/route/SingleSQLRouterTest.java
+++
b/kernel/single/core/src/test/java/org/apache/shardingsphere/single/route/SingleSQLRouterTest.java
@@ -145,7 +145,7 @@ class SingleSQLRouterTest {
private Connection mockConnection() throws SQLException {
Connection result = mock(Connection.class, RETURNS_DEEP_STUBS);
- when(result.getMetaData().getURL()).thenReturn("jdbc:h2:mem:db");
+
when(result.getMetaData().getURL()).thenReturn("jdbc:mock://127.0.0.1/db");
return result;
}
diff --git
a/kernel/single/core/src/test/java/org/apache/shardingsphere/single/route/engine/engine/SingleRouteEngineTest.java
b/kernel/single/core/src/test/java/org/apache/shardingsphere/single/route/engine/engine/SingleRouteEngineTest.java
index b0ea2ccca6e..91ea2640aa5 100644
---
a/kernel/single/core/src/test/java/org/apache/shardingsphere/single/route/engine/engine/SingleRouteEngineTest.java
+++
b/kernel/single/core/src/test/java/org/apache/shardingsphere/single/route/engine/engine/SingleRouteEngineTest.java
@@ -131,7 +131,7 @@ class SingleRouteEngineTest {
private Map<String, DataSource> createDataSourceMap() throws SQLException {
Map<String, DataSource> result = new HashMap<>(2, 1F);
Connection connection = mock(Connection.class, RETURNS_DEEP_STUBS);
- when(connection.getMetaData().getURL()).thenReturn("jdbc:h2:mem:db");
+
when(connection.getMetaData().getURL()).thenReturn("jdbc:mock://127.0.0.1/db");
result.put("ds_0", new MockedDataSource(connection));
result.put("ds_1", new MockedDataSource(connection));
return result;
diff --git
a/kernel/single/core/src/test/java/org/apache/shardingsphere/single/rule/SingleRuleTest.java
b/kernel/single/core/src/test/java/org/apache/shardingsphere/single/rule/SingleRuleTest.java
index 464894ec39d..851c397e7d6 100644
---
a/kernel/single/core/src/test/java/org/apache/shardingsphere/single/rule/SingleRuleTest.java
+++
b/kernel/single/core/src/test/java/org/apache/shardingsphere/single/rule/SingleRuleTest.java
@@ -88,7 +88,7 @@ class SingleRuleTest {
private DataSource mockDataSource(final String dataSourceName, final
List<String> tableNames) throws SQLException {
Connection connection = mock(Connection.class, RETURNS_DEEP_STUBS);
when(connection.getCatalog()).thenReturn(dataSourceName);
-
when(connection.getMetaData().getURL()).thenReturn(String.format("jdbc:h2:mem:%s",
dataSourceName));
+
when(connection.getMetaData().getURL()).thenReturn(String.format("jdbc:mock://127.0.0.1/%s",
dataSourceName));
DataSource result = new MockedDataSource(connection);
ResultSet resultSet = mockResultSet(tableNames);
when(result.getConnection().getMetaData().getTables(dataSourceName,
null, null, new String[]{TABLE_TYPE, PARTITIONED_TABLE_TYPE, VIEW_TYPE,
SYSTEM_TABLE_TYPE, SYSTEM_VIEW_TYPE}))
diff --git a/kernel/sql-federation/core/pom.xml
b/kernel/sql-federation/core/pom.xml
index fc62f199602..16739760888 100644
--- a/kernel/sql-federation/core/pom.xml
+++ b/kernel/sql-federation/core/pom.xml
@@ -56,6 +56,13 @@
<version>${project.version}</version>
<scope>test</scope>
</dependency>
+
+ <dependency>
+ <groupId>org.apache.shardingsphere</groupId>
+ <artifactId>shardingsphere-infra-database-mysql</artifactId>
+ <version>${project.version}</version>
+ <scope>test</scope>
+ </dependency>
</dependencies>
<profiles>
diff --git a/kernel/sql-federation/executor/pom.xml
b/kernel/sql-federation/executor/pom.xml
index 40d585e0a64..913bdf3fd8b 100644
--- a/kernel/sql-federation/executor/pom.xml
+++ b/kernel/sql-federation/executor/pom.xml
@@ -55,6 +55,13 @@
<version>${project.version}</version>
<scope>test</scope>
</dependency>
+
+ <dependency>
+ <groupId>org.apache.shardingsphere</groupId>
+ <artifactId>shardingsphere-infra-database-postgresql</artifactId>
+ <version>${project.version}</version>
+ <scope>test</scope>
+ </dependency>
</dependencies>
<profiles>
diff --git
a/kernel/sql-parser/core/src/test/java/org/apache/shardingsphere/parser/rule/SQLParserRuleTest.java
b/kernel/sql-parser/core/src/test/java/org/apache/shardingsphere/parser/rule/SQLParserRuleTest.java
index d8897224dbc..de7352f520f 100644
---
a/kernel/sql-parser/core/src/test/java/org/apache/shardingsphere/parser/rule/SQLParserRuleTest.java
+++
b/kernel/sql-parser/core/src/test/java/org/apache/shardingsphere/parser/rule/SQLParserRuleTest.java
@@ -39,7 +39,7 @@ class SQLParserRuleTest {
@Test
void assertGetSQLParserEngine() {
-
assertNotNull(sqlParserRule.getSQLParserEngine(TypedSPILoader.getService(DatabaseType.class,
"H2")));
+
assertNotNull(sqlParserRule.getSQLParserEngine(TypedSPILoader.getService(DatabaseType.class,
"SQL92")));
}
@Test
diff --git a/kernel/sql-translator/core/pom.xml
b/kernel/sql-translator/core/pom.xml
index a66307bf223..173fedcbf05 100644
--- a/kernel/sql-translator/core/pom.xml
+++ b/kernel/sql-translator/core/pom.xml
@@ -50,5 +50,18 @@
<version>${project.version}</version>
<scope>test</scope>
</dependency>
+
+ <dependency>
+ <groupId>org.apache.shardingsphere</groupId>
+ <artifactId>shardingsphere-infra-database-mysql</artifactId>
+ <version>${project.version}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.shardingsphere</groupId>
+ <artifactId>shardingsphere-infra-database-postgresql</artifactId>
+ <version>${project.version}</version>
+ <scope>test</scope>
+ </dependency>
</dependencies>
</project>
diff --git a/kernel/time-service/type/database/pom.xml
b/kernel/time-service/type/database/pom.xml
index 75292d71228..604f7a29c7c 100644
--- a/kernel/time-service/type/database/pom.xml
+++ b/kernel/time-service/type/database/pom.xml
@@ -52,6 +52,37 @@
<scope>test</scope>
</dependency>
+ <dependency>
+ <groupId>org.apache.shardingsphere</groupId>
+ <artifactId>shardingsphere-infra-database-mysql</artifactId>
+ <version>${project.version}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.shardingsphere</groupId>
+ <artifactId>shardingsphere-infra-database-postgresql</artifactId>
+ <version>${project.version}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.shardingsphere</groupId>
+ <artifactId>shardingsphere-infra-database-oracle</artifactId>
+ <version>${project.version}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.shardingsphere</groupId>
+ <artifactId>shardingsphere-infra-database-sqlserver</artifactId>
+ <version>${project.version}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.shardingsphere</groupId>
+ <artifactId>shardingsphere-infra-database-h2</artifactId>
+ <version>${project.version}</version>
+ <scope>test</scope>
+ </dependency>
+
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
diff --git a/kernel/transaction/core/pom.xml b/kernel/transaction/core/pom.xml
index a87f7bd30bb..474bcb97a74 100644
--- a/kernel/transaction/core/pom.xml
+++ b/kernel/transaction/core/pom.xml
@@ -56,5 +56,24 @@
<version>${project.version}</version>
<scope>test</scope>
</dependency>
+
+ <dependency>
+ <groupId>org.apache.shardingsphere</groupId>
+ <artifactId>shardingsphere-infra-database-mysql</artifactId>
+ <version>${project.version}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.shardingsphere</groupId>
+ <artifactId>shardingsphere-infra-database-postgresql</artifactId>
+ <version>${project.version}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.shardingsphere</groupId>
+ <artifactId>shardingsphere-infra-database-h2</artifactId>
+ <version>${project.version}</version>
+ <scope>test</scope>
+ </dependency>
</dependencies>
</project>
diff --git a/kernel/transaction/type/base/seata-at/pom.xml
b/kernel/transaction/type/base/seata-at/pom.xml
index c9c9f13ff86..03d89a2fcd0 100644
--- a/kernel/transaction/type/base/seata-at/pom.xml
+++ b/kernel/transaction/type/base/seata-at/pom.xml
@@ -54,6 +54,13 @@
<version>${project.parent.version}</version>
</dependency>
+ <dependency>
+ <groupId>org.apache.shardingsphere</groupId>
+ <artifactId>shardingsphere-infra-database-mysql</artifactId>
+ <version>${project.version}</version>
+ <scope>test</scope>
+ </dependency>
+
<dependency>
<groupId>org.apache.seata</groupId>
<artifactId>seata-all</artifactId>
diff --git a/kernel/transaction/type/xa/core/pom.xml
b/kernel/transaction/type/xa/core/pom.xml
index bf5d3d562a0..1781c4f1d77 100644
--- a/kernel/transaction/type/xa/core/pom.xml
+++ b/kernel/transaction/type/xa/core/pom.xml
@@ -48,6 +48,55 @@
<scope>test</scope>
</dependency>
+ <dependency>
+ <groupId>org.apache.shardingsphere</groupId>
+ <artifactId>shardingsphere-infra-database-mysql</artifactId>
+ <version>${project.version}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.shardingsphere</groupId>
+ <artifactId>shardingsphere-infra-database-postgresql</artifactId>
+ <version>${project.version}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.shardingsphere</groupId>
+ <artifactId>shardingsphere-infra-database-opengauss</artifactId>
+ <version>${project.version}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.shardingsphere</groupId>
+ <artifactId>shardingsphere-infra-database-oracle</artifactId>
+ <version>${project.version}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.shardingsphere</groupId>
+ <artifactId>shardingsphere-infra-database-sqlserver</artifactId>
+ <version>${project.version}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.shardingsphere</groupId>
+ <artifactId>shardingsphere-infra-database-mariadb</artifactId>
+ <version>${project.version}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.shardingsphere</groupId>
+ <artifactId>shardingsphere-infra-database-firebird</artifactId>
+ <version>${project.version}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.shardingsphere</groupId>
+ <artifactId>shardingsphere-infra-database-h2</artifactId>
+ <version>${project.version}</version>
+ <scope>test</scope>
+ </dependency>
+
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
diff --git a/mode/core/src/test/resources/yaml/persist/data-source-foo.yaml
b/mode/core/src/test/resources/yaml/persist/data-source-foo.yaml
index 79fcfa6c8d9..f9e29f7de0a 100644
--- a/mode/core/src/test/resources/yaml/persist/data-source-foo.yaml
+++ b/mode/core/src/test/resources/yaml/persist/data-source-foo.yaml
@@ -18,12 +18,12 @@
foo_ds:
password: root
closed: false
- driverClassName: com.mysql.cj.jdbc.Driver
dataSourceClassName:
org.apache.shardingsphere.test.fixture.jdbc.MockedDataSource
+ driverClassName: org.apache.shardingsphere.test.fixture.jdbc.MockedDriver
connectionInitSqls:
# No spaces after conversion
- set names utf8mb4;
- set names utf8;
- url: jdbc:mysql://localhost:3306/foo_ds
+ url: jdbc:mock://localhost:3306/foo_ds
username: root
\ No newline at end of file
diff --git a/mode/core/src/test/resources/yaml/persist/data-source.yaml
b/mode/core/src/test/resources/yaml/persist/data-source.yaml
index 1bd6330fbce..64ffb6f3bd7 100644
--- a/mode/core/src/test/resources/yaml/persist/data-source.yaml
+++ b/mode/core/src/test/resources/yaml/persist/data-source.yaml
@@ -17,8 +17,8 @@
ds_0:
dataSourceClassName:
org.apache.shardingsphere.test.fixture.jdbc.MockedDataSource
- driverClassName: com.mysql.jdbc.Driver
- url: jdbc:mysql://localhost:3306/ds_0
+ driverClassName: org.apache.shardingsphere.test.fixture.jdbc.MockedDriver
+ url: jdbc:mock://localhost:3306/ds_0
username: root
password: root
connectionInitSqls:
diff --git a/mode/type/cluster/core/src/test/resources/yaml/data-source.yaml
b/mode/type/cluster/core/src/test/resources/yaml/data-source.yaml
index 0febc45525b..34856c30f4d 100644
--- a/mode/type/cluster/core/src/test/resources/yaml/data-source.yaml
+++ b/mode/type/cluster/core/src/test/resources/yaml/data-source.yaml
@@ -17,6 +17,6 @@
write_ds:
dataSourceClassName: com.zaxxer.hikari.HikariDataSource
- url: jdbc:mysql://localhost:3306/demo_write_ds
+ url: jdbc:mock://localhost:3306/demo_write_ds
username: root
password: null
diff --git a/parser/distsql/statement/pom.xml b/parser/distsql/statement/pom.xml
index e2e7736a248..1c9b3e31ead 100644
--- a/parser/distsql/statement/pom.xml
+++ b/parser/distsql/statement/pom.xml
@@ -44,5 +44,11 @@
<version>${project.version}</version>
<scope>test</scope>
</dependency>
+ <dependency>
+ <groupId>org.apache.shardingsphere</groupId>
+ <artifactId>shardingsphere-test-fixture-database</artifactId>
+ <version>${project.version}</version>
+ <scope>test</scope>
+ </dependency>
</dependencies>
</project>
diff --git
a/parser/distsql/statement/src/test/java/org/apache/shardingsphere/distsql/segment/converter/DataSourceSegmentsConverterTest.java
b/parser/distsql/statement/src/test/java/org/apache/shardingsphere/distsql/segment/converter/DataSourceSegmentsConverterTest.java
index 73dcafb71d5..4b65deb98c5 100644
---
a/parser/distsql/statement/src/test/java/org/apache/shardingsphere/distsql/segment/converter/DataSourceSegmentsConverterTest.java
+++
b/parser/distsql/statement/src/test/java/org/apache/shardingsphere/distsql/segment/converter/DataSourceSegmentsConverterTest.java
@@ -41,7 +41,7 @@ class DataSourceSegmentsConverterTest {
@Test
void assertConvert() {
- Map<String, DataSourcePoolProperties> actual =
DataSourceSegmentsConverter.convert(TypedSPILoader.getService(DatabaseType.class,
"MySQL"), createDataSourceSegments());
+ Map<String, DataSourcePoolProperties> actual =
DataSourceSegmentsConverter.convert(TypedSPILoader.getService(DatabaseType.class,
"FIXTURE"), createDataSourceSegments());
assertThat(actual.size(), is(2));
assertTrue(actual.keySet().containsAll(Arrays.asList("ds0", "ds1")));
assertThat(actual.values().iterator().next().getAllLocalProperties().get("username"),
is("root0"));
@@ -53,7 +53,7 @@ class DataSourceSegmentsConverterTest {
Collection<DataSourceSegment> result = new LinkedList<>();
Properties customPoolProps = PropertiesBuilder.build(new
Property("maxPoolSize", "30"), new Property("min_pool_size", "10"));
result.add(new HostnameAndPortBasedDataSourceSegment("ds0",
"127.0.0.1", "3306", "demo_ds_0", "root0", "root0", customPoolProps));
- result.add(new URLBasedDataSourceSegment("ds1",
"jdbc:mysql://127.0.0.1:3306/demo_ds_1?useSSL=false", "root1", "root1",
customPoolProps));
+ result.add(new URLBasedDataSourceSegment("ds1",
"jdbc:mock://127.0.0.1:3306/demo_ds_1?useSSL=false", "root1", "root1",
customPoolProps));
return result;
}
}
diff --git a/proxy/bootstrap/pom.xml b/proxy/bootstrap/pom.xml
index 8f0d8d090db..47728010e24 100644
--- a/proxy/bootstrap/pom.xml
+++ b/proxy/bootstrap/pom.xml
@@ -98,6 +98,52 @@
<version>${project.version}</version>
</dependency>
+ <dependency>
+ <groupId>org.apache.shardingsphere</groupId>
+ <artifactId>shardingsphere-infra-database-mysql</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.shardingsphere</groupId>
+ <artifactId>shardingsphere-infra-database-mariadb</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.shardingsphere</groupId>
+ <artifactId>shardingsphere-infra-database-postgresql</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.shardingsphere</groupId>
+ <artifactId>shardingsphere-infra-database-opengauss</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.shardingsphere</groupId>
+ <artifactId>shardingsphere-infra-database-oracle</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.shardingsphere</groupId>
+ <artifactId>shardingsphere-infra-database-sqlserver</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.shardingsphere</groupId>
+ <artifactId>shardingsphere-infra-database-h2</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.shardingsphere</groupId>
+ <artifactId>shardingsphere-infra-database-clickhouse</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.shardingsphere</groupId>
+ <artifactId>shardingsphere-infra-database-firebird</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
<dependency>
<groupId>org.apache.shardingsphere</groupId>
<artifactId>shardingsphere-test-util</artifactId>