This is an automated email from the ASF dual-hosted git repository.
sunnianjun 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 3eb4157ceb7 Move url and catalog from StorageNode to StorageUnit
(#28649)
3eb4157ceb7 is described below
commit 3eb4157ceb76e1f8d2a712caead3643ca55f89dd
Author: Liang Zhang <[email protected]>
AuthorDate: Fri Oct 6 20:26:48 2023 +0800
Move url and catalog from StorageNode to StorageUnit (#28649)
---
.../database/resource/node/StorageNode.java | 4 ---
.../database/resource/unit/StorageUnit.java | 25 ++++++++++++------
.../resource/unit/StorageUnitNodeMapUtils.java | 16 ++----------
.../infra/metadata/ShardingSphereMetaDataTest.java | 30 ++++++++++------------
.../single/route/SingleSQLRouterTest.java | 10 +++++---
.../transaction/rule/TransactionRuleTest.java | 20 +++++++++------
.../mode/manager/ContextManagerTest.java | 7 +++--
.../ral/updatable/ImportMetaDataUpdaterTest.java | 10 +++++---
.../UnregisterStorageUnitBackendHandlerTest.java | 3 ++-
.../SelectInformationSchemataExecutor.java | 2 +-
.../version/ShardingSphereProxyVersionTest.java | 4 +--
11 files changed, 65 insertions(+), 66 deletions(-)
diff --git
a/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/resource/node/StorageNode.java
b/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/resource/node/StorageNode.java
index 4e0ef8136b3..6083df308db 100644
---
a/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/resource/node/StorageNode.java
+++
b/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/resource/node/StorageNode.java
@@ -28,8 +28,4 @@ import lombok.RequiredArgsConstructor;
public final class StorageNode {
private final StorageNodeName name;
-
- private final String url;
-
- private final String catalog;
}
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 202a391d91f..49668c7b7ba 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
@@ -20,9 +20,11 @@ package
org.apache.shardingsphere.infra.metadata.database.resource.unit;
import lombok.Getter;
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.connector.url.StandardJdbcUrlParser;
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.database.core.type.DatabaseTypeRegistry;
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;
@@ -38,25 +40,32 @@ public final class StorageUnit {
private final StorageNode storageNode;
+ private final String url;
+
+ private final DatabaseType storageType;
+
+ private final String catalog;
+
private final DataSource dataSource;
private final DataSourcePoolProperties dataSourcePoolProperties;
- private final DatabaseType storageType;
-
private final ConnectionProperties connectionProperties;
public StorageUnit(final StorageNode storageNode, final
DataSourcePoolProperties dataSourcePoolProperties, final DataSource dataSource)
{
this.storageNode = storageNode;
- this.dataSource = new CatalogSwitchableDataSource(dataSource,
storageNode.getCatalog(), storageNode.getUrl());
+ Map<String, Object> standardProps =
dataSourcePoolProperties.getConnectionPropertySynonyms().getStandardProperties();
+ url = standardProps.get("url").toString();
+ storageType = DatabaseTypeFactory.get(url);
+ boolean isInstanceConnectionAvailable = new
DatabaseTypeRegistry(DatabaseTypeFactory.get(url)).getDialectDatabaseMetaData().isInstanceConnectionAvailable();
+ catalog = isInstanceConnectionAvailable ? new
StandardJdbcUrlParser().parse(url).getDatabase() : null;
+ this.dataSource = new CatalogSwitchableDataSource(dataSource, catalog,
url);
this.dataSourcePoolProperties = dataSourcePoolProperties;
- storageType = DatabaseTypeFactory.get(storageNode.getUrl());
- connectionProperties = createConnectionProperties(storageNode);
+ connectionProperties = createConnectionProperties(standardProps);
}
- private ConnectionProperties createConnectionProperties(final StorageNode
storageNode) {
- Map<String, Object> standardProps =
dataSourcePoolProperties.getConnectionPropertySynonyms().getStandardProperties();
+ private ConnectionProperties createConnectionProperties(final Map<String,
Object> standardProps) {
ConnectionPropertiesParser parser =
DatabaseTypedSPILoader.getService(ConnectionPropertiesParser.class,
storageType);
- return parser.parse(storageNode.getUrl(),
standardProps.getOrDefault("username", "").toString(),
storageNode.getCatalog());
+ return parser.parse(url, standardProps.getOrDefault("username",
"").toString(), catalog);
}
}
diff --git
a/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/resource/unit/StorageUnitNodeMapUtils.java
b/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/resource/unit/StorageUnitNodeMapUtils.java
index 67d885f6685..602574eb62c 100644
---
a/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/resource/unit/StorageUnitNodeMapUtils.java
+++
b/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/resource/unit/StorageUnitNodeMapUtils.java
@@ -24,7 +24,6 @@ import
org.apache.shardingsphere.infra.database.core.connector.url.StandardJdbcU
import
org.apache.shardingsphere.infra.database.core.connector.url.UnrecognizedDatabaseURLException;
import org.apache.shardingsphere.infra.database.core.type.DatabaseTypeFactory;
import org.apache.shardingsphere.infra.database.core.type.DatabaseTypeRegistry;
-import
org.apache.shardingsphere.infra.datasource.pool.props.creator.DataSourcePoolPropertiesCreator;
import
org.apache.shardingsphere.infra.datasource.pool.props.domain.DataSourcePoolProperties;
import
org.apache.shardingsphere.infra.metadata.database.resource.node.StorageNode;
import
org.apache.shardingsphere.infra.metadata.database.resource.node.StorageNodeName;
@@ -49,14 +48,7 @@ public final class StorageUnitNodeMapUtils {
*/
public static Map<String, StorageNode> fromDataSources(final Map<String,
DataSource> dataSources) {
return dataSources.entrySet().stream()
- .collect(Collectors.toMap(Entry::getKey, entry ->
fromDataSource(entry.getKey(), entry.getValue()), (oldValue, currentValue) ->
currentValue, LinkedHashMap::new));
- }
-
- private static StorageNode fromDataSource(final String storageUnitName,
final DataSource dataSource) {
- DataSourcePoolProperties props =
DataSourcePoolPropertiesCreator.create(dataSource);
- String url =
props.getConnectionPropertySynonyms().getStandardProperties().get("url").toString();
- boolean isInstanceConnectionAvailable = new
DatabaseTypeRegistry(DatabaseTypeFactory.get(url)).getDialectDatabaseMetaData().isInstanceConnectionAvailable();
- return createStorageNode(new StorageNodeName(storageUnitName), url,
isInstanceConnectionAvailable);
+ .collect(Collectors.toMap(Entry::getKey, entry -> new
StorageNode(new StorageNodeName(entry.getKey())), (oldValue, currentValue) ->
currentValue, LinkedHashMap::new));
}
/**
@@ -79,7 +71,7 @@ public final class StorageUnitNodeMapUtils {
String url = standardProps.get("url").toString();
boolean isInstanceConnectionAvailable = new
DatabaseTypeRegistry(DatabaseTypeFactory.get(url)).getDialectDatabaseMetaData().isInstanceConnectionAvailable();
StorageNodeName storageNodeName = getStorageNodeName(storageUnitName,
url, standardProps.get("username").toString(), isInstanceConnectionAvailable);
- return createStorageNode(storageNodeName, url,
isInstanceConnectionAvailable);
+ return new StorageNode(storageNodeName);
}
private static StorageNodeName getStorageNodeName(final String
dataSourceName, final String url, final String username, final boolean
isInstanceConnectionAvailable) {
@@ -90,8 +82,4 @@ public final class StorageUnitNodeMapUtils {
return new StorageNodeName(dataSourceName);
}
}
-
- private static StorageNode createStorageNode(final StorageNodeName
storageNodeName, final String url, final boolean isInstanceConnectionAvailable)
{
- return new StorageNode(storageNodeName, url,
isInstanceConnectionAvailable ? new
StandardJdbcUrlParser().parse(url).getDatabase() : null);
- }
}
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 912db360b9e..e2629760467 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
@@ -86,26 +86,13 @@ class ShardingSphereMetaDataTest {
verify(globalResourceHeldRule).closeStaleResource("foo_db");
}
- private ShardingSphereDatabase mockDatabase(final ResourceMetaData
resourceMetaData, final DataSource dataSource, final ResourceHeldRule<?>
databaseResourceHeldRule) {
- ShardingSphereDatabase result = mock(ShardingSphereDatabase.class);
- when(result.getName()).thenReturn("foo_db");
- when(result.getResourceMetaData()).thenReturn(resourceMetaData);
- DataSourcePoolProperties dataSourcePoolProps =
mock(DataSourcePoolProperties.class, RETURNS_DEEP_STUBS);
-
when(dataSourcePoolProps.getConnectionPropertySynonyms().getStandardProperties()).thenReturn(Collections.emptyMap());
- StorageUnit storageUnit = new StorageUnit(new
StorageNode(mock(StorageNodeName.class), "jdbc:mock://127.0.0.1/foo_ds", null),
dataSourcePoolProps, dataSource);
-
when(result.getResourceMetaData().getStorageUnits()).thenReturn(Collections.singletonMap("foo_db",
storageUnit));
- when(result.getRuleMetaData()).thenReturn(new
RuleMetaData(Collections.singleton(databaseResourceHeldRule)));
- return result;
- }
-
@Test
void assertContainsDatabase() {
ResourceHeldRule<?> globalResourceHeldRule =
mock(ResourceHeldRule.class);
ShardingSphereDatabase database =
mockDatabase(mock(ResourceMetaData.class, RETURNS_DEEP_STUBS), new
MockedDataSource(), globalResourceHeldRule);
Map<String, ShardingSphereDatabase> databases = new
HashMap<>(Collections.singletonMap("foo_db", database));
ConfigurationProperties configProps = new ConfigurationProperties(new
Properties());
- ShardingSphereMetaData metaData = new
ShardingSphereMetaData(databases, mock(ResourceMetaData.class),
- new
RuleMetaData(Collections.singleton(globalResourceHeldRule)), configProps);
+ ShardingSphereMetaData metaData = new
ShardingSphereMetaData(databases, mock(ResourceMetaData.class), new
RuleMetaData(Collections.singleton(globalResourceHeldRule)), configProps);
assertTrue(metaData.containsDatabase("foo_db"));
}
@@ -115,8 +102,19 @@ class ShardingSphereMetaDataTest {
ShardingSphereDatabase database =
mockDatabase(mock(ResourceMetaData.class, RETURNS_DEEP_STUBS), new
MockedDataSource(), globalResourceHeldRule);
Map<String, ShardingSphereDatabase> databases = new
HashMap<>(Collections.singletonMap("foo_db", database));
ConfigurationProperties configProps = new ConfigurationProperties(new
Properties());
- ShardingSphereMetaData metaData = new
ShardingSphereMetaData(databases, mock(ResourceMetaData.class),
- new
RuleMetaData(Collections.singleton(globalResourceHeldRule)), configProps);
+ ShardingSphereMetaData metaData = new
ShardingSphereMetaData(databases, mock(ResourceMetaData.class), new
RuleMetaData(Collections.singleton(globalResourceHeldRule)), configProps);
assertThat(metaData.getDatabase("foo_db"), is(database));
}
+
+ private ShardingSphereDatabase mockDatabase(final ResourceMetaData
resourceMetaData, final DataSource dataSource, final ResourceHeldRule<?>
databaseResourceHeldRule) {
+ ShardingSphereDatabase result = mock(ShardingSphereDatabase.class);
+ when(result.getName()).thenReturn("foo_db");
+ when(result.getResourceMetaData()).thenReturn(resourceMetaData);
+ DataSourcePoolProperties dataSourcePoolProps =
mock(DataSourcePoolProperties.class, RETURNS_DEEP_STUBS);
+
when(dataSourcePoolProps.getConnectionPropertySynonyms().getStandardProperties()).thenReturn(Collections.singletonMap("url",
"jdbc:mock://127.0.0.1/foo_ds"));
+ StorageUnit storageUnit = new StorageUnit(new
StorageNode(mock(StorageNodeName.class)), 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/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 bbf9cd5c88b..a1b7ca3e5dc 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
@@ -149,10 +149,12 @@ class SingleSQLRouterTest {
private ShardingSphereDatabase mockDatabaseWithMultipleResources() {
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(new
StorageNode(mock(StorageNodeName.class), "jdbc:mock://127.0.0.1/ds_0", null),
dataSourcePoolProps, new MockedDataSource()));
- storageUnits.put("ds_1", new StorageUnit(new
StorageNode(mock(StorageNodeName.class), "jdbc:mock://127.0.0.1/ds_1", null),
dataSourcePoolProps, new MockedDataSource()));
+ DataSourcePoolProperties dataSourcePoolProps0 =
mock(DataSourcePoolProperties.class, RETURNS_DEEP_STUBS);
+
when(dataSourcePoolProps0.getConnectionPropertySynonyms().getStandardProperties()).thenReturn(Collections.singletonMap("url",
"jdbc:mock://127.0.0.1/ds_0"));
+ storageUnits.put("ds_0", new StorageUnit(new
StorageNode(mock(StorageNodeName.class)), dataSourcePoolProps0, new
MockedDataSource()));
+ DataSourcePoolProperties dataSourcePoolProps1 =
mock(DataSourcePoolProperties.class, RETURNS_DEEP_STUBS);
+
when(dataSourcePoolProps1.getConnectionPropertySynonyms().getStandardProperties()).thenReturn(Collections.singletonMap("url",
"jdbc:mock://127.0.0.1/ds_1"));
+ storageUnits.put("ds_1", new StorageUnit(new
StorageNode(mock(StorageNodeName.class)), dataSourcePoolProps1, 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/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 9a9459b1dc1..ec0aa54fdb0 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
@@ -100,10 +100,12 @@ class TransactionRuleTest {
private ResourceMetaData createResourceMetaData() {
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(new
StorageNode(mock(StorageNodeName.class), "jdbc:mock://127.0.0.1/ds_0", null),
dataSourcePoolProps, new MockedDataSource()));
- storageUnits.put("ds_1", new StorageUnit(new
StorageNode(mock(StorageNodeName.class), "jdbc:mock://127.0.0.1/ds_1", null),
dataSourcePoolProps, new MockedDataSource()));
+ DataSourcePoolProperties dataSourcePoolProps0 =
mock(DataSourcePoolProperties.class, RETURNS_DEEP_STUBS);
+
when(dataSourcePoolProps0.getConnectionPropertySynonyms().getStandardProperties()).thenReturn(Collections.singletonMap("url",
"jdbc:mock://127.0.0.1/ds_0"));
+ storageUnits.put("ds_0", new StorageUnit(new
StorageNode(mock(StorageNodeName.class)), dataSourcePoolProps0, new
MockedDataSource()));
+ DataSourcePoolProperties dataSourcePoolProps1 =
mock(DataSourcePoolProperties.class, RETURNS_DEEP_STUBS);
+
when(dataSourcePoolProps1.getConnectionPropertySynonyms().getStandardProperties()).thenReturn(Collections.singletonMap("url",
"jdbc:mock://127.0.0.1/ds_1"));
+ storageUnits.put("ds_1", new StorageUnit(new
StorageNode(mock(StorageNodeName.class)), dataSourcePoolProps1, new
MockedDataSource()));
ResourceMetaData result = mock(ResourceMetaData.class,
RETURNS_DEEP_STUBS);
when(result.getStorageUnits()).thenReturn(storageUnits);
return result;
@@ -119,10 +121,12 @@ class TransactionRuleTest {
private ResourceMetaData createAddResourceMetaData() {
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(new
StorageNode(mock(StorageNodeName.class), "jdbc:mock://127.0.0.1/ds_0", null),
dataSourcePoolProps, new MockedDataSource()));
- storageUnits.put("ds_1", new StorageUnit(new
StorageNode(mock(StorageNodeName.class), "jdbc:mock://127.0.0.1/ds_1", null),
dataSourcePoolProps, new MockedDataSource()));
+ DataSourcePoolProperties dataSourcePoolProps0 =
mock(DataSourcePoolProperties.class, RETURNS_DEEP_STUBS);
+
when(dataSourcePoolProps0.getConnectionPropertySynonyms().getStandardProperties()).thenReturn(Collections.singletonMap("url",
"jdbc:mock://127.0.0.1/ds_0"));
+ storageUnits.put("ds_0", new StorageUnit(new
StorageNode(mock(StorageNodeName.class)), dataSourcePoolProps0, new
MockedDataSource()));
+ DataSourcePoolProperties dataSourcePoolProps1 =
mock(DataSourcePoolProperties.class, RETURNS_DEEP_STUBS);
+
when(dataSourcePoolProps1.getConnectionPropertySynonyms().getStandardProperties()).thenReturn(Collections.singletonMap("url",
"jdbc:mock://127.0.0.1/ds_1"));
+ storageUnits.put("ds_1", new StorageUnit(new
StorageNode(mock(StorageNodeName.class)), dataSourcePoolProps1, 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 f1982c0f428..c98f0d82150 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
@@ -108,9 +108,8 @@ class ContextManagerTest {
when(storageUnit.getStorageType()).thenReturn(TypedSPILoader.getService(DatabaseType.class,
"FIXTURE"));
when(result.getResourceMetaData().getStorageUnits()).thenReturn(Collections.singletonMap("foo_ds",
storageUnit));
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(new StorageNode(mock(StorageNodeName.class),
"jdbc:mock://127.0.0.1/foo_db", null), dataSourcePoolProps, new
MockedDataSource()));
+
when(dataSourcePoolProps.getConnectionPropertySynonyms().getStandardProperties()).thenReturn(Collections.singletonMap("url",
"jdbc:mock://127.0.0.1/foo_db"));
+ Map<String, StorageUnit> storageUnits =
Collections.singletonMap("foo_ds", new StorageUnit(new
StorageNode(mock(StorageNodeName.class)), dataSourcePoolProps, new
MockedDataSource()));
when(result.getResourceMetaData().getStorageUnits()).thenReturn(storageUnits);
return result;
}
@@ -259,7 +258,7 @@ class ContextManagerTest {
Map<String, StorageUnit> storageUnits = new LinkedHashMap<>(2, 1F);
for (Entry<String, StorageNode> entry : storageUnitNodeMap.entrySet())
{
DataSourcePoolProperties dataSourcePoolProps =
mock(DataSourcePoolProperties.class, RETURNS_DEEP_STUBS);
-
when(dataSourcePoolProps.getConnectionPropertySynonyms().getStandardProperties()).thenReturn(Collections.emptyMap());
+
when(dataSourcePoolProps.getConnectionPropertySynonyms().getStandardProperties()).thenReturn(Collections.singletonMap("url",
"jdbc:mock://127.0.0.1/foo_db"));
storageUnits.put(entry.getKey(), new
StorageUnit(storageUnitNodeMap.get(entry.getKey()), dataSourcePoolProps,
storageNodeDataSourceMap.get(entry.getValue().getName())));
}
ResourceMetaData result = mock(ResourceMetaData.class,
RETURNS_DEEP_STUBS);
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 e7ec23188da..623f648809f 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
@@ -121,10 +121,12 @@ class ImportMetaDataUpdaterTest {
private Map<String, StorageUnit> createStorageUnits() {
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(new
StorageNode(mock(StorageNodeName.class), "jdbc:mock://127.0.0.1/ds_0", null),
dataSourcePoolProps, new MockedDataSource()));
- result.put("ds_1", new StorageUnit(new
StorageNode(mock(StorageNodeName.class), "jdbc:mock://127.0.0.1/ds_1", null),
dataSourcePoolProps, new MockedDataSource()));
+ DataSourcePoolProperties dataSourcePoolProps0 =
mock(DataSourcePoolProperties.class, RETURNS_DEEP_STUBS);
+
when(dataSourcePoolProps0.getConnectionPropertySynonyms().getStandardProperties()).thenReturn(Collections.singletonMap("url",
"jdbc:mock://127.0.0.1/ds_0"));
+ result.put("ds_0", new StorageUnit(new
StorageNode(mock(StorageNodeName.class)), dataSourcePoolProps0, new
MockedDataSource()));
+ DataSourcePoolProperties dataSourcePoolProps1 =
mock(DataSourcePoolProperties.class, RETURNS_DEEP_STUBS);
+
when(dataSourcePoolProps1.getConnectionPropertySynonyms().getStandardProperties()).thenReturn(Collections.singletonMap("url",
"jdbc:mock://127.0.0.1/ds_1"));
+ result.put("ds_1", new StorageUnit(new
StorageNode(mock(StorageNodeName.class)), dataSourcePoolProps1, 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 cc2fdfdc2cb..b9b61078583 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
@@ -88,7 +88,8 @@ 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(new
StorageNode(mock(StorageNodeName.class), "jdbc:mock://127.0.0.1/foo_db", null),
dataSourcePoolProps, new MockedDataSource());
+
when(dataSourcePoolProps.getConnectionPropertySynonyms().getStandardProperties()).thenReturn(Collections.singletonMap("url",
"jdbc:mock://127.0.0.1/foo_db"));
+ StorageUnit storageUnit = new StorageUnit(new
StorageNode(mock(StorageNodeName.class)), dataSourcePoolProps, new
MockedDataSource());
when(resourceMetaData.getStorageUnits()).thenReturn(Collections.singletonMap("foo_ds",
storageUnit));
when(database.getResourceMetaData()).thenReturn(resourceMetaData);
contextManager = mockContextManager();
diff --git
a/proxy/backend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/backend/mysql/handler/admin/executor/information/SelectInformationSchemataExecutor.java
b/proxy/backend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/backend/mysql/handler/admin/executor/information/SelectInformationSchemataExecutor.java
index b3a58752502..2a1977247b2 100644
---
a/proxy/backend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/backend/mysql/handler/admin/executor/information/SelectInformationSchemataExecutor.java
+++
b/proxy/backend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/backend/mysql/handler/admin/executor/information/SelectInformationSchemataExecutor.java
@@ -96,7 +96,7 @@ public final class SelectInformationSchemataExecutor extends
DefaultDatabaseMeta
protected void preProcess(final String databaseName, final Map<String,
Object> rows, final Map<String, String> alias) {
ResourceMetaData resourceMetaData =
ProxyContext.getInstance().getContextManager().getMetaDataContexts().getMetaData().getDatabase(databaseName).getResourceMetaData();
Collection<String> catalogs =
resourceMetaData.getStorageUnits().keySet()
- .stream().map(each ->
resourceMetaData.getStorageUnits().get(each).getStorageNode().getCatalog()).collect(Collectors.toSet());
+ .stream().map(each ->
resourceMetaData.getStorageUnits().get(each).getCatalog()).collect(Collectors.toSet());
schemaNameAlias = alias.getOrDefault(SCHEMA_NAME, "");
String rowValue = rows.getOrDefault(schemaNameAlias, "").toString();
queryDatabase = !rowValue.isEmpty();
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 ec052576440..13d88dbb913 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
@@ -85,8 +85,8 @@ class ShardingSphereProxyVersionTest {
ResourceMetaData result = mock(ResourceMetaData.class,
RETURNS_DEEP_STUBS);
DataSource dataSource = createDataSource(databaseProductName,
databaseProductVersion);
DataSourcePoolProperties dataSourcePoolProps =
mock(DataSourcePoolProperties.class, RETURNS_DEEP_STUBS);
-
when(dataSourcePoolProps.getConnectionPropertySynonyms().getStandardProperties()).thenReturn(Collections.emptyMap());
- StorageUnit storageUnit = new StorageUnit(new
StorageNode(mock(StorageNodeName.class), "jdbc:mock://127.0.0.1/foo_db", null),
dataSourcePoolProps, dataSource);
+
when(dataSourcePoolProps.getConnectionPropertySynonyms().getStandardProperties()).thenReturn(Collections.singletonMap("url",
"jdbc:mock://127.0.0.1/foo_db"));
+ StorageUnit storageUnit = new StorageUnit(new
StorageNode(mock(StorageNodeName.class)), dataSourcePoolProps, dataSource);
when(result.getStorageUnits()).thenReturn(Collections.singletonMap("foo_ds",
storageUnit));
return result;
}