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 4b78784846b Refactor MetaDataPersistService (#33859)
4b78784846b is described below
commit 4b78784846b2b7e469df0ceefc4973e7f30b10ea
Author: Liang Zhang <[email protected]>
AuthorDate: Sun Dec 1 13:26:28 2024 +0800
Refactor MetaDataPersistService (#33859)
---
.../metadata/persist/MetaDataPersistService.java | 15 +++++++++------
1 file changed, 9 insertions(+), 6 deletions(-)
diff --git
a/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/MetaDataPersistService.java
b/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/MetaDataPersistService.java
index 8ac98009c1c..6c31dd983b0 100644
---
a/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/MetaDataPersistService.java
+++
b/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/MetaDataPersistService.java
@@ -26,6 +26,7 @@ import
org.apache.shardingsphere.infra.datasource.pool.props.creator.DataSourceP
import
org.apache.shardingsphere.infra.datasource.pool.props.domain.DataSourcePoolProperties;
import
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
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.rule.ShardingSphereRule;
import org.apache.shardingsphere.infra.spi.type.typed.TypedSPILoader;
import
org.apache.shardingsphere.metadata.persist.data.ShardingSphereDataPersistService;
@@ -148,9 +149,10 @@ public final class MetaDataPersistService {
* @param currentDatabase current database
*/
public void persistReloadDatabaseByAlter(final String databaseName, final
ShardingSphereDatabase reloadDatabase, final ShardingSphereDatabase
currentDatabase) {
-
GenericSchemaManager.getToBeAlteredSchemasWithTablesAdded(reloadDatabase,
currentDatabase).forEach(each ->
databaseMetaDataFacade.getSchema().alterByRuleAltered(databaseName, each));
-
GenericSchemaManager.getToBeAlteredSchemasWithTablesDropped(reloadDatabase,
currentDatabase)
- .forEach(each ->
databaseMetaDataFacade.getTable().drop(databaseName, each.getName(),
each.getAllTables()));
+ Collection<ShardingSphereSchema> toBeAlteredSchemasWithTablesDropped =
GenericSchemaManager.getToBeAlteredSchemasWithTablesDropped(reloadDatabase,
currentDatabase);
+ Collection<ShardingSphereSchema> toBeAlteredSchemasWithTablesAdded =
GenericSchemaManager.getToBeAlteredSchemasWithTablesAdded(reloadDatabase,
currentDatabase);
+ toBeAlteredSchemasWithTablesAdded.forEach(each ->
databaseMetaDataFacade.getSchema().alterByRuleAltered(databaseName, each));
+ toBeAlteredSchemasWithTablesDropped.forEach(each ->
databaseMetaDataFacade.getTable().drop(databaseName, each.getName(),
each.getAllTables()));
}
/**
@@ -161,8 +163,9 @@ public final class MetaDataPersistService {
* @param currentDatabase current database
*/
public void persistReloadDatabaseByDrop(final String databaseName, final
ShardingSphereDatabase reloadDatabase, final ShardingSphereDatabase
currentDatabase) {
-
GenericSchemaManager.getToBeAlteredSchemasWithTablesAdded(reloadDatabase,
currentDatabase).forEach(each ->
databaseMetaDataFacade.getSchema().alterByRuleDropped(databaseName, each));
-
GenericSchemaManager.getToBeAlteredSchemasWithTablesDropped(reloadDatabase,
currentDatabase)
- .forEach(each ->
databaseMetaDataFacade.getTable().drop(databaseName, each.getName(),
each.getAllTables()));
+ Collection<ShardingSphereSchema> toBeAlteredSchemasWithTablesDropped =
GenericSchemaManager.getToBeAlteredSchemasWithTablesDropped(reloadDatabase,
currentDatabase);
+ Collection<ShardingSphereSchema> toBeAlteredSchemasWithTablesAdded =
GenericSchemaManager.getToBeAlteredSchemasWithTablesAdded(reloadDatabase,
currentDatabase);
+ toBeAlteredSchemasWithTablesAdded.forEach(each ->
databaseMetaDataFacade.getSchema().alterByRuleDropped(databaseName, each));
+ toBeAlteredSchemasWithTablesDropped.forEach(each ->
databaseMetaDataFacade.getTable().drop(databaseName, each.getName(),
each.getAllTables()));
}
}