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 00e2c08ab88 Remove DatabaseTypeEngine.getStorageType with data sources
(#28644)
00e2c08ab88 is described below
commit 00e2c08ab88769488184924ebcb1c9c0cc602622
Author: Liang Zhang <[email protected]>
AuthorDate: Thu Oct 5 19:03:00 2023 +0800
Remove DatabaseTypeEngine.getStorageType with data sources (#28644)
* Remove DatabaseTypeEngine.getStorageType with data sources
* Refactor StorageUnit.storageType
* Fix test cases
* Fix test cases
---
.../infra/database/DatabaseTypeEngine.java | 31 ++++++++++++++++------
.../database/resource/unit/StorageUnit.java | 8 ++----
.../infra/database/DatabaseTypeEngineTest.java | 29 +++++++-------------
.../infra/metadata/ShardingSphereMetaDataTest.java | 3 ++-
.../globalclock/core/rule/GlobalClockRule.java | 3 +--
.../SingleRuleConfigurationDecorator.java | 2 +-
.../shardingsphere/single/rule/SingleRule.java | 2 +-
.../single/route/SingleSQLRouterTest.java | 5 ++--
.../type/database/DatabaseTimestampService.java | 7 +++--
.../transaction/rule/TransactionRuleTest.java | 9 ++++---
.../mode/manager/ContextManagerTest.java | 2 +-
.../ral/updatable/ImportMetaDataUpdaterTest.java | 5 ++--
.../UnregisterStorageUnitBackendHandlerTest.java | 3 ++-
.../version/ShardingSphereProxyVersionTest.java | 3 ++-
14 files changed, 58 insertions(+), 54 deletions(-)
diff --git
a/infra/common/src/main/java/org/apache/shardingsphere/infra/database/DatabaseTypeEngine.java
b/infra/common/src/main/java/org/apache/shardingsphere/infra/database/DatabaseTypeEngine.java
index 15ebbdf3ce7..4fcdd47cfe9 100644
---
a/infra/common/src/main/java/org/apache/shardingsphere/infra/database/DatabaseTypeEngine.java
+++
b/infra/common/src/main/java/org/apache/shardingsphere/infra/database/DatabaseTypeEngine.java
@@ -54,7 +54,12 @@ public final class DatabaseTypeEngine {
* @return protocol type
*/
public static DatabaseType getProtocolType(final String databaseName,
final DatabaseConfiguration databaseConfig, final ConfigurationProperties
props) {
- return findConfiguredDatabaseType(props).orElseGet(() ->
getStorageType(DataSourceStateManager.getInstance().getEnabledDataSources(databaseName,
databaseConfig)));
+ Optional<DatabaseType> configuredDatabaseType =
findConfiguredDatabaseType(props);
+ if (configuredDatabaseType.isPresent()) {
+ return configuredDatabaseType.get();
+ }
+ Collection<DataSource> enabledDataSources =
DataSourceStateManager.getInstance().getEnabledDataSources(databaseName,
databaseConfig);
+ return enabledDataSources.isEmpty() ? getDefaultStorageType() :
getStorageType(enabledDataSources.iterator().next());
}
/**
@@ -66,7 +71,11 @@ public final class DatabaseTypeEngine {
*/
public static DatabaseType getProtocolType(final Map<String, ? extends
DatabaseConfiguration> databaseConfigs, final ConfigurationProperties props) {
Optional<DatabaseType> configuredDatabaseType =
findConfiguredDatabaseType(props);
- return configuredDatabaseType.orElseGet(() ->
getStorageType(getEnabledDataSources(databaseConfigs).values()));
+ if (configuredDatabaseType.isPresent()) {
+ return configuredDatabaseType.get();
+ }
+ Map<String, DataSource> enabledDataSources =
getEnabledDataSources(databaseConfigs);
+ return enabledDataSources.isEmpty() ? getDefaultStorageType() :
getStorageType(enabledDataSources.values().iterator().next());
}
private static Optional<DatabaseType> findConfiguredDatabaseType(final
ConfigurationProperties props) {
@@ -101,18 +110,24 @@ public final class DatabaseTypeEngine {
/**
* Get storage type.
*
- * @param dataSources data sources
+ * @param dataSource data source
* @return storage type
+ * @throws SQLWrapperException SQL wrapper exception
*/
- public static DatabaseType getStorageType(final Collection<DataSource>
dataSources) {
- return dataSources.isEmpty() ?
TypedSPILoader.getService(DatabaseType.class, DEFAULT_DATABASE_TYPE) :
getStorageType(dataSources.iterator().next());
- }
-
- private static DatabaseType getStorageType(final DataSource dataSource) {
+ public static DatabaseType getStorageType(final DataSource dataSource) {
try (Connection connection = dataSource.getConnection()) {
return DatabaseTypeFactory.get(connection.getMetaData().getURL());
} catch (final SQLException ex) {
throw new SQLWrapperException(ex);
}
}
+
+ /**
+ * Get default storage type.
+ *
+ * @return default storage type
+ */
+ public static DatabaseType getDefaultStorageType() {
+ return TypedSPILoader.getService(DatabaseType.class,
DEFAULT_DATABASE_TYPE);
+ }
}
diff --git
a/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/resource/unit/StorageUnit.java
b/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/resource/unit/StorageUnit.java
index 05c9be7e8b8..ebaec412936 100644
---
a/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/resource/unit/StorageUnit.java
+++
b/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/resource/unit/StorageUnit.java
@@ -18,11 +18,11 @@
package org.apache.shardingsphere.infra.metadata.database.resource.unit;
import lombok.Getter;
-import org.apache.shardingsphere.infra.database.DatabaseTypeEngine;
import
org.apache.shardingsphere.infra.database.core.connector.ConnectionProperties;
import
org.apache.shardingsphere.infra.database.core.connector.ConnectionPropertiesParser;
import
org.apache.shardingsphere.infra.database.core.spi.DatabaseTypedSPILoader;
import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
+import org.apache.shardingsphere.infra.database.core.type.DatabaseTypeFactory;
import
org.apache.shardingsphere.infra.datasource.pool.CatalogSwitchableDataSource;
import
org.apache.shardingsphere.infra.datasource.pool.props.domain.DataSourcePoolProperties;
import
org.apache.shardingsphere.infra.metadata.database.resource.node.StorageNode;
@@ -52,15 +52,11 @@ public final class StorageUnit {
this.storageNode = storageNode;
this.dataSource = new CatalogSwitchableDataSource(dataSource,
storageNode.getCatalog(), storageNode.getUrl());
this.dataSourcePoolProperties = dataSourcePoolProperties;
+ storageType = DatabaseTypeFactory.get(storageNode.getUrl());
boolean isDataSourceEnabled =
!DataSourceStateManager.getInstance().getEnabledDataSources(databaseName,
Collections.singletonMap(storageNode.getName().getName(),
dataSource)).isEmpty();
- storageType = createStorageType(isDataSourceEnabled);
connectionProperties = createConnectionProperties(isDataSourceEnabled,
storageNode);
}
- private DatabaseType createStorageType(final boolean isDataSourceEnabled) {
- return DatabaseTypeEngine.getStorageType(isDataSourceEnabled ?
Collections.singleton(dataSource) : Collections.emptyList());
- }
-
private ConnectionProperties createConnectionProperties(final boolean
isDataSourceEnabled, final StorageNode storageNode) {
if (!isDataSourceEnabled) {
return null;
diff --git
a/infra/common/src/test/java/org/apache/shardingsphere/infra/database/DatabaseTypeEngineTest.java
b/infra/common/src/test/java/org/apache/shardingsphere/infra/database/DatabaseTypeEngineTest.java
index b1709395bd3..6c62d5db197 100644
---
a/infra/common/src/test/java/org/apache/shardingsphere/infra/database/DatabaseTypeEngineTest.java
+++
b/infra/common/src/test/java/org/apache/shardingsphere/infra/database/DatabaseTypeEngineTest.java
@@ -24,8 +24,8 @@ import
org.apache.shardingsphere.infra.config.props.ConfigurationPropertyKey;
import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
import org.apache.shardingsphere.infra.database.mysql.type.MySQLDatabaseType;
import
org.apache.shardingsphere.infra.database.postgresql.type.PostgreSQLDatabaseType;
-import org.apache.shardingsphere.infra.fixture.FixtureRuleConfiguration;
import
org.apache.shardingsphere.infra.exception.core.external.sql.type.wrapper.SQLWrapperException;
+import org.apache.shardingsphere.infra.fixture.FixtureRuleConfiguration;
import org.apache.shardingsphere.infra.spi.type.typed.TypedSPILoader;
import org.apache.shardingsphere.test.fixture.jdbc.MockedDataSource;
import org.apache.shardingsphere.test.util.PropertiesBuilder;
@@ -35,8 +35,6 @@ import org.junit.jupiter.api.Test;
import javax.sql.DataSource;
import java.sql.Connection;
import java.sql.SQLException;
-import java.util.Arrays;
-import java.util.Collection;
import java.util.Collections;
import java.util.Properties;
@@ -76,29 +74,20 @@ class DatabaseTypeEngineTest {
}
@Test
- void assertGetStorageTypeWithEmptyDataSources() {
-
assertThat(DatabaseTypeEngine.getStorageType(Collections.emptyList()).getType(),
is("MySQL"));
- }
-
- @Test
- void assertGetStorageTypeWithDataSources() throws SQLException {
- Collection<DataSource> dataSources =
Arrays.asList(mockDataSource(TypedSPILoader.getService(DatabaseType.class,
"H2")),
- mockDataSource(TypedSPILoader.getService(DatabaseType.class,
"H2")));
- assertThat(DatabaseTypeEngine.getStorageType(dataSources).getType(),
is("H2"));
- }
-
- @Test
- void assertGetStorageTypeWithDifferentDataSourceTypes() throws
SQLException {
- Collection<DataSource> dataSources =
Arrays.asList(mockDataSource(TypedSPILoader.getService(DatabaseType.class,
"H2")),
- mockDataSource(TypedSPILoader.getService(DatabaseType.class,
"MySQL")));
- assertThat(DatabaseTypeEngine.getStorageType(dataSources).getType(),
is("H2"));
+ void assertGetStorageType() throws SQLException {
+
assertThat(DatabaseTypeEngine.getStorageType(mockDataSource(TypedSPILoader.getService(DatabaseType.class,
"H2"))).getType(), is("H2"));
}
@Test
void assertGetStorageTypeWhenGetConnectionError() throws SQLException {
DataSource dataSource = mock(DataSource.class);
when(dataSource.getConnection()).thenThrow(SQLException.class);
- assertThrows(SQLWrapperException.class, () ->
DatabaseTypeEngine.getStorageType(Collections.singleton(dataSource)));
+ assertThrows(SQLWrapperException.class, () ->
DatabaseTypeEngine.getStorageType(dataSource));
+ }
+
+ @Test
+ void assertGetDefaultStorageTypeWithEmptyDataSources() {
+ assertThat(DatabaseTypeEngine.getDefaultStorageType().getType(),
is("MySQL"));
}
private DataSource mockDataSource(final DatabaseType databaseType) throws
SQLException {
diff --git
a/infra/common/src/test/java/org/apache/shardingsphere/infra/metadata/ShardingSphereMetaDataTest.java
b/infra/common/src/test/java/org/apache/shardingsphere/infra/metadata/ShardingSphereMetaDataTest.java
index 9ab0a33b436..648a04dd11e 100644
---
a/infra/common/src/test/java/org/apache/shardingsphere/infra/metadata/ShardingSphereMetaDataTest.java
+++
b/infra/common/src/test/java/org/apache/shardingsphere/infra/metadata/ShardingSphereMetaDataTest.java
@@ -23,6 +23,7 @@ import
org.apache.shardingsphere.infra.datasource.pool.props.domain.DataSourcePo
import
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
import
org.apache.shardingsphere.infra.metadata.database.resource.ResourceMetaData;
import
org.apache.shardingsphere.infra.metadata.database.resource.node.StorageNode;
+import
org.apache.shardingsphere.infra.metadata.database.resource.node.StorageNodeName;
import
org.apache.shardingsphere.infra.metadata.database.resource.unit.StorageUnit;
import org.apache.shardingsphere.infra.metadata.database.rule.RuleMetaData;
import org.apache.shardingsphere.infra.rule.identifier.type.ResourceHeldRule;
@@ -91,7 +92,7 @@ class ShardingSphereMetaDataTest {
when(result.getResourceMetaData()).thenReturn(resourceMetaData);
DataSourcePoolProperties dataSourcePoolProps =
mock(DataSourcePoolProperties.class, RETURNS_DEEP_STUBS);
when(dataSourcePoolProps.getConnectionPropertySynonyms().getStandardProperties()).thenReturn(Collections.emptyMap());
- StorageUnit storageUnit = new StorageUnit("foo_db",
mock(StorageNode.class, RETURNS_DEEP_STUBS), dataSourcePoolProps, dataSource);
+ StorageUnit storageUnit = new StorageUnit("foo_db", new
StorageNode(mock(StorageNodeName.class), "jdbc:mock://127.0.0.1/foo_ds"),
dataSourcePoolProps, dataSource);
when(result.getResourceMetaData().getStorageUnits()).thenReturn(Collections.singletonMap("foo_db",
storageUnit));
when(result.getRuleMetaData()).thenReturn(new
RuleMetaData(Collections.singleton(databaseResourceHeldRule)));
return result;
diff --git
a/kernel/global-clock/core/src/main/java/org/apache/shardingsphere/globalclock/core/rule/GlobalClockRule.java
b/kernel/global-clock/core/src/main/java/org/apache/shardingsphere/globalclock/core/rule/GlobalClockRule.java
index 0e1e867ea3e..3da38433822 100644
---
a/kernel/global-clock/core/src/main/java/org/apache/shardingsphere/globalclock/core/rule/GlobalClockRule.java
+++
b/kernel/global-clock/core/src/main/java/org/apache/shardingsphere/globalclock/core/rule/GlobalClockRule.java
@@ -29,7 +29,6 @@ import
org.apache.shardingsphere.infra.spi.type.typed.TypedSPILoader;
import org.apache.shardingsphere.transaction.spi.TransactionHook;
import java.util.Collection;
-import java.util.Collections;
import java.util.Map;
import java.util.Optional;
import java.util.Properties;
@@ -52,7 +51,7 @@ public final class GlobalClockRule implements GlobalRule {
private Properties createProperties(final Map<String,
ShardingSphereDatabase> databases) {
Properties result = new Properties();
- DatabaseType storageType =
findStorageType(databases.values()).orElseGet(() ->
DatabaseTypeEngine.getStorageType(Collections.emptyList()));
+ DatabaseType storageType =
findStorageType(databases.values()).orElseGet(DatabaseTypeEngine::getDefaultStorageType);
result.setProperty("trunkType",
storageType.getTrunkDatabaseType().orElse(storageType).getType());
result.setProperty("enabled",
String.valueOf(configuration.isEnabled()));
result.setProperty("type", configuration.getType());
diff --git
a/kernel/single/core/src/main/java/org/apache/shardingsphere/single/decorator/SingleRuleConfigurationDecorator.java
b/kernel/single/core/src/main/java/org/apache/shardingsphere/single/decorator/SingleRuleConfigurationDecorator.java
index e0a596a4435..3f427d2d94b 100644
---
a/kernel/single/core/src/main/java/org/apache/shardingsphere/single/decorator/SingleRuleConfigurationDecorator.java
+++
b/kernel/single/core/src/main/java/org/apache/shardingsphere/single/decorator/SingleRuleConfigurationDecorator.java
@@ -63,7 +63,7 @@ public final class SingleRuleConfigurationDecorator
implements RuleConfiguration
}
Map<String, DataSource> enabledDataSources =
DataSourceStateManager.getInstance().getEnabledDataSources(databaseName,
dataSources);
Map<String, DataSource> aggregatedDataSources =
SingleTableLoadUtils.getAggregatedDataSourceMap(enabledDataSources, builtRules);
- DatabaseType databaseType =
DatabaseTypeEngine.getStorageType(enabledDataSources.values());
+ DatabaseType databaseType = enabledDataSources.isEmpty() ?
DatabaseTypeEngine.getDefaultStorageType() :
DatabaseTypeEngine.getStorageType(enabledDataSources.values().iterator().next());
Collection<String> excludedTables =
SingleTableLoadUtils.getExcludedTables(builtRules);
Map<String, Collection<DataNode>> actualDataNodes =
SingleTableDataNodeLoader.load(databaseName, databaseType,
aggregatedDataSources, excludedTables);
Collection<DataNode> configuredDataNodes =
SingleTableLoadUtils.convertToDataNodes(databaseName, databaseType,
splitTables);
diff --git
a/kernel/single/core/src/main/java/org/apache/shardingsphere/single/rule/SingleRule.java
b/kernel/single/core/src/main/java/org/apache/shardingsphere/single/rule/SingleRule.java
index 9394b796bcb..871e2ce9172 100644
---
a/kernel/single/core/src/main/java/org/apache/shardingsphere/single/rule/SingleRule.java
+++
b/kernel/single/core/src/main/java/org/apache/shardingsphere/single/rule/SingleRule.java
@@ -79,7 +79,7 @@ public final class SingleRule implements DatabaseRule,
DataNodeContainedRule, Ta
Map<String, DataSource> enabledDataSources =
DataSourceStateManager.getInstance().getEnabledDataSources(databaseName,
dataSourceMap);
Map<String, DataSource> aggregateDataSourceMap =
SingleTableLoadUtils.getAggregatedDataSourceMap(enabledDataSources, builtRules);
dataSourceNames = aggregateDataSourceMap.keySet();
- databaseType =
DatabaseTypeEngine.getStorageType(enabledDataSources.values());
+ databaseType = enabledDataSources.isEmpty() ?
DatabaseTypeEngine.getDefaultStorageType() :
DatabaseTypeEngine.getStorageType(enabledDataSources.values().iterator().next());
singleTableDataNodes = SingleTableDataNodeLoader.load(databaseName,
databaseType, aggregateDataSourceMap, builtRules, configuration.getTables());
singleTableDataNodes.forEach((key, value) ->
tableNamesMapper.put(value.iterator().next().getTableName()));
}
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 89ab0a1c04e..115a0b4796f 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
@@ -26,6 +26,7 @@ import
org.apache.shardingsphere.infra.datasource.pool.props.domain.DataSourcePo
import
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
import
org.apache.shardingsphere.infra.metadata.database.resource.ResourceMetaData;
import
org.apache.shardingsphere.infra.metadata.database.resource.node.StorageNode;
+import
org.apache.shardingsphere.infra.metadata.database.resource.node.StorageNodeName;
import
org.apache.shardingsphere.infra.metadata.database.resource.unit.StorageUnit;
import org.apache.shardingsphere.infra.metadata.database.rule.RuleMetaData;
import
org.apache.shardingsphere.infra.metadata.database.schema.model.ShardingSphereSchema;
@@ -150,8 +151,8 @@ class SingleSQLRouterTest {
Map<String, StorageUnit> storageUnits = new HashMap<>(2, 1F);
DataSourcePoolProperties dataSourcePoolProps =
mock(DataSourcePoolProperties.class, RETURNS_DEEP_STUBS);
when(dataSourcePoolProps.getConnectionPropertySynonyms().getStandardProperties()).thenReturn(Collections.emptyMap());
- storageUnits.put("ds_0", new StorageUnit("foo_db",
mock(StorageNode.class, RETURNS_DEEP_STUBS), dataSourcePoolProps, new
MockedDataSource()));
- storageUnits.put("ds_1", new StorageUnit("foo_db",
mock(StorageNode.class, RETURNS_DEEP_STUBS), dataSourcePoolProps, new
MockedDataSource()));
+ storageUnits.put("ds_0", new StorageUnit("foo_db", new
StorageNode(mock(StorageNodeName.class), "jdbc:mock://127.0.0.1/ds_0"),
dataSourcePoolProps, new MockedDataSource()));
+ storageUnits.put("ds_1", new StorageUnit("foo_db", new
StorageNode(mock(StorageNodeName.class), "jdbc:mock://127.0.0.1/ds_1"),
dataSourcePoolProps, new MockedDataSource()));
ShardingSphereDatabase result = mock(ShardingSphereDatabase.class,
RETURNS_DEEP_STUBS);
when(result.getResourceMetaData().getStorageUnits()).thenReturn(storageUnits);
when(result.getName()).thenReturn(DefaultDatabase.LOGIC_NAME);
diff --git
a/kernel/time-service/type/database/src/main/java/org/apache/shardingsphere/timeservice/type/database/DatabaseTimestampService.java
b/kernel/time-service/type/database/src/main/java/org/apache/shardingsphere/timeservice/type/database/DatabaseTimestampService.java
index 5dea456923c..375f89607f1 100644
---
a/kernel/time-service/type/database/src/main/java/org/apache/shardingsphere/timeservice/type/database/DatabaseTimestampService.java
+++
b/kernel/time-service/type/database/src/main/java/org/apache/shardingsphere/timeservice/type/database/DatabaseTimestampService.java
@@ -17,10 +17,10 @@
package org.apache.shardingsphere.timeservice.type.database;
-import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
import org.apache.shardingsphere.infra.database.DatabaseTypeEngine;
-import
org.apache.shardingsphere.infra.datasource.pool.creator.DataSourcePoolCreator;
import
org.apache.shardingsphere.infra.database.core.spi.DatabaseTypedSPILoader;
+import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
+import
org.apache.shardingsphere.infra.datasource.pool.creator.DataSourcePoolCreator;
import
org.apache.shardingsphere.infra.yaml.config.swapper.resource.YamlDataSourceConfigurationSwapper;
import org.apache.shardingsphere.timeservice.spi.TimestampService;
import
org.apache.shardingsphere.timeservice.type.database.exception.DatetimeLoadingException;
@@ -32,7 +32,6 @@ import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Timestamp;
-import java.util.Collections;
import java.util.Map.Entry;
import java.util.Properties;
import java.util.stream.Collectors;
@@ -50,7 +49,7 @@ public final class DatabaseTimestampService implements
TimestampService {
public void init(final Properties props) {
dataSource = DataSourcePoolCreator.create(new
YamlDataSourceConfigurationSwapper().swapToDataSourcePoolProperties(
props.entrySet().stream().collect(Collectors.toMap(entry ->
entry.getKey().toString(), Entry::getValue))));
- storageType =
DatabaseTypeEngine.getStorageType(Collections.singleton(dataSource));
+ storageType = DatabaseTypeEngine.getStorageType(dataSource);
}
@Override
diff --git
a/kernel/transaction/core/src/test/java/org/apache/shardingsphere/transaction/rule/TransactionRuleTest.java
b/kernel/transaction/core/src/test/java/org/apache/shardingsphere/transaction/rule/TransactionRuleTest.java
index 26c60d314a7..2119a6a44bf 100644
---
a/kernel/transaction/core/src/test/java/org/apache/shardingsphere/transaction/rule/TransactionRuleTest.java
+++
b/kernel/transaction/core/src/test/java/org/apache/shardingsphere/transaction/rule/TransactionRuleTest.java
@@ -21,6 +21,7 @@ import
org.apache.shardingsphere.infra.datasource.pool.props.domain.DataSourcePo
import
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
import
org.apache.shardingsphere.infra.metadata.database.resource.ResourceMetaData;
import
org.apache.shardingsphere.infra.metadata.database.resource.node.StorageNode;
+import
org.apache.shardingsphere.infra.metadata.database.resource.node.StorageNodeName;
import
org.apache.shardingsphere.infra.metadata.database.resource.unit.StorageUnit;
import org.apache.shardingsphere.test.fixture.jdbc.MockedDataSource;
import org.apache.shardingsphere.transaction.api.TransactionType;
@@ -101,8 +102,8 @@ class TransactionRuleTest {
Map<String, StorageUnit> storageUnits = new HashMap<>(2, 1F);
DataSourcePoolProperties dataSourcePoolProps =
mock(DataSourcePoolProperties.class, RETURNS_DEEP_STUBS);
when(dataSourcePoolProps.getConnectionPropertySynonyms().getStandardProperties()).thenReturn(Collections.emptyMap());
- storageUnits.put("ds_0", new StorageUnit("foo_db",
mock(StorageNode.class, RETURNS_DEEP_STUBS), dataSourcePoolProps, new
MockedDataSource()));
- storageUnits.put("ds_1", new StorageUnit("foo_db",
mock(StorageNode.class, RETURNS_DEEP_STUBS), dataSourcePoolProps, new
MockedDataSource()));
+ storageUnits.put("ds_0", new StorageUnit("foo_db", new
StorageNode(mock(StorageNodeName.class), "jdbc:mock://127.0.0.1/ds_0"),
dataSourcePoolProps, new MockedDataSource()));
+ storageUnits.put("ds_1", new StorageUnit("foo_db", new
StorageNode(mock(StorageNodeName.class), "jdbc:mock://127.0.0.1/ds_1"),
dataSourcePoolProps, new MockedDataSource()));
ResourceMetaData result = mock(ResourceMetaData.class,
RETURNS_DEEP_STUBS);
when(result.getStorageUnits()).thenReturn(storageUnits);
return result;
@@ -120,8 +121,8 @@ class TransactionRuleTest {
Map<String, StorageUnit> storageUnits = new HashMap<>(2, 1F);
DataSourcePoolProperties dataSourcePoolProps =
mock(DataSourcePoolProperties.class, RETURNS_DEEP_STUBS);
when(dataSourcePoolProps.getConnectionPropertySynonyms().getStandardProperties()).thenReturn(Collections.emptyMap());
- storageUnits.put("ds_0", new StorageUnit("foo_db",
mock(StorageNode.class, RETURNS_DEEP_STUBS), dataSourcePoolProps, new
MockedDataSource()));
- storageUnits.put("ds_1", new StorageUnit("foo_db",
mock(StorageNode.class, RETURNS_DEEP_STUBS), dataSourcePoolProps, new
MockedDataSource()));
+ storageUnits.put("ds_0", new StorageUnit("foo_db", new
StorageNode(mock(StorageNodeName.class), "jdbc:mock://127.0.0.1/ds_0"),
dataSourcePoolProps, new MockedDataSource()));
+ storageUnits.put("ds_1", new StorageUnit("foo_db", new
StorageNode(mock(StorageNodeName.class), "jdbc:mock://127.0.0.1/ds_1"),
dataSourcePoolProps, new MockedDataSource()));
ResourceMetaData result = mock(ResourceMetaData.class,
RETURNS_DEEP_STUBS);
when(result.getStorageUnits()).thenReturn(storageUnits);
return result;
diff --git
a/mode/core/src/test/java/org/apache/shardingsphere/mode/manager/ContextManagerTest.java
b/mode/core/src/test/java/org/apache/shardingsphere/mode/manager/ContextManagerTest.java
index 40618dfe302..bd434f5ced7 100644
---
a/mode/core/src/test/java/org/apache/shardingsphere/mode/manager/ContextManagerTest.java
+++
b/mode/core/src/test/java/org/apache/shardingsphere/mode/manager/ContextManagerTest.java
@@ -110,7 +110,7 @@ class ContextManagerTest {
DataSourcePoolProperties dataSourcePoolProps =
mock(DataSourcePoolProperties.class, RETURNS_DEEP_STUBS);
when(dataSourcePoolProps.getConnectionPropertySynonyms().getStandardProperties()).thenReturn(Collections.emptyMap());
Map<String, StorageUnit> storageUnits =
Collections.singletonMap("foo_ds",
- new StorageUnit("foo_db", mock(StorageNode.class,
RETURNS_DEEP_STUBS), dataSourcePoolProps, new MockedDataSource()));
+ new StorageUnit("foo_db", new
StorageNode(mock(StorageNodeName.class), "jdbc:mock://127.0.0.1/foo_db"),
dataSourcePoolProps, new MockedDataSource()));
when(result.getResourceMetaData().getStorageUnits()).thenReturn(storageUnits);
return result;
}
diff --git
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/updatable/ImportMetaDataUpdaterTest.java
b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/updatable/ImportMetaDataUpdaterTest.java
index cabea9fe30c..e065e8f6953 100644
---
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/updatable/ImportMetaDataUpdaterTest.java
+++
b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/updatable/ImportMetaDataUpdaterTest.java
@@ -26,6 +26,7 @@ import
org.apache.shardingsphere.infra.datasource.pool.props.domain.DataSourcePo
import
org.apache.shardingsphere.infra.exception.core.external.sql.type.generic.UnsupportedSQLOperationException;
import
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
import
org.apache.shardingsphere.infra.metadata.database.resource.node.StorageNode;
+import
org.apache.shardingsphere.infra.metadata.database.resource.node.StorageNodeName;
import
org.apache.shardingsphere.infra.metadata.database.resource.unit.StorageUnit;
import
org.apache.shardingsphere.infra.metadata.database.schema.model.ShardingSphereColumn;
import
org.apache.shardingsphere.infra.metadata.database.schema.model.ShardingSphereIndex;
@@ -122,8 +123,8 @@ class ImportMetaDataUpdaterTest {
Map<String, StorageUnit> result = new LinkedHashMap<>(2, 1F);
DataSourcePoolProperties dataSourcePoolProps =
mock(DataSourcePoolProperties.class, RETURNS_DEEP_STUBS);
when(dataSourcePoolProps.getConnectionPropertySynonyms().getStandardProperties()).thenReturn(Collections.emptyMap());
- result.put("ds_0", new StorageUnit("foo_db", mock(StorageNode.class,
RETURNS_DEEP_STUBS), dataSourcePoolProps, new MockedDataSource()));
- result.put("ds_1", new StorageUnit("foo_db", mock(StorageNode.class,
RETURNS_DEEP_STUBS), dataSourcePoolProps, new MockedDataSource()));
+ result.put("ds_0", new StorageUnit("foo_db", new
StorageNode(mock(StorageNodeName.class), "jdbc:mock://127.0.0.1/ds_0"),
dataSourcePoolProps, new MockedDataSource()));
+ result.put("ds_1", new StorageUnit("foo_db", new
StorageNode(mock(StorageNodeName.class), "jdbc:mock://127.0.0.1/ds_1"),
dataSourcePoolProps, new MockedDataSource()));
return result;
}
diff --git
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/rdl/storage/unit/UnregisterStorageUnitBackendHandlerTest.java
b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/rdl/storage/unit/UnregisterStorageUnitBackendHandlerTest.java
index 595399d049a..66a438fadff 100644
---
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/rdl/storage/unit/UnregisterStorageUnitBackendHandlerTest.java
+++
b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/rdl/storage/unit/UnregisterStorageUnitBackendHandlerTest.java
@@ -27,6 +27,7 @@ import
org.apache.shardingsphere.infra.instance.mode.ModeContextManager;
import
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
import
org.apache.shardingsphere.infra.metadata.database.resource.ResourceMetaData;
import
org.apache.shardingsphere.infra.metadata.database.resource.node.StorageNode;
+import
org.apache.shardingsphere.infra.metadata.database.resource.node.StorageNodeName;
import
org.apache.shardingsphere.infra.metadata.database.resource.unit.StorageUnit;
import org.apache.shardingsphere.infra.metadata.database.rule.RuleMetaData;
import org.apache.shardingsphere.mode.manager.ContextManager;
@@ -87,7 +88,7 @@ class UnregisterStorageUnitBackendHandlerTest {
resourceMetaData = mock(ResourceMetaData.class, RETURNS_DEEP_STUBS);
DataSourcePoolProperties dataSourcePoolProps =
mock(DataSourcePoolProperties.class, RETURNS_DEEP_STUBS);
when(dataSourcePoolProps.getConnectionPropertySynonyms().getStandardProperties()).thenReturn(Collections.emptyMap());
- StorageUnit storageUnit = new StorageUnit("foo_db",
mock(StorageNode.class, RETURNS_DEEP_STUBS), dataSourcePoolProps, new
MockedDataSource());
+ StorageUnit storageUnit = new StorageUnit("foo_db", new
StorageNode(mock(StorageNodeName.class), "jdbc:mock://127.0.0.1/foo_db"),
dataSourcePoolProps, new MockedDataSource());
when(resourceMetaData.getStorageUnits()).thenReturn(Collections.singletonMap("foo_ds",
storageUnit));
when(database.getResourceMetaData()).thenReturn(resourceMetaData);
contextManager = mockContextManager();
diff --git
a/proxy/bootstrap/src/test/java/org/apache/shardingsphere/proxy/version/ShardingSphereProxyVersionTest.java
b/proxy/bootstrap/src/test/java/org/apache/shardingsphere/proxy/version/ShardingSphereProxyVersionTest.java
index af353c44f4b..4e0e48e543c 100644
---
a/proxy/bootstrap/src/test/java/org/apache/shardingsphere/proxy/version/ShardingSphereProxyVersionTest.java
+++
b/proxy/bootstrap/src/test/java/org/apache/shardingsphere/proxy/version/ShardingSphereProxyVersionTest.java
@@ -23,6 +23,7 @@ import
org.apache.shardingsphere.infra.datasource.pool.props.domain.DataSourcePo
import
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
import
org.apache.shardingsphere.infra.metadata.database.resource.ResourceMetaData;
import
org.apache.shardingsphere.infra.metadata.database.resource.node.StorageNode;
+import
org.apache.shardingsphere.infra.metadata.database.resource.node.StorageNodeName;
import
org.apache.shardingsphere.infra.metadata.database.resource.unit.StorageUnit;
import org.apache.shardingsphere.infra.spi.type.typed.TypedSPILoader;
import org.apache.shardingsphere.mode.manager.ContextManager;
@@ -85,7 +86,7 @@ class ShardingSphereProxyVersionTest {
DataSource dataSource = createDataSource(databaseProductName,
databaseProductVersion);
DataSourcePoolProperties dataSourcePoolProps =
mock(DataSourcePoolProperties.class, RETURNS_DEEP_STUBS);
when(dataSourcePoolProps.getConnectionPropertySynonyms().getStandardProperties()).thenReturn(Collections.emptyMap());
- StorageUnit storageUnit = new StorageUnit("foo_db",
mock(StorageNode.class, RETURNS_DEEP_STUBS), dataSourcePoolProps, dataSource);
+ StorageUnit storageUnit = new StorageUnit("foo_db", new
StorageNode(mock(StorageNodeName.class), "jdbc:mock://127.0.0.1/foo_db"),
dataSourcePoolProps, dataSource);
when(result.getStorageUnits()).thenReturn(Collections.singletonMap("foo_ds",
storageUnit));
return result;
}