You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by zh...@apache.org on 2023/06/25 13:32:12 UTC
[shardingsphere] branch master updated: Refactor meta data persist default active version (#26550)
This is an automated email from the ASF dual-hosted git repository.
zhaojinchao 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 6b38c4974fa Refactor meta data persist default active version (#26550)
6b38c4974fa is described below
commit 6b38c4974fab651609075b0a0ce0cde7f8edbd6a
Author: ChenJiaHao <Pa...@163.com>
AuthorDate: Sun Jun 25 21:32:06 2023 +0800
Refactor meta data persist default active version (#26550)
* Refactor meta data persist default active version
* Refactor meta data persist default active version
---
.../service/config/database/NewDataSourcePersistService.java | 12 ++++++------
.../config/database/NewDatabaseRulePersistService.java | 6 +++---
.../service/config/global/NewGlobalRulePersistService.java | 6 +++---
.../service/schema/NewTableMetaDataPersistService.java | 12 ++++++------
.../service/schema/NewViewMetaDataPersistService.java | 12 ++++++------
5 files changed, 24 insertions(+), 24 deletions(-)
diff --git a/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/service/config/database/NewDataSourcePersistService.java b/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/service/config/database/NewDataSourcePersistService.java
index 6f17d971306..e3ea91e27a3 100644
--- a/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/service/config/database/NewDataSourcePersistService.java
+++ b/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/service/config/database/NewDataSourcePersistService.java
@@ -49,13 +49,13 @@ public final class NewDataSourcePersistService implements DatabaseBasedPersistSe
public void persist(final String databaseName, final Map<String, DataSourceProperties> dataSourceConfigs) {
for (Entry<String, DataSourceProperties> entry : dataSourceConfigs.entrySet()) {
String activeVersion = getDataSourceActiveVersion(databaseName, entry.getKey());
- if (Strings.isNullOrEmpty(activeVersion)) {
- repository.persist(NewDatabaseMetaDataNode.getDataSourceActiveVersionNode(databaseName, entry.getKey()), DEFAULT_VERSION);
- }
List<String> versions = repository.getChildrenKeys(NewDatabaseMetaDataNode.getDataSourceVersionsNode(databaseName, entry.getKey()));
repository.persist(NewDatabaseMetaDataNode.getDataSourceNodeWithVersion(databaseName, entry.getKey(), versions.isEmpty()
? DEFAULT_VERSION
: String.valueOf(Integer.parseInt(versions.get(0)) + 1)), YamlEngine.marshal(new YamlDataSourceConfigurationSwapper().swapToMap(entry.getValue())));
+ if (Strings.isNullOrEmpty(activeVersion)) {
+ repository.persist(NewDatabaseMetaDataNode.getDataSourceActiveVersionNode(databaseName, entry.getKey()), DEFAULT_VERSION);
+ }
}
}
@@ -70,13 +70,13 @@ public final class NewDataSourcePersistService implements DatabaseBasedPersistSe
public Collection<MetaDataVersion> persistConfig(final String databaseName, final Map<String, DataSourceProperties> dataSourceConfigs) {
Collection<MetaDataVersion> result = new LinkedList<>();
for (Entry<String, DataSourceProperties> entry : dataSourceConfigs.entrySet()) {
- if (Strings.isNullOrEmpty(getDataSourceActiveVersion(databaseName, entry.getKey()))) {
- repository.persist(NewDatabaseMetaDataNode.getDataSourceActiveVersionNode(databaseName, entry.getKey()), DEFAULT_VERSION);
- }
List<String> versions = repository.getChildrenKeys(NewDatabaseMetaDataNode.getDataSourceVersionsNode(databaseName, entry.getKey()));
String nextActiveVersion = versions.isEmpty() ? DEFAULT_VERSION : String.valueOf(Integer.parseInt(versions.get(0)) + 1);
repository.persist(NewDatabaseMetaDataNode.getDataSourceNodeWithVersion(databaseName, entry.getKey(), nextActiveVersion),
YamlEngine.marshal(new YamlDataSourceConfigurationSwapper().swapToMap(entry.getValue())));
+ if (Strings.isNullOrEmpty(getDataSourceActiveVersion(databaseName, entry.getKey()))) {
+ repository.persist(NewDatabaseMetaDataNode.getDataSourceActiveVersionNode(databaseName, entry.getKey()), DEFAULT_VERSION);
+ }
result.add(new MetaDataVersion(NewDatabaseMetaDataNode.getDataSourceNode(databaseName, entry.getKey()),
getDataSourceActiveVersion(databaseName, entry.getKey()), nextActiveVersion));
}
diff --git a/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/service/config/database/NewDatabaseRulePersistService.java b/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/service/config/database/NewDatabaseRulePersistService.java
index 22675179cf2..e544a7995e6 100644
--- a/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/service/config/database/NewDatabaseRulePersistService.java
+++ b/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/service/config/database/NewDatabaseRulePersistService.java
@@ -80,12 +80,12 @@ public final class NewDatabaseRulePersistService extends AbstractPersistService
private Collection<MetaDataVersion> persistDataNodes(final String databaseName, final String ruleName, final Collection<YamlDataNode> dataNodes) {
Collection<MetaDataVersion> result = new LinkedList<>();
for (YamlDataNode each : dataNodes) {
- if (Strings.isNullOrEmpty(getActiveVersion(databaseName, ruleName, each.getKey()))) {
- repository.persist(NewDatabaseMetaDataNode.getDatabaseRuleActiveVersionNode(databaseName, ruleName, each.getKey()), DEFAULT_VERSION);
- }
List<String> versions = repository.getChildrenKeys(NewDatabaseMetaDataNode.getDatabaseRuleVersionsNode(databaseName, ruleName, each.getKey()));
String nextVersion = versions.isEmpty() ? DEFAULT_VERSION : String.valueOf(Integer.parseInt(versions.get(0)) + 1);
repository.persist(NewDatabaseMetaDataNode.getDatabaseRuleVersionNode(databaseName, ruleName, each.getKey(), nextVersion), each.getValue());
+ if (Strings.isNullOrEmpty(getActiveVersion(databaseName, ruleName, each.getKey()))) {
+ repository.persist(NewDatabaseMetaDataNode.getDatabaseRuleActiveVersionNode(databaseName, ruleName, each.getKey()), DEFAULT_VERSION);
+ }
result.add(new MetaDataVersion(NewDatabaseMetaDataNode.getDatabaseRuleNode(databaseName, ruleName, each.getKey()), getActiveVersion(databaseName, ruleName, each.getKey()), nextVersion));
}
return result;
diff --git a/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/service/config/global/NewGlobalRulePersistService.java b/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/service/config/global/NewGlobalRulePersistService.java
index 8b108d9f0b2..a9013bb6bdd 100644
--- a/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/service/config/global/NewGlobalRulePersistService.java
+++ b/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/service/config/global/NewGlobalRulePersistService.java
@@ -85,13 +85,13 @@ public final class NewGlobalRulePersistService extends AbstractPersistService im
private Collection<MetaDataVersion> persistDataNodes(final Collection<YamlDataNode> dataNodes) {
Collection<MetaDataVersion> result = new LinkedList<>();
for (YamlDataNode each : dataNodes) {
- if (Strings.isNullOrEmpty(getActiveVersion(each.getKey()))) {
- repository.persist(NewGlobalNode.getGlobalRuleActiveVersionNode(each.getKey()), DEFAULT_VERSION);
- }
List<String> versions = repository.getChildrenKeys(NewGlobalNode.getGlobalRuleVersionsNode(each.getKey()));
String nextActiveVersion = versions.isEmpty() ? DEFAULT_VERSION : String.valueOf(Integer.parseInt(versions.get(0)) + 1);
String persistKey = NewGlobalNode.getGlobalRuleVersionNode(each.getKey(), nextActiveVersion);
repository.persist(persistKey, each.getValue());
+ if (Strings.isNullOrEmpty(getActiveVersion(NewGlobalNode.getGlobalRuleActiveVersionNode(each.getKey())))) {
+ repository.persist(NewGlobalNode.getGlobalRuleActiveVersionNode(each.getKey()), DEFAULT_VERSION);
+ }
result.add(new MetaDataVersion(persistKey, NewGlobalNode.getGlobalRuleActiveVersionNode(each.getKey()), nextActiveVersion));
}
return result;
diff --git a/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/service/schema/NewTableMetaDataPersistService.java b/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/service/schema/NewTableMetaDataPersistService.java
index e0d48b362eb..3d83d9400ac 100644
--- a/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/service/schema/NewTableMetaDataPersistService.java
+++ b/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/service/schema/NewTableMetaDataPersistService.java
@@ -51,13 +51,13 @@ public final class NewTableMetaDataPersistService implements SchemaMetaDataPersi
public void persist(final String databaseName, final String schemaName, final Map<String, ShardingSphereTable> tables) {
for (Entry<String, ShardingSphereTable> entry : tables.entrySet()) {
String tableName = entry.getKey().toLowerCase();
- if (Strings.isNullOrEmpty(repository.getDirectly(NewDatabaseMetaDataNode.getTableActiveVersionNode(databaseName, schemaName, tableName)))) {
- repository.persist(NewDatabaseMetaDataNode.getTableActiveVersionNode(databaseName, schemaName, tableName), DEFAULT_VERSION);
- }
List<String> versions = repository.getChildrenKeys(NewDatabaseMetaDataNode.getTableVersionsNode(databaseName, schemaName, tableName));
repository.persist(NewDatabaseMetaDataNode.getTableVersionNode(databaseName, schemaName, tableName, versions.isEmpty()
? DEFAULT_VERSION
: String.valueOf(Integer.parseInt(versions.get(0)) + 1)), YamlEngine.marshal(new YamlTableSwapper().swapToYamlConfiguration(entry.getValue())));
+ if (Strings.isNullOrEmpty(repository.getDirectly(NewDatabaseMetaDataNode.getTableActiveVersionNode(databaseName, schemaName, tableName)))) {
+ repository.persist(NewDatabaseMetaDataNode.getTableActiveVersionNode(databaseName, schemaName, tableName), DEFAULT_VERSION);
+ }
}
}
@@ -66,13 +66,13 @@ public final class NewTableMetaDataPersistService implements SchemaMetaDataPersi
Collection<MetaDataVersion> result = new LinkedList<>();
for (Entry<String, ShardingSphereTable> entry : tables.entrySet()) {
String tableName = entry.getKey().toLowerCase();
- if (Strings.isNullOrEmpty(getActiveVersion(databaseName, schemaName, tableName))) {
- repository.persist(NewDatabaseMetaDataNode.getTableActiveVersionNode(databaseName, schemaName, tableName), DEFAULT_VERSION);
- }
List<String> versions = repository.getChildrenKeys(NewDatabaseMetaDataNode.getTableVersionsNode(databaseName, schemaName, tableName));
String nextActiveVersion = versions.isEmpty() ? DEFAULT_VERSION : String.valueOf(Integer.parseInt(versions.get(0)) + 1);
repository.persist(NewDatabaseMetaDataNode.getTableVersionNode(databaseName, schemaName, tableName, nextActiveVersion),
YamlEngine.marshal(new YamlTableSwapper().swapToYamlConfiguration(entry.getValue())));
+ if (Strings.isNullOrEmpty(getActiveVersion(databaseName, schemaName, tableName))) {
+ repository.persist(NewDatabaseMetaDataNode.getTableActiveVersionNode(databaseName, schemaName, tableName), DEFAULT_VERSION);
+ }
result.add(new MetaDataVersion(NewDatabaseMetaDataNode.getTableNode(databaseName, schemaName, tableName),
getActiveVersion(databaseName, schemaName, tableName), nextActiveVersion));
}
diff --git a/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/service/schema/NewViewMetaDataPersistService.java b/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/service/schema/NewViewMetaDataPersistService.java
index 34ab8649eeb..ce42cb6e3f9 100644
--- a/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/service/schema/NewViewMetaDataPersistService.java
+++ b/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/service/schema/NewViewMetaDataPersistService.java
@@ -51,13 +51,13 @@ public final class NewViewMetaDataPersistService implements SchemaMetaDataPersis
public void persist(final String databaseName, final String schemaName, final Map<String, ShardingSphereView> views) {
for (Entry<String, ShardingSphereView> entry : views.entrySet()) {
String viewName = entry.getKey().toLowerCase();
- if (Strings.isNullOrEmpty(repository.getDirectly(NewDatabaseMetaDataNode.getViewActiveVersionNode(databaseName, schemaName, viewName)))) {
- repository.persist(NewDatabaseMetaDataNode.getViewActiveVersionNode(databaseName, schemaName, viewName), DEFAULT_VERSION);
- }
List<String> versions = repository.getChildrenKeys(NewDatabaseMetaDataNode.getViewVersionsNode(databaseName, schemaName, viewName));
repository.persist(NewDatabaseMetaDataNode.getViewVersionNode(databaseName, schemaName, viewName, versions.isEmpty()
? DEFAULT_VERSION
: String.valueOf(Integer.parseInt(versions.get(0)) + 1)), YamlEngine.marshal(new YamlViewSwapper().swapToYamlConfiguration(entry.getValue())));
+ if (Strings.isNullOrEmpty(repository.getDirectly(NewDatabaseMetaDataNode.getViewActiveVersionNode(databaseName, schemaName, viewName)))) {
+ repository.persist(NewDatabaseMetaDataNode.getViewActiveVersionNode(databaseName, schemaName, viewName), DEFAULT_VERSION);
+ }
}
}
@@ -66,15 +66,15 @@ public final class NewViewMetaDataPersistService implements SchemaMetaDataPersis
Collection<MetaDataVersion> result = new LinkedList<>();
for (Entry<String, ShardingSphereView> entry : views.entrySet()) {
String viewName = entry.getKey().toLowerCase();
- if (Strings.isNullOrEmpty(getActiveVersion(databaseName, schemaName, viewName))) {
- repository.persist(NewDatabaseMetaDataNode.getViewActiveVersionNode(databaseName, schemaName, viewName), DEFAULT_VERSION);
- }
List<String> versions = repository.getChildrenKeys(NewDatabaseMetaDataNode.getViewVersionsNode(databaseName, schemaName, viewName));
String nextActiveVersion = NewDatabaseMetaDataNode.getViewVersionNode(databaseName, schemaName, viewName, versions.isEmpty()
? DEFAULT_VERSION
: String.valueOf(Integer.parseInt(versions.get(0)) + 1));
repository.persist(NewDatabaseMetaDataNode.getViewVersionNode(databaseName, schemaName, viewName, nextActiveVersion),
YamlEngine.marshal(new YamlViewSwapper().swapToYamlConfiguration(entry.getValue())));
+ if (Strings.isNullOrEmpty(getActiveVersion(databaseName, schemaName, viewName))) {
+ repository.persist(NewDatabaseMetaDataNode.getViewActiveVersionNode(databaseName, schemaName, viewName), DEFAULT_VERSION);
+ }
result.add(new MetaDataVersion(NewDatabaseMetaDataNode.getViewNode(databaseName, schemaName, viewName),
getActiveVersion(databaseName, schemaName, viewName), nextActiveVersion));
}