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