This is an automated email from the ASF dual-hosted git repository.
zhangliang 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 b82e153340f Replace DialectSystemDatabase.getSystemDatabaseSchemaMap()
to getSystemDatabases() (#37077)
b82e153340f is described below
commit b82e153340f29cd416d0966bca2cc5b820d8a4a3
Author: Liang Zhang <[email protected]>
AuthorDate: Wed Nov 12 11:35:53 2025 +0800
Replace DialectSystemDatabase.getSystemDatabaseSchemaMap() to
getSystemDatabases() (#37077)
* Replace DialectSystemDatabase.getSystemDatabaseSchemaMap() to
getSystemDatabases()
* Replace DialectSystemDatabase.getSystemDatabaseSchemaMap() to
getSystemDatabases()
---
.../database/system/DialectSystemDatabase.java | 7 +++----
.../metadata/database/system/SystemDatabase.java | 9 ++++-----
.../database/system/FirebirdSystemDatabase.java | 20 ++------------------
.../database/system/FirebirdSystemDatabaseTest.java | 7 -------
.../metadata/database/system/H2SystemDatabase.java | 5 ++---
.../database/system/MySQLSystemDatabase.java | 4 ++--
.../database/system/MySQLSystemDatabaseTest.java | 10 ----------
.../database/system/OpenGaussSystemDatabase.java | 4 ++--
.../database/system/OpenGaussSystemDatabaseTest.java | 6 ------
.../database/system/PostgreSQLSystemDatabase.java | 4 ++--
.../system/PostgreSQLSystemDatabaseTest.java | 6 ------
.../database/ShardingSphereDatabasesFactory.java | 4 ++--
12 files changed, 19 insertions(+), 67 deletions(-)
diff --git
a/database/connector/core/src/main/java/org/apache/shardingsphere/database/connector/core/metadata/database/system/DialectSystemDatabase.java
b/database/connector/core/src/main/java/org/apache/shardingsphere/database/connector/core/metadata/database/system/DialectSystemDatabase.java
index 98ec41ba9d4..a9549a46493 100644
---
a/database/connector/core/src/main/java/org/apache/shardingsphere/database/connector/core/metadata/database/system/DialectSystemDatabase.java
+++
b/database/connector/core/src/main/java/org/apache/shardingsphere/database/connector/core/metadata/database/system/DialectSystemDatabase.java
@@ -21,7 +21,6 @@ import
org.apache.shardingsphere.database.connector.core.spi.DatabaseTypedSPI;
import org.apache.shardingsphere.infra.spi.annotation.SingletonSPI;
import java.util.Collection;
-import java.util.Map;
/**
* Dialect system database.
@@ -30,11 +29,11 @@ import java.util.Map;
public interface DialectSystemDatabase extends DatabaseTypedSPI {
/**
- * Get system database schema map.
+ * Get system databases.
*
- * @return system database schema map
+ * @return system databases
*/
- Map<String, Collection<String>> getSystemDatabaseSchemaMap();
+ Collection<String> getSystemDatabases();
/**
* Get system database schema map.
diff --git
a/database/connector/core/src/main/java/org/apache/shardingsphere/database/connector/core/metadata/database/system/SystemDatabase.java
b/database/connector/core/src/main/java/org/apache/shardingsphere/database/connector/core/metadata/database/system/SystemDatabase.java
index 77b07b77e76..5f34705f3dd 100644
---
a/database/connector/core/src/main/java/org/apache/shardingsphere/database/connector/core/metadata/database/system/SystemDatabase.java
+++
b/database/connector/core/src/main/java/org/apache/shardingsphere/database/connector/core/metadata/database/system/SystemDatabase.java
@@ -23,7 +23,6 @@ import
org.apache.shardingsphere.database.connector.core.type.DatabaseType;
import java.util.Collection;
import java.util.Collections;
-import java.util.Map;
/**
* System database.
@@ -34,12 +33,12 @@ public final class SystemDatabase {
private final DatabaseType databaseType;
/**
- * Get system database schema map.
+ * Get system databases.
*
- * @return system database schema map
+ * @return system databases
*/
- public Map<String, Collection<String>> getSystemDatabaseSchemaMap() {
- return DatabaseTypedSPILoader.findService(DialectSystemDatabase.class,
databaseType).map(DialectSystemDatabase::getSystemDatabaseSchemaMap).orElse(Collections.emptyMap());
+ public Collection<String> getSystemDatabases() {
+ return DatabaseTypedSPILoader.findService(DialectSystemDatabase.class,
databaseType).map(DialectSystemDatabase::getSystemDatabases).orElse(Collections.emptyList());
}
/**
diff --git
a/database/connector/dialect/firebird/src/main/java/org/apache/shardingsphere/database/connector/firebird/metadata/database/system/FirebirdSystemDatabase.java
b/database/connector/dialect/firebird/src/main/java/org/apache/shardingsphere/database/connector/firebird/metadata/database/system/FirebirdSystemDatabase.java
index fc8bb3d9548..6b7cce31837 100644
---
a/database/connector/dialect/firebird/src/main/java/org/apache/shardingsphere/database/connector/firebird/metadata/database/system/FirebirdSystemDatabase.java
+++
b/database/connector/dialect/firebird/src/main/java/org/apache/shardingsphere/database/connector/firebird/metadata/database/system/FirebirdSystemDatabase.java
@@ -19,11 +19,8 @@ package
org.apache.shardingsphere.database.connector.firebird.metadata.database.
import
org.apache.shardingsphere.database.connector.core.metadata.database.system.DialectSystemDatabase;
-import java.util.AbstractMap;
import java.util.Collection;
import java.util.Collections;
-import java.util.Map;
-import java.util.Set;
/**
* System database of Firebird.
@@ -32,22 +29,9 @@ public final class FirebirdSystemDatabase implements
DialectSystemDatabase {
private static final Collection<String> SYSTEM_SCHEMAS =
Collections.singleton("system_tables");
- private static final Map<String, Collection<String>>
SYSTEM_DATABASE_SCHEMA_MAP = new AbstractMap<String, Collection<String>>() {
-
- @Override
- public Collection<String> get(final Object key) {
- return SYSTEM_SCHEMAS;
- }
-
- @Override
- public Set<Entry<String, Collection<String>>> entrySet() {
- return Collections.emptySet();
- }
- };
-
@Override
- public Map<String, Collection<String>> getSystemDatabaseSchemaMap() {
- return SYSTEM_DATABASE_SCHEMA_MAP;
+ public Collection<String> getSystemDatabases() {
+ return Collections.emptyList();
}
@Override
diff --git
a/database/connector/dialect/firebird/src/test/java/org/apache/shardingsphere/database/connector/firebird/metadata/database/system/FirebirdSystemDatabaseTest.java
b/database/connector/dialect/firebird/src/test/java/org/apache/shardingsphere/database/connector/firebird/metadata/database/system/FirebirdSystemDatabaseTest.java
index 4efc1c6d550..63d19f9846e 100644
---
a/database/connector/dialect/firebird/src/test/java/org/apache/shardingsphere/database/connector/firebird/metadata/database/system/FirebirdSystemDatabaseTest.java
+++
b/database/connector/dialect/firebird/src/test/java/org/apache/shardingsphere/database/connector/firebird/metadata/database/system/FirebirdSystemDatabaseTest.java
@@ -32,13 +32,6 @@ class FirebirdSystemDatabaseTest {
private final DialectSystemDatabase systemDatabase =
DatabaseTypedSPILoader.getService(DialectSystemDatabase.class,
TypedSPILoader.getService(DatabaseType.class, "Firebird"));
- @Test
- void assertGetSystemSchemasByDatabaseName() {
-
assertThat(systemDatabase.getSystemDatabaseSchemaMap().get("sharding_db"),
is(Collections.singleton("system_tables")));
-
assertThat(systemDatabase.getSystemDatabaseSchemaMap().get("logic_db"),
is(Collections.singleton("system_tables")));
-
assertThat(systemDatabase.getSystemDatabaseSchemaMap().get("firebird"),
is(Collections.singleton("system_tables")));
- }
-
@Test
void assertGetSystemSchemas() {
assertThat(systemDatabase.getSystemSchemas(),
is(Collections.singleton("system_tables")));
diff --git
a/database/connector/dialect/h2/src/main/java/org/apache/shardingsphere/database/connector/h2/metadata/database/system/H2SystemDatabase.java
b/database/connector/dialect/h2/src/main/java/org/apache/shardingsphere/database/connector/h2/metadata/database/system/H2SystemDatabase.java
index 904dd8f2df2..73c69e7c8a7 100644
---
a/database/connector/dialect/h2/src/main/java/org/apache/shardingsphere/database/connector/h2/metadata/database/system/H2SystemDatabase.java
+++
b/database/connector/dialect/h2/src/main/java/org/apache/shardingsphere/database/connector/h2/metadata/database/system/H2SystemDatabase.java
@@ -21,7 +21,6 @@ import
org.apache.shardingsphere.database.connector.core.metadata.database.syste
import java.util.Collection;
import java.util.Collections;
-import java.util.Map;
/**
* System database of H2.
@@ -29,8 +28,8 @@ import java.util.Map;
public final class H2SystemDatabase implements DialectSystemDatabase {
@Override
- public Map<String, Collection<String>> getSystemDatabaseSchemaMap() {
- return Collections.emptyMap();
+ public Collection<String> getSystemDatabases() {
+ return Collections.emptyList();
}
@Override
diff --git
a/database/connector/dialect/mysql/src/main/java/org/apache/shardingsphere/database/connector/mysql/metadata/database/system/MySQLSystemDatabase.java
b/database/connector/dialect/mysql/src/main/java/org/apache/shardingsphere/database/connector/mysql/metadata/database/system/MySQLSystemDatabase.java
index 552dccc37d1..b9995cc0624 100644
---
a/database/connector/dialect/mysql/src/main/java/org/apache/shardingsphere/database/connector/mysql/metadata/database/system/MySQLSystemDatabase.java
+++
b/database/connector/dialect/mysql/src/main/java/org/apache/shardingsphere/database/connector/mysql/metadata/database/system/MySQLSystemDatabase.java
@@ -40,8 +40,8 @@ public final class MySQLSystemDatabase implements
DialectSystemDatabase {
}
@Override
- public Map<String, Collection<String>> getSystemDatabaseSchemaMap() {
- return SYSTEM_DATABASE_SCHEMA_MAP;
+ public Collection<String> getSystemDatabases() {
+ return SYSTEM_DATABASE_SCHEMA_MAP.keySet();
}
@Override
diff --git
a/database/connector/dialect/mysql/src/test/java/org/apache/shardingsphere/database/connector/mysql/metadata/database/system/MySQLSystemDatabaseTest.java
b/database/connector/dialect/mysql/src/test/java/org/apache/shardingsphere/database/connector/mysql/metadata/database/system/MySQLSystemDatabaseTest.java
index 210e7669a58..3ace60b8c29 100644
---
a/database/connector/dialect/mysql/src/test/java/org/apache/shardingsphere/database/connector/mysql/metadata/database/system/MySQLSystemDatabaseTest.java
+++
b/database/connector/dialect/mysql/src/test/java/org/apache/shardingsphere/database/connector/mysql/metadata/database/system/MySQLSystemDatabaseTest.java
@@ -28,21 +28,11 @@ import java.util.LinkedHashSet;
import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.MatcherAssert.assertThat;
-import static org.junit.jupiter.api.Assertions.assertTrue;
class MySQLSystemDatabaseTest {
private final DialectSystemDatabase systemDatabase =
DatabaseTypedSPILoader.getService(DialectSystemDatabase.class,
TypedSPILoader.getService(DatabaseType.class, "MySQL"));
- @Test
- void assertGetSystemDatabases() {
-
assertTrue(systemDatabase.getSystemDatabaseSchemaMap().containsKey("information_schema"));
-
assertTrue(systemDatabase.getSystemDatabaseSchemaMap().containsKey("performance_schema"));
-
assertTrue(systemDatabase.getSystemDatabaseSchemaMap().containsKey("mysql"));
-
assertTrue(systemDatabase.getSystemDatabaseSchemaMap().containsKey("sys"));
-
assertTrue(systemDatabase.getSystemDatabaseSchemaMap().containsKey("shardingsphere"));
- }
-
@Test
void assertGetSystemSchemas() {
assertThat(systemDatabase.getSystemSchemas(), is(new
LinkedHashSet<>(Arrays.asList("information_schema", "performance_schema",
"mysql", "sys", "shardingsphere"))));
diff --git
a/database/connector/dialect/opengauss/src/main/java/org/apache/shardingsphere/database/connector/opengauss/metadata/database/system/OpenGaussSystemDatabase.java
b/database/connector/dialect/opengauss/src/main/java/org/apache/shardingsphere/database/connector/opengauss/metadata/database/system/OpenGaussSystemDatabase.java
index 8358eb13bc3..411ce1d96da 100644
---
a/database/connector/dialect/opengauss/src/main/java/org/apache/shardingsphere/database/connector/opengauss/metadata/database/system/OpenGaussSystemDatabase.java
+++
b/database/connector/dialect/opengauss/src/main/java/org/apache/shardingsphere/database/connector/opengauss/metadata/database/system/OpenGaussSystemDatabase.java
@@ -40,8 +40,8 @@ public final class OpenGaussSystemDatabase implements
DialectSystemDatabase {
}
@Override
- public Map<String, Collection<String>> getSystemDatabaseSchemaMap() {
- return SYSTEM_DATABASE_SCHEMA_MAP;
+ public Collection<String> getSystemDatabases() {
+ return SYSTEM_DATABASE_SCHEMA_MAP.keySet();
}
@Override
diff --git
a/database/connector/dialect/opengauss/src/test/java/org/apache/shardingsphere/database/connector/opengauss/metadata/database/system/OpenGaussSystemDatabaseTest.java
b/database/connector/dialect/opengauss/src/test/java/org/apache/shardingsphere/database/connector/opengauss/metadata/database/system/OpenGaussSystemDatabaseTest.java
index 84308b530f7..a9bd15ca0b9 100644
---
a/database/connector/dialect/opengauss/src/test/java/org/apache/shardingsphere/database/connector/opengauss/metadata/database/system/OpenGaussSystemDatabaseTest.java
+++
b/database/connector/dialect/opengauss/src/test/java/org/apache/shardingsphere/database/connector/opengauss/metadata/database/system/OpenGaussSystemDatabaseTest.java
@@ -27,17 +27,11 @@ import java.util.Arrays;
import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.MatcherAssert.assertThat;
-import static org.junit.jupiter.api.Assertions.assertTrue;
class OpenGaussSystemDatabaseTest {
private final DialectSystemDatabase systemDatabase =
DatabaseTypedSPILoader.getService(DialectSystemDatabase.class,
TypedSPILoader.getService(DatabaseType.class, "openGauss"));
- @Test
- void assertGetSystemDatabases() {
-
assertTrue(systemDatabase.getSystemDatabaseSchemaMap().containsKey("postgres"));
- }
-
@Test
void assertGetSystemSchemas() {
assertThat(systemDatabase.getSystemSchemas(),
is(Arrays.asList("information_schema", "pg_catalog", "blockchain",
diff --git
a/database/connector/dialect/postgresql/src/main/java/org/apache/shardingsphere/database/connector/postgresql/metadata/database/system/PostgreSQLSystemDatabase.java
b/database/connector/dialect/postgresql/src/main/java/org/apache/shardingsphere/database/connector/postgresql/metadata/database/system/PostgreSQLSystemDatabase.java
index 5cbaa3e8c1c..881a0e26231 100644
---
a/database/connector/dialect/postgresql/src/main/java/org/apache/shardingsphere/database/connector/postgresql/metadata/database/system/PostgreSQLSystemDatabase.java
+++
b/database/connector/dialect/postgresql/src/main/java/org/apache/shardingsphere/database/connector/postgresql/metadata/database/system/PostgreSQLSystemDatabase.java
@@ -39,8 +39,8 @@ public final class PostgreSQLSystemDatabase implements
DialectSystemDatabase {
}
@Override
- public Map<String, Collection<String>> getSystemDatabaseSchemaMap() {
- return SYSTEM_DATABASE_SCHEMA_MAP;
+ public Collection<String> getSystemDatabases() {
+ return SYSTEM_DATABASE_SCHEMA_MAP.keySet();
}
@Override
diff --git
a/database/connector/dialect/postgresql/src/test/java/org/apache/shardingsphere/database/connector/postgresql/metadata/database/system/PostgreSQLSystemDatabaseTest.java
b/database/connector/dialect/postgresql/src/test/java/org/apache/shardingsphere/database/connector/postgresql/metadata/database/system/PostgreSQLSystemDatabaseTest.java
index 3953c132fca..686768dff44 100644
---
a/database/connector/dialect/postgresql/src/test/java/org/apache/shardingsphere/database/connector/postgresql/metadata/database/system/PostgreSQLSystemDatabaseTest.java
+++
b/database/connector/dialect/postgresql/src/test/java/org/apache/shardingsphere/database/connector/postgresql/metadata/database/system/PostgreSQLSystemDatabaseTest.java
@@ -27,17 +27,11 @@ import java.util.Arrays;
import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.MatcherAssert.assertThat;
-import static org.junit.jupiter.api.Assertions.assertTrue;
class PostgreSQLSystemDatabaseTest {
private final DialectSystemDatabase systemDatabase =
DatabaseTypedSPILoader.getService(DialectSystemDatabase.class,
TypedSPILoader.getService(DatabaseType.class, "PostgreSQL"));
- @Test
- void assertGetSystemDatabases() {
-
assertTrue(systemDatabase.getSystemDatabaseSchemaMap().containsKey("postgres"));
- }
-
@Test
void assertGetSystemSchemas() {
assertThat(systemDatabase.getSystemSchemas(),
is(Arrays.asList("information_schema", "pg_catalog", "shardingsphere")));
diff --git
a/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/ShardingSphereDatabasesFactory.java
b/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/ShardingSphereDatabasesFactory.java
index c88d94ab0ca..a2d2a603146 100644
---
a/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/ShardingSphereDatabasesFactory.java
+++
b/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/ShardingSphereDatabasesFactory.java
@@ -100,8 +100,8 @@ public final class ShardingSphereDatabasesFactory {
private static Collection<ShardingSphereDatabase>
createSystemDatabases(final Map<String, DatabaseConfiguration>
databaseConfigMap, final DatabaseType protocolType,
final SystemDatabase systemDatabase, final ConfigurationProperties props) {
- Collection<ShardingSphereDatabase> result = new
HashSet<>(systemDatabase.getSystemDatabaseSchemaMap().size(), 1F);
- for (String each :
systemDatabase.getSystemDatabaseSchemaMap().keySet()) {
+ Collection<ShardingSphereDatabase> result = new
HashSet<>(systemDatabase.getSystemDatabases().size(), 1F);
+ for (String each : systemDatabase.getSystemDatabases()) {
if (!databaseConfigMap.containsKey(each) ||
databaseConfigMap.get(each).getStorageUnits().isEmpty()) {
result.add(ShardingSphereDatabaseFactory.create(each,
protocolType, props));
}