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 3245c338760 Rename DataSourceMetaData to ConnectionProperties (#27503)
3245c338760 is described below

commit 3245c33876037fb8bd512e3a61776ff0b16f6e4f
Author: Liang Zhang <[email protected]>
AuthorDate: Thu Jul 27 14:20:34 2023 +0800

    Rename DataSourceMetaData to ConnectionProperties (#27503)
---
 .../core/advice/TracingJDBCExecutorCallbackAdvice.java |  9 +++++----
 .../OpenTelemetryJDBCExecutorCallbackAdvice.java       | 10 +++++-----
 .../OpenTelemetryJDBCExecutorCallbackAdviceTest.java   |  4 ++--
 .../datasource/pool/creator/DataSourceReflection.java  | 10 +++++-----
 .../resource/ShardingSphereResourceMetaData.java       | 16 ++++++++--------
 .../resource/ShardingSphereStorageUnitMetaData.java    | 18 +++++++++---------
 ...taSourceMetaData.java => ConnectionProperties.java} | 14 +++++++-------
 ...ataBuilder.java => ConnectionPropertiesParser.java} | 10 +++++-----
 .../infra/database/core/connector/JdbcUrlAppender.java |  2 +-
 ...MetaData.java => StandardConnectionProperties.java} | 17 ++++++-----------
 ...ure.java => ConnectionPropertiesParserFixture.java} |  6 +++---
 ...database.core.connector.ConnectionPropertiesParser} |  2 +-
 ...SourceMetaData.java => H2ConnectionProperties.java} | 14 +++++++-------
 ...aBuilder.java => H2ConnectionPropertiesParser.java} | 12 ++++++------
 ...database.core.connector.ConnectionPropertiesParser} |  2 +-
 ...taDataTest.java => H2ConnectionPropertiesTest.java} | 14 +++++++-------
 .../mariadb/MariaDBDataSourceMetaDataTest.java         | 10 +++++-----
 ...ilder.java => MySQLConnectionPropertiesParser.java} | 14 +++++++-------
 ...database.core.connector.ConnectionPropertiesParser} |  2 +-
 .../database/mysql/MySQLDataSourceMetaDataTest.java    | 10 +++++-----
 ...r.java => OpenGaussConnectionPropertiesParser.java} | 14 +++++++-------
 ...database.core.connector.ConnectionPropertiesParser} |  2 +-
 .../opengauss/OpenGaussDataSourceMetaDataTest.java     | 10 +++++-----
 ...lder.java => OracleConnectionPropertiesParser.java} | 16 ++++++++--------
 ...database.core.connector.ConnectionPropertiesParser} |  2 +-
 .../database/oracle/OracleDataSourceMetaDataTest.java  | 10 +++++-----
 ....java => PostgreSQLConnectionPropertiesParser.java} | 14 +++++++-------
 ...database.core.connector.ConnectionPropertiesParser} |  2 +-
 ...a.database.core.connector.DataSourceMetaDataBuilder | 18 ------------------
 .../postgresql/PostgreSQLDataSourceMetaDataTest.java   | 10 +++++-----
 ...ilder.java => SQL92ConnectionPropertiesParser.java} | 14 +++++++-------
 ...database.core.connector.ConnectionPropertiesParser} |  2 +-
 .../database/sql92/SQL92DataSourceMetaDataTest.java    | 10 +++++-----
 ...r.java => SQLServerConnectionPropertiesParser.java} | 14 +++++++-------
 ...database.core.connector.ConnectionPropertiesParser} |  2 +-
 ...a.database.core.connector.DataSourceMetaDataBuilder | 18 ------------------
 .../sqlserver/SQLServerDataSourceMetaDataTest.java     | 10 +++++-----
 .../engine/driver/jdbc/JDBCExecutorCallback.java       |  6 +++---
 .../infra/executor/sql/hook/SPISQLExecutionHook.java   |  6 +++---
 .../infra/executor/sql/hook/SQLExecutionHook.java      |  6 +++---
 .../sql/hook/fixture/SQLExecutionHookFixture.java      |  4 ++--
 .../metadata/ShardingSphereDatabaseMetaData.java       | 14 +++++++-------
 .../pipeline/mysql/ingest/MySQLIncrementalDumper.java  | 12 ++++++------
 .../scenario/migration/api/impl/MigrationJobAPI.java   | 12 ++++++------
 .../seata/at/SeataTransactionalSQLExecutionHook.java   |  4 ++--
 .../at/SeataTransactionalSQLExecutionHookTest.java     | 10 +++++-----
 .../ral/queryable/ExportStorageNodesExecutor.java      | 14 +++++++-------
 .../rql/storage/unit/ShowStorageUnitExecutor.java      | 10 +++++-----
 .../information/SelectInformationSchemataExecutor.java |  2 +-
 ...lder.java => MockedConnectionPropertiesParser.java} | 12 ++++++------
 ....database.core.connector.ConnectionPropertiesParser |  2 +-
 ...a.database.core.connector.DataSourceMetaDataBuilder | 18 ------------------
 52 files changed, 219 insertions(+), 277 deletions(-)

diff --git 
a/agent/plugins/tracing/core/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/core/advice/TracingJDBCExecutorCallbackAdvice.java
 
b/agent/plugins/tracing/core/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/core/advice/TracingJDBCExecutorCallbackAdvice.java
index 255033e4632..a0d2353f851 100644
--- 
a/agent/plugins/tracing/core/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/core/advice/TracingJDBCExecutorCallbackAdvice.java
+++ 
b/agent/plugins/tracing/core/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/core/advice/TracingJDBCExecutorCallbackAdvice.java
@@ -21,7 +21,7 @@ import 
org.apache.shardingsphere.agent.api.advice.TargetAdviceObject;
 import org.apache.shardingsphere.agent.api.advice.type.InstanceMethodAdvice;
 import org.apache.shardingsphere.agent.plugin.core.util.AgentReflectionUtils;
 import org.apache.shardingsphere.agent.plugin.tracing.core.RootSpanContext;
-import 
org.apache.shardingsphere.infra.database.core.connector.DataSourceMetaData;
+import 
org.apache.shardingsphere.infra.database.core.connector.ConnectionProperties;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
 import 
org.apache.shardingsphere.infra.executor.sql.execute.engine.driver.jdbc.JDBCExecutionUnit;
 import 
org.apache.shardingsphere.infra.metadata.database.resource.ShardingSphereResourceMetaData;
@@ -41,10 +41,11 @@ public abstract class TracingJDBCExecutorCallbackAdvice<T> 
implements InstanceMe
     public final void beforeMethod(final TargetAdviceObject target, final 
Method method, final Object[] args, final String pluginType) {
         JDBCExecutionUnit executionUnit = (JDBCExecutionUnit) args[0];
         ShardingSphereResourceMetaData resourceMetaData = 
AgentReflectionUtils.getFieldValue(target, "resourceMetaData");
-        DataSourceMetaData metaData = 
resourceMetaData.getDataSourceMetaData(executionUnit.getExecutionUnit().getDataSourceName());
+        ConnectionProperties connectionProps = 
resourceMetaData.getConnectionProperties(executionUnit.getExecutionUnit().getDataSourceName());
         DatabaseType storageType = 
resourceMetaData.getStorageType(executionUnit.getExecutionUnit().getDataSourceName());
-        recordExecuteInfo(RootSpanContext.get(), target, executionUnit, 
(boolean) args[1], metaData, storageType);
+        recordExecuteInfo(RootSpanContext.get(), target, executionUnit, 
(boolean) args[1], connectionProps, storageType);
     }
     
-    protected abstract void recordExecuteInfo(T parentSpan, TargetAdviceObject 
target, JDBCExecutionUnit executionUnit, boolean isTrunkThread, 
DataSourceMetaData metaData, DatabaseType databaseType);
+    protected abstract void recordExecuteInfo(T parentSpan, TargetAdviceObject 
target, JDBCExecutionUnit executionUnit,
+                                              boolean isTrunkThread, 
ConnectionProperties connectionProps, DatabaseType databaseType);
 }
diff --git 
a/agent/plugins/tracing/type/opentelemetry/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/advice/OpenTelemetryJDBCExecutorCallbackAdvice.java
 
b/agent/plugins/tracing/type/opentelemetry/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/advice/OpenTelemetryJDBCExecutorCallbackAdvice.java
index c8825540dc9..9eeb7325f95 100644
--- 
a/agent/plugins/tracing/type/opentelemetry/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/advice/OpenTelemetryJDBCExecutorCallbackAdvice.java
+++ 
b/agent/plugins/tracing/type/opentelemetry/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/advice/OpenTelemetryJDBCExecutorCallbackAdvice.java
@@ -27,7 +27,7 @@ import 
org.apache.shardingsphere.agent.api.advice.TargetAdviceObject;
 import 
org.apache.shardingsphere.agent.plugin.tracing.core.advice.TracingJDBCExecutorCallbackAdvice;
 import 
org.apache.shardingsphere.agent.plugin.tracing.core.constant.AttributeConstants;
 import 
org.apache.shardingsphere.agent.plugin.tracing.opentelemetry.constant.OpenTelemetryConstants;
-import 
org.apache.shardingsphere.infra.database.core.connector.DataSourceMetaData;
+import 
org.apache.shardingsphere.infra.database.core.connector.ConnectionProperties;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
 import 
org.apache.shardingsphere.infra.executor.sql.execute.engine.driver.jdbc.JDBCExecutionUnit;
 
@@ -39,16 +39,16 @@ import java.lang.reflect.Method;
 public final class OpenTelemetryJDBCExecutorCallbackAdvice extends 
