You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by zh...@apache.org on 2020/10/12 12:57:33 UTC
[shardingsphere] branch master updated: Use DatabaseType instead of
String in metadata (#7764)
This is an automated email from the ASF dual-hosted git repository.
zhangyonglun 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 b98dc90 Use DatabaseType instead of String in metadata (#7764)
b98dc90 is described below
commit b98dc908a76baff06df52a9f68e3bce143819b4d
Author: Liang Zhang <te...@163.com>
AuthorDate: Mon Oct 12 20:57:07 2020 +0800
Use DatabaseType instead of String in metadata (#7764)
---
.../encrypt/metadata/EncryptMetaDataLoader.java | 4 ++--
.../sharding/metadata/ShardingMetaDataLoader.java | 5 ++---
.../infra/metadata/database/MetaDataConnectionAdapter.java | 5 +++--
.../infra/metadata/database/column/ColumnMetaDataLoader.java | 5 +++--
.../infra/metadata/database/schema/SchemaMetaDataLoader.java | 3 ++-
.../infra/metadata/database/table/TableMetaDataLoader.java | 5 +++--
.../infra/metadata/schema/RuleSchemaMetaDataLoader.java | 2 +-
.../metadata/database/MetaDataConnectionAdapterTest.java | 12 ++++++++----
.../metadata/database/column/ColumnMetaDataLoaderTest.java | 6 +++++-
.../metadata/database/schema/SchemaMetaDataLoaderTest.java | 6 ++++--
.../metadata/database/table/TableMetaDataLoaderTest.java | 8 ++++++--
.../scaling/core/metadata/MetaDataManager.java | 3 ++-
12 files changed, 41 insertions(+), 23 deletions(-)
diff --git a/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-common/src/main/java/org/apache/shardingsphere/encrypt/metadata/EncryptMetaDataLoader.java b/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-common/src/main/java/org/apache/shardingsphere/encrypt/metadata/EncryptMetaDataLoader.java
index 77803f9..f4c6c64 100644
--- a/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-common/src/main/java/org/apache/shardingsphere/encrypt/metadata/EncryptMetaDataLoader.java
+++ b/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-common/src/main/java/org/apache/shardingsphere/encrypt/metadata/EncryptMetaDataLoader.java
@@ -47,7 +47,7 @@ public final class EncryptMetaDataLoader implements RuleMetaDataLoader<EncryptRu
Map<String, TableMetaData> result = new HashMap<>(encryptTableNames.size(), 1);
for (String each : encryptTableNames) {
if (!excludedTableNames.contains(each)) {
- TableMetaDataLoader.load(dataSource, each, databaseType.getName()).ifPresent(tableMetaData -> result.put(each, tableMetaData));
+ TableMetaDataLoader.load(dataSource, each, databaseType).ifPresent(tableMetaData -> result.put(each, tableMetaData));
}
}
return new SchemaMetaData(result);
@@ -56,7 +56,7 @@ public final class EncryptMetaDataLoader implements RuleMetaDataLoader<EncryptRu
@Override
public Optional<TableMetaData> load(final DatabaseType databaseType, final Map<String, DataSource> dataSourceMap, final DataNodes dataNodes,
final String tableName, final EncryptRule encryptRule, final ConfigurationProperties props) throws SQLException {
- return encryptRule.findEncryptTable(tableName).isPresent() ? TableMetaDataLoader.load(dataSourceMap.values().iterator().next(), tableName, databaseType.getName()) : Optional.empty();
+ return encryptRule.findEncryptTable(tableName).isPresent() ? TableMetaDataLoader.load(dataSourceMap.values().iterator().next(), tableName, databaseType) : Optional.empty();
}
@Override
diff --git a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-common/src/main/java/org/apache/shardingsphere/sharding/metadata/ShardingMetaDataLoader.java b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-common/src/main/java/org/apache/shardingsphere/sharding/metadata/ShardingMetaDataLoader.java
index b3261bf..7270b53 100644
--- a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-common/src/main/java/org/apache/shardingsphere/sharding/metadata/ShardingMetaDataLoader.java
+++ b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-common/src/main/java/org/apache/shardingsphere/sharding/metadata/ShardingMetaDataLoader.java
@@ -81,7 +81,7 @@ public final class ShardingMetaDataLoader implements RuleMetaDataLoader<Sharding
TableRule tableRule = rule.getTableRule(tableName);
if (!isCheckingMetaData) {
DataNode dataNode = dataNodes.getDataNodes(tableName).iterator().next();
- return TableMetaDataLoader.load(dataSourceMap.get(dataNode.getDataSourceName()), dataNode.getTableName(), databaseType.getName());
+ return TableMetaDataLoader.load(dataSourceMap.get(dataNode.getDataSourceName()), dataNode.getTableName(), databaseType);
}
Map<String, TableMetaData> actualTableMetaDataMap = parallelLoadTables(databaseType, dataSourceMap, dataNodes, tableName, maxConnectionsSizePerQuery);
if (actualTableMetaDataMap.isEmpty()) {
@@ -120,8 +120,7 @@ public final class ShardingMetaDataLoader implements RuleMetaDataLoader<Sharding
private Optional<TableMetaData> loadTableByDataNode(final DataNode dataNode, final DatabaseType databaseType, final Map<String, DataSource> dataSourceMap) {
try {
- return TableMetaDataLoader.load(
- dataSourceMap.get(dataNode.getDataSourceName()), dataNode.getTableName(), databaseType.getName());
+ return TableMetaDataLoader.load(dataSourceMap.get(dataNode.getDataSourceName()), dataNode.getTableName(), databaseType);
} catch (final SQLException ex) {
throw new IllegalStateException(String.format("SQLException for DataNode=%s and databaseType=%s", dataNode, databaseType.getName()), ex);
}
diff --git a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/database/MetaDataConnectionAdapter.java b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/database/MetaDataConnectionAdapter.java
index 5b9b6e0..b0bd9e4 100644
--- a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/database/MetaDataConnectionAdapter.java
+++ b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/database/MetaDataConnectionAdapter.java
@@ -18,6 +18,7 @@
package org.apache.shardingsphere.infra.metadata.database;
import lombok.RequiredArgsConstructor;
+import org.apache.shardingsphere.infra.database.type.DatabaseType;
import org.apache.shardingsphere.infra.metadata.database.loader.SchemaLoader;
import org.apache.shardingsphere.infra.spi.exception.ServiceProviderNotFoundException;
import org.apache.shardingsphere.infra.spi.typed.TypedSPIRegistry;
@@ -48,7 +49,7 @@ import java.util.concurrent.Executor;
@RequiredArgsConstructor
public final class MetaDataConnectionAdapter implements Connection {
- private final String databaseType;
+ private final DatabaseType databaseType;
private final Connection connection;
@@ -81,7 +82,7 @@ public final class MetaDataConnectionAdapter implements Connection {
private Optional<SchemaLoader> findSchemaLoader() {
try {
- return Optional.of(TypedSPIRegistry.getRegisteredService(SchemaLoader.class, databaseType, new Properties()));
+ return Optional.of(TypedSPIRegistry.getRegisteredService(SchemaLoader.class, databaseType.getName(), new Properties()));
} catch (final ServiceProviderNotFoundException ignored) {
return Optional.empty();
}
diff --git a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/database/column/ColumnMetaDataLoader.java b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/database/column/ColumnMetaDataLoader.java
index 6e5f881..5cdbe9a 100644
--- a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/database/column/ColumnMetaDataLoader.java
+++ b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/database/column/ColumnMetaDataLoader.java
@@ -19,6 +19,7 @@ package org.apache.shardingsphere.infra.metadata.database.column;
import lombok.AccessLevel;
import lombok.NoArgsConstructor;
+import org.apache.shardingsphere.infra.database.type.DatabaseType;
import java.sql.Connection;
import java.sql.ResultSet;
@@ -53,7 +54,7 @@ public final class ColumnMetaDataLoader {
* @return column meta data list
* @throws SQLException SQL exception
*/
- public static Collection<ColumnMetaData> load(final Connection connection, final String tableNamePattern, final String databaseType) throws SQLException {
+ public static Collection<ColumnMetaData> load(final Connection connection, final String tableNamePattern, final DatabaseType databaseType) throws SQLException {
Collection<ColumnMetaData> result = new LinkedList<>();
Collection<String> primaryKeys = loadPrimaryKeys(connection, tableNamePattern);
List<String> columnNames = new ArrayList<>();
@@ -85,7 +86,7 @@ public final class ColumnMetaDataLoader {
return result;
}
- private static String generateEmptyResultSQL(final String table, final String databaseType) {
+ private static String generateEmptyResultSQL(final String table, final DatabaseType databaseType) {
// TODO consider add a getDialectDelimeter() interface in parse module
String delimiterLeft;
String delimiterRight;
diff --git a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/SchemaMetaDataLoader.java b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/SchemaMetaDataLoader.java
index 99df10b..b66f5e7 100644
--- a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/SchemaMetaDataLoader.java
+++ b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/SchemaMetaDataLoader.java
@@ -20,6 +20,7 @@ package org.apache.shardingsphere.infra.metadata.database.schema;
import lombok.AccessLevel;
import lombok.NoArgsConstructor;
import lombok.extern.slf4j.Slf4j;
+import org.apache.shardingsphere.infra.database.type.DatabaseType;
import org.apache.shardingsphere.infra.metadata.database.MetaDataConnectionAdapter;
import javax.sql.DataSource;
@@ -52,7 +53,7 @@ public final class SchemaMetaDataLoader {
* @return unconfigured table names
* @throws SQLException SQL exception
*/
- public static Collection<String> loadUnconfiguredTableNames(final DataSource dataSource, final String databaseType, final Collection<String> excludedTableNames) throws SQLException {
+ public static Collection<String> loadUnconfiguredTableNames(final DataSource dataSource, final DatabaseType databaseType, final Collection<String> excludedTableNames) throws SQLException {
List<String> result;
try (MetaDataConnectionAdapter connectionAdapter = new MetaDataConnectionAdapter(databaseType, dataSource.getConnection())) {
result = loadAllTableNames(connectionAdapter);
diff --git a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/database/table/TableMetaDataLoader.java b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/database/table/TableMetaDataLoader.java
index d97e429..f915a9f 100644
--- a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/database/table/TableMetaDataLoader.java
+++ b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/database/table/TableMetaDataLoader.java
@@ -19,9 +19,10 @@ package org.apache.shardingsphere.infra.metadata.database.table;
import lombok.AccessLevel;
import lombok.NoArgsConstructor;
+import org.apache.shardingsphere.infra.database.type.DatabaseType;
+import org.apache.shardingsphere.infra.metadata.database.MetaDataConnectionAdapter;
import org.apache.shardingsphere.infra.metadata.database.column.ColumnMetaDataLoader;
import org.apache.shardingsphere.infra.metadata.database.index.IndexMetaDataLoader;
-import org.apache.shardingsphere.infra.metadata.database.MetaDataConnectionAdapter;
import javax.sql.DataSource;
import java.sql.Connection;
@@ -44,7 +45,7 @@ public final class TableMetaDataLoader {
* @return table meta data
* @throws SQLException SQL exception
*/
- public static Optional<TableMetaData> load(final DataSource dataSource, final String tableNamePattern, final String databaseType) throws SQLException {
+ public static Optional<TableMetaData> load(final DataSource dataSource, final String tableNamePattern, final DatabaseType databaseType) throws SQLException {
try (MetaDataConnectionAdapter connectionAdapter = new MetaDataConnectionAdapter(databaseType, dataSource.getConnection())) {
return isTableExist(connectionAdapter, tableNamePattern)
? Optional.of(new TableMetaData(ColumnMetaDataLoader.load(connectionAdapter, tableNamePattern, databaseType), IndexMetaDataLoader.load(connectionAdapter, tableNamePattern)))
diff --git a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/RuleSchemaMetaDataLoader.java b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/RuleSchemaMetaDataLoader.java
index 24dd242..0ea6b02 100644
--- a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/RuleSchemaMetaDataLoader.java
+++ b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/RuleSchemaMetaDataLoader.java
@@ -140,7 +140,7 @@ public final class RuleSchemaMetaDataLoader {
final Collection<String> excludedTableNames) throws SQLException {
Map<String, Collection<String>> result = new HashMap<>(dataSourceMap.size(), 1);
for (Entry<String, DataSource> entry : dataSourceMap.entrySet()) {
- Collection<String> tableNames = SchemaMetaDataLoader.loadUnconfiguredTableNames(entry.getValue(), databaseType.getName(), excludedTableNames);
+ Collection<String> tableNames = SchemaMetaDataLoader.loadUnconfiguredTableNames(entry.getValue(), databaseType, excludedTableNames);
if (!tableNames.isEmpty()) {
result.put(entry.getKey(), tableNames);
}
diff --git a/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/database/MetaDataConnectionAdapterTest.java b/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/database/MetaDataConnectionAdapterTest.java
index 93583ac..ac8e209 100644
--- a/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/database/MetaDataConnectionAdapterTest.java
+++ b/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/database/MetaDataConnectionAdapterTest.java
@@ -17,6 +17,8 @@
package org.apache.shardingsphere.infra.metadata.database;
+import org.apache.shardingsphere.infra.database.type.DatabaseType;
+import org.apache.shardingsphere.infra.database.type.DatabaseTypes;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
@@ -37,34 +39,36 @@ public final class MetaDataConnectionAdapterTest {
private static final String TEST_SCHEMA = "schema";
+ private final DatabaseType databaseType = DatabaseTypes.getTrunkDatabaseType("MySQL");
+
@Mock
private Connection connection;
@Test
public void assertGetCatalog() throws SQLException {
when(connection.getCatalog()).thenReturn(TEST_CATALOG);
- MetaDataConnectionAdapter connectionAdapter = new MetaDataConnectionAdapter("MySQL", connection);
+ MetaDataConnectionAdapter connectionAdapter = new MetaDataConnectionAdapter(databaseType, connection);
assertThat(connectionAdapter.getCatalog(), is(TEST_CATALOG));
}
@Test
public void assertGetCatalogReturnNullWhenThrowsSQLException() throws SQLException {
when(connection.getCatalog()).thenThrow(SQLException.class);
- MetaDataConnectionAdapter connectionAdapter = new MetaDataConnectionAdapter("MySQL", connection);
+ MetaDataConnectionAdapter connectionAdapter = new MetaDataConnectionAdapter(databaseType, connection);
assertNull(connectionAdapter.getCatalog());
}
@Test
public void assertGetSchema() throws SQLException {
when(connection.getSchema()).thenReturn(TEST_SCHEMA);
- MetaDataConnectionAdapter connectionAdapter = new MetaDataConnectionAdapter("MySQL", connection);
+ MetaDataConnectionAdapter connectionAdapter = new MetaDataConnectionAdapter(databaseType, connection);
assertThat(connectionAdapter.getSchema(), is(TEST_SCHEMA));
}
@Test
public void assertGetSchemaReturnNullWhenThrowsSQLException() throws SQLException {
when(connection.getSchema()).thenThrow(SQLException.class);
- MetaDataConnectionAdapter connectionAdapter = new MetaDataConnectionAdapter("MySQL", connection);
+ MetaDataConnectionAdapter connectionAdapter = new MetaDataConnectionAdapter(databaseType, connection);
assertNull(connectionAdapter.getSchema());
}
}
diff --git a/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/database/column/ColumnMetaDataLoaderTest.java b/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/database/column/ColumnMetaDataLoaderTest.java
index 15446b7..4b5475d 100644
--- a/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/database/column/ColumnMetaDataLoaderTest.java
+++ b/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/database/column/ColumnMetaDataLoaderTest.java
@@ -17,6 +17,8 @@
package org.apache.shardingsphere.infra.metadata.database.column;
+import org.apache.shardingsphere.infra.database.type.DatabaseType;
+import org.apache.shardingsphere.infra.database.type.DatabaseTypes;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -45,6 +47,8 @@ public final class ColumnMetaDataLoaderTest {
private static final String TEST_TABLE = "table";
+ private final DatabaseType databaseType = DatabaseTypes.getActualDatabaseType("MySQL");
+
@Mock
private Connection connection;
@@ -89,7 +93,7 @@ public final class ColumnMetaDataLoaderTest {
@Test
public void assertLoad() throws SQLException {
- Collection<ColumnMetaData> actual = ColumnMetaDataLoader.load(connection, TEST_TABLE, "");
+ Collection<ColumnMetaData> actual = ColumnMetaDataLoader.load(connection, TEST_TABLE, databaseType);
assertThat(actual.size(), is(2));
Iterator<ColumnMetaData> columnMetaDataIterator = actual.iterator();
assertColumnMetaData(columnMetaDataIterator.next(), "pk_col", Types.INTEGER, "INT", true, true);
diff --git a/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/database/schema/SchemaMetaDataLoaderTest.java b/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/database/schema/SchemaMetaDataLoaderTest.java
index b0420bb..892aa9d 100644
--- a/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/database/schema/SchemaMetaDataLoaderTest.java
+++ b/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/database/schema/SchemaMetaDataLoaderTest.java
@@ -17,6 +17,8 @@
package org.apache.shardingsphere.infra.metadata.database.schema;
+import org.apache.shardingsphere.infra.database.type.DatabaseType;
+import org.apache.shardingsphere.infra.database.type.DatabaseTypes;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -42,7 +44,7 @@ public final class SchemaMetaDataLoaderTest {
private static final String TABLE_TYPE = "TABLE";
- private static final String DATABASE_TYPE_ORACLE = "Oracle";
+ private final DatabaseType databaseType = DatabaseTypes.getTrunkDatabaseType("Oracle");
@Mock
private DataSource dataSource;
@@ -66,7 +68,7 @@ public final class SchemaMetaDataLoaderTest {
@Test
public void assertLoadUnconfiguredTableNamesForOracle() throws SQLException {
- Collection<String> tableNames = SchemaMetaDataLoader.loadUnconfiguredTableNames(dataSource, DATABASE_TYPE_ORACLE, Collections.emptyList());
+ Collection<String> tableNames = SchemaMetaDataLoader.loadUnconfiguredTableNames(dataSource, databaseType, Collections.emptyList());
assertThat(tableNames.size(), is(0));
}
}
diff --git a/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/database/table/TableMetaDataLoaderTest.java b/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/database/table/TableMetaDataLoaderTest.java
index f91871b..1ded037 100644
--- a/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/database/table/TableMetaDataLoaderTest.java
+++ b/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/database/table/TableMetaDataLoaderTest.java
@@ -17,6 +17,8 @@
package org.apache.shardingsphere.infra.metadata.database.table;
+import org.apache.shardingsphere.infra.database.type.DatabaseType;
+import org.apache.shardingsphere.infra.database.type.DatabaseTypes;
import org.apache.shardingsphere.infra.metadata.database.column.ColumnMetaData;
import org.apache.shardingsphere.infra.metadata.database.index.IndexMetaData;
import org.junit.Before;
@@ -50,6 +52,8 @@ public final class TableMetaDataLoaderTest {
private static final String TEST_TABLE = "table";
+ private final DatabaseType databaseType = DatabaseTypes.getActualDatabaseType("MySQL");
+
@Mock
private DataSource dataSource;
@@ -112,7 +116,7 @@ public final class TableMetaDataLoaderTest {
@Test
public void assertLoad() throws SQLException {
- Optional<TableMetaData> actual = TableMetaDataLoader.load(dataSource, TEST_TABLE, "");
+ Optional<TableMetaData> actual = TableMetaDataLoader.load(dataSource, TEST_TABLE, databaseType);
assertTrue(actual.isPresent());
Map<String, ColumnMetaData> columnMetaDataMap = actual.get().getColumns();
assertThat(columnMetaDataMap.size(), is(2));
@@ -127,7 +131,7 @@ public final class TableMetaDataLoaderTest {
public void assertTableNotExist() throws SQLException {
when(databaseMetaData.getTables(TEST_CATALOG, null, TEST_TABLE, null)).thenReturn(tableNotExistResultSet);
when(tableNotExistResultSet.next()).thenReturn(false);
- Optional<TableMetaData> actual = TableMetaDataLoader.load(dataSource, TEST_TABLE, "");
+ Optional<TableMetaData> actual = TableMetaDataLoader.load(dataSource, TEST_TABLE, databaseType);
assertFalse(actual.isPresent());
}
diff --git a/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/metadata/MetaDataManager.java b/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/metadata/MetaDataManager.java
index 51e5128..3782837 100755
--- a/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/metadata/MetaDataManager.java
+++ b/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/metadata/MetaDataManager.java
@@ -18,6 +18,7 @@
package org.apache.shardingsphere.scaling.core.metadata;
import lombok.RequiredArgsConstructor;
+import org.apache.shardingsphere.infra.database.type.DatabaseTypes;
import org.apache.shardingsphere.infra.metadata.database.table.TableMetaData;
import org.apache.shardingsphere.infra.metadata.database.table.TableMetaDataLoader;
@@ -45,7 +46,7 @@ public final class MetaDataManager {
public TableMetaData getTableMetaData(final String tableName) {
if (!tableMetaDataMap.containsKey(tableName)) {
try {
- TableMetaDataLoader.load(dataSource, tableName, "").ifPresent(tableMetaData -> tableMetaDataMap.put(tableName, tableMetaData));
+ TableMetaDataLoader.load(dataSource, tableName, DatabaseTypes.getActualDatabaseType("MySQL")).ifPresent(tableMetaData -> tableMetaDataMap.put(tableName, tableMetaData));
} catch (final SQLException ex) {
throw new RuntimeException(String.format("Load metaData for table %s failed", tableName), ex);
}