Skip to content

Commit af53fc0

Browse files
committed
Add DatabaseMetaDataPersistFacade.alterSchema()
1 parent 530cbeb commit af53fc0

File tree

3 files changed

+26
-12
lines changed

3 files changed

+26
-12
lines changed

mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/metadata/DatabaseMetaDataPersistFacade.java

+24
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,18 @@
1818
package org.apache.shardingsphere.mode.metadata.persist.metadata;
1919

2020
import lombok.Getter;
21+
import org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
22+
import org.apache.shardingsphere.infra.metadata.database.schema.model.ShardingSphereTable;
23+
import org.apache.shardingsphere.infra.metadata.database.schema.model.ShardingSphereView;
2124
import org.apache.shardingsphere.mode.metadata.persist.metadata.service.DatabaseMetaDataPersistService;
2225
import org.apache.shardingsphere.mode.metadata.persist.metadata.service.SchemaMetaDataPersistService;
2326
import org.apache.shardingsphere.mode.metadata.persist.metadata.service.TableMetaDataPersistService;
2427
import org.apache.shardingsphere.mode.metadata.persist.metadata.service.ViewMetaDataPersistService;
2528
import org.apache.shardingsphere.mode.metadata.persist.version.VersionPersistService;
2629
import org.apache.shardingsphere.mode.spi.repository.PersistRepository;
2730

31+
import java.util.Collection;
32+
2833
/**
2934
* Database meta data persist facade.
3035
*/
@@ -45,4 +50,23 @@ public DatabaseMetaDataPersistFacade(final PersistRepository repository, final V
4550
table = new TableMetaDataPersistService(repository, versionPersistService);
4651
view = new ViewMetaDataPersistService(repository, versionPersistService);
4752
}
53+
54+
/**
55+
* Persist schema.
56+
*
57+
* @param database database
58+
* @param schemaName schema name
59+
* @param alteredTables altered tables
60+
* @param alteredViews altered views
61+
* @param droppedTables dropped tables
62+
* @param droppedViews dropped views
63+
*/
64+
public void alterSchema(final ShardingSphereDatabase database, final String schemaName,
65+
final Collection<ShardingSphereTable> alteredTables, final Collection<ShardingSphereView> alteredViews,
66+
final Collection<String> droppedTables, final Collection<String> droppedViews) {
67+
table.persist(database.getName(), schemaName, alteredTables);
68+
view.persist(database.getName(), schemaName, alteredViews);
69+
droppedTables.forEach(each -> table.drop(database.getName(), schemaName, each));
70+
droppedViews.forEach(each -> view.drop(database.getName(), schemaName, each));
71+
}
4872
}

mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/persist/service/ClusterMetaDataManagerPersistService.java

+1-6
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,6 @@
3838
import org.apache.shardingsphere.mode.metadata.MetaDataContexts;
3939
import org.apache.shardingsphere.mode.metadata.manager.MetaDataContextManager;
4040
import org.apache.shardingsphere.mode.metadata.persist.MetaDataPersistFacade;
41-
import org.apache.shardingsphere.mode.metadata.persist.metadata.DatabaseMetaDataPersistFacade;
4241
import org.apache.shardingsphere.mode.metadata.refresher.metadata.util.TableRefreshUtils;
4342
import org.apache.shardingsphere.mode.persist.service.MetaDataManagerPersistService;
4443
import org.apache.shardingsphere.mode.repository.cluster.ClusterPersistRepository;
@@ -95,11 +94,7 @@ public void createSchema(final ShardingSphereDatabase database, final String sch
9594
public void alterSchema(final ShardingSphereDatabase database, final String schemaName,
9695
final Collection<ShardingSphereTable> alteredTables, final Collection<ShardingSphereView> alteredViews,
9796
final Collection<String> droppedTables, final Collection<String> droppedViews) {
98-
DatabaseMetaDataPersistFacade databaseMetaDataFacade = metaDataPersistFacade.getDatabaseMetaDataFacade();
99-
databaseMetaDataFacade.getTable().persist(database.getName(), schemaName, alteredTables);
100-
databaseMetaDataFacade.getView().persist(database.getName(), schemaName, alteredViews);
101-
droppedTables.forEach(each -> databaseMetaDataFacade.getTable().drop(database.getName(), schemaName, each));
102-
droppedViews.forEach(each -> databaseMetaDataFacade.getView().drop(database.getName(), schemaName, each));
97+
metaDataPersistFacade.getDatabaseMetaDataFacade().alterSchema(database, schemaName, alteredTables, alteredViews, droppedTables, droppedViews);
10398
}
10499

105100
@Override

mode/type/standalone/core/src/main/java/org/apache/shardingsphere/mode/manager/standalone/persist/service/StandaloneMetaDataManagerPersistService.java

+1-6
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,6 @@
3838
import org.apache.shardingsphere.mode.metadata.manager.ActiveVersionChecker;
3939
import org.apache.shardingsphere.mode.metadata.manager.MetaDataContextManager;
4040
import org.apache.shardingsphere.mode.metadata.persist.MetaDataPersistFacade;
41-
import org.apache.shardingsphere.mode.metadata.persist.metadata.DatabaseMetaDataPersistFacade;
4241
import org.apache.shardingsphere.mode.metadata.refresher.metadata.util.TableRefreshUtils;
4342
import org.apache.shardingsphere.mode.node.path.type.database.metadata.rule.DatabaseRuleNodePath;
4443
import org.apache.shardingsphere.mode.node.path.version.MetaDataVersion;
@@ -100,11 +99,7 @@ public void createSchema(final ShardingSphereDatabase database, final String sch
10099
public void alterSchema(final ShardingSphereDatabase database, final String schemaName,
101100
final Collection<ShardingSphereTable> alteredTables, final Collection<ShardingSphereView> alteredViews,
102101
final Collection<String> droppedTables, final Collection<String> droppedViews) {
103-
DatabaseMetaDataPersistFacade databaseMetaDataFacade = metaDataPersistFacade.getDatabaseMetaDataFacade();
104-
databaseMetaDataFacade.getTable().persist(database.getName(), schemaName, alteredTables);
105-
databaseMetaDataFacade.getView().persist(database.getName(), schemaName, alteredViews);
106-
droppedTables.forEach(each -> databaseMetaDataFacade.getTable().drop(database.getName(), schemaName, each));
107-
droppedViews.forEach(each -> databaseMetaDataFacade.getView().drop(database.getName(), schemaName, each));
102+
metaDataPersistFacade.getDatabaseMetaDataFacade().alterSchema(database, schemaName, alteredTables, alteredViews, droppedTables, droppedViews);
108103
afterAlterSchema(database, schemaName, alteredTables, alteredViews, droppedTables, droppedViews);
109104
}
110105

0 commit comments

Comments
 (0)