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 7dd0c2de37f Rename GenericSchemaManager.getToBeDroppedSchemaNames()
(#33856)
7dd0c2de37f is described below
commit 7dd0c2de37f8ced27e24df05ca5b5d7eeb4d9e4b
Author: Liang Zhang <[email protected]>
AuthorDate: Sun Dec 1 12:45:52 2024 +0800
Rename GenericSchemaManager.getToBeDroppedSchemaNames() (#33856)
---
.../fixture/EncryptGeneratorFixtureBuilder.java | 10 ++++------
.../schema/manager/GenericSchemaManager.java | 21 ++++++++++-----------
.../schema/manager/GenericSchemaManagerTest.java | 14 +++++---------
.../metadata/persist/MetaDataPersistService.java | 4 ++--
.../persist/MetaDataPersistServiceTest.java | 4 ++--
.../mode/metadata/MetaDataContextManager.java | 3 +--
6 files changed, 24 insertions(+), 32 deletions(-)
diff --git
a/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/fixture/EncryptGeneratorFixtureBuilder.java
b/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/fixture/EncryptGeneratorFixtureBuilder.java
index 08bdf7448db..dd33c889bee 100644
---
a/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/fixture/EncryptGeneratorFixtureBuilder.java
+++
b/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/fixture/EncryptGeneratorFixtureBuilder.java
@@ -109,11 +109,10 @@ public final class EncryptGeneratorFixtureBuilder {
InsertStatement insertStatement = createInsertStatement();
ShardingSphereDatabase database = mock(ShardingSphereDatabase.class,
RETURNS_DEEP_STUBS);
ShardingSphereSchema schema = mock(ShardingSphereSchema.class);
-
when(database.getSchema(DefaultDatabase.LOGIC_NAME)).thenReturn(schema);
when(schema.getAllColumnNames("tbl")).thenReturn(Arrays.asList("id",
"name", "status", "pwd"));
+
when(database.getSchema(DefaultDatabase.LOGIC_NAME)).thenReturn(schema);
ShardingSphereMetaData metaData = new ShardingSphereMetaData(
- Collections.singletonMap(DefaultDatabase.LOGIC_NAME,
database), mock(ResourceMetaData.class),
- mock(RuleMetaData.class), mock(ConfigurationProperties.class));
+ Collections.singletonMap(DefaultDatabase.LOGIC_NAME,
database), mock(ResourceMetaData.class), mock(RuleMetaData.class),
mock(ConfigurationProperties.class));
return new InsertStatementContext(metaData, params, insertStatement,
DefaultDatabase.LOGIC_NAME);
}
@@ -214,11 +213,10 @@ public final class EncryptGeneratorFixtureBuilder {
InsertStatement insertStatement =
createInsertSelectStatement(containsInsertColumns);
ShardingSphereDatabase database = mock(ShardingSphereDatabase.class,
RETURNS_DEEP_STUBS);
ShardingSphereSchema schema = mock(ShardingSphereSchema.class);
-
when(database.getSchema(DefaultDatabase.LOGIC_NAME)).thenReturn(schema);
when(schema.getAllColumnNames("t_user")).thenReturn(Arrays.asList("user_id",
"user_name", "pwd"));
+
when(database.getSchema(DefaultDatabase.LOGIC_NAME)).thenReturn(schema);
ShardingSphereMetaData metaData = new ShardingSphereMetaData(
- Collections.singletonMap(DefaultDatabase.LOGIC_NAME,
database), mock(ResourceMetaData.class),
- mock(RuleMetaData.class), mock(ConfigurationProperties.class));
+ Collections.singletonMap(DefaultDatabase.LOGIC_NAME,
database), mock(ResourceMetaData.class), mock(RuleMetaData.class),
mock(ConfigurationProperties.class));
return new InsertStatementContext(metaData, params, insertStatement,
DefaultDatabase.LOGIC_NAME);
}
}
diff --git
a/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/manager/GenericSchemaManager.java
b/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/manager/GenericSchemaManager.java
index 60d4f531e88..4536a71d19d 100644
---
a/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/manager/GenericSchemaManager.java
+++
b/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/manager/GenericSchemaManager.java
@@ -25,7 +25,6 @@ import
org.apache.shardingsphere.infra.metadata.database.schema.model.ShardingSp
import java.util.Collection;
import java.util.LinkedList;
-import java.util.Map;
import java.util.stream.Collectors;
/**
@@ -35,21 +34,21 @@ import java.util.stream.Collectors;
public final class GenericSchemaManager {
/**
- * Get to be added tables by schemas.
+ * Get to be added schemas.
*
* @param reloadDatabase reload database
* @param currentDatabase current database
- * @return To be added table meta data
+ * @return to be added schemas
*/
- public static Collection<ShardingSphereSchema>
getToBeAddedTablesBySchemas(final ShardingSphereDatabase reloadDatabase, final
ShardingSphereDatabase currentDatabase) {
+ public static Collection<ShardingSphereSchema> getToBeAddedSchemas(final
ShardingSphereDatabase reloadDatabase, final ShardingSphereDatabase
currentDatabase) {
Collection<ShardingSphereSchema> result = new LinkedList<>();
reloadDatabase.getAllSchemas().stream().filter(each ->
!currentDatabase.containsSchema(each.getName())).forEach(result::add);
reloadDatabase.getAllSchemas().stream().filter(each ->
currentDatabase.containsSchema(each.getName())).collect(Collectors.toList())
- .forEach(each -> result.add(getToBeAddedTablesBySchema(each,
currentDatabase.getSchema(each.getName()))));
+ .forEach(each -> result.add(getToBeAddedSchema(each,
currentDatabase.getSchema(each.getName()))));
return result;
}
- private static ShardingSphereSchema getToBeAddedTablesBySchema(final
ShardingSphereSchema reloadSchema, final ShardingSphereSchema currentSchema) {
+ private static ShardingSphereSchema getToBeAddedSchema(final
ShardingSphereSchema reloadSchema, final ShardingSphereSchema currentSchema) {
return new ShardingSphereSchema(currentSchema.getName(),
getToBeAddedTables(reloadSchema, currentSchema), new LinkedList<>());
}
@@ -73,7 +72,7 @@ public final class GenericSchemaManager {
*/
public static Collection<ShardingSphereSchema>
getToBeDroppedTablesBySchemas(final ShardingSphereDatabase reloadDatabase,
final ShardingSphereDatabase currentDatabase) {
Collection<ShardingSphereSchema> result = new LinkedList<>();
- currentDatabase.getAllSchemas().stream().filter(entry ->
reloadDatabase.containsSchema(entry.getName())).collect(Collectors.toMap(ShardingSphereSchema::getName,
each -> each))
+ currentDatabase.getAllSchemas().stream().filter(each ->
reloadDatabase.containsSchema(each.getName())).collect(Collectors.toMap(ShardingSphereSchema::getName,
each -> each))
.forEach((key, value) ->
result.add(getToBeDroppedTablesBySchema(reloadDatabase.getSchema(key), value)));
return result;
}
@@ -94,13 +93,13 @@ public final class GenericSchemaManager {
}
/**
- * Get to be dropped schemas.
+ * Get to be dropped schema names.
*
* @param reloadDatabase reload database
* @param currentDatabase current database
- * @return to be dropped schemas
+ * @return to be dropped schema names
*/
- public static Map<String, ShardingSphereSchema>
getToBeDroppedSchemas(final ShardingSphereDatabase reloadDatabase, final
ShardingSphereDatabase currentDatabase) {
- return currentDatabase.getAllSchemas().stream().filter(each ->
!reloadDatabase.containsSchema(each.getName())).collect(Collectors.toMap(ShardingSphereSchema::getName,
each -> each));
+ public static Collection<String> getToBeDroppedSchemaNames(final
ShardingSphereDatabase reloadDatabase, final ShardingSphereDatabase
currentDatabase) {
+ return
currentDatabase.getAllSchemas().stream().map(ShardingSphereSchema::getName).filter(each
-> !reloadDatabase.containsSchema(each)).collect(Collectors.toSet());
}
}
diff --git
a/infra/common/src/test/java/org/apache/shardingsphere/infra/metadata/database/schema/manager/GenericSchemaManagerTest.java
b/infra/common/src/test/java/org/apache/shardingsphere/infra/metadata/database/schema/manager/GenericSchemaManagerTest.java
index fd562bbd522..36d907c0c9b 100644
---
a/infra/common/src/test/java/org/apache/shardingsphere/infra/metadata/database/schema/manager/GenericSchemaManagerTest.java
+++
b/infra/common/src/test/java/org/apache/shardingsphere/infra/metadata/database/schema/manager/GenericSchemaManagerTest.java
@@ -25,7 +25,6 @@ import org.junit.jupiter.api.Test;
import java.util.Collection;
import java.util.Collections;
-import java.util.Map;
import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.MatcherAssert.assertThat;
@@ -36,7 +35,7 @@ import static org.mockito.Mockito.when;
class GenericSchemaManagerTest {
@Test
- void assertGetToBeAddedTablesBySchemas() {
+ void assertGetToBeAddedSchemas() {
ShardingSphereDatabase reloadDatabase =
mock(ShardingSphereDatabase.class);
when(reloadDatabase.getAllSchemas()).thenReturn(Collections.singleton(new
ShardingSphereSchema("foo_schema",
Collections.singleton(new ShardingSphereTable("foo_tbl",
Collections.emptyList(), Collections.emptyList(), Collections.emptyList())),
Collections.emptyList())));
@@ -45,7 +44,7 @@ class GenericSchemaManagerTest {
when(currentDatabase.getAllSchemas()).thenReturn(Collections.singleton(currentSchemas));
when(currentDatabase.containsSchema("foo_schema")).thenReturn(true);
when(currentDatabase.getSchema("foo_schema")).thenReturn(currentSchemas);
- Collection<ShardingSphereSchema> actual =
GenericSchemaManager.getToBeAddedTablesBySchemas(reloadDatabase,
currentDatabase);
+ Collection<ShardingSphereSchema> actual =
GenericSchemaManager.getToBeAddedSchemas(reloadDatabase, currentDatabase);
assertThat(actual.size(), is(1));
assertThat(actual.iterator().next().getAllTables().size(), is(1));
assertTrue(actual.iterator().next().containsTable("foo_tbl"));
@@ -85,13 +84,10 @@ class GenericSchemaManagerTest {
}
@Test
- void assertGetToBeDroppedSchemas() {
+ void assertGetToBeDroppedSchemaNames() {
ShardingSphereDatabase currentDatabase =
mock(ShardingSphereDatabase.class);
when(currentDatabase.getAllSchemas()).thenReturn(Collections.singleton(new
ShardingSphereSchema("foo_schema")));
- Map<String, ShardingSphereSchema> actual =
-
GenericSchemaManager.getToBeDroppedSchemas(mock(ShardingSphereDatabase.class),
currentDatabase);
- assertThat(actual.size(), is(1));
- assertTrue(actual.containsKey("foo_schema"));
-
+ Collection<String> actual =
GenericSchemaManager.getToBeDroppedSchemaNames(mock(ShardingSphereDatabase.class),
currentDatabase);
+ assertThat(actual, is(Collections.singleton("foo_schema")));
}
}
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 49dd77ff782..8267488ab96 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
@@ -150,7 +150,7 @@ public final class MetaDataPersistService {
*/
public void persistReloadDatabaseByAlter(final String databaseName, final
ShardingSphereDatabase reloadDatabase, final ShardingSphereDatabase
currentDatabase) {
Collection<ShardingSphereSchema> toBeDeletedSchemas =
GenericSchemaManager.getToBeDroppedTablesBySchemas(reloadDatabase,
currentDatabase);
- Collection<ShardingSphereSchema> toBeAddedSchemas =
GenericSchemaManager.getToBeAddedTablesBySchemas(reloadDatabase,
currentDatabase);
+ Collection<ShardingSphereSchema> toBeAddedSchemas =
GenericSchemaManager.getToBeAddedSchemas(reloadDatabase, currentDatabase);
toBeAddedSchemas.forEach(each ->
databaseMetaDataFacade.getSchema().alterByRuleAltered(databaseName, each));
toBeDeletedSchemas.forEach(each ->
databaseMetaDataFacade.getTable().drop(databaseName, each.getName(),
each.getAllTables()));
}
@@ -164,7 +164,7 @@ public final class MetaDataPersistService {
*/
public void persistReloadDatabaseByDrop(final String databaseName, final
ShardingSphereDatabase reloadDatabase, final ShardingSphereDatabase
currentDatabase) {
Collection<ShardingSphereSchema> toBeAlterSchemas =
GenericSchemaManager.getToBeDroppedTablesBySchemas(reloadDatabase,
currentDatabase);
- Collection<ShardingSphereSchema> toBeAddedSchemas =
GenericSchemaManager.getToBeAddedTablesBySchemas(reloadDatabase,
currentDatabase);
+ Collection<ShardingSphereSchema> toBeAddedSchemas =
GenericSchemaManager.getToBeAddedSchemas(reloadDatabase, currentDatabase);
toBeAddedSchemas.forEach(each ->
databaseMetaDataFacade.getSchema().alterByRuleDropped(databaseName, each));
toBeAlterSchemas.forEach(each ->
databaseMetaDataFacade.getTable().drop(databaseName, each.getName(),
each.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 8cb2153dfd7..e7f0f6a1f62 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
@@ -149,7 +149,7 @@ class MetaDataPersistServiceTest {
ShardingSphereSchema toBeDeletedSchema = new
ShardingSphereSchema("to_be_deleted");
ShardingSphereSchema toBeAddedSchema = new
ShardingSphereSchema("to_be_added");
when(GenericSchemaManager.getToBeDroppedTablesBySchemas(any(),
any())).thenReturn(Collections.singleton(toBeDeletedSchema));
- when(GenericSchemaManager.getToBeAddedTablesBySchemas(any(),
any())).thenReturn(Collections.singleton(toBeAddedSchema));
+ when(GenericSchemaManager.getToBeAddedSchemas(any(),
any())).thenReturn(Collections.singleton(toBeAddedSchema));
metaDataPersistService.persistReloadDatabaseByAlter("foo_db",
mock(ShardingSphereDatabase.class), mock(ShardingSphereDatabase.class));
verify(databaseMetaDataFacade.getSchema()).alterByRuleAltered("foo_db",
toBeAddedSchema);
verify(databaseMetaDataFacade.getTable()).drop(eq("foo_db"),
eq("to_be_deleted"), anyCollection());
@@ -160,7 +160,7 @@ class MetaDataPersistServiceTest {
ShardingSphereSchema toBeDeletedSchema = new
ShardingSphereSchema("to_be_deleted");
ShardingSphereSchema toBeAlterSchema = new
ShardingSphereSchema("to_be_altered");
when(GenericSchemaManager.getToBeDroppedTablesBySchemas(any(),
any())).thenReturn(Collections.singleton(toBeDeletedSchema));
- when(GenericSchemaManager.getToBeAddedTablesBySchemas(any(),
any())).thenReturn(Collections.singleton(toBeAlterSchema));
+ when(GenericSchemaManager.getToBeAddedSchemas(any(),
any())).thenReturn(Collections.singleton(toBeAlterSchema));
metaDataPersistService.persistReloadDatabaseByDrop("foo_db",
mock(ShardingSphereDatabase.class), mock(ShardingSphereDatabase.class));
verify(databaseMetaDataFacade.getSchema()).alterByRuleDropped("foo_db",
toBeAlterSchema);
verify(databaseMetaDataFacade.getTable()).drop(eq("foo_db"),
eq("to_be_deleted"), anyCollection());
diff --git
a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/MetaDataContextManager.java
b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/MetaDataContextManager.java
index 7462296debb..4771fd5f1ca 100644
---
a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/MetaDataContextManager.java
+++
b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/MetaDataContextManager.java
@@ -96,8 +96,7 @@ public class MetaDataContextManager {
* @param currentDatabase current database
*/
public void dropSchemas(final String databaseName, final
ShardingSphereDatabase reloadDatabase, final ShardingSphereDatabase
currentDatabase) {
- GenericSchemaManager.getToBeDroppedSchemas(reloadDatabase,
currentDatabase)
- .keySet().forEach(each ->
metaDataPersistService.getDatabaseMetaDataFacade().getSchema().drop(databaseName,
each));
+ GenericSchemaManager.getToBeDroppedSchemaNames(reloadDatabase,
currentDatabase).forEach(each ->
metaDataPersistService.getDatabaseMetaDataFacade().getSchema().drop(databaseName,
each));
}
/**