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();