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 c2c6f22ec27 Refactor DatabaseMetaDataPersistFacade (#35011)
c2c6f22ec27 is described below
commit c2c6f22ec27cb36db77650ce020d166ab06a09b4
Author: Liang Zhang <[email protected]>
AuthorDate: Sun Mar 16 14:37:52 2025 +0800
Refactor DatabaseMetaDataPersistFacade (#35011)
---
.../mode/metadata/persist/metadata/DatabaseMetaDataPersistFacade.java | 4 +++-
.../persist/service/StandaloneMetaDataManagerPersistService.java | 3 ++-
2 files changed, 5 insertions(+), 2 deletions(-)
diff --git
a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/metadata/DatabaseMetaDataPersistFacade.java
b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/metadata/DatabaseMetaDataPersistFacade.java
index 66f7d398636..8ae46cc8fdd 100644
---
a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/metadata/DatabaseMetaDataPersistFacade.java
+++
b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/metadata/DatabaseMetaDataPersistFacade.java
@@ -38,6 +38,7 @@ import
org.apache.shardingsphere.mode.spi.repository.PersistRepository;
import java.sql.SQLException;
import java.util.Collection;
+import java.util.Map;
import java.util.Map.Entry;
/**
@@ -139,7 +140,8 @@ public final class DatabaseMetaDataPersistFacade {
GenericSchemaBuilderMaterial material = new
GenericSchemaBuilderMaterial(database.getResourceMetaData().getStorageUnits(),
database.getRuleMetaData().getRules(),
reloadMetaDataContexts.getMetaData().getProps(), new
DatabaseTypeRegistry(database.getProtocolType()).getDefaultSchemaName(databaseName));
try {
- for (Entry<String, ShardingSphereSchema> entry :
GenericSchemaBuilder.build(database.getProtocolType(), material).entrySet()) {
+ Map<String, ShardingSphereSchema> schemas =
GenericSchemaBuilder.build(database.getProtocolType(), material);
+ for (Entry<String, ShardingSphereSchema> entry :
schemas.entrySet()) {
GenericSchemaManager.getToBeDroppedTables(entry.getValue(),
database.getSchema(entry.getKey())).forEach(each -> table.drop(databaseName,
entry.getKey(), each.getName()));
}
} catch (final SQLException ex) {
diff --git
a/mode/type/standalone/core/src/main/java/org/apache/shardingsphere/mode/manager/standalone/persist/service/StandaloneMetaDataManagerPersistService.java
b/mode/type/standalone/core/src/main/java/org/apache/shardingsphere/mode/manager/standalone/persist/service/StandaloneMetaDataManagerPersistService.java
index fe71b99d162..6e0cecf3991 100644
---
a/mode/type/standalone/core/src/main/java/org/apache/shardingsphere/mode/manager/standalone/persist/service/StandaloneMetaDataManagerPersistService.java
+++
b/mode/type/standalone/core/src/main/java/org/apache/shardingsphere/mode/manager/standalone/persist/service/StandaloneMetaDataManagerPersistService.java
@@ -189,7 +189,8 @@ public final class StandaloneMetaDataManagerPersistService
implements MetaDataMa
for (String each : getToBeDroppedResourceNames(database.getName(),
toBeDroppedStorageUnitNames)) {
metaDataPersistFacade.getDataSourceUnitService().delete(database.getName(),
each);
metaDataContextManager.getStorageUnitManager().unregister(database.getName(),
each);
-
metaDataPersistFacade.getDatabaseMetaDataFacade().unregisterStorageUnits(database.getName(),
metaDataContextManager.getMetaDataContexts());
+ MetaDataContexts reloadMetaDataContexts =
metaDataContextManager.getMetaDataContexts();
+
metaDataPersistFacade.getDatabaseMetaDataFacade().unregisterStorageUnits(database.getName(),
reloadMetaDataContexts);
}
OrderedServicesCache.clearCache();
}