This is an automated email from the ASF dual-hosted git repository.
duanzhengqiang 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 3ab9efb persist schema tables node when create database (#14138)
3ab9efb is described below
commit 3ab9efb6fbd91b8de5704cb5683ee34a796c44f8
Author: Haoran Meng <[email protected]>
AuthorDate: Fri Dec 17 18:27:17 2021 +0800
persist schema tables node when create database (#14138)
Co-authored-by: shardingsphere <[email protected]>
---
.../org/apache/shardingsphere/mode/manager/ContextManager.java | 2 +-
.../metadata/persist/service/SchemaMetaDataPersistService.java | 9 +++++++++
.../service/SchemaMetaDataMetaDataPersistServiceTest.java | 6 ++++++
3 files changed, 16 insertions(+), 1 deletion(-)
diff --git
a/shardingsphere-mode/shardingsphere-mode-core/src/main/java/org/apache/shardingsphere/mode/manager/ContextManager.java
b/shardingsphere-mode/shardingsphere-mode-core/src/main/java/org/apache/shardingsphere/mode/manager/ContextManager.java
index 659d420..1def3dc 100644
---
a/shardingsphere-mode/shardingsphere-mode-core/src/main/java/org/apache/shardingsphere/mode/manager/ContextManager.java
+++
b/shardingsphere-mode/shardingsphere-mode-core/src/main/java/org/apache/shardingsphere/mode/manager/ContextManager.java
@@ -128,7 +128,7 @@ public final class ContextManager implements AutoCloseable {
metaDataContexts.getOptimizerContext().getFederationMetaData().getSchemas().put(schemaName,
newMetaDataContexts.getOptimizerContext().getFederationMetaData().getSchemas().get(schemaName));
metaDataContexts.getMetaDataMap().put(schemaName,
newMetaDataContexts.getMetaData(schemaName));
- metaDataContexts.getMetaDataPersistService().ifPresent(optional ->
optional.getSchemaMetaDataService().persist(schemaName, null));
+ metaDataContexts.getMetaDataPersistService().ifPresent(optional ->
optional.getSchemaMetaDataService().persist(schemaName));
}
/**
diff --git
a/shardingsphere-mode/shardingsphere-mode-core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/service/SchemaMetaDataPersistService.java
b/shardingsphere-mode/shardingsphere-mode-core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/service/SchemaMetaDataPersistService.java
index 2654730..03ffafd 100644
---
a/shardingsphere-mode/shardingsphere-mode-core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/service/SchemaMetaDataPersistService.java
+++
b/shardingsphere-mode/shardingsphere-mode-core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/service/SchemaMetaDataPersistService.java
@@ -56,6 +56,15 @@ public final class SchemaMetaDataPersistService {
}
/**
+ * Persist schema tables.
+ *
+ * @param schemaName schema name
+ */
+ public void persist(final String schemaName) {
+
repository.persist(SchemaMetaDataNode.getMetaDataTablesPath(schemaName), "");
+ }
+
+ /**
* Delete schema.
*
* @param schemaName schema name to be deleted
diff --git
a/shardingsphere-mode/shardingsphere-mode-core/src/test/java/org/apache/shardingsphere/mode/metadata/persist/service/SchemaMetaDataMetaDataPersistServiceTest.java
b/shardingsphere-mode/shardingsphere-mode-core/src/test/java/org/apache/shardingsphere/mode/metadata/persist/service/SchemaMetaDataMetaDataPersistServiceTest.java
index 654aa11..2ecb31f 100644
---
a/shardingsphere-mode/shardingsphere-mode-core/src/test/java/org/apache/shardingsphere/mode/metadata/persist/service/SchemaMetaDataMetaDataPersistServiceTest.java
+++
b/shardingsphere-mode/shardingsphere-mode-core/src/test/java/org/apache/shardingsphere/mode/metadata/persist/service/SchemaMetaDataMetaDataPersistServiceTest.java
@@ -65,6 +65,12 @@ public final class SchemaMetaDataMetaDataPersistServiceTest {
}
@Test
+ public void assertPersistSchemaTables() {
+ new SchemaMetaDataPersistService(repository).persist("foo_db");
+ verify(repository).persist(eq("/metadata/foo_db/tables"), anyString());
+ }
+
+ @Test
public void assertDelete() {
new SchemaMetaDataPersistService(repository).delete("foo_db");
verify(repository).delete("/metadata/foo_db");