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;
     }

Reply via email to