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 da1643db34b Refactor DropSchemaPushDownMetaDataRefresher (#34455)
da1643db34b is described below
commit da1643db34b24bbfebbe2540d6f0030957cca63e
Author: Liang Zhang <[email protected]>
AuthorDate: Fri Jan 24 00:07:51 2025 +0800
Refactor DropSchemaPushDownMetaDataRefresher (#34455)
---
.../type/schema/DropSchemaPushDownMetaDataRefresher.java | 9 ++-------
.../persist/service/StandaloneMetaDataManagerPersistService.java | 3 +--
2 files changed, 3 insertions(+), 9 deletions(-)
diff --git
a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/metadata/pushdown/type/schema/DropSchemaPushDownMetaDataRefresher.java
b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/metadata/pushdown/type/schema/DropSchemaPushDownMetaDataRefresher.java
index 7d0b452de2a..f739b292f99 100644
---
a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/metadata/pushdown/type/schema/DropSchemaPushDownMetaDataRefresher.java
+++
b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/metadata/pushdown/type/schema/DropSchemaPushDownMetaDataRefresher.java
@@ -23,10 +23,9 @@ import
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
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.DropSchemaStatement;
-import
org.apache.shardingsphere.sql.parser.statement.core.value.identifier.IdentifierValue;
import java.util.Collection;
-import java.util.LinkedList;
+import java.util.stream.Collectors;
/**
* Drop schema push down meta data refresher.
@@ -40,11 +39,7 @@ public final class DropSchemaPushDownMetaDataRefresher
implements PushDownMetaDa
}
private Collection<String> getSchemaNames(final DropSchemaStatement
sqlStatement) {
- Collection<String> result = new LinkedList<>();
- for (IdentifierValue each : sqlStatement.getSchemaNames()) {
- result.add(each.getValue().toLowerCase());
- }
- return result;
+ return sqlStatement.getSchemaNames().stream().map(each ->
each.getValue().toLowerCase()).collect(Collectors.toList());
}
@Override
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 3a5e89fecf3..255cfcf3890 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
@@ -195,9 +195,8 @@ public final class StandaloneMetaDataManagerPersistService
implements MetaDataMa
ShardingSphereMetaData metaData =
metaDataContextManager.getMetaDataContexts().getMetaData();
ShardingSphereDatabase database = metaData.getDatabase(databaseName);
for (String each : schemaNames) {
- ShardingSphereSchema schema = new ShardingSphereSchema(each,
database.getSchema(each).getAllTables(),
database.getSchema(each).getAllViews());
database.dropSchema(each);
- Optional.of(schema).ifPresent(optional ->
tobeRemovedTables.addAll(optional.getAllTables().stream().map(ShardingSphereTable::getName).collect(Collectors.toSet())));
+
tobeRemovedTables.addAll(database.getSchema(each).getAllTables().stream().map(ShardingSphereTable::getName).collect(Collectors.toSet()));
tobeRemovedSchemas.add(each.toLowerCase());
}
removeDataNode(database.getRuleMetaData().getAttributes(MutableDataNodeRuleAttribute.class),
new HashSet<>(tobeRemovedSchemas), new HashSet<>(tobeRemovedTables));