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 85eeafebad3 Refactor MetaDataContextManager.dropSchemas() (#34540)
85eeafebad3 is described below

commit 85eeafebad38258d4ef41536fdc9d1fdadc07249
Author: Liang Zhang <[email protected]>
AuthorDate: Fri Jan 31 12:11:12 2025 +0800

    Refactor MetaDataContextManager.dropSchemas() (#34540)
---
 .../mode/metadata/MetaDataContextManager.java             | 15 ++++-----------
 .../service/StandaloneMetaDataManagerPersistService.java  |  9 +++++----
 2 files changed, 9 insertions(+), 15 deletions(-)

diff --git 
a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/MetaDataContextManager.java
 
b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/MetaDataContextManager.java
index 6692435b724..990735a5903 100644
--- 
a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/MetaDataContextManager.java
+++ 
b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/MetaDataContextManager.java
@@ -85,17 +85,6 @@ public class MetaDataContextManager {
         globalConfigurationManager = new 
GlobalConfigurationManager(metaDataContexts, metaDataPersistFacade);
     }
     
-    /**
-     * Drop schemas.
-     *
-     * @param databaseName database name
-     * @param reloadDatabase reload database
-     * @param currentDatabase current database
-     */
-    public void dropSchemas(final String databaseName, final 
ShardingSphereDatabase reloadDatabase, final ShardingSphereDatabase 
currentDatabase) {
-        GenericSchemaManager.getToBeDroppedSchemaNames(reloadDatabase, 
currentDatabase).forEach(each -> 
metaDataPersistFacade.getDatabaseMetaDataFacade().getSchema().drop(databaseName,
 each));
-    }
-    
     /**
      * Refresh database meta data.
      *
@@ -129,4 +118,8 @@ public class MetaDataContextManager {
         switchingResource.closeStaleDataSources();
         return result;
     }
+    
+    private void dropSchemas(final String databaseName, final 
ShardingSphereDatabase reloadDatabase, final ShardingSphereDatabase 
currentDatabase) {
+        GenericSchemaManager.getToBeDroppedSchemaNames(reloadDatabase, 
currentDatabase).forEach(each -> 
metaDataPersistFacade.getDatabaseMetaDataFacade().getSchema().drop(databaseName,
 each));
+    }
 }
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 7a49a1f5f3c..b4560294b57 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
@@ -22,6 +22,7 @@ import 
org.apache.shardingsphere.infra.datasource.pool.props.domain.DataSourcePo
 import org.apache.shardingsphere.infra.metadata.ShardingSphereMetaData;
 import 
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
 import org.apache.shardingsphere.infra.metadata.database.rule.RuleMetaData;
+import 
org.apache.shardingsphere.infra.metadata.database.schema.manager.GenericSchemaManager;
 import 
org.apache.shardingsphere.infra.metadata.database.schema.model.ShardingSphereSchema;
 import 
org.apache.shardingsphere.infra.metadata.database.schema.model.ShardingSphereTable;
 import 
org.apache.shardingsphere.infra.metadata.database.schema.model.ShardingSphereView;
@@ -184,10 +185,10 @@ public final class 
StandaloneMetaDataManagerPersistService implements MetaDataMa
                 .getDatabase(databaseName).getResourceMetaData(), 
toBeDroppedStorageUnitNames);
         MetaDataContexts reloadMetaDataContexts = new 
MetaDataContextsFactory(metaDataPersistFacade, 
metaDataContextManager.getComputeNodeInstanceContext()).createBySwitchResource(
                 databaseName, false, switchingResource, 
metaDataContextManager.getMetaDataContexts());
-        metaDataPersistFacade.persistReloadDatabaseByDrop(databaseName, 
reloadMetaDataContexts.getMetaData().getDatabase(databaseName),
-                
metaDataContextManager.getMetaDataContexts().getMetaData().getDatabase(databaseName));
-        metaDataContextManager.dropSchemas(databaseName, 
reloadMetaDataContexts.getMetaData().getDatabase(databaseName),
-                
metaDataContextManager.getMetaDataContexts().getMetaData().getDatabase(databaseName));
+        ShardingSphereDatabase reloadDatabase = 
reloadMetaDataContexts.getMetaData().getDatabase(databaseName);
+        ShardingSphereDatabase currentDatabase = 
metaDataContextManager.getMetaDataContexts().getMetaData().getDatabase(databaseName);
+        metaDataPersistFacade.persistReloadDatabaseByDrop(databaseName, 
reloadDatabase, currentDatabase);
+        GenericSchemaManager.getToBeDroppedSchemaNames(reloadDatabase, 
currentDatabase).forEach(each -> 
metaDataPersistFacade.getDatabaseMetaDataFacade().getSchema().drop(databaseName,
 each));
         
metaDataContextManager.getMetaDataContexts().update(reloadMetaDataContexts);
         switchingResource.closeStaleDataSources();
         clearServiceCache();

Reply via email to