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 23cde702b33 Refactor MetaDataManagerPersistService.alterSchema() (#34475) 23cde702b33 is described below commit 23cde702b33360d5edd78d34ac46f4022eb2493a Author: Liang Zhang <zhangli...@apache.org> AuthorDate: Fri Jan 24 23:55:39 2025 +0800 Refactor MetaDataManagerPersistService.alterSchema() (#34475) * Refactor MetaDataManagerPersistService.alterSchema() * Refactor MetaDataManagerPersistService.alterSchema() --- .../schema/pojo/AlterSchemaMetaDataPOJO.java | 54 ---------------------- .../type/AlterViewFederationMetaDataRefresher.java | 15 +++--- .../CreateViewFederationMetaDataRefresher.java | 8 ++-- .../type/DropViewFederationMetaDataRefresher.java | 13 +++--- .../index/AlterIndexPushDownMetaDataRefresher.java | 7 ++- .../CreateIndexPushDownMetaDataRefresher.java | 6 +-- .../index/DropIndexPushDownMetaDataRefresher.java | 6 +-- .../table/AlterTablePushDownMetaDataRefresher.java | 13 +++--- .../RenameTablePushDownMetaDataRefresher.java | 10 ++-- .../view/AlterViewPushDownMetaDataRefresher.java | 21 +++++---- .../view/CreateViewPushDownMetaDataRefresher.java | 8 ++-- .../view/DropViewPushDownMetaDataRefresher.java | 17 ++++--- .../service/MetaDataManagerPersistService.java | 13 ++++-- .../ClusterMetaDataManagerPersistService.java | 16 +++---- .../ClusterMetaDataManagerPersistServiceTest.java | 3 +- .../StandaloneMetaDataManagerPersistService.java | 19 ++++---- ...tandaloneMetaDataManagerPersistServiceTest.java | 3 +- 17 files changed, 91 insertions(+), 141 deletions(-) diff --git a/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/pojo/AlterSchemaMetaDataPOJO.java b/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/pojo/AlterSchemaMetaDataPOJO.java deleted file mode 100644 index b63a5d3c19c..00000000000 --- a/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/pojo/AlterSchemaMetaDataPOJO.java +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.apache.shardingsphere.infra.metadata.database.schema.pojo; - -import lombok.Getter; -import lombok.RequiredArgsConstructor; -import org.apache.shardingsphere.infra.metadata.database.schema.model.ShardingSphereTable; -import org.apache.shardingsphere.infra.metadata.database.schema.model.ShardingSphereView; - -import java.util.Collection; -import java.util.LinkedList; - -/** - * Alter schema metadata pojo. - */ -@RequiredArgsConstructor -@Getter -public final class AlterSchemaMetaDataPOJO { - - private final String databaseName; - - private final String schemaName; - - private String logicDataSourceName; - - private final Collection<ShardingSphereTable> alteredTables = new LinkedList<>(); - - private final Collection<ShardingSphereView> alteredViews = new LinkedList<>(); - - private final Collection<String> droppedTables = new LinkedList<>(); - - private final Collection<String> droppedViews = new LinkedList<>(); - - public AlterSchemaMetaDataPOJO(final String databaseName, final String schemaName, final Collection<String> logicDataSourceNames) { - this.databaseName = databaseName; - this.schemaName = schemaName; - this.logicDataSourceName = logicDataSourceNames.isEmpty() ? null : logicDataSourceNames.iterator().next(); - } -} diff --git a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/metadata/federation/type/AlterViewFederationMetaDataRefresher.java b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/metadata/federation/type/AlterViewFederationMetaDataRefresher.java index 256b4abc02d..238922b8aa3 100644 --- a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/metadata/federation/type/AlterViewFederationMetaDataRefresher.java +++ b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/metadata/federation/type/AlterViewFederationMetaDataRefresher.java @@ -19,13 +19,15 @@ package org.apache.shardingsphere.mode.metadata.refresher.metadata.federation.ty import org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase; import org.apache.shardingsphere.infra.metadata.database.schema.model.ShardingSphereView; -import org.apache.shardingsphere.infra.metadata.database.schema.pojo.AlterSchemaMetaDataPOJO; import org.apache.shardingsphere.mode.metadata.refresher.metadata.federation.FederationMetaDataRefresher; import org.apache.shardingsphere.mode.metadata.refresher.metadata.util.TableRefreshUtils; import org.apache.shardingsphere.mode.persist.service.MetaDataManagerPersistService; import org.apache.shardingsphere.sql.parser.statement.core.segment.generic.table.SimpleTableSegment; import org.apache.shardingsphere.sql.parser.statement.core.statement.ddl.AlterViewStatement; +import java.util.Collection; +import java.util.Collections; +import java.util.LinkedList; import java.util.Optional; /** @@ -36,16 +38,17 @@ public final class AlterViewFederationMetaDataRefresher implements FederationMet @Override public void refresh(final MetaDataManagerPersistService metaDataManagerPersistService, final ShardingSphereDatabase database, final String schemaName, final AlterViewStatement sqlStatement) { String viewName = TableRefreshUtils.getTableName(sqlStatement.getView().getTableName().getIdentifier(), sqlStatement.getDatabaseType()); - AlterSchemaMetaDataPOJO alterSchemaMetaDataPOJO = new AlterSchemaMetaDataPOJO(database.getName(), schemaName); Optional<SimpleTableSegment> renameView = sqlStatement.getRenameView(); + Collection<ShardingSphereView> alteredViews = new LinkedList<>(); + Collection<String> droppedViews = new LinkedList<>(); if (renameView.isPresent()) { String renameViewName = renameView.get().getTableName().getIdentifier().getValue(); String originalView = database.getSchema(schemaName).getView(viewName).getViewDefinition(); - alterSchemaMetaDataPOJO.getAlteredViews().add(new ShardingSphereView(renameViewName, originalView)); - alterSchemaMetaDataPOJO.getDroppedViews().add(viewName); + alteredViews.add(new ShardingSphereView(renameViewName, originalView)); + droppedViews.add(viewName); } - sqlStatement.getViewDefinition().ifPresent(optional -> alterSchemaMetaDataPOJO.getAlteredViews().add(new ShardingSphereView(viewName, optional))); - metaDataManagerPersistService.alterSchema(alterSchemaMetaDataPOJO); + sqlStatement.getViewDefinition().ifPresent(optional -> alteredViews.add(new ShardingSphereView(viewName, optional))); + metaDataManagerPersistService.alterSchema(database.getName(), schemaName, null, Collections.emptyList(), alteredViews, droppedViews, Collections.emptyList()); } @Override diff --git a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/metadata/federation/type/CreateViewFederationMetaDataRefresher.java b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/metadata/federation/type/CreateViewFederationMetaDataRefresher.java index 50688c6fff5..769f3a06164 100644 --- a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/metadata/federation/type/CreateViewFederationMetaDataRefresher.java +++ b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/metadata/federation/type/CreateViewFederationMetaDataRefresher.java @@ -19,12 +19,13 @@ package org.apache.shardingsphere.mode.metadata.refresher.metadata.federation.ty import org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase; import org.apache.shardingsphere.infra.metadata.database.schema.model.ShardingSphereView; -import org.apache.shardingsphere.infra.metadata.database.schema.pojo.AlterSchemaMetaDataPOJO; import org.apache.shardingsphere.mode.metadata.refresher.metadata.federation.FederationMetaDataRefresher; import org.apache.shardingsphere.mode.metadata.refresher.metadata.util.TableRefreshUtils; import org.apache.shardingsphere.mode.persist.service.MetaDataManagerPersistService; import org.apache.shardingsphere.sql.parser.statement.core.statement.ddl.CreateViewStatement; +import java.util.Collections; + /** * Create view federation meta data refresher. */ @@ -33,9 +34,8 @@ public final class CreateViewFederationMetaDataRefresher implements FederationMe @Override public void refresh(final MetaDataManagerPersistService metaDataManagerPersistService, final ShardingSphereDatabase database, final String schemaName, final CreateViewStatement sqlStatement) { String viewName = TableRefreshUtils.getTableName(sqlStatement.getView().getTableName().getIdentifier(), sqlStatement.getDatabaseType()); - AlterSchemaMetaDataPOJO alterSchemaMetaDataPOJO = new AlterSchemaMetaDataPOJO(database.getName(), schemaName); - alterSchemaMetaDataPOJO.getAlteredViews().add(new ShardingSphereView(viewName, sqlStatement.getViewDefinition())); - metaDataManagerPersistService.alterSchema(alterSchemaMetaDataPOJO); + metaDataManagerPersistService.alterSchema(database.getName(), schemaName, null, + Collections.emptyList(), Collections.singleton(new ShardingSphereView(viewName, sqlStatement.getViewDefinition())), Collections.emptyList(), Collections.emptyList()); } @Override diff --git a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/metadata/federation/type/DropViewFederationMetaDataRefresher.java b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/metadata/federation/type/DropViewFederationMetaDataRefresher.java index 6398b93b09d..e9c0b8dc449 100644 --- a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/metadata/federation/type/DropViewFederationMetaDataRefresher.java +++ b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/metadata/federation/type/DropViewFederationMetaDataRefresher.java @@ -18,12 +18,14 @@ package org.apache.shardingsphere.mode.metadata.refresher.metadata.federation.type; import org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase; -import org.apache.shardingsphere.infra.metadata.database.schema.pojo.AlterSchemaMetaDataPOJO; import org.apache.shardingsphere.mode.metadata.refresher.metadata.federation.FederationMetaDataRefresher; import org.apache.shardingsphere.mode.persist.service.MetaDataManagerPersistService; -import org.apache.shardingsphere.sql.parser.statement.core.segment.generic.table.SimpleTableSegment; import org.apache.shardingsphere.sql.parser.statement.core.statement.ddl.DropViewStatement; +import java.util.Collection; +import java.util.Collections; +import java.util.stream.Collectors; + /** * Drop view federation meta data refresher. */ @@ -31,11 +33,8 @@ public final class DropViewFederationMetaDataRefresher implements FederationMeta @Override public void refresh(final MetaDataManagerPersistService metaDataManagerPersistService, final ShardingSphereDatabase database, final String schemaName, final DropViewStatement sqlStatement) { - AlterSchemaMetaDataPOJO alterSchemaMetaDataPOJO = new AlterSchemaMetaDataPOJO(database.getName(), schemaName); - for (SimpleTableSegment each : sqlStatement.getViews()) { - alterSchemaMetaDataPOJO.getDroppedViews().add(each.getTableName().getIdentifier().getValue()); - } - metaDataManagerPersistService.alterSchema(alterSchemaMetaDataPOJO); + Collection<String> droppedViews = sqlStatement.getViews().stream().map(each -> each.getTableName().getIdentifier().getValue()).collect(Collectors.toList()); + metaDataManagerPersistService.alterSchema(database.getName(), schemaName, null, Collections.emptyList(), Collections.emptyList(), Collections.emptyList(), droppedViews); } @Override diff --git a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/metadata/pushdown/type/index/AlterIndexPushDownMetaDataRefresher.java b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/metadata/pushdown/type/index/AlterIndexPushDownMetaDataRefresher.java index ff0aaa2b0e6..51e2c8d26a5 100644 --- a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/metadata/pushdown/type/index/AlterIndexPushDownMetaDataRefresher.java +++ b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/metadata/pushdown/type/index/AlterIndexPushDownMetaDataRefresher.java @@ -27,13 +27,13 @@ import org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase; import org.apache.shardingsphere.infra.metadata.database.schema.model.ShardingSphereIndex; 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.pojo.AlterSchemaMetaDataPOJO; import org.apache.shardingsphere.mode.metadata.refresher.metadata.pushdown.PushDownMetaDataRefresher; import org.apache.shardingsphere.mode.persist.service.MetaDataManagerPersistService; import org.apache.shardingsphere.sql.parser.statement.core.segment.ddl.index.IndexSegment; import org.apache.shardingsphere.sql.parser.statement.core.statement.ddl.AlterIndexStatement; import java.util.Collection; +import java.util.Collections; import java.util.LinkedList; import java.util.Optional; @@ -61,9 +61,8 @@ public final class AlterIndexPushDownMetaDataRefresher implements PushDownMetaDa newTable.removeIndex(indexName); String renameIndexName = renameIndex.get().getIndexName().getIdentifier().getValue(); newTable.putIndex(new ShardingSphereIndex(renameIndexName, new LinkedList<>(), false)); - AlterSchemaMetaDataPOJO alterSchemaMetaDataPOJO = new AlterSchemaMetaDataPOJO(database.getName(), actualSchemaName); - alterSchemaMetaDataPOJO.getAlteredTables().add(newTable); - metaDataManagerPersistService.alterSchema(alterSchemaMetaDataPOJO); + metaDataManagerPersistService.alterSchema(database.getName(), actualSchemaName, null, + Collections.singleton(newTable), Collections.emptyList(), Collections.emptyList(), Collections.emptyList()); } private Optional<String> findLogicTableName(final ShardingSphereSchema schema, final String indexName) { diff --git a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/metadata/pushdown/type/index/CreateIndexPushDownMetaDataRefresher.java b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/metadata/pushdown/type/index/CreateIndexPushDownMetaDataRefresher.java index 094aeded9d6..67727f9c1b7 100644 --- a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/metadata/pushdown/type/index/CreateIndexPushDownMetaDataRefresher.java +++ b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/metadata/pushdown/type/index/CreateIndexPushDownMetaDataRefresher.java @@ -26,13 +26,13 @@ import org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase; import org.apache.shardingsphere.infra.metadata.database.schema.model.ShardingSphereIndex; 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.pojo.AlterSchemaMetaDataPOJO; import org.apache.shardingsphere.infra.metadata.database.schema.util.IndexMetaDataUtils; import org.apache.shardingsphere.mode.metadata.refresher.metadata.pushdown.PushDownMetaDataRefresher; import org.apache.shardingsphere.mode.persist.service.MetaDataManagerPersistService; import org.apache.shardingsphere.sql.parser.statement.core.statement.ddl.CreateIndexStatement; import java.util.Collection; +import java.util.Collections; import java.util.LinkedList; /** @@ -53,9 +53,7 @@ public final class CreateIndexPushDownMetaDataRefresher implements PushDownMetaD ShardingSphereTable table = schema.getTable(tableName); ShardingSphereTable newTable = new ShardingSphereTable(table.getName(), table.getAllColumns(), table.getAllIndexes(), table.getAllConstraints(), table.getType()); newTable.putIndex(new ShardingSphereIndex(indexName, new LinkedList<>(), false)); - AlterSchemaMetaDataPOJO alterSchemaMetaDataPOJO = new AlterSchemaMetaDataPOJO(database.getName(), schemaName); - alterSchemaMetaDataPOJO.getAlteredTables().add(newTable); - metaDataManagerPersistService.alterSchema(alterSchemaMetaDataPOJO); + metaDataManagerPersistService.alterSchema(database.getName(), schemaName, null, Collections.singleton(newTable), Collections.emptyList(), Collections.emptyList(), Collections.emptyList()); } @Override diff --git a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/metadata/pushdown/type/index/DropIndexPushDownMetaDataRefresher.java b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/metadata/pushdown/type/index/DropIndexPushDownMetaDataRefresher.java index fc916e15503..eeb19580a73 100644 --- a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/metadata/pushdown/type/index/DropIndexPushDownMetaDataRefresher.java +++ b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/metadata/pushdown/type/index/DropIndexPushDownMetaDataRefresher.java @@ -26,7 +26,6 @@ import org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase; import org.apache.shardingsphere.infra.metadata.database.schema.QualifiedTable; 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.pojo.AlterSchemaMetaDataPOJO; import org.apache.shardingsphere.infra.metadata.database.schema.util.IndexMetaDataUtils; import org.apache.shardingsphere.mode.metadata.refresher.metadata.pushdown.PushDownMetaDataRefresher; import org.apache.shardingsphere.mode.persist.service.MetaDataManagerPersistService; @@ -58,9 +57,8 @@ public final class DropIndexPushDownMetaDataRefresher implements PushDownMetaDat ShardingSphereTable table = schema.getTable(logicTableName.get()); ShardingSphereTable newTable = new ShardingSphereTable(table.getName(), table.getAllColumns(), table.getAllIndexes(), table.getAllConstraints(), table.getType()); newTable.removeIndex(each.getIndexName().getIdentifier().getValue()); - AlterSchemaMetaDataPOJO alterSchemaMetaDataPOJO = new AlterSchemaMetaDataPOJO(database.getName(), actualSchemaName); - alterSchemaMetaDataPOJO.getAlteredTables().add(newTable); - metaDataManagerPersistService.alterSchema(alterSchemaMetaDataPOJO); + metaDataManagerPersistService.alterSchema(database.getName(), actualSchemaName, null, + Collections.singleton(newTable), Collections.emptyList(), Collections.emptyList(), Collections.emptyList()); } } diff --git a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/metadata/pushdown/type/table/AlterTablePushDownMetaDataRefresher.java b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/metadata/pushdown/type/table/AlterTablePushDownMetaDataRefresher.java index 1bed6ee4b8e..5232ea1f46b 100644 --- a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/metadata/pushdown/type/table/AlterTablePushDownMetaDataRefresher.java +++ b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/metadata/pushdown/type/table/AlterTablePushDownMetaDataRefresher.java @@ -25,7 +25,6 @@ import org.apache.shardingsphere.infra.metadata.database.schema.builder.GenericS import org.apache.shardingsphere.infra.metadata.database.schema.builder.GenericSchemaBuilderMaterial; 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.pojo.AlterSchemaMetaDataPOJO; import org.apache.shardingsphere.infra.rule.attribute.datanode.MutableDataNodeRuleAttribute; import org.apache.shardingsphere.mode.metadata.refresher.metadata.pushdown.PushDownMetaDataRefresher; import org.apache.shardingsphere.mode.metadata.refresher.metadata.util.TableRefreshUtils; @@ -48,15 +47,17 @@ public final class AlterTablePushDownMetaDataRefresher implements PushDownMetaDa public void refresh(final MetaDataManagerPersistService metaDataManagerPersistService, final ShardingSphereDatabase database, final Collection<String> logicDataSourceNames, final String schemaName, final DatabaseType databaseType, final AlterTableStatement sqlStatement, final ConfigurationProperties props) throws SQLException { String tableName = TableRefreshUtils.getTableName(sqlStatement.getTable().getTableName().getIdentifier(), databaseType); - AlterSchemaMetaDataPOJO alterSchemaMetaDataPOJO = new AlterSchemaMetaDataPOJO(database.getName(), schemaName, logicDataSourceNames); + Collection<ShardingSphereTable> alteredTables = new LinkedList<>(); + Collection<String> droppedTables = new LinkedList<>(); if (sqlStatement.getRenameTable().isPresent()) { String renameTable = sqlStatement.getRenameTable().get().getTableName().getIdentifier().getValue(); - alterSchemaMetaDataPOJO.getAlteredTables().add(getTable(database, logicDataSourceNames, schemaName, renameTable, props)); - alterSchemaMetaDataPOJO.getDroppedTables().add(tableName); + alteredTables.add(getTable(database, logicDataSourceNames, schemaName, renameTable, props)); + droppedTables.add(tableName); } else { - alterSchemaMetaDataPOJO.getAlteredTables().add(getTable(database, logicDataSourceNames, schemaName, tableName, props)); + alteredTables.add(getTable(database, logicDataSourceNames, schemaName, tableName, props)); } - metaDataManagerPersistService.alterSchema(alterSchemaMetaDataPOJO); + metaDataManagerPersistService.alterSchema(database.getName(), schemaName, logicDataSourceNames.isEmpty() ? null : logicDataSourceNames.iterator().next(), + alteredTables, Collections.emptyList(), droppedTables, Collections.emptyList()); } private ShardingSphereTable getTable(final ShardingSphereDatabase database, final Collection<String> logicDataSourceNames, final String schemaName, diff --git a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/metadata/pushdown/type/table/RenameTablePushDownMetaDataRefresher.java b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/metadata/pushdown/type/table/RenameTablePushDownMetaDataRefresher.java index 323936792a4..9c0ba1f5677 100644 --- a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/metadata/pushdown/type/table/RenameTablePushDownMetaDataRefresher.java +++ b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/metadata/pushdown/type/table/RenameTablePushDownMetaDataRefresher.java @@ -25,7 +25,6 @@ import org.apache.shardingsphere.infra.metadata.database.schema.builder.GenericS import org.apache.shardingsphere.infra.metadata.database.schema.builder.GenericSchemaBuilderMaterial; 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.pojo.AlterSchemaMetaDataPOJO; import org.apache.shardingsphere.infra.rule.attribute.datanode.MutableDataNodeRuleAttribute; import org.apache.shardingsphere.mode.metadata.refresher.metadata.pushdown.PushDownMetaDataRefresher; import org.apache.shardingsphere.mode.metadata.refresher.metadata.util.TableRefreshUtils; @@ -49,11 +48,10 @@ public final class RenameTablePushDownMetaDataRefresher implements PushDownMetaD public void refresh(final MetaDataManagerPersistService metaDataManagerPersistService, final ShardingSphereDatabase database, final Collection<String> logicDataSourceNames, final String schemaName, final DatabaseType databaseType, final RenameTableStatement sqlStatement, final ConfigurationProperties props) throws SQLException { for (RenameTableDefinitionSegment each : sqlStatement.getRenameTables()) { - AlterSchemaMetaDataPOJO alterSchemaMetaDataPOJO = new AlterSchemaMetaDataPOJO(database.getName(), schemaName, logicDataSourceNames); - alterSchemaMetaDataPOJO.getAlteredTables().add(getTable(database, logicDataSourceNames, schemaName, - TableRefreshUtils.getTableName(each.getRenameTable().getTableName().getIdentifier(), databaseType), props)); - alterSchemaMetaDataPOJO.getDroppedTables().add(each.getTable().getTableName().getIdentifier().getValue()); - metaDataManagerPersistService.alterSchema(alterSchemaMetaDataPOJO); + ShardingSphereTable alteredTable = getTable( + database, logicDataSourceNames, schemaName, TableRefreshUtils.getTableName(each.getRenameTable().getTableName().getIdentifier(), databaseType), props); + metaDataManagerPersistService.alterSchema(database.getName(), schemaName, logicDataSourceNames.isEmpty() ? null : logicDataSourceNames.iterator().next(), + Collections.singleton(alteredTable), Collections.emptyList(), Collections.singleton(each.getTable().getTableName().getIdentifier().getValue()), Collections.emptyList()); } } diff --git a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/metadata/pushdown/type/view/AlterViewPushDownMetaDataRefresher.java b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/metadata/pushdown/type/view/AlterViewPushDownMetaDataRefresher.java index 1683434fa62..310029f548b 100644 --- a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/metadata/pushdown/type/view/AlterViewPushDownMetaDataRefresher.java +++ b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/metadata/pushdown/type/view/AlterViewPushDownMetaDataRefresher.java @@ -26,7 +26,6 @@ import org.apache.shardingsphere.infra.metadata.database.schema.builder.GenericS 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; -import org.apache.shardingsphere.infra.metadata.database.schema.pojo.AlterSchemaMetaDataPOJO; import org.apache.shardingsphere.infra.rule.attribute.datanode.MutableDataNodeRuleAttribute; import org.apache.shardingsphere.mode.metadata.refresher.metadata.pushdown.PushDownMetaDataRefresher; import org.apache.shardingsphere.mode.metadata.refresher.metadata.util.TableRefreshUtils; @@ -50,24 +49,28 @@ public final class AlterViewPushDownMetaDataRefresher implements PushDownMetaDat public void refresh(final MetaDataManagerPersistService metaDataManagerPersistService, final ShardingSphereDatabase database, final Collection<String> logicDataSourceNames, final String schemaName, final DatabaseType databaseType, final AlterViewStatement sqlStatement, final ConfigurationProperties props) throws SQLException { String viewName = TableRefreshUtils.getTableName(sqlStatement.getView().getTableName().getIdentifier(), databaseType); - AlterSchemaMetaDataPOJO alterSchemaMetaDataPOJO = new AlterSchemaMetaDataPOJO(database.getName(), schemaName, logicDataSourceNames); + Collection<ShardingSphereTable> alteredTables = new LinkedList<>(); + Collection<ShardingSphereView> alteredViews = new LinkedList<>(); + Collection<String> droppedTables = new LinkedList<>(); + Collection<String> droppedViews = new LinkedList<>(); Optional<SimpleTableSegment> renameView = sqlStatement.getRenameView(); if (renameView.isPresent()) { String renameViewName = renameView.get().getTableName().getIdentifier().getValue(); String originalView = database.getSchema(schemaName).getView(viewName).getViewDefinition(); ShardingSphereSchema schema = getSchema(database, logicDataSourceNames, schemaName, renameViewName, originalView, props); - alterSchemaMetaDataPOJO.getAlteredTables().add(schema.getTable(renameViewName)); - alterSchemaMetaDataPOJO.getAlteredViews().add(schema.getView(renameViewName)); - alterSchemaMetaDataPOJO.getDroppedTables().add(viewName); - alterSchemaMetaDataPOJO.getDroppedViews().add(viewName); + alteredTables.add(schema.getTable(renameViewName)); + alteredViews.add(schema.getView(renameViewName)); + droppedTables.add(viewName); + droppedViews.add(viewName); } Optional<String> viewDefinition = sqlStatement.getViewDefinition(); if (viewDefinition.isPresent()) { ShardingSphereSchema schema = getSchema(database, logicDataSourceNames, schemaName, viewName, viewDefinition.get(), props); - alterSchemaMetaDataPOJO.getAlteredTables().add(schema.getTable(viewName)); - alterSchemaMetaDataPOJO.getAlteredViews().add(schema.getView(viewName)); + alteredTables.add(schema.getTable(viewName)); + alteredViews.add(schema.getView(viewName)); } - metaDataManagerPersistService.alterSchema(alterSchemaMetaDataPOJO); + metaDataManagerPersistService.alterSchema(database.getName(), schemaName, + logicDataSourceNames.isEmpty() ? null : logicDataSourceNames.iterator().next(), alteredTables, alteredViews, droppedTables, droppedViews); } private ShardingSphereSchema getSchema(final ShardingSphereDatabase database, final Collection<String> logicDataSourceNames, diff --git a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/metadata/pushdown/type/view/CreateViewPushDownMetaDataRefresher.java b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/metadata/pushdown/type/view/CreateViewPushDownMetaDataRefresher.java index e65bdef1275..989d2c64130 100644 --- a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/metadata/pushdown/type/view/CreateViewPushDownMetaDataRefresher.java +++ b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/metadata/pushdown/type/view/CreateViewPushDownMetaDataRefresher.java @@ -27,7 +27,6 @@ import org.apache.shardingsphere.infra.metadata.database.schema.builder.GenericS 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; -import org.apache.shardingsphere.infra.metadata.database.schema.pojo.AlterSchemaMetaDataPOJO; import org.apache.shardingsphere.infra.rule.attribute.datanode.MutableDataNodeRuleAttribute; import org.apache.shardingsphere.mode.metadata.refresher.metadata.pushdown.PushDownMetaDataRefresher; import org.apache.shardingsphere.mode.metadata.refresher.metadata.util.TableRefreshUtils; @@ -58,10 +57,9 @@ public final class CreateViewPushDownMetaDataRefresher implements PushDownMetaDa Map<String, ShardingSphereSchema> schemas = GenericSchemaBuilder.build(Collections.singletonList(viewName), database.getProtocolType(), material); Optional<ShardingSphereTable> actualTableMetaData = Optional.ofNullable(schemas.get(schemaName)).map(optional -> optional.getTable(viewName)); Preconditions.checkState(actualTableMetaData.isPresent(), "Load actual view metadata '%s' failed.", viewName); - AlterSchemaMetaDataPOJO alterSchemaMetaDataPOJO = new AlterSchemaMetaDataPOJO(database.getName(), schemaName, logicDataSourceNames); - alterSchemaMetaDataPOJO.getAlteredTables().add(actualTableMetaData.get()); - alterSchemaMetaDataPOJO.getAlteredViews().add(new ShardingSphereView(viewName, sqlStatement.getViewDefinition())); - metaDataManagerPersistService.alterSchema(alterSchemaMetaDataPOJO); + metaDataManagerPersistService.alterSchema(database.getName(), schemaName, logicDataSourceNames.isEmpty() ? null : logicDataSourceNames.iterator().next(), + Collections.singleton(actualTableMetaData.get()), Collections.singleton(new ShardingSphereView(viewName, sqlStatement.getViewDefinition())), + Collections.emptyList(), Collections.emptyList()); } @Override diff --git a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/metadata/pushdown/type/view/DropViewPushDownMetaDataRefresher.java b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/metadata/pushdown/type/view/DropViewPushDownMetaDataRefresher.java index 06733376bee..1e2c74d6395 100644 --- a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/metadata/pushdown/type/view/DropViewPushDownMetaDataRefresher.java +++ b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/metadata/pushdown/type/view/DropViewPushDownMetaDataRefresher.java @@ -20,12 +20,14 @@ package org.apache.shardingsphere.mode.metadata.refresher.metadata.pushdown.type import org.apache.shardingsphere.infra.config.props.ConfigurationProperties; import org.apache.shardingsphere.infra.database.core.type.DatabaseType; import org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase; -import org.apache.shardingsphere.infra.metadata.database.schema.pojo.AlterSchemaMetaDataPOJO; import org.apache.shardingsphere.mode.metadata.refresher.metadata.pushdown.PushDownMetaDataRefresher; import org.apache.shardingsphere.mode.persist.service.MetaDataManagerPersistService; +import org.apache.shardingsphere.sql.parser.statement.core.segment.generic.table.SimpleTableSegment; import org.apache.shardingsphere.sql.parser.statement.core.statement.ddl.DropViewStatement; import java.util.Collection; +import java.util.Collections; +import java.util.LinkedList; /** * Drop view push down meta data refresher. @@ -35,13 +37,14 @@ public final class DropViewPushDownMetaDataRefresher implements PushDownMetaData @Override public void refresh(final MetaDataManagerPersistService metaDataManagerPersistService, final ShardingSphereDatabase database, final Collection<String> logicDataSourceNames, final String schemaName, final DatabaseType databaseType, final DropViewStatement sqlStatement, final ConfigurationProperties props) { - AlterSchemaMetaDataPOJO alterSchemaMetaDataPOJO = new AlterSchemaMetaDataPOJO(database.getName(), schemaName); - sqlStatement.getViews().forEach(each -> { + Collection<String> droppedTables = new LinkedList<>(); + Collection<String> droppedViews = new LinkedList<>(); + for (SimpleTableSegment each : sqlStatement.getViews()) { String viewName = each.getTableName().getIdentifier().getValue(); - alterSchemaMetaDataPOJO.getDroppedTables().add(viewName); - alterSchemaMetaDataPOJO.getDroppedViews().add(viewName); - }); - metaDataManagerPersistService.alterSchema(alterSchemaMetaDataPOJO); + droppedTables.add(viewName); + droppedViews.add(viewName); + } + metaDataManagerPersistService.alterSchema(database.getName(), schemaName, null, Collections.emptyList(), Collections.emptyList(), droppedTables, droppedViews); } @Override diff --git a/mode/core/src/main/java/org/apache/shardingsphere/mode/persist/service/MetaDataManagerPersistService.java b/mode/core/src/main/java/org/apache/shardingsphere/mode/persist/service/MetaDataManagerPersistService.java index 4ff387df16b..6eef3720a3f 100644 --- a/mode/core/src/main/java/org/apache/shardingsphere/mode/persist/service/MetaDataManagerPersistService.java +++ b/mode/core/src/main/java/org/apache/shardingsphere/mode/persist/service/MetaDataManagerPersistService.java @@ -20,7 +20,7 @@ package org.apache.shardingsphere.mode.persist.service; import org.apache.shardingsphere.infra.config.rule.RuleConfiguration; import org.apache.shardingsphere.infra.datasource.pool.props.domain.DataSourcePoolProperties; import org.apache.shardingsphere.infra.metadata.database.schema.model.ShardingSphereTable; -import org.apache.shardingsphere.infra.metadata.database.schema.pojo.AlterSchemaMetaDataPOJO; +import org.apache.shardingsphere.infra.metadata.database.schema.model.ShardingSphereView; import java.sql.SQLException; import java.util.Collection; @@ -57,9 +57,16 @@ public interface MetaDataManagerPersistService { /** * Alter schema. * - * @param alterSchemaMetaDataPOJO alter schema metadata pojo + * @param databaseName database name + * @param schemaName schema name + * @param logicDataSourceName logic data source name + * @param alteredTables altered tables + * @param alteredViews altered views + * @param droppedTables dropped tables + * @param droppedViews dropped views */ - void alterSchema(AlterSchemaMetaDataPOJO alterSchemaMetaDataPOJO); + void alterSchema(String databaseName, String schemaName, String logicDataSourceName, + Collection<ShardingSphereTable> alteredTables, Collection<ShardingSphereView> alteredViews, Collection<String> droppedTables, Collection<String> droppedViews); /** * Alter schema name. diff --git a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/persist/service/ClusterMetaDataManagerPersistService.java b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/persist/service/ClusterMetaDataManagerPersistService.java index 35893189ebc..875ac023887 100644 --- a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/persist/service/ClusterMetaDataManagerPersistService.java +++ b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/persist/service/ClusterMetaDataManagerPersistService.java @@ -25,7 +25,7 @@ import org.apache.shardingsphere.infra.metadata.ShardingSphereMetaData; import org.apache.shardingsphere.infra.metadata.database.resource.node.StorageNode; 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.pojo.AlterSchemaMetaDataPOJO; +import org.apache.shardingsphere.infra.metadata.database.schema.model.ShardingSphereView; import org.apache.shardingsphere.infra.metadata.statistics.ShardingSphereStatistics; import org.apache.shardingsphere.infra.metadata.version.MetaDataVersion; import org.apache.shardingsphere.mode.metadata.MetaDataContextManager; @@ -87,14 +87,14 @@ public final class ClusterMetaDataManagerPersistService implements MetaDataManag } @Override - public void alterSchema(final AlterSchemaMetaDataPOJO alterSchemaMetaDataPOJO) { - String databaseName = alterSchemaMetaDataPOJO.getDatabaseName(); - String schemaName = alterSchemaMetaDataPOJO.getSchemaName(); + public void alterSchema(final String databaseName, final String schemaName, final String logicDataSourceName, + final Collection<ShardingSphereTable> alteredTables, final Collection<ShardingSphereView> alteredViews, + final Collection<String> droppedTables, final Collection<String> droppedViews) { DatabaseMetaDataPersistFacade databaseMetaDataFacade = metaDataPersistService.getDatabaseMetaDataFacade(); - databaseMetaDataFacade.getTable().persist(databaseName, schemaName, alterSchemaMetaDataPOJO.getAlteredTables()); - databaseMetaDataFacade.getView().persist(databaseName, schemaName, alterSchemaMetaDataPOJO.getAlteredViews()); - alterSchemaMetaDataPOJO.getDroppedTables().forEach(each -> databaseMetaDataFacade.getTable().drop(databaseName, schemaName, each)); - alterSchemaMetaDataPOJO.getDroppedViews().forEach(each -> databaseMetaDataFacade.getView().delete(databaseName, schemaName, each)); + databaseMetaDataFacade.getTable().persist(databaseName, schemaName, alteredTables); + databaseMetaDataFacade.getView().persist(databaseName, schemaName, alteredViews); + droppedTables.forEach(each -> databaseMetaDataFacade.getTable().drop(databaseName, schemaName, each)); + droppedViews.forEach(each -> databaseMetaDataFacade.getView().delete(databaseName, schemaName, each)); } @Override diff --git a/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/persist/service/ClusterMetaDataManagerPersistServiceTest.java b/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/persist/service/ClusterMetaDataManagerPersistServiceTest.java index 4b86e04a909..9fdc23b5f23 100644 --- a/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/persist/service/ClusterMetaDataManagerPersistServiceTest.java +++ b/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/persist/service/ClusterMetaDataManagerPersistServiceTest.java @@ -21,7 +21,6 @@ import lombok.SneakyThrows; import org.apache.shardingsphere.infra.config.rule.RuleConfiguration; 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.pojo.AlterSchemaMetaDataPOJO; import org.apache.shardingsphere.mode.metadata.MetaDataContextManager; import org.apache.shardingsphere.mode.metadata.persist.MetaDataPersistService; import org.apache.shardingsphere.mode.spi.repository.PersistRepository; @@ -97,7 +96,7 @@ class ClusterMetaDataManagerPersistServiceTest { @Test void assertAlterSchema() { - metaDataManagerPersistService.alterSchema(new AlterSchemaMetaDataPOJO("foo_db", "foo_schema", Collections.singleton("foo_ds"))); + metaDataManagerPersistService.alterSchema("foo_db", "foo_schema", "foo_ds", Collections.emptyList(), Collections.emptyList(), Collections.emptyList(), Collections.emptyList()); verify(metaDataPersistService.getDatabaseMetaDataFacade().getTable()).persist("foo_db", "foo_schema", Collections.emptyList()); verify(metaDataPersistService.getDatabaseMetaDataFacade().getView()).persist("foo_db", "foo_schema", Collections.emptyList()); } 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 af03a7e81e9..060d469b91a 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 @@ -25,7 +25,6 @@ import org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase; 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; -import org.apache.shardingsphere.infra.metadata.database.schema.pojo.AlterSchemaMetaDataPOJO; import org.apache.shardingsphere.infra.metadata.version.MetaDataVersion; import org.apache.shardingsphere.infra.rule.attribute.datanode.MutableDataNodeRuleAttribute; import org.apache.shardingsphere.infra.rule.scope.GlobalRule; @@ -95,18 +94,18 @@ public final class StandaloneMetaDataManagerPersistService implements MetaDataMa } @Override - public void alterSchema(final AlterSchemaMetaDataPOJO alterSchemaMetaDataPOJO) { - String databaseName = alterSchemaMetaDataPOJO.getDatabaseName(); - String schemaName = alterSchemaMetaDataPOJO.getSchemaName(); + public void alterSchema(final String databaseName, final String schemaName, final String logicDataSourceName, + final Collection<ShardingSphereTable> alteredTables, final Collection<ShardingSphereView> alteredViews, + final Collection<String> droppedTables, final Collection<String> droppedViews) { ShardingSphereMetaData metaData = metaDataContextManager.getMetaDataContexts().getMetaData(); ShardingSphereDatabase database = metaData.getDatabase(databaseName); - addDataNode(database, alterSchemaMetaDataPOJO.getLogicDataSourceName(), schemaName, alterSchemaMetaDataPOJO.getAlteredTables(), alterSchemaMetaDataPOJO.getAlteredViews()); - removeDataNode(database, schemaName, alterSchemaMetaDataPOJO.getDroppedTables(), alterSchemaMetaDataPOJO.getDroppedViews()); + addDataNode(database, logicDataSourceName, schemaName, alteredTables, alteredViews); + removeDataNode(database, schemaName, droppedTables, droppedViews); metaData.getGlobalRuleMetaData().getRules().forEach(each -> ((GlobalRule) each).refresh(metaData.getAllDatabases(), GlobalRuleChangedType.SCHEMA_CHANGED)); - metaDataPersistService.getDatabaseMetaDataFacade().getTable().persist(databaseName, schemaName, alterSchemaMetaDataPOJO.getAlteredTables()); - metaDataPersistService.getDatabaseMetaDataFacade().getView().persist(databaseName, schemaName, alterSchemaMetaDataPOJO.getAlteredViews()); - alterSchemaMetaDataPOJO.getDroppedTables().forEach(each -> metaDataPersistService.getDatabaseMetaDataFacade().getTable().drop(databaseName, schemaName, each)); - alterSchemaMetaDataPOJO.getDroppedViews().forEach(each -> metaDataPersistService.getDatabaseMetaDataFacade().getView().delete(databaseName, schemaName, each)); + metaDataPersistService.getDatabaseMetaDataFacade().getTable().persist(databaseName, schemaName, alteredTables); + metaDataPersistService.getDatabaseMetaDataFacade().getView().persist(databaseName, schemaName, alteredViews); + droppedTables.forEach(each -> metaDataPersistService.getDatabaseMetaDataFacade().getTable().drop(databaseName, schemaName, each)); + droppedViews.forEach(each -> metaDataPersistService.getDatabaseMetaDataFacade().getView().delete(databaseName, schemaName, each)); } @Override diff --git a/mode/type/standalone/core/src/test/java/org/apache/shardingsphere/mode/manager/standalone/persist/service/StandaloneMetaDataManagerPersistServiceTest.java b/mode/type/standalone/core/src/test/java/org/apache/shardingsphere/mode/manager/standalone/persist/service/StandaloneMetaDataManagerPersistServiceTest.java index 38a5b254b45..666fdc15705 100644 --- a/mode/type/standalone/core/src/test/java/org/apache/shardingsphere/mode/manager/standalone/persist/service/StandaloneMetaDataManagerPersistServiceTest.java +++ b/mode/type/standalone/core/src/test/java/org/apache/shardingsphere/mode/manager/standalone/persist/service/StandaloneMetaDataManagerPersistServiceTest.java @@ -25,7 +25,6 @@ import org.apache.shardingsphere.infra.metadata.ShardingSphereMetaData; import org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase; 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.pojo.AlterSchemaMetaDataPOJO; import org.apache.shardingsphere.infra.metadata.version.MetaDataVersion; import org.apache.shardingsphere.mode.metadata.MetaDataContextManager; import org.apache.shardingsphere.mode.metadata.manager.RuleItemChangedBuilder; @@ -101,7 +100,7 @@ class StandaloneMetaDataManagerPersistServiceTest { void assertAlterSchema() { DatabaseMetaDataPersistFacade databaseMetaDataFacade = mock(DatabaseMetaDataPersistFacade.class, RETURNS_DEEP_STUBS); when(metaDataPersistService.getDatabaseMetaDataFacade()).thenReturn(databaseMetaDataFacade); - metaDataManagerPersistService.alterSchema(new AlterSchemaMetaDataPOJO("foo_db", "foo_schema", Collections.singleton("foo_ds"))); + metaDataManagerPersistService.alterSchema("foo_db", "foo_schema", "foo_ds", Collections.emptyList(), Collections.emptyList(), Collections.emptyList(), Collections.emptyList()); verify(databaseMetaDataFacade.getTable()).persist("foo_db", "foo_schema", new LinkedList<>()); }