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 <zhangli...@apache.org> 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(); }