TracingJDBCExecutorCallbackAdvice<Span> {
     
     @Override
-    protected void recordExecuteInfo(final Span parentSpan, final 
TargetAdviceObject target, final JDBCExecutionUnit executionUnit, final boolean 
isTrunkThread, final DataSourceMetaData metaData,
-                                     final DatabaseType databaseType) {
+    protected void recordExecuteInfo(final Span parentSpan, final 
TargetAdviceObject target, final JDBCExecutionUnit executionUnit, final boolean 
isTrunkThread,
+                                     final ConnectionProperties 
connectionProps, final DatabaseType databaseType) {
         Tracer tracer = 
GlobalOpenTelemetry.getTracer(OpenTelemetryConstants.TRACER_NAME);
         SpanBuilder spanBuilder = tracer.spanBuilder(OPERATION_NAME);
         spanBuilder.setParent(Context.current().with(parentSpan));
         spanBuilder.setAttribute(AttributeConstants.COMPONENT, 
AttributeConstants.COMPONENT_NAME);
         spanBuilder.setAttribute(AttributeConstants.DB_TYPE, 
databaseType.getType());
         spanBuilder.setAttribute(AttributeConstants.DB_INSTANCE, 
executionUnit.getExecutionUnit().getDataSourceName())
-                .setAttribute(AttributeConstants.PEER_HOSTNAME, 
metaData.getHostname())
-                .setAttribute(AttributeConstants.PEER_PORT, 
String.valueOf(metaData.getPort()))
+                .setAttribute(AttributeConstants.PEER_HOSTNAME, 
connectionProps.getHostname())
+                .setAttribute(AttributeConstants.PEER_PORT, 
String.valueOf(connectionProps.getPort()))
                 .setAttribute(AttributeConstants.DB_STATEMENT, 
executionUnit.getExecutionUnit().getSqlUnit().getSql())
                 .setAttribute(AttributeConstants.DB_BIND_VARIABLES, 
executionUnit.getExecutionUnit().getSqlUnit().getParameters().toString())
                 .setAttribute(AttributeConstants.SPAN_KIND, 
AttributeConstants.SPAN_KIND_CLIENT);
diff --git 
a/agent/plugins/tracing/type/opentelemetry/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/advice/OpenTelemetryJDBCExecutorCallbackAdviceTest.java
 
b/agent/plugins/tracing/type/opentelemetry/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/advice/OpenTelemetryJDBCExecutorCallbackAdviceTest.java
index bf4142defb7..591a06cb442 100644
--- 
a/agent/plugins/tracing/type/opentelemetry/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/advice/OpenTelemetryJDBCExecutorCallbackAdviceTest.java
+++ 
b/agent/plugins/tracing/type/opentelemetry/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/advice/OpenTelemetryJDBCExecutorCallbackAdviceTest.java
@@ -33,7 +33,7 @@ import 
org.apache.shardingsphere.agent.plugin.tracing.core.RootSpanContext;
 import 
org.apache.shardingsphere.agent.plugin.tracing.core.constant.AttributeConstants;
 import 
org.apache.shardingsphere.agent.plugin.tracing.opentelemetry.constant.OpenTelemetryConstants;
 import 
org.apache.shardingsphere.agent.plugin.tracing.opentelemetry.fixture.JDBCExecutorCallbackFixture;
-import 
org.apache.shardingsphere.infra.database.core.connector.DataSourceMetaData;
+import 
org.apache.shardingsphere.infra.database.core.connector.ConnectionProperties;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
 import org.apache.shardingsphere.infra.executor.sql.context.ExecutionUnit;
 import org.apache.shardingsphere.infra.executor.sql.context.SQLUnit;
@@ -97,7 +97,7 @@ class OpenTelemetryJDBCExecutorCallbackAdviceTest {
         executionUnit = new JDBCExecutionUnit(new 
ExecutionUnit(DATA_SOURCE_NAME, new SQLUnit(SQL, Collections.emptyList())), 
null, statement);
         ShardingSphereResourceMetaData resourceMetaData = 
mock(ShardingSphereResourceMetaData.class);
         
when(resourceMetaData.getStorageType(DATA_SOURCE_NAME)).thenReturn(TypedSPILoader.getService(DatabaseType.class,
 "MySQL"));
-        
when(resourceMetaData.getDataSourceMetaData(DATA_SOURCE_NAME)).thenReturn(mock(DataSourceMetaData.class));
+        
when(resourceMetaData.getConnectionProperties(DATA_SOURCE_NAME)).thenReturn(mock(ConnectionProperties.class));
         JDBCExecutorCallback jdbcExecutorCallback = new 
JDBCExecutorCallbackFixture(TypedSPILoader.getService(DatabaseType.class, 
"MySQL"), resourceMetaData, new MySQLSelectStatement(), true);
         
Plugins.getMemberAccessor().set(JDBCExecutorCallback.class.getDeclaredField("resourceMetaData"),
 jdbcExecutorCallback, resourceMetaData);
         targetObject = (TargetAdviceObject) jdbcExecutorCallback;
diff --git 
a/infra/common/src/main/java/org/apache/shardingsphere/infra/datasource/pool/creator/DataSourceReflection.java
 
b/infra/common/src/main/java/org/apache/shardingsphere/infra/datasource/pool/creator/DataSourceReflection.java
index 6ee713ca333..d8de8004157 100644
--- 
a/infra/common/src/main/java/org/apache/shardingsphere/infra/datasource/pool/creator/DataSourceReflection.java
+++ 
b/infra/common/src/main/java/org/apache/shardingsphere/infra/datasource/pool/creator/DataSourceReflection.java
@@ -21,8 +21,8 @@ import com.google.common.base.CaseFormat;
 import lombok.SneakyThrows;
 import 
org.apache.shardingsphere.infra.database.core.spi.DatabaseTypedSPILoader;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseTypeFactory;
-import 
org.apache.shardingsphere.infra.database.core.connector.DataSourceMetaData;
-import 
org.apache.shardingsphere.infra.database.core.connector.DataSourceMetaDataBuilder;
+import 
org.apache.shardingsphere.infra.database.core.connector.ConnectionProperties;
+import 
org.apache.shardingsphere.infra.database.core.connector.ConnectionPropertiesParser;
 import 
org.apache.shardingsphere.infra.datasource.pool.metadata.DataSourcePoolMetaData;
 import 
org.apache.shardingsphere.infra.datasource.pool.metadata.DataSourcePoolMetaDataReflection;
 import 
org.apache.shardingsphere.infra.datasource.pool.metadata.type.DefaultDataSourcePoolFieldMetaData;
@@ -168,9 +168,9 @@ public final class DataSourceReflection {
         if (!jdbcUrl.isPresent() || !jdbcConnectionProps.isPresent()) {
             return;
         }
-        DataSourceMetaData dataSourceMetaData = 
DatabaseTypedSPILoader.getService(DataSourceMetaDataBuilder.class, 
DatabaseTypeFactory.get(jdbcUrl.get())).build(jdbcUrl.get(), null, null);
-        Properties queryProps = dataSourceMetaData.getQueryProperties();
-        for (Entry<Object, Object> entry : 
dataSourceMetaData.getDefaultQueryProperties().entrySet()) {
+        ConnectionProperties connectionProps = 
DatabaseTypedSPILoader.getService(ConnectionPropertiesParser.class, 
DatabaseTypeFactory.get(jdbcUrl.get())).parse(jdbcUrl.get(), null, null);
+        Properties queryProps = connectionProps.getQueryProperties();
+        for (Entry<Object, Object> entry : 
connectionProps.getDefaultQueryProperties().entrySet()) {
             String defaultPropertyKey = entry.getKey().toString();
             String defaultPropertyValue = entry.getValue().toString();
             if (!containsDefaultProperty(defaultPropertyKey, 
jdbcConnectionProps.get(), queryProps)) {
diff --git 
a/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/resource/ShardingSphereResourceMetaData.java
 
b/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/resource/ShardingSphereResourceMetaData.java
index ea7178169bc..b1fed8521dd 100644
--- 
a/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/resource/ShardingSphereResourceMetaData.java
+++ 
b/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/resource/ShardingSphereResourceMetaData.java
@@ -18,7 +18,7 @@
 package org.apache.shardingsphere.infra.metadata.database.resource;
 
 import lombok.Getter;
-import 
org.apache.shardingsphere.infra.database.core.connector.DataSourceMetaData;
+import 
org.apache.shardingsphere.infra.database.core.connector.ConnectionProperties;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
 import org.apache.shardingsphere.infra.database.DatabaseTypeEngine;
 import 
org.apache.shardingsphere.infra.datasource.pool.destroyer.DataSourcePoolDestroyer;
@@ -105,7 +105,7 @@ public final class ShardingSphereResourceMetaData {
      */
     public Collection<String> getAllInstanceDataSourceNames() {
         Collection<String> result = new LinkedList<>();
-        for (Entry<String, DataSourceMetaData> entry : 
storageUnitMetaData.getDataSourceMetaDataMap().entrySet()) {
+        for (Entry<String, ConnectionProperties> entry : 
storageUnitMetaData.getConnectionPropsMap().entrySet()) {
             if (!isExisted(entry.getKey(), result)) {
                 result.add(entry.getKey());
             }
@@ -114,18 +114,18 @@ public final class ShardingSphereResourceMetaData {
     }
     
     private boolean isExisted(final String dataSourceName, final 
Collection<String> existedDataSourceNames) {
-        return existedDataSourceNames.stream().anyMatch(each -> 
storageUnitMetaData.getDataSourceMetaDataMap().get(dataSourceName)
-                
.isInSameDatabaseInstance(storageUnitMetaData.getDataSourceMetaDataMap().get(each)));
+        return existedDataSourceNames.stream().anyMatch(each -> 
storageUnitMetaData.getConnectionPropsMap().get(dataSourceName)
+                
.isInSameDatabaseInstance(storageUnitMetaData.getConnectionPropsMap().get(each)));
     }
     
     /**
-     * Get data source meta data.
+     * Get connection properties.
      *
      * @param dataSourceName data source name
-     * @return data source meta data
+     * @return connection properties
      */
-    public DataSourceMetaData getDataSourceMetaData(final String 
dataSourceName) {
-        return 
storageUnitMetaData.getDataSourceMetaDataMap().get(dataSourceName);
+    public ConnectionProperties getConnectionProperties(final String 
dataSourceName) {
+        return storageUnitMetaData.getConnectionPropsMap().get(dataSourceName);
     }
     
     /**
diff --git 
a/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/resource/ShardingSphereStorageUnitMetaData.java
 
b/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/resource/ShardingSphereStorageUnitMetaData.java
index b064e840f03..7cb4ba0607f 100644
--- 
a/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/resource/ShardingSphereStorageUnitMetaData.java
+++ 
b/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/resource/ShardingSphereStorageUnitMetaData.java
@@ -21,8 +21,8 @@ import lombok.Getter;
 import org.apache.shardingsphere.infra.database.DatabaseTypeEngine;
 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.connector.DataSourceMetaData;
-import 
org.apache.shardingsphere.infra.database.core.connector.DataSourceMetaDataBuilder;
+import 
org.apache.shardingsphere.infra.database.core.connector.ConnectionProperties;
+import 
org.apache.shardingsphere.infra.database.core.connector.ConnectionPropertiesParser;
 import 
org.apache.shardingsphere.infra.datasource.ShardingSphereStorageDataSourceWrapper;
 import 
org.apache.shardingsphere.infra.datasource.props.DataSourcePropertiesCreator;
 import org.apache.shardingsphere.infra.datasource.storage.StorageUnit;
@@ -45,14 +45,14 @@ public final class ShardingSphereStorageUnitMetaData {
     
     private final Map<String, StorageUnit> storageUnits;
     
-    private final Map<String, DataSourceMetaData> dataSourceMetaDataMap;
+    private final Map<String, ConnectionProperties> connectionPropsMap;
     
     public ShardingSphereStorageUnitMetaData(final Map<String, DataSource> 
dataSources, final Map<String, DatabaseType> storageTypes, final Map<String, 
StorageUnit> storageUnits,
                                              final Map<String, DataSource> 
enabledDataSources) {
         this.storageUnits = storageUnits;
         this.dataSources = getStorageUnitDataSources(dataSources, 
storageUnits);
         this.storageTypes = getStorageUnitTypes(storageTypes);
-        this.dataSourceMetaDataMap = 
createDataSourceMetaDataMap(enabledDataSources, storageTypes, storageUnits);
+        this.connectionPropsMap = 
createConnectionPropertiesMap(enabledDataSources, storageTypes, storageUnits);
     }
     
     private Map<String, DataSource> getStorageUnitDataSources(final 
Map<String, DataSource> storageNodes, final Map<String, StorageUnit> 
storageUnits) {
@@ -75,16 +75,16 @@ public final class ShardingSphereStorageUnitMetaData {
         return result;
     }
     
-    private Map<String, DataSourceMetaData> createDataSourceMetaDataMap(final 
Map<String, DataSource> enabledDataSources, final Map<String, DatabaseType> 
storageTypes,
-                                                                        final 
Map<String, StorageUnit> storageUnits) {
-        Map<String, DataSourceMetaData> result = new 
LinkedHashMap<>(storageUnits.size(), 1F);
+    private Map<String, ConnectionProperties> 
createConnectionPropertiesMap(final Map<String, DataSource> enabledDataSources,
+                                                                            
final Map<String, DatabaseType> storageTypes, final Map<String, StorageUnit> 
storageUnits) {
+        Map<String, ConnectionProperties> result = new 
LinkedHashMap<>(storageUnits.size(), 1F);
         for (Entry<String, StorageUnit> entry : storageUnits.entrySet()) {
             String nodeName = entry.getValue().getNodeName();
             if (enabledDataSources.containsKey(nodeName)) {
                 Map<String, Object> standardProps = 
DataSourcePropertiesCreator.create(enabledDataSources.get(nodeName)).getConnectionPropertySynonyms().getStandardProperties();
                 DatabaseType storageType = storageTypes.get(nodeName);
-                DataSourceMetaDataBuilder builder = 
DatabaseTypedSPILoader.getService(DataSourceMetaDataBuilder.class, storageType);
-                result.put(entry.getKey(), 
builder.build(standardProps.get("url").toString(), 
standardProps.get("username").toString(), entry.getValue().getCatalog()));
+                ConnectionPropertiesParser parser = 
DatabaseTypedSPILoader.getService(ConnectionPropertiesParser.class, 
storageType);
+                result.put(entry.getKey(), 
parser.parse(standardProps.get("url").toString(), 
standardProps.get("username").toString(), entry.getValue().getCatalog()));
             }
         }
         return result;
diff --git 
a/infra/database/core/src/main/java/org/apache/shardingsphere/infra/database/core/connector/DataSourceMetaData.java
 
b/infra/database/core/src/main/java/org/apache/shardingsphere/infra/database/core/connector/ConnectionProperties.java
similarity index 77%
rename from 
infra/database/core/src/main/java/org/apache/shardingsphere/infra/database/core/connector/DataSourceMetaData.java
rename to 
infra/database/core/src/main/java/org/apache/shardingsphere/infra/database/core/connector/ConnectionProperties.java
index f7e7a9cbe1f..b611189c398 100644
--- 
a/infra/database/core/src/main/java/org/apache/shardingsphere/infra/database/core/connector/DataSourceMetaData.java
+++ 
b/infra/database/core/src/main/java/org/apache/shardingsphere/infra/database/core/connector/ConnectionProperties.java
@@ -20,9 +20,9 @@ package 
org.apache.shardingsphere.infra.database.core.connector;
 import java.util.Properties;
 
 /**
- * Data source meta data.
+ * Connection properties.
  */
-public interface DataSourceMetaData {
+public interface ConnectionProperties {
     
     /**
      * Get host name.
@@ -67,12 +67,12 @@ public interface DataSourceMetaData {
     Properties getDefaultQueryProperties();
     
     /**
-     * Judge whether two of data sources are in the same database instance.
+     * Judge whether two of connections are in the same database instance.
      *
-     * @param dataSourceMetaData data source meta data
-     * @return data sources are in the same database instance or not
+     * @param connectionProps connection properties
+     * @return connections are in the same database instance or not
      */
-    default boolean isInSameDatabaseInstance(final DataSourceMetaData 
dataSourceMetaData) {
-        return getHostname().equals(dataSourceMetaData.getHostname()) && 
getPort() == dataSourceMetaData.getPort();
+    default boolean isInSameDatabaseInstance(final ConnectionProperties 
connectionProps) {
+        return getHostname().equals(connectionProps.getHostname()) && 
getPort() == connectionProps.getPort();
     }
 }
diff --git 
a/infra/database/core/src/main/java/org/apache/shardingsphere/infra/database/core/connector/DataSourceMetaDataBuilder.java
 
b/infra/database/core/src/main/java/org/apache/shardingsphere/infra/database/core/connector/ConnectionPropertiesParser.java
similarity index 82%
rename from 
infra/database/core/src/main/java/org/apache/shardingsphere/infra/database/core/connector/DataSourceMetaDataBuilder.java
rename to 
infra/database/core/src/main/java/org/apache/shardingsphere/infra/database/core/connector/ConnectionPropertiesParser.java
index 4e40bc16864..3dd0209f4f7 100644
--- 
a/infra/database/core/src/main/java/org/apache/shardingsphere/infra/database/core/connector/DataSourceMetaDataBuilder.java
+++ 
b/infra/database/core/src/main/java/org/apache/shardingsphere/infra/database/core/connector/ConnectionPropertiesParser.java
@@ -21,18 +21,18 @@ import 
org.apache.shardingsphere.infra.database.core.spi.DatabaseTypedSPI;
 import org.apache.shardingsphere.infra.util.spi.annotation.SingletonSPI;
 
 /**
- * Data source meta data builder.
+ * Connection properties parser.
  */
 @SingletonSPI
-public interface DataSourceMetaDataBuilder extends DatabaseTypedSPI {
+public interface ConnectionPropertiesParser extends DatabaseTypedSPI {
     
     /**
-     * Build data source meta data.
+     * Parse connection properties.
      *
      * @param url URL of data source
      * @param username username of data source
      * @param catalog catalog of data source
-     * @return built meta data
+     * @return connection properties
      */
-    DataSourceMetaData build(String url, String username, String catalog);
+    ConnectionProperties parse(String url, String username, String catalog);
 }
diff --git 
a/infra/database/core/src/main/java/org/apache/shardingsphere/infra/database/core/connector/JdbcUrlAppender.java
 
b/infra/database/core/src/main/java/org/apache/shardingsphere/infra/database/core/connector/JdbcUrlAppender.java
index e727e2ea7e7..ce27a058465 100644
--- 
a/infra/database/core/src/main/java/org/apache/shardingsphere/infra/database/core/connector/JdbcUrlAppender.java
+++ 
b/infra/database/core/src/main/java/org/apache/shardingsphere/infra/database/core/connector/JdbcUrlAppender.java
@@ -36,7 +36,7 @@ public final class JdbcUrlAppender {
      * @return appended JDBC URL
      */
     public String appendQueryProperties(final String jdbcUrl, final Properties 
queryProps) {
-        Properties currentQueryProps = 
DatabaseTypedSPILoader.getService(DataSourceMetaDataBuilder.class, 
DatabaseTypeFactory.get(jdbcUrl)).build(jdbcUrl, null, 
null).getQueryProperties();
+        Properties currentQueryProps = 
DatabaseTypedSPILoader.getService(ConnectionPropertiesParser.class, 
DatabaseTypeFactory.get(jdbcUrl)).parse(jdbcUrl, null, 
null).getQueryProperties();
         return hasConflictedQueryProperties(currentQueryProps, queryProps)
                 ? concat(jdbcUrl.substring(0, jdbcUrl.indexOf('?') + 1), 
getMergedProperties(currentQueryProps, queryProps))
                 : concat(jdbcUrl + getURLDelimiter(currentQueryProps), 
queryProps);
diff --git 
a/infra/database/core/src/main/java/org/apache/shardingsphere/infra/database/core/connector/StandardDataSourceMetaData.java
 
b/infra/database/core/src/main/java/org/apache/shardingsphere/infra/database/core/connector/StandardConnectionProperties.java
similarity index 67%
rename from 
infra/database/core/src/main/java/org/apache/shardingsphere/infra/database/core/connector/StandardDataSourceMetaData.java
rename to 
infra/database/core/src/main/java/org/apache/shardingsphere/infra/database/core/connector/StandardConnectionProperties.java
index 924b197dc4f..0e2b351d810 100644
--- 
a/infra/database/core/src/main/java/org/apache/shardingsphere/infra/database/core/connector/StandardDataSourceMetaData.java
+++ 
b/infra/database/core/src/main/java/org/apache/shardingsphere/infra/database/core/connector/StandardConnectionProperties.java
@@ -23,11 +23,11 @@ import lombok.RequiredArgsConstructor;
 import java.util.Properties;
 
 /**
- * Standard data source meta data.
+ * Standard connection properties.
  */
 @RequiredArgsConstructor
 @Getter
-public final class StandardDataSourceMetaData implements DataSourceMetaData {
+public final class StandardConnectionProperties implements 
ConnectionProperties {
     
     private final String hostname;
     
@@ -41,17 +41,12 @@ public final class StandardDataSourceMetaData implements 
DataSourceMetaData {
     
     private final Properties defaultQueryProperties;
     
-    public StandardDataSourceMetaData(final String hostname, final int port, 
final String catalog, final String schema) {
+    public StandardConnectionProperties(final String hostname, final int port, 
final String catalog, final String schema) {
         this(hostname, port, catalog, schema, new Properties(), new 
Properties());
     }
     
-    /**
-     * Judge whether two of data sources are in the same database instance.
-     *
-     * @param dataSourceMetaData data source meta data
-     * @return data sources are in the same database instance or not
-     */
-    public boolean isInSameDatabaseInstance(final DataSourceMetaData 
dataSourceMetaData) {
-        return hostname.equals(dataSourceMetaData.getHostname()) && port == 
dataSourceMetaData.getPort();
+    @Override
+    public boolean isInSameDatabaseInstance(final ConnectionProperties 
connectionProps) {
+        return hostname.equals(connectionProps.getHostname()) && port == 
connectionProps.getPort();
     }
 }
diff --git 
a/infra/database/core/src/test/java/org/apache/shardingsphere/infra/database/core/connector/DataSourceMetaDataBuilderFixture.java
 
b/infra/database/core/src/test/java/org/apache/shardingsphere/infra/database/core/connector/ConnectionPropertiesParserFixture.java
similarity index 81%
rename from 
infra/database/core/src/test/java/org/apache/shardingsphere/infra/database/core/connector/DataSourceMetaDataBuilderFixture.java
rename to 
infra/database/core/src/test/java/org/apache/shardingsphere/infra/database/core/connector/ConnectionPropertiesParserFixture.java
index c9963c894cd..55a9f6808bb 100644
--- 
a/infra/database/core/src/test/java/org/apache/shardingsphere/infra/database/core/connector/DataSourceMetaDataBuilderFixture.java
+++ 
b/infra/database/core/src/test/java/org/apache/shardingsphere/infra/database/core/connector/ConnectionPropertiesParserFixture.java
@@ -23,11 +23,11 @@ import static org.mockito.Mockito.RETURNS_DEEP_STUBS;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
 
-public final class DataSourceMetaDataBuilderFixture implements 
DataSourceMetaDataBuilder {
+public final class ConnectionPropertiesParserFixture implements 
ConnectionPropertiesParser {
     
     @Override
-    public DataSourceMetaData build(final String url, final String username, 
final String catalog) {
-        DataSourceMetaData result = mock(DataSourceMetaData.class, 
RETURNS_DEEP_STUBS);
+    public ConnectionProperties parse(final String url, final String username, 
final String catalog) {
+        ConnectionProperties result = mock(ConnectionProperties.class, 
RETURNS_DEEP_STUBS);
         when(result.getQueryProperties()).thenReturn(new Properties());
         return result;
     }
diff --git 
a/infra/database/type/opengauss/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.database.core.connector.DataSourceMetaDataBuilder
 
b/infra/database/core/src/test/resources/META-INF/services/org.apache.shardingsphere.infra.database.core.connector.ConnectionPropertiesParser
similarity index 89%
copy from 
infra/database/type/opengauss/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.database.core.connector.DataSourceMetaDataBuilder
copy to 
infra/database/core/src/test/resources/META-INF/services/org.apache.shardingsphere.infra.database.core.connector.ConnectionPropertiesParser
index 268d12aaa21..a41c2222247 100644
--- 
a/infra/database/type/opengauss/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.database.core.connector.DataSourceMetaDataBuilder
+++ 
b/infra/database/core/src/test/resources/META-INF/services/org.apache.shardingsphere.infra.database.core.connector.ConnectionPropertiesParser
@@ -15,4 +15,4 @@
 # limitations under the License.
 #
 
-org.apache.shardingsphere.infra.database.opengauss.OpenGaussDataSourceMetaDataBuilder
+org.apache.shardingsphere.infra.database.core.connector.ConnectionPropertiesParserFixture
diff --git 
a/infra/database/type/h2/src/main/java/org/apache/shardingsphere/infra/database/h2/H2DataSourceMetaData.java
 
b/infra/database/type/h2/src/main/java/org/apache/shardingsphere/infra/database/h2/H2ConnectionProperties.java
similarity index 81%
rename from 
infra/database/type/h2/src/main/java/org/apache/shardingsphere/infra/database/h2/H2DataSourceMetaData.java
rename to 
infra/database/type/h2/src/main/java/org/apache/shardingsphere/infra/database/h2/H2ConnectionProperties.java
index 8e86caad2e3..5d3100111ec 100644
--- 
a/infra/database/type/h2/src/main/java/org/apache/shardingsphere/infra/database/h2/H2DataSourceMetaData.java
+++ 
b/infra/database/type/h2/src/main/java/org/apache/shardingsphere/infra/database/h2/H2ConnectionProperties.java
@@ -19,16 +19,16 @@ package org.apache.shardingsphere.infra.database.h2;
 
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
-import 
org.apache.shardingsphere.infra.database.core.connector.DataSourceMetaData;
+import 
org.apache.shardingsphere.infra.database.core.connector.ConnectionProperties;
 
 import java.util.Properties;
 
 /**
- * Data source meta data for H2.
+ * Connection properties for H2.
  */
 @RequiredArgsConstructor
 @Getter
-public final class H2DataSourceMetaData implements DataSourceMetaData {
+public final class H2ConnectionProperties implements ConnectionProperties {
     
     private static final String MODEL_MEM = "mem";
     
@@ -60,14 +60,14 @@ public final class H2DataSourceMetaData implements 
DataSourceMetaData {
     }
     
     @Override
-    public boolean isInSameDatabaseInstance(final DataSourceMetaData 
dataSourceMetaData) {
-        if (!(dataSourceMetaData instanceof H2DataSourceMetaData)) {
+    public boolean isInSameDatabaseInstance(final ConnectionProperties 
connectionProps) {
+        if (!(connectionProps instanceof H2ConnectionProperties)) {
             return false;
         }
-        if (!isSameModel(getModel(), ((H2DataSourceMetaData) 
dataSourceMetaData).getModel())) {
+        if (!isSameModel(getModel(), ((H2ConnectionProperties) 
connectionProps).getModel())) {
             return false;
         }
-        return hostname.equals(dataSourceMetaData.getHostname()) && port == 
dataSourceMetaData.getPort();
+        return hostname.equals(connectionProps.getHostname()) && port == 
connectionProps.getPort();
     }
     
     private boolean isSameModel(final String model1, final String model2) {
diff --git 
a/infra/database/type/h2/src/main/java/org/apache/shardingsphere/infra/database/h2/H2DataSourceMetaDataBuilder.java
 
b/infra/database/type/h2/src/main/java/org/apache/shardingsphere/infra/database/h2/H2ConnectionPropertiesParser.java
similarity index 84%
rename from 
infra/database/type/h2/src/main/java/org/apache/shardingsphere/infra/database/h2/H2DataSourceMetaDataBuilder.java
rename to 
infra/database/type/h2/src/main/java/org/apache/shardingsphere/infra/database/h2/H2ConnectionPropertiesParser.java
index 8d5ddc8d21a..ddb4ec89a08 100644
--- 
a/infra/database/type/h2/src/main/java/org/apache/shardingsphere/infra/database/h2/H2DataSourceMetaDataBuilder.java
+++ 
b/infra/database/type/h2/src/main/java/org/apache/shardingsphere/infra/database/h2/H2ConnectionPropertiesParser.java
@@ -18,17 +18,17 @@
 package org.apache.shardingsphere.infra.database.h2;
 
 import com.google.common.base.Strings;
-import 
org.apache.shardingsphere.infra.database.core.connector.DataSourceMetaData;
-import 
org.apache.shardingsphere.infra.database.core.connector.DataSourceMetaDataBuilder;
+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.UnrecognizedDatabaseURLException;
 
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
 /**
- * Data source meta data builder of H2.
+ * Connection properties parser of H2.
  */
-public final class H2DataSourceMetaDataBuilder implements 
DataSourceMetaDataBuilder {
+public final class H2ConnectionPropertiesParser implements 
ConnectionPropertiesParser {
     
     private static final int DEFAULT_PORT = -1;
     
@@ -39,12 +39,12 @@ public final class H2DataSourceMetaDataBuilder implements 
DataSourceMetaDataBuil
             + "(?<modelFile>file:)[/~\\w\\-]+/(?<fileName>[\\-\\w]*));?\\S*", 
Pattern.CASE_INSENSITIVE);
     
     @Override
-    public DataSourceMetaData build(final String url, final String username, 
final String catalog) {
+    public ConnectionProperties parse(final String url, final String username, 
final String catalog) {
         Matcher matcher = URL_PATTERN.matcher(url);
         if (!matcher.find()) {
             throw new UnrecognizedDatabaseURLException(url, 
URL_PATTERN.pattern());
         }
-        return new H2DataSourceMetaData(getHostname(matcher), 
getModel(matcher), getPort(matcher), getCatalog(matcher));
+        return new H2ConnectionProperties(getHostname(matcher), 
getModel(matcher), getPort(matcher), getCatalog(matcher));
     }
     
     private String getHostname(final Matcher matcher) {
diff --git 
a/infra/database/type/h2/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.database.core.connector.DataSourceMetaDataBuilder
 
b/infra/database/type/h2/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.database.core.connector.ConnectionPropertiesParser
similarity index 91%
rename from 
infra/database/type/h2/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.database.core.connector.DataSourceMetaDataBuilder
rename to 
infra/database/type/h2/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.database.core.connector.ConnectionPropertiesParser
index 4075ed2d403..265a81c9cb6 100644
--- 
a/infra/database/type/h2/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.database.core.connector.DataSourceMetaDataBuilder
+++ 
b/infra/database/type/h2/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.database.core.connector.ConnectionPropertiesParser
@@ -15,4 +15,4 @@
 # limitations under the License.
 #
 
-org.apache.shardingsphere.infra.database.h2.H2DataSourceMetaDataBuilder
+org.apache.shardingsphere.infra.database.h2.H2ConnectionPropertiesParser
diff --git 
a/infra/database/type/h2/src/test/java/org/apache/shardingsphere/infra/database/h2/H2DataSourceMetaDataTest.java
 
b/infra/database/type/h2/src/test/java/org/apache/shardingsphere/infra/database/h2/H2ConnectionPropertiesTest.java
similarity index 89%
rename from 
infra/database/type/h2/src/test/java/org/apache/shardingsphere/infra/database/h2/H2DataSourceMetaDataTest.java
rename to 
infra/database/type/h2/src/test/java/org/apache/shardingsphere/infra/database/h2/H2ConnectionPropertiesTest.java
index 5af732391ac..c030ca0080d 100644
--- 
a/infra/database/type/h2/src/test/java/org/apache/shardingsphere/infra/database/h2/H2DataSourceMetaDataTest.java
+++ 
b/infra/database/type/h2/src/test/java/org/apache/shardingsphere/infra/database/h2/H2ConnectionPropertiesTest.java
@@ -17,8 +17,8 @@
 
 package org.apache.shardingsphere.infra.database.h2;
 
-import 
org.apache.shardingsphere.infra.database.core.connector.DataSourceMetaData;
-import 
org.apache.shardingsphere.infra.database.core.connector.DataSourceMetaDataBuilder;
+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.util.spi.type.typed.TypedSPILoader;
@@ -34,14 +34,14 @@ import static org.hamcrest.CoreMatchers.is;
 import static org.hamcrest.MatcherAssert.assertThat;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
-class H2DataSourceMetaDataTest {
+class H2ConnectionPropertiesTest {
     
-    private final DataSourceMetaDataBuilder builder = 
DatabaseTypedSPILoader.getService(DataSourceMetaDataBuilder.class, 
TypedSPILoader.getService(DatabaseType.class, "H2"));
+    private final ConnectionPropertiesParser parser = 
DatabaseTypedSPILoader.getService(ConnectionPropertiesParser.class, 
TypedSPILoader.getService(DatabaseType.class, "H2"));
     
     @ParameterizedTest(name = "{0}")
     @ArgumentsSource(NewConstructorTestCaseArgumentsProvider.class)
     void assertNewConstructor(final String name, final String url, final 
String hostname, final int port, final String catalog, final String schema) {
-        DataSourceMetaData actual = builder.build(url, null, null);
+        ConnectionProperties actual = parser.parse(url, null, null);
         assertThat(actual.getHostname(), is(hostname));
         assertThat(actual.getPort(), is(port));
         assertThat(actual.getCatalog(), is(catalog));
@@ -52,8 +52,8 @@ class H2DataSourceMetaDataTest {
     @ParameterizedTest(name = "{0}")
     @ArgumentsSource(IsInSameDatabaseInstanceTestCaseArgumentsProvider.class)
     void assertIsInSameDatabaseInstance(final String name, final String url1, 
final String url2, final boolean isSame) {
-        DataSourceMetaData actual1 = builder.build(url1, null, null);
-        DataSourceMetaData actual2 = builder.build(url2, null, null);
+        ConnectionProperties actual1 = parser.parse(url1, null, null);
+        ConnectionProperties actual2 = parser.parse(url2, null, null);
         assertThat(actual1.isInSameDatabaseInstance(actual2), is(isSame));
     }
     
diff --git 
a/infra/database/type/mariadb/src/test/java/org/apache/shardingsphere/infra/database/mariadb/MariaDBDataSourceMetaDataTest.java
 
b/infra/database/type/mariadb/src/test/java/org/apache/shardingsphere/infra/database/mariadb/MariaDBDataSourceMetaDataTest.java
index 6f3ffd23738..ff9facb84bf 100644
--- 
a/infra/database/type/mariadb/src/test/java/org/apache/shardingsphere/infra/database/mariadb/MariaDBDataSourceMetaDataTest.java
+++ 
b/infra/database/type/mariadb/src/test/java/org/apache/shardingsphere/infra/database/mariadb/MariaDBDataSourceMetaDataTest.java
@@ -17,8 +17,8 @@
 
 package org.apache.shardingsphere.infra.database.mariadb;
 
-import 
org.apache.shardingsphere.infra.database.core.connector.DataSourceMetaData;
-import 
org.apache.shardingsphere.infra.database.core.connector.DataSourceMetaDataBuilder;
+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.UnrecognizedDatabaseURLException;
 import 
org.apache.shardingsphere.infra.database.core.spi.DatabaseTypedSPILoader;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
@@ -41,12 +41,12 @@ import static org.junit.jupiter.api.Assertions.assertThrows;
 
 class MariaDBDataSourceMetaDataTest {
     
-    private final DataSourceMetaDataBuilder builder = 
DatabaseTypedSPILoader.getService(DataSourceMetaDataBuilder.class, 
TypedSPILoader.getService(DatabaseType.class, "MariaDB"));
+    private final ConnectionPropertiesParser parser = 
DatabaseTypedSPILoader.getService(ConnectionPropertiesParser.class, 
TypedSPILoader.getService(DatabaseType.class, "MariaDB"));
     
     @ParameterizedTest(name = "{0}")
     @ArgumentsSource(NewConstructorTestCaseArgumentsProvider.class)
     void assertNewConstructorWithSimpleJdbcUrl(final String name, final String 
url, final String hostname, final int port, final String catalog, final String 
schema, final Properties queryProps) {
-        DataSourceMetaData actual = builder.build(url, null, null);
+        ConnectionProperties actual = parser.parse(url, null, null);
         assertThat(actual.getHostname(), is(hostname));
         assertThat(actual.getPort(), is(port));
         assertThat(actual.getCatalog(), is(catalog));
@@ -56,7 +56,7 @@ class MariaDBDataSourceMetaDataTest {
     
     @Test
     void assertNewConstructorFailure() {
-        assertThrows(UnrecognizedDatabaseURLException.class, () -> 
builder.build("jdbc:mariadb:xxxxxxxx", null, null));
+        assertThrows(UnrecognizedDatabaseURLException.class, () -> 
parser.parse("jdbc:mariadb:xxxxxxxx", null, null));
     }
     
     private static class NewConstructorTestCaseArgumentsProvider implements 
ArgumentsProvider {
diff --git 
a/infra/database/type/mysql/src/main/java/org/apache/shardingsphere/infra/database/mysql/MySQLDataSourceMetaDataBuilder.java
 
b/infra/database/type/mysql/src/main/java/org/apache/shardingsphere/infra/database/mysql/MySQLConnectionPropertiesParser.java
similarity index 83%
rename from 
infra/database/type/mysql/src/main/java/org/apache/shardingsphere/infra/database/mysql/MySQLDataSourceMetaDataBuilder.java
rename to 
infra/database/type/mysql/src/main/java/org/apache/shardingsphere/infra/database/mysql/MySQLConnectionPropertiesParser.java
index dd796280c52..9464c8b58a9 100644
--- 
a/infra/database/type/mysql/src/main/java/org/apache/shardingsphere/infra/database/mysql/MySQLDataSourceMetaDataBuilder.java
+++ 
b/infra/database/type/mysql/src/main/java/org/apache/shardingsphere/infra/database/mysql/MySQLConnectionPropertiesParser.java
@@ -17,25 +17,25 @@
 
 package org.apache.shardingsphere.infra.database.mysql;
 
-import 
org.apache.shardingsphere.infra.database.core.connector.DataSourceMetaData;
-import 
org.apache.shardingsphere.infra.database.core.connector.DataSourceMetaDataBuilder;
+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.JdbcUrl;
-import 
org.apache.shardingsphere.infra.database.core.connector.StandardDataSourceMetaData;
+import 
org.apache.shardingsphere.infra.database.core.connector.StandardConnectionProperties;
 import 
org.apache.shardingsphere.infra.database.core.connector.StandardJdbcUrlParser;
 
 import java.util.Properties;
 
 /**
- * Data source meta data builder of MySQL.
+ * Connection properties parser of MySQL.
  */
-public final class MySQLDataSourceMetaDataBuilder implements 
DataSourceMetaDataBuilder {
+public final class MySQLConnectionPropertiesParser implements 
ConnectionPropertiesParser {
     
     private static final int DEFAULT_PORT = 3306;
     
     @Override
-    public DataSourceMetaData build(final String url, final String username, 
final String catalog) {
+    public ConnectionProperties parse(final String url, final String username, 
final String catalog) {
         JdbcUrl jdbcUrl = new StandardJdbcUrlParser().parse(url);
-        return new StandardDataSourceMetaData(jdbcUrl.getHostname(), 
jdbcUrl.getPort(DEFAULT_PORT),
+        return new StandardConnectionProperties(jdbcUrl.getHostname(), 
jdbcUrl.getPort(DEFAULT_PORT),
                 null == catalog ? jdbcUrl.getDatabase() : catalog, null, 
jdbcUrl.getQueryProperties(), buildDefaultQueryProperties());
     }
     
diff --git 
a/infra/database/type/sql92/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.database.core.connector.DataSourceMetaDataBuilder
 
b/infra/database/type/mysql/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.database.core.connector.ConnectionPropertiesParser
similarity index 90%
copy from 
infra/database/type/sql92/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.database.core.connector.DataSourceMetaDataBuilder
copy to 
infra/database/type/mysql/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.database.core.connector.ConnectionPropertiesParser
index 4fffa4de80f..a40513c3676 100644
--- 
a/infra/database/type/sql92/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.database.core.connector.DataSourceMetaDataBuilder
+++ 
b/infra/database/type/mysql/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.database.core.connector.ConnectionPropertiesParser
@@ -15,4 +15,4 @@
 # limitations under the License.
 #
 
-org.apache.shardingsphere.infra.database.sql92.SQL92DataSourceMetaDataBuilder
+org.apache.shardingsphere.infra.database.mysql.MySQLConnectionPropertiesParser
diff --git 
a/infra/database/type/mysql/src/test/java/org/apache/shardingsphere/infra/database/mysql/MySQLDataSourceMetaDataTest.java
 
b/infra/database/type/mysql/src/test/java/org/apache/shardingsphere/infra/database/mysql/MySQLDataSourceMetaDataTest.java
index 79fcd2c74f4..df2b8f0bcba 100644
--- 
a/infra/database/type/mysql/src/test/java/org/apache/shardingsphere/infra/database/mysql/MySQLDataSourceMetaDataTest.java
+++ 
b/infra/database/type/mysql/src/test/java/org/apache/shardingsphere/infra/database/mysql/MySQLDataSourceMetaDataTest.java
@@ -17,9 +17,9 @@
 
 package org.apache.shardingsphere.infra.database.mysql;
 
-import 
org.apache.shardingsphere.infra.database.core.connector.DataSourceMetaDataBuilder;
+import 
org.apache.shardingsphere.infra.database.core.connector.ConnectionPropertiesParser;
 import 
org.apache.shardingsphere.infra.database.core.connector.UnrecognizedDatabaseURLException;
-import 
org.apache.shardingsphere.infra.database.core.connector.DataSourceMetaData;
+import 
org.apache.shardingsphere.infra.database.core.connector.ConnectionProperties;
 import 
org.apache.shardingsphere.infra.database.core.spi.DatabaseTypedSPILoader;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
 import org.apache.shardingsphere.infra.util.spi.type.typed.TypedSPILoader;
@@ -41,12 +41,12 @@ import static org.junit.jupiter.api.Assertions.assertThrows;
 
 class MySQLDataSourceMetaDataTest {
     
-    private final DataSourceMetaDataBuilder builder = 
DatabaseTypedSPILoader.getService(DataSourceMetaDataBuilder.class, 
TypedSPILoader.getService(DatabaseType.class, "MySQL"));
+    private final ConnectionPropertiesParser parser = 
DatabaseTypedSPILoader.getService(ConnectionPropertiesParser.class, 
TypedSPILoader.getService(DatabaseType.class, "MySQL"));
     
     @ParameterizedTest(name = "{0}")
     @ArgumentsSource(NewConstructorTestCaseArgumentsProvider.class)
     void assertNewConstructor(final String name, final String url, final 
String hostname, final int port, final String catalog, final String schema, 
final Properties queryProps) {
-        DataSourceMetaData actual = builder.build(url, null, null);
+        ConnectionProperties actual = parser.parse(url, null, null);
         assertThat(actual.getHostname(), is(hostname));
         assertThat(actual.getPort(), is(port));
         assertThat(actual.getCatalog(), is(catalog));
@@ -56,7 +56,7 @@ class MySQLDataSourceMetaDataTest {
     
     @Test
     void assertNewConstructorFailure() {
-        assertThrows(UnrecognizedDatabaseURLException.class, () -> 
builder.build("jdbc:mysql:xxxxxxxx", null, null));
+        assertThrows(UnrecognizedDatabaseURLException.class, () -> 
parser.parse("jdbc:mysql:xxxxxxxx", null, null));
     }
     
     private static class NewConstructorTestCaseArgumentsProvider implements 
ArgumentsProvider {
diff --git 
a/infra/database/type/opengauss/src/main/java/org/apache/shardingsphere/infra/database/opengauss/OpenGaussDataSourceMetaDataBuilder.java
 
b/infra/database/type/opengauss/src/main/java/org/apache/shardingsphere/infra/database/opengauss/OpenGaussConnectionPropertiesParser.java
similarity index 68%
rename from 
infra/database/type/opengauss/src/main/java/org/apache/shardingsphere/infra/database/opengauss/OpenGaussDataSourceMetaDataBuilder.java
rename to 
infra/database/type/opengauss/src/main/java/org/apache/shardingsphere/infra/database/opengauss/OpenGaussConnectionPropertiesParser.java
index e4e4688c517..2de0e12bc17 100644
--- 
a/infra/database/type/opengauss/src/main/java/org/apache/shardingsphere/infra/database/opengauss/OpenGaussDataSourceMetaDataBuilder.java
+++ 
b/infra/database/type/opengauss/src/main/java/org/apache/shardingsphere/infra/database/opengauss/OpenGaussConnectionPropertiesParser.java
@@ -17,25 +17,25 @@
 
 package org.apache.shardingsphere.infra.database.opengauss;
 
-import 
org.apache.shardingsphere.infra.database.core.connector.DataSourceMetaData;
-import 
org.apache.shardingsphere.infra.database.core.connector.DataSourceMetaDataBuilder;
+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.JdbcUrl;
-import 
org.apache.shardingsphere.infra.database.core.connector.StandardDataSourceMetaData;
+import 
org.apache.shardingsphere.infra.database.core.connector.StandardConnectionProperties;
 import 
org.apache.shardingsphere.infra.database.core.connector.StandardJdbcUrlParser;
 
 import java.util.Properties;
 
 /**
- * Data source meta data builder of openGauss.
+ * Connection properties parser of openGauss.
  */
-public final class OpenGaussDataSourceMetaDataBuilder implements 
DataSourceMetaDataBuilder {
+public final class OpenGaussConnectionPropertiesParser implements 
ConnectionPropertiesParser {
     
     private static final int DEFAULT_PORT = 5431;
     
     @Override
-    public DataSourceMetaData build(final String url, final String username, 
final String catalog) {
+    public ConnectionProperties parse(final String url, final String username, 
final String catalog) {
         JdbcUrl jdbcUrl = new StandardJdbcUrlParser().parse(url);
-        return new StandardDataSourceMetaData(jdbcUrl.getHostname(), 
jdbcUrl.getPort(DEFAULT_PORT), jdbcUrl.getDatabase(), null, 
jdbcUrl.getQueryProperties(), new Properties());
+        return new StandardConnectionProperties(jdbcUrl.getHostname(), 
jdbcUrl.getPort(DEFAULT_PORT), jdbcUrl.getDatabase(), null, 
jdbcUrl.getQueryProperties(), new Properties());
     }
     
     @Override
diff --git 
a/infra/database/type/opengauss/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.database.core.connector.DataSourceMetaDataBuilder
 
b/infra/database/type/opengauss/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.database.core.connector.ConnectionPropertiesParser
similarity index 90%
copy from 
infra/database/type/opengauss/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.database.core.connector.DataSourceMetaDataBuilder
copy to 
infra/database/type/opengauss/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.database.core.connector.ConnectionPropertiesParser
index 268d12aaa21..f20f11e400a 100644
--- 
a/infra/database/type/opengauss/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.database.core.connector.DataSourceMetaDataBuilder
+++ 
b/infra/database/type/opengauss/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.database.core.connector.ConnectionPropertiesParser
@@ -15,4 +15,4 @@
 # limitations under the License.
 #
 
-org.apache.shardingsphere.infra.database.opengauss.OpenGaussDataSourceMetaDataBuilder
+org.apache.shardingsphere.infra.database.opengauss.OpenGaussConnectionPropertiesParser
diff --git 
a/infra/database/type/opengauss/src/test/java/org/apache/shardingsphere/infra/database/opengauss/OpenGaussDataSourceMetaDataTest.java
 
b/infra/database/type/opengauss/src/test/java/org/apache/shardingsphere/infra/database/opengauss/OpenGaussDataSourceMetaDataTest.java
index aa4b7f096d6..79a5775e59f 100644
--- 
a/infra/database/type/opengauss/src/test/java/org/apache/shardingsphere/infra/database/opengauss/OpenGaussDataSourceMetaDataTest.java
+++ 
b/infra/database/type/opengauss/src/test/java/org/apache/shardingsphere/infra/database/opengauss/OpenGaussDataSourceMetaDataTest.java
@@ -17,9 +17,9 @@
 
 package org.apache.shardingsphere.infra.database.opengauss;
 
-import 
org.apache.shardingsphere.infra.database.core.connector.DataSourceMetaDataBuilder;
+import 
org.apache.shardingsphere.infra.database.core.connector.ConnectionPropertiesParser;
 import 
org.apache.shardingsphere.infra.database.core.connector.UnrecognizedDatabaseURLException;
-import 
org.apache.shardingsphere.infra.database.core.connector.DataSourceMetaData;
+import 
org.apache.shardingsphere.infra.database.core.connector.ConnectionProperties;
 import 
org.apache.shardingsphere.infra.database.core.spi.DatabaseTypedSPILoader;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
 import org.apache.shardingsphere.infra.util.spi.type.typed.TypedSPILoader;
@@ -41,12 +41,12 @@ import static org.junit.jupiter.api.Assertions.assertThrows;
 
 class OpenGaussDataSourceMetaDataTest {
     
-    private final DataSourceMetaDataBuilder builder = 
DatabaseTypedSPILoader.getService(DataSourceMetaDataBuilder.class, 
TypedSPILoader.getService(DatabaseType.class, "openGauss"));
+    private final ConnectionPropertiesParser parser = 
DatabaseTypedSPILoader.getService(ConnectionPropertiesParser.class, 
TypedSPILoader.getService(DatabaseType.class, "openGauss"));
     
     @ParameterizedTest(name = "{0}")
     @ArgumentsSource(NewConstructorTestCaseArgumentsProvider.class)
     void assertNewConstructor(final String name, final String url, final 
String hostname, final int port, final String catalog, final String schema, 
final Properties queryProps) {
-        DataSourceMetaData actual = builder.build(url, null, null);
+        ConnectionProperties actual = parser.parse(url, null, null);
         assertThat(actual.getHostname(), is(hostname));
         assertThat(actual.getPort(), is(port));
         assertThat(actual.getCatalog(), is(catalog));
@@ -56,7 +56,7 @@ class OpenGaussDataSourceMetaDataTest {
     
     @Test
     void assertNewConstructorFailure() {
-        assertThrows(UnrecognizedDatabaseURLException.class, () -> 
builder.build("jdbc:opengauss:xxxxxxxx", null, null));
+        assertThrows(UnrecognizedDatabaseURLException.class, () -> 
parser.parse("jdbc:opengauss:xxxxxxxx", null, null));
     }
     
     private static class NewConstructorTestCaseArgumentsProvider implements 
ArgumentsProvider {
diff --git 
a/infra/database/type/oracle/src/main/java/org/apache/shardingsphere/infra/database/oracle/OracleDataSourceMetaDataBuilder.java
 
b/infra/database/type/oracle/src/main/java/org/apache/shardingsphere/infra/database/oracle/OracleConnectionPropertiesParser.java
similarity index 72%
rename from 
infra/database/type/oracle/src/main/java/org/apache/shardingsphere/infra/database/oracle/OracleDataSourceMetaDataBuilder.java
rename to 
infra/database/type/oracle/src/main/java/org/apache/shardingsphere/infra/database/oracle/OracleConnectionPropertiesParser.java
index 7cd8c22c804..0852f10e079 100644
--- 
a/infra/database/type/oracle/src/main/java/org/apache/shardingsphere/infra/database/oracle/OracleDataSourceMetaDataBuilder.java
+++ 
b/infra/database/type/oracle/src/main/java/org/apache/shardingsphere/infra/database/oracle/OracleConnectionPropertiesParser.java
@@ -18,9 +18,9 @@
 package org.apache.shardingsphere.infra.database.oracle;
 
 import com.google.common.base.Strings;
-import 
org.apache.shardingsphere.infra.database.core.connector.DataSourceMetaData;
-import 
org.apache.shardingsphere.infra.database.core.connector.DataSourceMetaDataBuilder;
-import 
org.apache.shardingsphere.infra.database.core.connector.StandardDataSourceMetaData;
+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.StandardConnectionProperties;
 import 
org.apache.shardingsphere.infra.database.core.connector.UnrecognizedDatabaseURLException;
 
 import java.util.Arrays;
@@ -29,9 +29,9 @@ import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
 /**
- * Data source meta data builder of Oracle.
+ * Connection properties parser of Oracle.
  */
-public final class OracleDataSourceMetaDataBuilder implements 
DataSourceMetaDataBuilder {
+public final class OracleConnectionPropertiesParser implements 
ConnectionPropertiesParser {
     
     private static final int DEFAULT_PORT = 1521;
     
@@ -43,13 +43,13 @@ public final class OracleDataSourceMetaDataBuilder 
implements DataSourceMetaData
             
"jdbc:oracle:(thin|oci|kprb):@[(\\w\\s=)]+HOST\\s*=\\s*([\\w\\-\\.]+).*PORT\\s*=\\s*(\\d+).*SERVICE_NAME\\s*=\\s*(\\w+)\\)");
     
     @Override
-    public DataSourceMetaData build(final String url, final String username, 
final String catalog) {
+    public ConnectionProperties parse(final String url, final String username, 
final String catalog) {
         List<Matcher> matchers = Arrays.asList(THIN_URL_PATTERN.matcher(url), 
CONNECT_DESCRIPTOR_URL_PATTERN.matcher(url));
         Matcher matcher = 
matchers.stream().filter(Matcher::find).findAny().orElseThrow(() -> new 
UnrecognizedDatabaseURLException(url, THIN_URL_PATTERN.pattern()));
         int groupCount = matcher.groupCount();
         return THIN_MATCH_GROUP_COUNT == groupCount
-                ? new StandardDataSourceMetaData(matcher.group(3), 
Strings.isNullOrEmpty(matcher.group(4)) ? DEFAULT_PORT : 
Integer.parseInt(matcher.group(4)), matcher.group(5), username)
-                : new StandardDataSourceMetaData(matcher.group(2), 
Strings.isNullOrEmpty(matcher.group(3)) ? DEFAULT_PORT : 
Integer.parseInt(matcher.group(3)), matcher.group(4), username);
+                ? new StandardConnectionProperties(matcher.group(3), 
Strings.isNullOrEmpty(matcher.group(4)) ? DEFAULT_PORT : 
Integer.parseInt(matcher.group(4)), matcher.group(5), username)
+                : new StandardConnectionProperties(matcher.group(2), 
Strings.isNullOrEmpty(matcher.group(3)) ? DEFAULT_PORT : 
Integer.parseInt(matcher.group(3)), matcher.group(4), username);
     }
     
     @Override
diff --git 
a/infra/database/type/oracle/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.database.core.connector.DataSourceMetaDataBuilder
 
b/infra/database/type/oracle/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.database.core.connector.ConnectionPropertiesParser
similarity index 90%
rename from 
infra/database/type/oracle/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.database.core.connector.DataSourceMetaDataBuilder
rename to 
infra/database/type/oracle/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.database.core.connector.ConnectionPropertiesParser
index d15c3f1046a..6806ff24809 100644
--- 
a/infra/database/type/oracle/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.database.core.connector.DataSourceMetaDataBuilder
+++ 
b/infra/database/type/oracle/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.database.core.connector.ConnectionPropertiesParser
@@ -15,4 +15,4 @@
 # limitations under the License.
 #
 
-org.apache.shardingsphere.infra.database.oracle.OracleDataSourceMetaDataBuilder
+org.apache.shardingsphere.infra.database.oracle.OracleConnectionPropertiesParser
diff --git 
a/infra/database/type/oracle/src/test/java/org/apache/shardingsphere/infra/database/oracle/OracleDataSourceMetaDataTest.java
 
b/infra/database/type/oracle/src/test/java/org/apache/shardingsphere/infra/database/oracle/OracleDataSourceMetaDataTest.java
index edb2442331e..08d5cde0cdf 100644
--- 
a/infra/database/type/oracle/src/test/java/org/apache/shardingsphere/infra/database/oracle/OracleDataSourceMetaDataTest.java
+++ 
b/infra/database/type/oracle/src/test/java/org/apache/shardingsphere/infra/database/oracle/OracleDataSourceMetaDataTest.java
@@ -17,9 +17,9 @@
 
 package org.apache.shardingsphere.infra.database.oracle;
 
-import 
org.apache.shardingsphere.infra.database.core.connector.DataSourceMetaDataBuilder;
+import 
org.apache.shardingsphere.infra.database.core.connector.ConnectionPropertiesParser;
 import 
org.apache.shardingsphere.infra.database.core.connector.UnrecognizedDatabaseURLException;
-import 
org.apache.shardingsphere.infra.database.core.connector.DataSourceMetaData;
+import 
org.apache.shardingsphere.infra.database.core.connector.ConnectionProperties;
 import 
org.apache.shardingsphere.infra.database.core.spi.DatabaseTypedSPILoader;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
 import org.apache.shardingsphere.infra.util.spi.type.typed.TypedSPILoader;
@@ -39,12 +39,12 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
 
 class OracleDataSourceMetaDataTest {
     
-    private final DataSourceMetaDataBuilder builder = 
DatabaseTypedSPILoader.getService(DataSourceMetaDataBuilder.class, 
TypedSPILoader.getService(DatabaseType.class, "Oracle"));
+    private final ConnectionPropertiesParser parser = 
DatabaseTypedSPILoader.getService(ConnectionPropertiesParser.class, 
TypedSPILoader.getService(DatabaseType.class, "Oracle"));
     
     @ParameterizedTest(name = "{0}")
     @ArgumentsSource(NewConstructorTestCaseArgumentsProvider.class)
     void assertNewConstructor(final String name, final String url, final 
String hostname, final int port, final String catalog, final String schema) {
-        DataSourceMetaData actual = builder.build(url, "test", null);
+        ConnectionProperties actual = parser.parse(url, "test", null);
         assertThat(actual.getHostname(), is(hostname));
         assertThat(actual.getPort(), is(port));
         assertThat(actual.getCatalog(), is(catalog));
@@ -54,7 +54,7 @@ class OracleDataSourceMetaDataTest {
     
     @Test
     void assertNewConstructorFailure() {
-        assertThrows(UnrecognizedDatabaseURLException.class, () -> 
builder.build("jdbc:oracle:xxxxxxxx", "test", null));
+        assertThrows(UnrecognizedDatabaseURLException.class, () -> 
parser.parse("jdbc:oracle:xxxxxxxx", "test", null));
     }
     
     private static class NewConstructorTestCaseArgumentsProvider implements 
ArgumentsProvider {
diff --git 
a/infra/database/type/postgresql/src/main/java/org/apache/shardingsphere/infra/database/postgresql/PostgreSQLDataSourceMetaDataBuilder.java
 
b/infra/database/type/postgresql/src/main/java/org/apache/shardingsphere/infra/database/postgresql/PostgreSQLConnectionPropertiesParser.java
similarity index 68%
rename from 
infra/database/type/postgresql/src/main/java/org/apache/shardingsphere/infra/database/postgresql/PostgreSQLDataSourceMetaDataBuilder.java
rename to 
infra/database/type/postgresql/src/main/java/org/apache/shardingsphere/infra/database/postgresql/PostgreSQLConnectionPropertiesParser.java
index 2af89388252..abe9c413d6b 100644
--- 
a/infra/database/type/postgresql/src/main/java/org/apache/shardingsphere/infra/database/postgresql/PostgreSQLDataSourceMetaDataBuilder.java
+++ 
b/infra/database/type/postgresql/src/main/java/org/apache/shardingsphere/infra/database/postgresql/PostgreSQLConnectionPropertiesParser.java
@@ -17,25 +17,25 @@
 
 package org.apache.shardingsphere.infra.database.postgresql;
 
-import 
org.apache.shardingsphere.infra.database.core.connector.DataSourceMetaData;
-import 
org.apache.shardingsphere.infra.database.core.connector.DataSourceMetaDataBuilder;
+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.JdbcUrl;
-import 
org.apache.shardingsphere.infra.database.core.connector.StandardDataSourceMetaData;
+import 
org.apache.shardingsphere.infra.database.core.connector.StandardConnectionProperties;
 import 
org.apache.shardingsphere.infra.database.core.connector.StandardJdbcUrlParser;
 
 import java.util.Properties;
 
 /**
- * Data source meta data builder of PostgreSQL.
+ * Connection properties parser of PostgreSQL.
  */
-public final class PostgreSQLDataSourceMetaDataBuilder implements 
DataSourceMetaDataBuilder {
+public final class PostgreSQLConnectionPropertiesParser implements 
ConnectionPropertiesParser {
     
     private static final int DEFAULT_PORT = 5432;
     
     @Override
-    public DataSourceMetaData build(final String url, final String username, 
final String catalog) {
+    public ConnectionProperties parse(final String url, final String username, 
final String catalog) {
         JdbcUrl jdbcUrl = new StandardJdbcUrlParser().parse(url);
-        return new StandardDataSourceMetaData(jdbcUrl.getHostname(), 
jdbcUrl.getPort(DEFAULT_PORT), jdbcUrl.getDatabase(), null, 
jdbcUrl.getQueryProperties(), new Properties());
+        return new StandardConnectionProperties(jdbcUrl.getHostname(), 
jdbcUrl.getPort(DEFAULT_PORT), jdbcUrl.getDatabase(), null, 
jdbcUrl.getQueryProperties(), new Properties());
     }
     
     @Override
diff --git 
a/infra/database/core/src/test/resources/META-INF/services/org.apache.shardingsphere.infra.database.core.connector.DataSourceMetaDataBuilder
 
b/infra/database/type/postgresql/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.database.core.connector.ConnectionPropertiesParser
similarity index 89%
rename from 
infra/database/core/src/test/resources/META-INF/services/org.apache.shardingsphere.infra.database.core.connector.DataSourceMetaDataBuilder
rename to 
infra/database/type/postgresql/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.database.core.connector.ConnectionPropertiesParser
index 4d1ca8aab67..aa920bc353f 100644
--- 
a/infra/database/core/src/test/resources/META-INF/services/org.apache.shardingsphere.infra.database.core.connector.DataSourceMetaDataBuilder
+++ 
b/infra/database/type/postgresql/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.database.core.connector.ConnectionPropertiesParser
@@ -15,4 +15,4 @@
 # limitations under the License.
 #
 
-org.apache.shardingsphere.infra.database.core.connector.DataSourceMetaDataBuilderFixture
+org.apache.shardingsphere.infra.database.postgresql.PostgreSQLConnectionPropertiesParser
diff --git 
a/infra/database/type/postgresql/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.database.core.connector.DataSourceMetaDataBuilder
 
b/infra/database/type/postgresql/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.database.core.connector.DataSourceMetaDataBuilder
deleted file mode 100644
index 2b09e7a31a1..00000000000
--- 
a/infra/database/type/postgresql/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.database.core.connector.DataSourceMetaDataBuilder
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-org.apache.shardingsphere.infra.database.postgresql.PostgreSQLDataSourceMetaDataBuilder
diff --git 
a/infra/database/type/postgresql/src/test/java/org/apache/shardingsphere/infra/database/postgresql/PostgreSQLDataSourceMetaDataTest.java
 
b/infra/database/type/postgresql/src/test/java/org/apache/shardingsphere/infra/database/postgresql/PostgreSQLDataSourceMetaDataTest.java
index 20ad43e6bbc..3e8c4786e43 100644
--- 
a/infra/database/type/postgresql/src/test/java/org/apache/shardingsphere/infra/database/postgresql/PostgreSQLDataSourceMetaDataTest.java
+++ 
b/infra/database/type/postgresql/src/test/java/org/apache/shardingsphere/infra/database/postgresql/PostgreSQLDataSourceMetaDataTest.java
@@ -17,9 +17,9 @@
 
 package org.apache.shardingsphere.infra.database.postgresql;
 
-import 
org.apache.shardingsphere.infra.database.core.connector.DataSourceMetaDataBuilder;
+import 
org.apache.shardingsphere.infra.database.core.connector.ConnectionPropertiesParser;
 import 
org.apache.shardingsphere.infra.database.core.connector.UnrecognizedDatabaseURLException;
-import 
org.apache.shardingsphere.infra.database.core.connector.DataSourceMetaData;
+import 
org.apache.shardingsphere.infra.database.core.connector.ConnectionProperties;
 import 
org.apache.shardingsphere.infra.database.core.spi.DatabaseTypedSPILoader;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
 import org.apache.shardingsphere.infra.util.spi.type.typed.TypedSPILoader;
@@ -41,12 +41,12 @@ import static org.junit.jupiter.api.Assertions.assertThrows;
 
 class PostgreSQLDataSourceMetaDataTest {
     
-    private final DataSourceMetaDataBuilder builder = 
DatabaseTypedSPILoader.getService(DataSourceMetaDataBuilder.class, 
TypedSPILoader.getService(DatabaseType.class, "PostgreSQL"));
+    private final ConnectionPropertiesParser parser = 
DatabaseTypedSPILoader.getService(ConnectionPropertiesParser.class, 
TypedSPILoader.getService(DatabaseType.class, "PostgreSQL"));
     
     @ParameterizedTest(name = "{0}")
     @ArgumentsSource(NewConstructorTestCaseArgumentsProvider.class)
     void assertNewConstructor(final String name, final String url, final 
String hostname, final int port, final String catalog, final String schema, 
final Properties queryProps) {
-        DataSourceMetaData actual = builder.build(url, null, null);
+        ConnectionProperties actual = parser.parse(url, null, null);
         assertThat(actual.getHostname(), is(hostname));
         assertThat(actual.getPort(), is(port));
         assertThat(actual.getCatalog(), is(catalog));
@@ -56,7 +56,7 @@ class PostgreSQLDataSourceMetaDataTest {
     
     @Test
     void assertNewConstructorFailure() {
-        assertThrows(UnrecognizedDatabaseURLException.class, () -> 
builder.build("jdbc:postgresql:xxxxxxxx", null, null));
+        assertThrows(UnrecognizedDatabaseURLException.class, () -> 
parser.parse("jdbc:postgresql:xxxxxxxx", null, null));
     }
     
     private static class NewConstructorTestCaseArgumentsProvider implements 
ArgumentsProvider {
diff --git 
a/infra/database/type/sql92/src/main/java/org/apache/shardingsphere/infra/database/sql92/SQL92DataSourceMetaDataBuilder.java
 
b/infra/database/type/sql92/src/main/java/org/apache/shardingsphere/infra/database/sql92/SQL92ConnectionPropertiesParser.java
similarity index 75%
rename from 
infra/database/type/sql92/src/main/java/org/apache/shardingsphere/infra/database/sql92/SQL92DataSourceMetaDataBuilder.java
rename to 
infra/database/type/sql92/src/main/java/org/apache/shardingsphere/infra/database/sql92/SQL92ConnectionPropertiesParser.java
index c7d3e732b52..30c1db2f56a 100644
--- 
a/infra/database/type/sql92/src/main/java/org/apache/shardingsphere/infra/database/sql92/SQL92DataSourceMetaDataBuilder.java
+++ 
b/infra/database/type/sql92/src/main/java/org/apache/shardingsphere/infra/database/sql92/SQL92ConnectionPropertiesParser.java
@@ -17,9 +17,9 @@
 
 package org.apache.shardingsphere.infra.database.sql92;
 
-import 
org.apache.shardingsphere.infra.database.core.connector.DataSourceMetaData;
-import 
org.apache.shardingsphere.infra.database.core.connector.DataSourceMetaDataBuilder;
-import 
org.apache.shardingsphere.infra.database.core.connector.StandardDataSourceMetaData;
+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.StandardConnectionProperties;
 import 
org.apache.shardingsphere.infra.database.core.connector.UnrecognizedDatabaseURLException;
 import 
org.apache.shardingsphere.infra.util.exception.ShardingSpherePreconditions;
 
@@ -27,19 +27,19 @@ import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
 /**
- * Data source meta data builder of SQL92.
+ * Connection properties parser of SQL92.
  */
-public final class SQL92DataSourceMetaDataBuilder implements 
DataSourceMetaDataBuilder {
+public final class SQL92ConnectionPropertiesParser implements 
ConnectionPropertiesParser {
     
     private static final int DEFAULT_PORT = -1;
     
     private static final Pattern URL_PATTERN = Pattern.compile("jdbc:.*", 
Pattern.CASE_INSENSITIVE);
     
     @Override
-    public DataSourceMetaData build(final String url, final String username, 
final String catalog) {
+    public ConnectionProperties parse(final String url, final String username, 
final String catalog) {
         Matcher matcher = URL_PATTERN.matcher(url);
         ShardingSpherePreconditions.checkState(matcher.find(), () -> new 
UnrecognizedDatabaseURLException(url, URL_PATTERN.pattern()));
-        return new StandardDataSourceMetaData("", DEFAULT_PORT, "", null);
+        return new StandardConnectionProperties("", DEFAULT_PORT, "", null);
     }
     
     @Override
diff --git 
a/infra/database/type/mysql/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.database.core.connector.DataSourceMetaDataBuilder
 
b/infra/database/type/sql92/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.database.core.connector.ConnectionPropertiesParser
similarity index 90%
rename from 
infra/database/type/mysql/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.database.core.connector.DataSourceMetaDataBuilder
rename to 
infra/database/type/sql92/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.database.core.connector.ConnectionPropertiesParser
index 3dcee8c4857..5150bda5fa7 100644
--- 
a/infra/database/type/mysql/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.database.core.connector.DataSourceMetaDataBuilder
+++ 
b/infra/database/type/sql92/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.database.core.connector.ConnectionPropertiesParser
@@ -15,4 +15,4 @@
 # limitations under the License.
 #
 
-org.apache.shardingsphere.infra.database.mysql.MySQLDataSourceMetaDataBuilder
+org.apache.shardingsphere.infra.database.sql92.SQL92ConnectionPropertiesParser
diff --git 
a/infra/database/type/sql92/src/test/java/org/apache/shardingsphere/infra/database/sql92/SQL92DataSourceMetaDataTest.java
 
b/infra/database/type/sql92/src/test/java/org/apache/shardingsphere/infra/database/sql92/SQL92DataSourceMetaDataTest.java
index e8a6a391eda..b9376ecff01 100644
--- 
a/infra/database/type/sql92/src/test/java/org/apache/shardingsphere/infra/database/sql92/SQL92DataSourceMetaDataTest.java
+++ 
b/infra/database/type/sql92/src/test/java/org/apache/shardingsphere/infra/database/sql92/SQL92DataSourceMetaDataTest.java
@@ -17,9 +17,9 @@
 
 package org.apache.shardingsphere.infra.database.sql92;
 
-import 
org.apache.shardingsphere.infra.database.core.connector.DataSourceMetaDataBuilder;
+import 
org.apache.shardingsphere.infra.database.core.connector.ConnectionPropertiesParser;
 import 
org.apache.shardingsphere.infra.database.core.connector.UnrecognizedDatabaseURLException;
-import 
org.apache.shardingsphere.infra.database.core.connector.DataSourceMetaData;
+import 
org.apache.shardingsphere.infra.database.core.connector.ConnectionProperties;
 import 
org.apache.shardingsphere.infra.database.core.spi.DatabaseTypedSPILoader;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
 import org.apache.shardingsphere.infra.util.spi.type.typed.TypedSPILoader;
@@ -39,12 +39,12 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
 
 class SQL92DataSourceMetaDataTest {
     
-    private final DataSourceMetaDataBuilder builder = 
DatabaseTypedSPILoader.getService(DataSourceMetaDataBuilder.class, 
TypedSPILoader.getService(DatabaseType.class, "SQL92"));
+    private final ConnectionPropertiesParser parser = 
DatabaseTypedSPILoader.getService(ConnectionPropertiesParser.class, 
TypedSPILoader.getService(DatabaseType.class, "SQL92"));
     
     @ParameterizedTest(name = "{0}")
     @ArgumentsSource(NewConstructorTestCaseArgumentsProvider.class)
     void assertNewConstructor(final String name, final String url, final 
String hostname, final int port, final String catalog, final String schema) {
-        DataSourceMetaData actual = builder.build(url, null, null);
+        ConnectionProperties actual = parser.parse(url, null, null);
         assertThat(actual.getHostname(), is(hostname));
         assertThat(actual.getPort(), is(port));
         assertThat(actual.getCatalog(), is(catalog));
@@ -54,7 +54,7 @@ class SQL92DataSourceMetaDataTest {
     
     @Test
     void assertNewConstructorFailure() {
-        assertThrows(UnrecognizedDatabaseURLException.class, () -> 
builder.build("xxx:xxxx:xxxxxxxx", null, null));
+        assertThrows(UnrecognizedDatabaseURLException.class, () -> 
parser.parse("xxx:xxxx:xxxxxxxx", null, null));
     }
     
     private static class NewConstructorTestCaseArgumentsProvider implements 
ArgumentsProvider {
diff --git 
a/infra/database/type/sqlserver/src/main/java/org/apache/shardingsphere/infra/database/sqlserver/SQLServerDataSourceMetaDataBuilder.java
 
b/infra/database/type/sqlserver/src/main/java/org/apache/shardingsphere/infra/database/sqlserver/SQLServerConnectionPropertiesParser.java
similarity index 73%
rename from 
infra/database/type/sqlserver/src/main/java/org/apache/shardingsphere/infra/database/sqlserver/SQLServerDataSourceMetaDataBuilder.java
rename to 
infra/database/type/sqlserver/src/main/java/org/apache/shardingsphere/infra/database/sqlserver/SQLServerConnectionPropertiesParser.java
index db4227c0063..2f6c9f83f4d 100644
--- 
a/infra/database/type/sqlserver/src/main/java/org/apache/shardingsphere/infra/database/sqlserver/SQLServerDataSourceMetaDataBuilder.java
+++ 
b/infra/database/type/sqlserver/src/main/java/org/apache/shardingsphere/infra/database/sqlserver/SQLServerConnectionPropertiesParser.java
@@ -18,9 +18,9 @@
 package org.apache.shardingsphere.infra.database.sqlserver;
 
 import com.google.common.base.Strings;
-import 
org.apache.shardingsphere.infra.database.core.connector.DataSourceMetaData;
-import 
org.apache.shardingsphere.infra.database.core.connector.DataSourceMetaDataBuilder;
-import 
org.apache.shardingsphere.infra.database.core.connector.StandardDataSourceMetaData;
+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.StandardConnectionProperties;
 import 
org.apache.shardingsphere.infra.database.core.connector.UnrecognizedDatabaseURLException;
 import 
org.apache.shardingsphere.infra.util.exception.ShardingSpherePreconditions;
 
@@ -28,19 +28,19 @@ import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
 /**
- * Data source meta data builder of SQLServer.
+ * Connection properties parser of SQLServer.
  */
-public final class SQLServerDataSourceMetaDataBuilder implements 
DataSourceMetaDataBuilder {
+public final class SQLServerConnectionPropertiesParser implements 
ConnectionPropertiesParser {
     
     private static final int DEFAULT_PORT = 1433;
     
     private static final Pattern URL_PATTERN = 
Pattern.compile("jdbc:(microsoft:)?sqlserver://([\\w\\-\\.]+):?(\\d*);\\S*(DatabaseName|database)=([\\w\\-\\.]+);?",
 Pattern.CASE_INSENSITIVE);
     
     @Override
-    public DataSourceMetaData build(final String url, final String username, 
final String catalog) {
+    public ConnectionProperties parse(final String url, final String username, 
final String catalog) {
         Matcher matcher = URL_PATTERN.matcher(url);
         ShardingSpherePreconditions.checkState(matcher.find(), () -> new 
UnrecognizedDatabaseURLException(url, URL_PATTERN.pattern()));
-        return new StandardDataSourceMetaData(matcher.group(2), 
Strings.isNullOrEmpty(matcher.group(3)) ? DEFAULT_PORT : 
Integer.parseInt(matcher.group(3)), matcher.group(5), null);
+        return new StandardConnectionProperties(matcher.group(2), 
Strings.isNullOrEmpty(matcher.group(3)) ? DEFAULT_PORT : 
Integer.parseInt(matcher.group(3)), matcher.group(5), null);
     }
     
     @Override
diff --git 
a/infra/database/type/opengauss/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.database.core.connector.DataSourceMetaDataBuilder
 
b/infra/database/type/sqlserver/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.database.core.connector.ConnectionPropertiesParser
similarity index 90%
rename from 
infra/database/type/opengauss/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.database.core.connector.DataSourceMetaDataBuilder
rename to 
infra/database/type/sqlserver/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.database.core.connector.ConnectionPropertiesParser
index 268d12aaa21..b7dae245584 100644
--- 
a/infra/database/type/opengauss/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.database.core.connector.DataSourceMetaDataBuilder
+++ 
b/infra/database/type/sqlserver/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.database.core.connector.ConnectionPropertiesParser
@@ -15,4 +15,4 @@
 # limitations under the License.
 #
 
-org.apache.shardingsphere.infra.database.opengauss.OpenGaussDataSourceMetaDataBuilder
+org.apache.shardingsphere.infra.database.sqlserver.SQLServerConnectionPropertiesParser
diff --git 
a/infra/database/type/sqlserver/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.database.core.connector.DataSourceMetaDataBuilder
 
b/infra/database/type/sqlserver/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.database.core.connector.DataSourceMetaDataBuilder
deleted file mode 100644
index 983e347ed1e..00000000000
--- 
a/infra/database/type/sqlserver/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.database.core.connector.DataSourceMetaDataBuilder
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-org.apache.shardingsphere.infra.database.sqlserver.SQLServerDataSourceMetaDataBuilder
diff --git 
a/infra/database/type/sqlserver/src/test/java/org/apache/shardingsphere/infra/database/sqlserver/SQLServerDataSourceMetaDataTest.java
 
b/infra/database/type/sqlserver/src/test/java/org/apache/shardingsphere/infra/database/sqlserver/SQLServerDataSourceMetaDataTest.java
index 8e3bd9dd462..1713403618e 100644
--- 
a/infra/database/type/sqlserver/src/test/java/org/apache/shardingsphere/infra/database/sqlserver/SQLServerDataSourceMetaDataTest.java
+++ 
b/infra/database/type/sqlserver/src/test/java/org/apache/shardingsphere/infra/database/sqlserver/SQLServerDataSourceMetaDataTest.java
@@ -17,9 +17,9 @@
 
 package org.apache.shardingsphere.infra.database.sqlserver;
 
-import 
org.apache.shardingsphere.infra.database.core.connector.DataSourceMetaDataBuilder;
+import 
org.apache.shardingsphere.infra.database.core.connector.ConnectionPropertiesParser;
 import 
org.apache.shardingsphere.infra.database.core.connector.UnrecognizedDatabaseURLException;
-import 
org.apache.shardingsphere.infra.database.core.connector.DataSourceMetaData;
+import 
org.apache.shardingsphere.infra.database.core.connector.ConnectionProperties;
 import 
org.apache.shardingsphere.infra.database.core.spi.DatabaseTypedSPILoader;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
 import org.apache.shardingsphere.infra.util.spi.type.typed.TypedSPILoader;
@@ -39,12 +39,12 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
 
 class SQLServerDataSourceMetaDataTest {
     
-    private final DataSourceMetaDataBuilder builder = 
DatabaseTypedSPILoader.getService(DataSourceMetaDataBuilder.class, 
TypedSPILoader.getService(DatabaseType.class, "SQLServer"));
+    private final ConnectionPropertiesParser parser = 
DatabaseTypedSPILoader.getService(ConnectionPropertiesParser.class, 
TypedSPILoader.getService(DatabaseType.class, "SQLServer"));
     
     @ParameterizedTest(name = "{0}")
     @ArgumentsSource(NewConstructorTestCaseArgumentsProvider.class)
     void assertNewConstructor(final String name, final String url, final 
String hostname, final int port, final String catalog, final String schema) {
-        DataSourceMetaData actual = builder.build(url, null, null);
+        ConnectionProperties actual = parser.parse(url, null, null);
         assertThat(actual.getHostname(), is(hostname));
         assertThat(actual.getPort(), is(port));
         assertThat(actual.getCatalog(), is(catalog));
@@ -54,7 +54,7 @@ class SQLServerDataSourceMetaDataTest {
     
     @Test
     void assertNewConstructorFailure() {
-        assertThrows(UnrecognizedDatabaseURLException.class, () -> 
builder.build("jdbc:sqlserver:xxxxxxxx", null, null));
+        assertThrows(UnrecognizedDatabaseURLException.class, () -> 
parser.parse("jdbc:sqlserver:xxxxxxxx", null, null));
     }
     
     private static class NewConstructorTestCaseArgumentsProvider implements 
ArgumentsProvider {
diff --git 
a/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/execute/engine/driver/jdbc/JDBCExecutorCallback.java
 
b/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/execute/engine/driver/jdbc/JDBCExecutorCallback.java
index 4b7822e60db..faf5a6fada9 100644
--- 
a/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/execute/engine/driver/jdbc/JDBCExecutorCallback.java
+++ 
b/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/execute/engine/driver/jdbc/JDBCExecutorCallback.java
@@ -18,7 +18,7 @@
 package 
org.apache.shardingsphere.infra.executor.sql.execute.engine.driver.jdbc;
 
 import lombok.RequiredArgsConstructor;
-import 
org.apache.shardingsphere.infra.database.core.connector.DataSourceMetaData;
+import 
org.apache.shardingsphere.infra.database.core.connector.ConnectionProperties;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
 import org.apache.shardingsphere.infra.executor.kernel.model.ExecutorCallback;
 import org.apache.shardingsphere.infra.executor.sql.context.SQLUnit;
@@ -75,11 +75,11 @@ public abstract class JDBCExecutorCallback<T> implements 
ExecutorCallback<JDBCEx
     private T execute(final JDBCExecutionUnit jdbcExecutionUnit, final boolean 
isTrunkThread) throws SQLException {
         SQLExecutorExceptionHandler.setExceptionThrown(isExceptionThrown);
         DatabaseType storageType = 
resourceMetaData.getStorageType(jdbcExecutionUnit.getExecutionUnit().getDataSourceName());
-        DataSourceMetaData dataSourceMetaData = 
resourceMetaData.getDataSourceMetaData(jdbcExecutionUnit.getExecutionUnit().getDataSourceName());
+        ConnectionProperties connectionProps = 
resourceMetaData.getConnectionProperties(jdbcExecutionUnit.getExecutionUnit().getDataSourceName());
         SQLExecutionHook sqlExecutionHook = new SPISQLExecutionHook();
         try {
             SQLUnit sqlUnit = 
jdbcExecutionUnit.getExecutionUnit().getSqlUnit();
-            
sqlExecutionHook.start(jdbcExecutionUnit.getExecutionUnit().getDataSourceName(),
 sqlUnit.getSql(), sqlUnit.getParameters(), dataSourceMetaData, isTrunkThread);
+            
sqlExecutionHook.start(jdbcExecutionUnit.getExecutionUnit().getDataSourceName(),
 sqlUnit.getSql(), sqlUnit.getParameters(), connectionProps, isTrunkThread);
             T result = executeSQL(sqlUnit.getSql(), 
jdbcExecutionUnit.getStorageResource(), jdbcExecutionUnit.getConnectionMode(), 
storageType);
             sqlExecutionHook.finishSuccess();
             processEngine.completeSQLUnitExecution();
diff --git 
a/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/hook/SPISQLExecutionHook.java
 
b/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/hook/SPISQLExecutionHook.java
index 9b417b68993..7204cb17b21 100644
--- 
a/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/hook/SPISQLExecutionHook.java
+++ 
b/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/hook/SPISQLExecutionHook.java
@@ -17,7 +17,7 @@
 
 package org.apache.shardingsphere.infra.executor.sql.hook;
 
-import 
org.apache.shardingsphere.infra.database.core.connector.DataSourceMetaData;
+import 
org.apache.shardingsphere.infra.database.core.connector.ConnectionProperties;
 import org.apache.shardingsphere.infra.util.spi.ShardingSphereServiceLoader;
 
 import java.util.Collection;
@@ -31,9 +31,9 @@ public final class SPISQLExecutionHook implements 
SQLExecutionHook {
     private final Collection<SQLExecutionHook> sqlExecutionHooks = 
ShardingSphereServiceLoader.getServiceInstances(SQLExecutionHook.class);
     
     @Override
-    public void start(final String dataSourceName, final String sql, final 
List<Object> params, final DataSourceMetaData dataSourceMetaData, final boolean 
isTrunkThread) {
+    public void start(final String dataSourceName, final String sql, final 
List<Object> params, final ConnectionProperties connectionProps, final boolean 
isTrunkThread) {
         for (SQLExecutionHook each : sqlExecutionHooks) {
-            each.start(dataSourceName, sql, params, dataSourceMetaData, 
isTrunkThread);
+            each.start(dataSourceName, sql, params, connectionProps, 
isTrunkThread);
         }
     }
     
diff --git 
a/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/hook/SQLExecutionHook.java
 
b/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/hook/SQLExecutionHook.java
index 9f1b8f019bf..20a43d32a8a 100644
--- 
a/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/hook/SQLExecutionHook.java
+++ 
b/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/hook/SQLExecutionHook.java
@@ -17,7 +17,7 @@
 
 package org.apache.shardingsphere.infra.executor.sql.hook;
 
-import 
org.apache.shardingsphere.infra.database.core.connector.DataSourceMetaData;
+import 
org.apache.shardingsphere.infra.database.core.connector.ConnectionProperties;
 
 import java.util.List;
 
@@ -32,10 +32,10 @@ public interface SQLExecutionHook {
      * @param dataSourceName data source name
      * @param sql SQL
      * @param params SQL parameters
-     * @param dataSourceMetaData data source meta data
+     * @param connectionProps connection properties
      * @param isTrunkThread is execution in trunk thread
      */
-    void start(String dataSourceName, String sql, List<Object> params, 
DataSourceMetaData dataSourceMetaData, boolean isTrunkThread);
+    void start(String dataSourceName, String sql, List<Object> params, 
ConnectionProperties connectionProps, boolean isTrunkThread);
     
     /**
      * Handle when SQL execution finished success.
diff --git 
a/infra/executor/src/test/java/org/apache/shardingsphere/infra/executor/sql/hook/fixture/SQLExecutionHookFixture.java
 
b/infra/executor/src/test/java/org/apache/shardingsphere/infra/executor/sql/hook/fixture/SQLExecutionHookFixture.java
index d6ab2f3c506..12c2e6a193d 100644
--- 
a/infra/executor/src/test/java/org/apache/shardingsphere/infra/executor/sql/hook/fixture/SQLExecutionHookFixture.java
+++ 
b/infra/executor/src/test/java/org/apache/shardingsphere/infra/executor/sql/hook/fixture/SQLExecutionHookFixture.java
@@ -17,7 +17,7 @@
 
 package org.apache.shardingsphere.infra.executor.sql.hook.fixture;
 
-import 
org.apache.shardingsphere.infra.database.core.connector.DataSourceMetaData;
+import 
org.apache.shardingsphere.infra.database.core.connector.ConnectionProperties;
 import org.apache.shardingsphere.infra.executor.sql.hook.SQLExecutionHook;
 
 import java.util.Collection;
@@ -29,7 +29,7 @@ public final class SQLExecutionHookFixture implements 
SQLExecutionHook {
     private static final Collection<String> ACTIONS = new LinkedList<>();
     
     @Override
-    public void start(final String dataSourceName, final String sql, final 
List<Object> params, final DataSourceMetaData dataSourceMetaData, final boolean 
isTrunkThread) {
+    public void start(final String dataSourceName, final String sql, final 
List<Object> params, final ConnectionProperties connectionProps, final boolean 
isTrunkThread) {
         ACTIONS.add("start");
     }
     
diff --git 
a/jdbc/core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/datasource/metadata/ShardingSphereDatabaseMetaData.java
 
b/jdbc/core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/datasource/metadata/ShardingSphereDatabaseMetaData.java
index 3e0c723d778..e3771090da8 100644
--- 
a/jdbc/core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/datasource/metadata/ShardingSphereDatabaseMetaData.java
+++ 
b/jdbc/core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/datasource/metadata/ShardingSphereDatabaseMetaData.java
@@ -22,7 +22,7 @@ import 
org.apache.shardingsphere.driver.jdbc.adapter.AdaptedDatabaseMetaData;
 import 
org.apache.shardingsphere.driver.jdbc.core.connection.ShardingSphereConnection;
 import 
org.apache.shardingsphere.driver.jdbc.core.resultset.DatabaseMetaDataResultSet;
 import org.apache.shardingsphere.infra.database.core.DefaultDatabase;
-import 
org.apache.shardingsphere.infra.database.core.connector.DataSourceMetaData;
+import 
org.apache.shardingsphere.infra.database.core.connector.ConnectionProperties;
 import org.apache.shardingsphere.infra.rule.ShardingSphereRule;
 import 
org.apache.shardingsphere.infra.rule.identifier.type.DataNodeContainedRule;
 
@@ -222,15 +222,15 @@ public final class ShardingSphereDatabaseMetaData extends 
AdaptedDatabaseMetaDat
     }
     
     private String getActualCatalog(final String catalog) {
-        DataSourceMetaData metaData = connection.getContextManager()
-                
.getMetaDataContexts().getMetaData().getDatabase(connection.getDatabaseName()).getResourceMetaData().getDataSourceMetaData(getDataSourceName());
-        return null != catalog && catalog.contains(DefaultDatabase.LOGIC_NAME) 
? metaData.getCatalog() : catalog;
+        ConnectionProperties connectionProps = connection.getContextManager()
+                
.getMetaDataContexts().getMetaData().getDatabase(connection.getDatabaseName()).getResourceMetaData().getConnectionProperties(getDataSourceName());
+        return null != catalog && catalog.contains(DefaultDatabase.LOGIC_NAME) 
? connectionProps.getCatalog() : catalog;
     }
     
     private String getActualSchema(final String schema) {
-        DataSourceMetaData metaData = connection.getContextManager()
-                
.getMetaDataContexts().getMetaData().getDatabase(connection.getDatabaseName()).getResourceMetaData().getDataSourceMetaData(getDataSourceName());
-        return null != schema && schema.contains(DefaultDatabase.LOGIC_NAME) ? 
metaData.getSchema() : schema;
+        ConnectionProperties connectionProps = connection.getContextManager()
+                
.getMetaDataContexts().getMetaData().getDatabase(connection.getDatabaseName()).getResourceMetaData().getConnectionProperties(getDataSourceName());
+        return null != schema && schema.contains(DefaultDatabase.LOGIC_NAME) ? 
connectionProps.getSchema() : schema;
     }
     
     private String getDataSourceName() {
diff --git 
a/kernel/data-pipeline/dialect/mysql/src/main/java/org/apache/shardingsphere/data/pipeline/mysql/ingest/MySQLIncrementalDumper.java
 
b/kernel/data-pipeline/dialect/mysql/src/main/java/org/apache/shardingsphere/data/pipeline/mysql/ingest/MySQLIncrementalDumper.java
index a3d1da994be..e891bb1c13d 100644
--- 
a/kernel/data-pipeline/dialect/mysql/src/main/java/org/apache/shardingsphere/data/pipeline/mysql/ingest/MySQLIncrementalDumper.java
+++ 
b/kernel/data-pipeline/dialect/mysql/src/main/java/org/apache/shardingsphere/data/pipeline/mysql/ingest/MySQLIncrementalDumper.java
@@ -48,9 +48,9 @@ import 
org.apache.shardingsphere.data.pipeline.mysql.ingest.client.MySQLClient;
 import 
org.apache.shardingsphere.data.pipeline.mysql.ingest.column.value.MySQLDataTypeHandler;
 import 
org.apache.shardingsphere.db.protocol.mysql.packet.binlog.row.column.value.string.MySQLBinaryString;
 import 
org.apache.shardingsphere.infra.database.core.spi.DatabaseTypedSPILoader;
-import 
org.apache.shardingsphere.infra.database.core.connector.DataSourceMetaData;
+import 
org.apache.shardingsphere.infra.database.core.connector.ConnectionProperties;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
-import 
org.apache.shardingsphere.infra.database.core.connector.DataSourceMetaDataBuilder;
+import 
org.apache.shardingsphere.infra.database.core.connector.ConnectionPropertiesParser;
 import org.apache.shardingsphere.infra.util.spi.type.typed.TypedSPILoader;
 
 import java.io.Serializable;
@@ -89,11 +89,11 @@ public final class MySQLIncrementalDumper extends 
AbstractLifecycleExecutor impl
         this.metaDataLoader = metaDataLoader;
         YamlJdbcConfiguration jdbcConfig = 
((StandardPipelineDataSourceConfiguration) 
dumperConfig.getDataSourceConfig()).getJdbcConfig();
         log.info("incremental dump, jdbcUrl={}", jdbcConfig.getUrl());
-        DataSourceMetaDataBuilder builder = 
DatabaseTypedSPILoader.getService(DataSourceMetaDataBuilder.class, 
TypedSPILoader.getService(DatabaseType.class, "MySQL"));
-        DataSourceMetaData metaData = builder.build(jdbcConfig.getUrl(), null, 
null);
-        ConnectInfo connectInfo = new ConnectInfo(generateServerId(), 
metaData.getHostname(), metaData.getPort(), jdbcConfig.getUsername(), 
jdbcConfig.getPassword());
+        ConnectionPropertiesParser parser = 
DatabaseTypedSPILoader.getService(ConnectionPropertiesParser.class, 
TypedSPILoader.getService(DatabaseType.class, "MySQL"));
+        ConnectionProperties connectionProps = 
parser.parse(jdbcConfig.getUrl(), null, null);
+        ConnectInfo connectInfo = new ConnectInfo(generateServerId(), 
connectionProps.getHostname(), connectionProps.getPort(), 
jdbcConfig.getUsername(), jdbcConfig.getPassword());
         client = new MySQLClient(connectInfo, dumperConfig.isDecodeWithTX());
-        catalog = metaData.getCatalog();
+        catalog = connectionProps.getCatalog();
     }
     
     private int generateServerId() {
diff --git 
a/kernel/data-pipeline/scenario/migration/src/main/java/org/apache/shardingsphere/data/pipeline/scenario/migration/api/impl/MigrationJobAPI.java
 
b/kernel/data-pipeline/scenario/migration/src/main/java/org/apache/shardingsphere/data/pipeline/scenario/migration/api/impl/MigrationJobAPI.java
index 706ed4f6b4c..af38cef3b8b 100644
--- 
a/kernel/data-pipeline/scenario/migration/src/main/java/org/apache/shardingsphere/data/pipeline/scenario/migration/api/impl/MigrationJobAPI.java
+++ 
b/kernel/data-pipeline/scenario/migration/src/main/java/org/apache/shardingsphere/data/pipeline/scenario/migration/api/impl/MigrationJobAPI.java
@@ -79,9 +79,9 @@ import 
org.apache.shardingsphere.elasticjob.infra.pojo.JobConfigurationPOJO;
 import org.apache.shardingsphere.infra.config.rule.RuleConfiguration;
 import 
org.apache.shardingsphere.infra.database.core.spi.DatabaseTypedSPILoader;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseTypeFactory;
-import 
org.apache.shardingsphere.infra.database.core.connector.DataSourceMetaData;
+import 
org.apache.shardingsphere.infra.database.core.connector.ConnectionProperties;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
-import 
org.apache.shardingsphere.infra.database.core.connector.DataSourceMetaDataBuilder;
+import 
org.apache.shardingsphere.infra.database.core.connector.ConnectionPropertiesParser;
 import org.apache.shardingsphere.infra.datanode.DataNode;
 import org.apache.shardingsphere.infra.datasource.props.DataSourceProperties;
 import 
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
@@ -476,10 +476,10 @@ public final class MigrationJobAPI extends 
AbstractInventoryIncrementalJobAPIImp
             String url = 
String.valueOf(value.getConnectionPropertySynonyms().getStandardProperties().get("url"));
             DatabaseType databaseType = DatabaseTypeFactory.get(url);
             props.add(databaseType.getType());
-            DataSourceMetaData metaData = 
DatabaseTypedSPILoader.getService(DataSourceMetaDataBuilder.class, 
databaseType).build(url, "", null);
-            props.add(metaData.getHostname());
-            props.add(metaData.getPort());
-            props.add(metaData.getCatalog());
+            ConnectionProperties connectionProps = 
DatabaseTypedSPILoader.getService(ConnectionPropertiesParser.class, 
databaseType).parse(url, "", null);
+            props.add(connectionProps.getHostname());
+            props.add(connectionProps.getPort());
+            props.add(connectionProps.getCatalog());
             Map<String, Object> standardProps = 
value.getPoolPropertySynonyms().getStandardProperties();
             props.add(getStandardProperty(standardProps, 
"connectionTimeoutMilliseconds"));
             props.add(getStandardProperty(standardProps, 
"idleTimeoutMilliseconds"));
diff --git 
a/kernel/transaction/type/base/seata-at/src/main/java/org/apache/shardingsphere/transaction/base/seata/at/SeataTransactionalSQLExecutionHook.java
 
b/kernel/transaction/type/base/seata-at/src/main/java/org/apache/shardingsphere/transaction/base/seata/at/SeataTransactionalSQLExecutionHook.java
index a5b13c61cba..b260101b465 100644
--- 
a/kernel/transaction/type/base/seata-at/src/main/java/org/apache/shardingsphere/transaction/base/seata/at/SeataTransactionalSQLExecutionHook.java
+++ 
b/kernel/transaction/type/base/seata-at/src/main/java/org/apache/shardingsphere/transaction/base/seata/at/SeataTransactionalSQLExecutionHook.java
@@ -18,7 +18,7 @@
 package org.apache.shardingsphere.transaction.base.seata.at;
 
 import io.seata.core.context.RootContext;
-import 
org.apache.shardingsphere.infra.database.core.connector.DataSourceMetaData;
+import 
org.apache.shardingsphere.infra.database.core.connector.ConnectionProperties;
 import org.apache.shardingsphere.infra.executor.sql.hook.SQLExecutionHook;
 
 import java.util.List;
@@ -31,7 +31,7 @@ public final class SeataTransactionalSQLExecutionHook 
implements SQLExecutionHoo
     private boolean seataBranch;
     
     @Override
-    public void start(final String dataSourceName, final String sql, final 
List<Object> params, final DataSourceMetaData dataSourceMetaData, final boolean 
isTrunkThread) {
+    public void start(final String dataSourceName, final String sql, final 
List<Object> params, final ConnectionProperties connectionProps, final boolean 
isTrunkThread) {
         if (isTrunkThread) {
             if (RootContext.inGlobalTransaction()) {
                 SeataXIDContext.set(RootContext.getXID());
diff --git 
a/kernel/transaction/type/base/seata-at/src/test/java/org/apache/shardingsphere/transaction/base/seata/at/SeataTransactionalSQLExecutionHookTest.java
 
b/kernel/transaction/type/base/seata-at/src/test/java/org/apache/shardingsphere/transaction/base/seata/at/SeataTransactionalSQLExecutionHookTest.java
index ef753fec327..474271c336a 100644
--- 
a/kernel/transaction/type/base/seata-at/src/test/java/org/apache/shardingsphere/transaction/base/seata/at/SeataTransactionalSQLExecutionHookTest.java
+++ 
b/kernel/transaction/type/base/seata-at/src/test/java/org/apache/shardingsphere/transaction/base/seata/at/SeataTransactionalSQLExecutionHookTest.java
@@ -18,7 +18,7 @@
 package org.apache.shardingsphere.transaction.base.seata.at;
 
 import io.seata.core.context.RootContext;
-import 
org.apache.shardingsphere.infra.database.core.connector.DataSourceMetaData;
+import 
org.apache.shardingsphere.infra.database.core.connector.ConnectionProperties;
 import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.extension.ExtendWith;
@@ -38,7 +38,7 @@ class SeataTransactionalSQLExecutionHookTest {
     private final SeataTransactionalSQLExecutionHook executionHook = new 
SeataTransactionalSQLExecutionHook();
     
     @Mock
-    private DataSourceMetaData dataSourceMetaData;
+    private ConnectionProperties connectionProps;
     
     @AfterEach
     void tearDown() {
@@ -48,7 +48,7 @@ class SeataTransactionalSQLExecutionHookTest {
     @Test
     void assertTrunkThreadExecute() {
         RootContext.bind("xid");
-        executionHook.start("ds", "SELECT 1", Collections.emptyList(), 
dataSourceMetaData, true);
+        executionHook.start("ds", "SELECT 1", Collections.emptyList(), 
connectionProps, true);
         assertThat(SeataXIDContext.get(), is(RootContext.getXID()));
         executionHook.finishSuccess();
         assertTrue(RootContext.inGlobalTransaction());
@@ -56,7 +56,7 @@ class SeataTransactionalSQLExecutionHookTest {
     
     @Test
     void assertChildThreadExecute() {
-        executionHook.start("ds", "SELECT 1", Collections.emptyList(), 
dataSourceMetaData, false);
+        executionHook.start("ds", "SELECT 1", Collections.emptyList(), 
connectionProps, false);
         assertTrue(RootContext.inGlobalTransaction());
         executionHook.finishSuccess();
         assertFalse(RootContext.inGlobalTransaction());
@@ -64,7 +64,7 @@ class SeataTransactionalSQLExecutionHookTest {
     
     @Test
     void assertChildThreadExecuteFailed() {
-        executionHook.start("ds", "SELECT 1", Collections.emptyList(), 
dataSourceMetaData, false);
+        executionHook.start("ds", "SELECT 1", Collections.emptyList(), 
connectionProps, false);
         assertTrue(RootContext.inGlobalTransaction());
         executionHook.finishFailure(new RuntimeException(""));
         assertFalse(RootContext.inGlobalTransaction());
diff --git 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/queryable/ExportStorageNodesExecutor.java
 
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/queryable/ExportStorageNodesExecutor.java
index 0d5fd32cee0..be8dbc19127 100644
--- 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/queryable/ExportStorageNodesExecutor.java
+++ 
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/queryable/ExportStorageNodesExecutor.java
@@ -19,7 +19,7 @@ package 
org.apache.shardingsphere.proxy.backend.handler.distsql.ral.queryable;
 
 import 
org.apache.shardingsphere.distsql.handler.ral.query.MetaDataRequiredQueryableRALExecutor;
 import 
org.apache.shardingsphere.distsql.parser.statement.ral.queryable.ExportStorageNodesStatement;
-import 
org.apache.shardingsphere.infra.database.core.connector.DataSourceMetaData;
+import 
org.apache.shardingsphere.infra.database.core.connector.ConnectionProperties;
 import 
org.apache.shardingsphere.infra.datasource.props.DataSourcePropertiesCreator;
 import 
org.apache.shardingsphere.infra.merge.result.impl.local.LocalDataQueryResultRow;
 import org.apache.shardingsphere.infra.metadata.ShardingSphereMetaData;
@@ -88,21 +88,21 @@ public final class ExportStorageNodesExecutor implements 
MetaDataRequiredQueryab
     private Map<String, Collection<ExportedStorageNode>> 
generateDatabaseExportStorageNodesData(final ShardingSphereDatabase database) {
         Map<String, ExportedStorageNode> storageNodes = new LinkedHashMap<>();
         for (Entry<String, DataSource> entry : 
database.getResourceMetaData().getDataSources().entrySet()) {
-            DataSourceMetaData dataSourceMetaData = 
database.getResourceMetaData().getDataSourceMetaData(entry.getKey());
-            String databaseInstanceIp = 
getDatabaseInstanceIp(dataSourceMetaData);
+            ConnectionProperties connectionProps = 
database.getResourceMetaData().getConnectionProperties(entry.getKey());
+            String databaseInstanceIp = getDatabaseInstanceIp(connectionProps);
             if (storageNodes.containsKey(databaseInstanceIp)) {
                 continue;
             }
             Map<String, Object> standardProperties = 
DataSourcePropertiesCreator.create(entry.getValue()).getConnectionPropertySynonyms().getStandardProperties();
-            ExportedStorageNode exportedStorageNode = new 
ExportedStorageNode(dataSourceMetaData.getHostname(), 
String.valueOf(dataSourceMetaData.getPort()),
-                    String.valueOf(standardProperties.get("username")), 
String.valueOf(standardProperties.get("password")), 
dataSourceMetaData.getCatalog());
+            ExportedStorageNode exportedStorageNode = new 
ExportedStorageNode(connectionProps.getHostname(), 
String.valueOf(connectionProps.getPort()),
+                    String.valueOf(standardProperties.get("username")), 
String.valueOf(standardProperties.get("password")), 
connectionProps.getCatalog());
             storageNodes.put(databaseInstanceIp, exportedStorageNode);
         }
         return Collections.singletonMap(database.getName(), 
storageNodes.values());
     }
     
-    private String getDatabaseInstanceIp(final DataSourceMetaData 
dataSourceMetaData) {
-        return String.format("%s:%s", dataSourceMetaData.getHostname(), 
dataSourceMetaData.getPort());
+    private String getDatabaseInstanceIp(final ConnectionProperties 
connectionProps) {
+        return String.format("%s:%s", connectionProps.getHostname(), 
connectionProps.getPort());
     }
     
     @Override
diff --git 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/rql/storage/unit/ShowStorageUnitExecutor.java
 
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/rql/storage/unit/ShowStorageUnitExecutor.java
index d19ab1b1d64..3d76131ac22 100644
--- 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/rql/storage/unit/ShowStorageUnitExecutor.java
+++ 
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/rql/storage/unit/ShowStorageUnitExecutor.java
@@ -20,7 +20,7 @@ package 
org.apache.shardingsphere.proxy.backend.handler.distsql.rql.storage.unit
 import com.google.gson.Gson;
 import org.apache.shardingsphere.distsql.handler.query.RQLExecutor;
 import 
org.apache.shardingsphere.distsql.parser.statement.rql.show.ShowStorageUnitsStatement;
-import 
org.apache.shardingsphere.infra.database.core.connector.DataSourceMetaData;
+import 
org.apache.shardingsphere.infra.database.core.connector.ConnectionProperties;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
 import 
org.apache.shardingsphere.infra.datasource.ShardingSphereStorageDataSourceWrapper;
 import org.apache.shardingsphere.infra.datasource.props.DataSourceProperties;
@@ -70,14 +70,14 @@ public final class ShowStorageUnitExecutor implements 
RQLExecutor<ShowStorageUni
         for (Entry<String, DataSourceProperties> entry : 
dataSourcePropsMap.entrySet()) {
             String key = entry.getKey();
             DataSourceProperties dataSourceProps = entry.getValue();
-            DataSourceMetaData metaData = 
resourceMetaData.getDataSourceMetaData(key);
+            ConnectionProperties connectionProps = 
resourceMetaData.getConnectionProperties(key);
             Map<String, Object> standardProps = 
dataSourceProps.getPoolPropertySynonyms().getStandardProperties();
             Map<String, Object> otherProps = 
dataSourceProps.getCustomDataSourceProperties().getProperties();
             result.add(new LocalDataQueryResultRow(key,
                     resourceMetaData.getStorageType(key).getType(),
-                    metaData.getHostname(),
-                    metaData.getPort(),
-                    metaData.getCatalog(),
+                    connectionProps.getHostname(),
+                    connectionProps.getPort(),
+                    connectionProps.getCatalog(),
                     getStandardProperty(standardProps, 
CONNECTION_TIMEOUT_MILLISECONDS),
                     getStandardProperty(standardProps, 
IDLE_TIMEOUT_MILLISECONDS),
                     getStandardProperty(standardProps, 
MAX_LIFETIME_MILLISECONDS),
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 f5567a703bb..388dbe73e5a 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
@@ -95,7 +95,7 @@ public final class SelectInformationSchemataExecutor extends 
DefaultDatabaseMeta
     @Override
     protected void preProcess(final String databaseName, final Map<String, 
Object> rows, final Map<String, String> alias) {
         ShardingSphereResourceMetaData resourceMetaData = 
ProxyContext.getInstance().getContextManager().getMetaDataContexts().getMetaData().getDatabase(databaseName).getResourceMetaData();
-        Collection<String> catalogs = 
resourceMetaData.getDataSources().keySet().stream().map(each -> 
resourceMetaData.getDataSourceMetaData(each).getCatalog()).collect(Collectors.toSet());
+        Collection<String> catalogs = 
resourceMetaData.getDataSources().keySet().stream().map(each -> 
resourceMetaData.getConnectionProperties(each).getCatalog()).collect(Collectors.toSet());
         schemaNameAlias = alias.getOrDefault(SCHEMA_NAME, "");
         String rowValue = rows.getOrDefault(schemaNameAlias, "").toString();
         queryDatabase = !rowValue.isEmpty();
diff --git 
a/test/fixture/database/src/main/java/org/apache/shardingsphere/test/fixture/datasource/MockedDataSourceMetaDataBuilder.java
 
b/test/fixture/database/src/main/java/org/apache/shardingsphere/test/fixture/datasource/MockedConnectionPropertiesParser.java
similarity index 69%
rename from 
test/fixture/database/src/main/java/org/apache/shardingsphere/test/fixture/datasource/MockedDataSourceMetaDataBuilder.java
rename to 
test/fixture/database/src/main/java/org/apache/shardingsphere/test/fixture/datasource/MockedConnectionPropertiesParser.java
index 520f1901eef..4ca0988bd8f 100644
--- 
a/test/fixture/database/src/main/java/org/apache/shardingsphere/test/fixture/datasource/MockedDataSourceMetaDataBuilder.java
+++ 
b/test/fixture/database/src/main/java/org/apache/shardingsphere/test/fixture/datasource/MockedConnectionPropertiesParser.java
@@ -17,20 +17,20 @@
 
 package org.apache.shardingsphere.test.fixture.datasource;
 
-import 
org.apache.shardingsphere.infra.database.core.connector.DataSourceMetaData;
-import 
org.apache.shardingsphere.infra.database.core.connector.DataSourceMetaDataBuilder;
+import 
org.apache.shardingsphere.infra.database.core.connector.ConnectionProperties;
+import 
org.apache.shardingsphere.infra.database.core.connector.ConnectionPropertiesParser;
 
 import static org.mockito.Mockito.RETURNS_DEEP_STUBS;
 import static org.mockito.Mockito.mock;
 
 /**
- * Mocked data source meta data builder.
+ * Mocked connection properties parser.
  */
-public final class MockedDataSourceMetaDataBuilder implements 
DataSourceMetaDataBuilder {
+public final class MockedConnectionPropertiesParser implements 
ConnectionPropertiesParser {
     
     @Override
-    public DataSourceMetaData build(final String url, final String username, 
final String catalog) {
-        return mock(DataSourceMetaData.class, RETURNS_DEEP_STUBS);
+    public ConnectionProperties parse(final String url, final String username, 
final String catalog) {
+        return mock(ConnectionProperties.class, RETURNS_DEEP_STUBS);
     }
     
     @Override
diff --git 
a/infra/database/type/sql92/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.database.core.connector.DataSourceMetaDataBuilder
 
b/test/fixture/database/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.database.core.connector.ConnectionPropertiesParser
similarity index 90%
rename from 
infra/database/type/sql92/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.database.core.connector.DataSourceMetaDataBuilder
rename to 
test/fixture/database/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.database.core.connector.ConnectionPropertiesParser
index 4fffa4de80f..a957b367a14 100644
--- 
a/infra/database/type/sql92/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.database.core.connector.DataSourceMetaDataBuilder
+++ 
b/test/fixture/database/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.database.core.connector.ConnectionPropertiesParser
@@ -15,4 +15,4 @@
 # limitations under the License.
 #
 
-org.apache.shardingsphere.infra.database.sql92.SQL92DataSourceMetaDataBuilder
+org.apache.shardingsphere.test.fixture.datasource.MockedConnectionPropertiesParser
diff --git 
a/test/fixture/database/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.database.core.connector.DataSourceMetaDataBuilder
 
b/test/fixture/database/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.database.core.connector.DataSourceMetaDataBuilder
deleted file mode 100644
index edc0ce8a1ea..00000000000
--- 
a/test/fixture/database/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.database.core.connector.DataSourceMetaDataBuilder
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-org.apache.shardingsphere.test.fixture.datasource.MockedDataSourceMetaDataBuilder

Reply via email to