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 a5389f531f0 Refactor SchemaMetaDataPersistService (#33853)
a5389f531f0 is described below

commit a5389f531f024608f329bdd27330dd71f2a08b7e
Author: Liang Zhang <[email protected]>
AuthorDate: Sat Nov 30 22:36:31 2024 +0800

    Refactor SchemaMetaDataPersistService (#33853)
    
    * Refactor SchemaMetaDataPersistService
    
    * Refactor SchemaMetaDataPersistService
---
 .../shardingsphere/metadata/persist/MetaDataPersistService.java   | 2 +-
 .../service/metadata/schema/SchemaMetaDataPersistService.java     | 5 ++---
 .../metadata/persist/MetaDataPersistServiceTest.java              | 2 +-
 .../service/metadata/schema/SchemaMetaDataPersistServiceTest.java | 4 +++-
 .../cluster/persist/ClusterMetaDataManagerPersistService.java     | 8 ++++----
 5 files changed, 11 insertions(+), 10 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 602af68f127..7736249fdaf 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
@@ -165,7 +165,7 @@ public final class MetaDataPersistService {
     public void persistReloadDatabaseByDrop(final String databaseName, final 
ShardingSphereDatabase reloadDatabase, final ShardingSphereDatabase 
currentDatabase) {
         Map<String, ShardingSphereSchema> toBeAlterSchemas = 
GenericSchemaManager.getToBeDroppedTablesBySchemas(reloadDatabase.getSchemas(), 
currentDatabase.getSchemas());
         Map<String, ShardingSphereSchema> toBeAddedSchemas = 
GenericSchemaManager.getToBeAddedTablesBySchemas(reloadDatabase.getSchemas(), 
currentDatabase.getSchemas());
-        toBeAddedSchemas.forEach((key, value) -> 
databaseMetaDataFacade.getSchema().alterByRuleDropped(databaseName, key, 
value));
+        toBeAddedSchemas.forEach((key, value) -> 
databaseMetaDataFacade.getSchema().alterByRuleDropped(databaseName, value));
         toBeAlterSchemas.forEach((key, value) -> 
databaseMetaDataFacade.getTable().drop(databaseName, key, 
value.getAllTables()));
     }
 }
diff --git 
a/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/service/metadata/schema/SchemaMetaDataPersistService.java
 
b/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/service/metadata/schema/SchemaMetaDataPersistService.java
index ce0cc30628b..b4fa2340d9b 100644
--- 
a/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/service/metadata/schema/SchemaMetaDataPersistService.java
+++ 
b/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/service/metadata/schema/SchemaMetaDataPersistService.java
@@ -102,11 +102,10 @@ public final class SchemaMetaDataPersistService {
      * Alter schema by rule dropped.
      *
      * @param databaseName database name
-     * @param schemaName schema name
      * @param schema to be altered schema
      */
-    public void alterByRuleDropped(final String databaseName, final String 
schemaName, final ShardingSphereSchema schema) {
-        tableMetaDataPersistService.persist(databaseName, schemaName, 
schema.getAllTables());
+    public void alterByRuleDropped(final String databaseName, final 
ShardingSphereSchema schema) {
+        tableMetaDataPersistService.persist(databaseName, schema.getName(), 
schema.getAllTables());
     }
     
     /**
diff --git 
a/kernel/metadata/core/src/test/java/org/apache/shardingsphere/metadata/persist/MetaDataPersistServiceTest.java
 
b/kernel/metadata/core/src/test/java/org/apache/shardingsphere/metadata/persist/MetaDataPersistServiceTest.java
index a67484567a5..6d3d2bd19e7 100644
--- 
a/kernel/metadata/core/src/test/java/org/apache/shardingsphere/metadata/persist/MetaDataPersistServiceTest.java
+++ 
b/kernel/metadata/core/src/test/java/org/apache/shardingsphere/metadata/persist/MetaDataPersistServiceTest.java
@@ -161,7 +161,7 @@ class MetaDataPersistServiceTest {
         when(GenericSchemaManager.getToBeDroppedTablesBySchemas(any(), 
any())).thenReturn(Collections.singletonMap("to_be_deleted", 
toBeDeletedSchema));
         when(GenericSchemaManager.getToBeAddedTablesBySchemas(any(), 
any())).thenReturn(Collections.singletonMap("to_be_altered", toBeAlterSchema));
         metaDataPersistService.persistReloadDatabaseByDrop("foo_db", 
mock(ShardingSphereDatabase.class), mock(ShardingSphereDatabase.class));
-        
verify(databaseMetaDataFacade.getSchema()).alterByRuleDropped("foo_db", 
"to_be_altered", toBeAlterSchema);
+        
verify(databaseMetaDataFacade.getSchema()).alterByRuleDropped("foo_db", 
toBeAlterSchema);
         verify(databaseMetaDataFacade.getTable()).drop("foo_db", 
"to_be_deleted", Collections.emptyList());
     }
 }
diff --git 
a/kernel/metadata/core/src/test/java/org/apache/shardingsphere/metadata/persist/service/metadata/schema/SchemaMetaDataPersistServiceTest.java
 
b/kernel/metadata/core/src/test/java/org/apache/shardingsphere/metadata/persist/service/metadata/schema/SchemaMetaDataPersistServiceTest.java
index abea1cc14cc..874868fc708 100644
--- 
a/kernel/metadata/core/src/test/java/org/apache/shardingsphere/metadata/persist/service/metadata/schema/SchemaMetaDataPersistServiceTest.java
+++ 
b/kernel/metadata/core/src/test/java/org/apache/shardingsphere/metadata/persist/service/metadata/schema/SchemaMetaDataPersistServiceTest.java
@@ -143,7 +143,9 @@ class SchemaMetaDataPersistServiceTest {
     
     @Test
     void assertAlterByRefreshByDropConfiguration() {
-        persistService.alterByRuleDropped("foo_db", "foo_schema", 
mock(ShardingSphereSchema.class));
+        ShardingSphereSchema schema = mock(ShardingSphereSchema.class);
+        when(schema.getName()).thenReturn("foo_schema");
+        persistService.alterByRuleDropped("foo_db", schema);
         verify(tableMetaDataPersistService).persist(eq("foo_db"), 
eq("foo_schema"), anyCollection());
     }
 }
diff --git 
a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/persist/ClusterMetaDataManagerPersistService.java
 
b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/persist/ClusterMetaDataManagerPersistService.java
index 903d86224aa..e4acdfa08ad 100644
--- 
a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/persist/ClusterMetaDataManagerPersistService.java
+++ 
b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/persist/ClusterMetaDataManagerPersistService.java
@@ -180,8 +180,8 @@ public final class ClusterMetaDataManagerPersistService 
implements MetaDataManag
     }
     
     private void afterStorageUnitsAltered(final String databaseName, final 
MetaDataContexts originalMetaDataContexts, final MetaDataContexts 
reloadMetaDataContexts) {
-        
reloadMetaDataContexts.getMetaData().getDatabase(databaseName).getSchemas().forEach((schemaName,
 schema) -> metaDataPersistService.getDatabaseMetaDataFacade()
-                
.getSchema().alterByRuleAltered(reloadMetaDataContexts.getMetaData().getDatabase(databaseName).getName(),
 schema));
+        
reloadMetaDataContexts.getMetaData().getDatabase(databaseName).getSchemas().values().forEach(each
 -> metaDataPersistService.getDatabaseMetaDataFacade()
+                
.getSchema().alterByRuleAltered(reloadMetaDataContexts.getMetaData().getDatabase(databaseName).getName(),
 each));
         
Optional.ofNullable(reloadMetaDataContexts.getStatistics().getDatabaseData().get(databaseName))
                 .ifPresent(optional -> 
optional.getSchemaData().forEach((schemaName, schemaData) -> 
metaDataPersistService.getShardingSphereDataPersistService()
                         
.persist(originalMetaDataContexts.getMetaData().getDatabases().get(databaseName.toLowerCase()),
 schemaName, schemaData)));
@@ -190,8 +190,8 @@ public final class ClusterMetaDataManagerPersistService 
implements MetaDataManag
     }
     
     private void afterStorageUnitsDropped(final String databaseName, final 
MetaDataContexts originalMetaDataContexts, final MetaDataContexts 
reloadMetaDataContexts) {
-        
reloadMetaDataContexts.getMetaData().getDatabase(databaseName).getSchemas().forEach((schemaName,
 schema) -> metaDataPersistService.getDatabaseMetaDataFacade()
-                
.getSchema().alterByRuleDropped(reloadMetaDataContexts.getMetaData().getDatabase(databaseName).getName(),
 schemaName, schema));
+        
reloadMetaDataContexts.getMetaData().getDatabase(databaseName).getSchemas().values().forEach(each
 -> metaDataPersistService.getDatabaseMetaDataFacade()
+                
.getSchema().alterByRuleDropped(reloadMetaDataContexts.getMetaData().getDatabase(databaseName).getName(),
 each));
         
Optional.ofNullable(reloadMetaDataContexts.getStatistics().getDatabaseData().get(databaseName))
                 .ifPresent(optional -> 
optional.getSchemaData().forEach((schemaName, schemaData) -> 
metaDataPersistService.getShardingSphereDataPersistService()
                         
.persist(originalMetaDataContexts.getMetaData().getDatabases().get(databaseName.toLowerCase()),
 schemaName, schemaData)));

Reply via email to