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 c55d1c0d873 Refactor TableMetaDataNodePath and ViewMetaDataNodePath
(#34278)
c55d1c0d873 is described below
commit c55d1c0d87361b0885a9407999f28228877baa2c
Author: Liang Zhang <[email protected]>
AuthorDate: Wed Jan 8 02:11:20 2025 +0800
Refactor TableMetaDataNodePath and ViewMetaDataNodePath (#34278)
* Refactor TableMetaDataNodePath and ViewMetaDataNodePath
* Refactor TableMetaDataNodePath and ViewMetaDataNodePath
---
...etaDataNode.java => TableMetaDataNodePath.java} | 78 +++++++++----------
...MetaDataNode.java => ViewMetaDataNodePath.java} | 74 +++++++++---------
.../table/TableMetaDataPersistService.java | 22 +++---
.../metadata/table/ViewMetaDataPersistService.java | 20 ++---
.../node/metadata/TableMetaDataNodePathTest.java | 89 ++++++++++++++++++++++
.../node/metadata/TableMetaDataNodeTest.java | 89 ----------------------
.../node/metadata/ViewMetaDataNodePathTest.java | 89 ++++++++++++++++++++++
.../node/metadata/ViewMetaDataNodeTest.java | 89 ----------------------
.../database/metadata/MetaDataChangedHandler.java | 16 ++--
.../database/metadata/TableChangedHandler.java | 6 +-
.../database/metadata/ViewChangedHandler.java | 6 +-
11 files changed, 286 insertions(+), 292 deletions(-)
diff --git
a/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/node/metadata/TableMetaDataNode.java
b/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/node/metadata/TableMetaDataNodePath.java
similarity index 56%
rename from
kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/node/metadata/TableMetaDataNode.java
rename to
kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/node/metadata/TableMetaDataNodePath.java
index 8740be20ec2..4f86e15cc5b 100644
---
a/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/node/metadata/TableMetaDataNode.java
+++
b/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/node/metadata/TableMetaDataNodePath.java
@@ -25,20 +25,20 @@ import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
- * Table meta data node.
+ * Table meta data node path.
*/
@NoArgsConstructor(access = AccessLevel.PRIVATE)
-public final class TableMetaDataNode {
+public final class TableMetaDataNodePath {
- private static final String ROOT_NODE = "metadata";
+ private static final String ROOT_NODE = "/metadata";
private static final String SCHEMAS_NODE = "schemas";
private static final String TABLES_NODE = "tables";
- private static final String ACTIVE_VERSION = "active_version";
+ private static final String VERSIONS_NODE = "versions";
- private static final String VERSIONS = "versions";
+ private static final String ACTIVE_VERSION_NODE = "active_version";
private static final String TABLES_PATTERN =
"/([\\w\\-]+)/schemas/([\\w\\-]+)/tables";
@@ -47,110 +47,106 @@ public final class TableMetaDataNode {
private static final String TABLE_SUFFIX = "/([\\w\\-]+)$";
/**
- * Get meta data tables node.
+ * Get meta data tables path.
*
* @param databaseName database name
* @param schemaName schema name
* @return tables path
*/
- public static String getMetaDataTablesNode(final String databaseName,
final String schemaName) {
- return String.join("/", getMetaDataNode(), databaseName, SCHEMAS_NODE,
schemaName, TABLES_NODE);
+ public static String getMetaDataTablesPath(final String databaseName,
final String schemaName) {
+ return String.join("/", ROOT_NODE, databaseName, SCHEMAS_NODE,
schemaName, TABLES_NODE);
}
/**
- * Get table active version node.
+ * Get table active version path.
*
* @param databaseName database name
* @param schemaName schema name
* @param tableName table name
- * @return tables active version node
+ * @return tables active version path
*/
- public static String getTableActiveVersionNode(final String databaseName,
final String schemaName, final String tableName) {
- return String.join("/", getMetaDataNode(), databaseName, SCHEMAS_NODE,
schemaName, TABLES_NODE, tableName, ACTIVE_VERSION);
+ public static String getTableActiveVersionPath(final String databaseName,
final String schemaName, final String tableName) {
+ return String.join("/", ROOT_NODE, databaseName, SCHEMAS_NODE,
schemaName, TABLES_NODE, tableName, ACTIVE_VERSION_NODE);
}
/**
- * Get table versions node.
+ * Get table versions path.
*
* @param databaseName database name
* @param schemaName schema name
* @param tableName table name
- * @return tables versions node
+ * @return tables versions path
*/
- public static String getTableVersionsNode(final String databaseName, final
String schemaName, final String tableName) {
- return String.join("/", getMetaDataNode(), databaseName, SCHEMAS_NODE,
schemaName, TABLES_NODE, tableName, VERSIONS);
+ public static String getTableVersionsPath(final String databaseName, final
String schemaName, final String tableName) {
+ return String.join("/", ROOT_NODE, databaseName, SCHEMAS_NODE,
schemaName, TABLES_NODE, tableName, VERSIONS_NODE);
}
/**
- * Get table version node.
+ * Get table version path.
*
* @param databaseName database name
* @param schemaName schema name
* @param tableName table name
* @param version version
- * @return table version node
+ * @return table version path
*/
- public static String getTableVersionNode(final String databaseName, final
String schemaName, final String tableName, final String version) {
- return String.join("/", getTableVersionsNode(databaseName, schemaName,
tableName), version);
+ public static String getTableVersionPath(final String databaseName, final
String schemaName, final String tableName, final String version) {
+ return String.join("/", getTableVersionsPath(databaseName, schemaName,
tableName), version);
}
/**
- * Get table node.
+ * Get table path.
*
* @param databaseName database name
* @param schemaName schema name
* @param tableName table name
- * @return table node
+ * @return table path
*/
- public static String getTableNode(final String databaseName, final String
schemaName, final String tableName) {
- return String.join("/", getMetaDataNode(), databaseName, SCHEMAS_NODE,
schemaName, TABLES_NODE, tableName);
+ public static String getTablePath(final String databaseName, final String
schemaName, final String tableName) {
+ return String.join("/", ROOT_NODE, databaseName, SCHEMAS_NODE,
schemaName, TABLES_NODE, tableName);
}
/**
- * Get table name by active version node.
+ * Get table name by active version path.
*
* @param path path
* @return table name
*/
- public static Optional<String> getTableNameByActiveVersionNode(final
String path) {
- Pattern pattern = Pattern.compile(getMetaDataNode() + TABLES_PATTERN +
ACTIVE_VERSION_SUFFIX, Pattern.CASE_INSENSITIVE);
+ public static Optional<String> getTableNameByActiveVersionPath(final
String path) {
+ Pattern pattern = Pattern.compile(ROOT_NODE + TABLES_PATTERN +
ACTIVE_VERSION_SUFFIX, Pattern.CASE_INSENSITIVE);
Matcher matcher = pattern.matcher(path);
return matcher.find() ? Optional.of(matcher.group(3)) :
Optional.empty();
}
/**
- * Get table name.
+ * Find table name.
*
* @param path path
- * @return table name
+ * @return found table name
*/
- public static Optional<String> getTableName(final String path) {
- Pattern pattern = Pattern.compile(getMetaDataNode() + TABLES_PATTERN +
"/([\\w\\-]+)$", Pattern.CASE_INSENSITIVE);
+ public static Optional<String> findTableName(final String path) {
+ Pattern pattern = Pattern.compile(ROOT_NODE + TABLES_PATTERN +
"/([\\w\\-]+)$", Pattern.CASE_INSENSITIVE);
Matcher matcher = pattern.matcher(path);
return matcher.find() ? Optional.of(matcher.group(3)) :
Optional.empty();
}
/**
- * Is table active version node.
+ * Is table active version path.
*
* @param path path
* @return true or false
*/
- public static boolean isTableActiveVersionNode(final String path) {
- return Pattern.compile(getMetaDataNode() + TABLES_PATTERN +
ACTIVE_VERSION_SUFFIX, Pattern.CASE_INSENSITIVE).matcher(path).find();
+ public static boolean isTableActiveVersionPath(final String path) {
+ return Pattern.compile(ROOT_NODE + TABLES_PATTERN +
ACTIVE_VERSION_SUFFIX, Pattern.CASE_INSENSITIVE).matcher(path).find();
}
/**
- * Is table node.
+ * Is table path.
*
* @param path path
* @return true or false
*/
- public static boolean isTableNode(final String path) {
- return Pattern.compile(getMetaDataNode() + TABLES_PATTERN +
TABLE_SUFFIX, Pattern.CASE_INSENSITIVE).matcher(path).find();
- }
-
- private static String getMetaDataNode() {
- return String.join("/", "", ROOT_NODE);
+ public static boolean isTablePath(final String path) {
+ return Pattern.compile(ROOT_NODE + TABLES_PATTERN + TABLE_SUFFIX,
Pattern.CASE_INSENSITIVE).matcher(path).find();
}
}
diff --git
a/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/node/metadata/ViewMetaDataNode.java
b/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/node/metadata/ViewMetaDataNodePath.java
similarity index 57%
rename from
kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/node/metadata/ViewMetaDataNode.java
rename to
kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/node/metadata/ViewMetaDataNodePath.java
index cc1c628e2da..a2c33063f12 100644
---
a/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/node/metadata/ViewMetaDataNode.java
+++
b/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/node/metadata/ViewMetaDataNodePath.java
@@ -25,20 +25,20 @@ import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
- * View meta data node.
+ * View meta data path.
*/
@NoArgsConstructor(access = AccessLevel.PRIVATE)
-public final class ViewMetaDataNode {
+public final class ViewMetaDataNodePath {
- private static final String ROOT_NODE = "metadata";
+ private static final String ROOT_NODE = "/metadata";
private static final String SCHEMAS_NODE = "schemas";
private static final String VIEWS_NODE = "views";
- private static final String ACTIVE_VERSION = "active_version";
+ private static final String VERSIONS_NODE = "versions";
- private static final String VERSIONS = "versions";
+ private static final String ACTIVE_VERSION_NODE = "active_version";
private static final String VIEWS_PATTERN =
"/([\\w\\-]+)/schemas/([\\w\\-]+)/views";
@@ -47,73 +47,73 @@ public final class ViewMetaDataNode {
private static final String VIEW_SUFFIX = "/([\\w\\-]+)$";
/**
- * Get meta data views node.
+ * Get meta data views path.
*
* @param databaseName database name
* @param schemaName schema name
* @return views path
*/
- public static String getMetaDataViewsNode(final String databaseName, final
String schemaName) {
- return String.join("/", getMetaDataNode(), databaseName, SCHEMAS_NODE,
schemaName, VIEWS_NODE);
+ public static String getMetaDataViewsPath(final String databaseName, final
String schemaName) {
+ return String.join("/", ROOT_NODE, databaseName, SCHEMAS_NODE,
schemaName, VIEWS_NODE);
}
/**
- * Get view active version node.
+ * Get view active version path.
*
* @param databaseName database name
* @param schemaName schema name
* @param viewName view name
- * @return view active version node
+ * @return view active version path
*/
- public static String getViewActiveVersionNode(final String databaseName,
final String schemaName, final String viewName) {
- return String.join("/", getMetaDataNode(), databaseName, SCHEMAS_NODE,
schemaName, VIEWS_NODE, viewName, ACTIVE_VERSION);
+ public static String getViewActiveVersionPath(final String databaseName,
final String schemaName, final String viewName) {
+ return String.join("/", ROOT_NODE, databaseName, SCHEMAS_NODE,
schemaName, VIEWS_NODE, viewName, ACTIVE_VERSION_NODE);
}
/**
- * Get view versions node.
+ * Get view versions path.
*
* @param databaseName database name
* @param schemaName schema name
* @param viewName view name
- * @return view versions node
+ * @return view versions path
*/
- public static String getViewVersionsNode(final String databaseName, final
String schemaName, final String viewName) {
- return String.join("/", getMetaDataNode(), databaseName, SCHEMAS_NODE,
schemaName, VIEWS_NODE, viewName, VERSIONS);
+ public static String getViewVersionsPath(final String databaseName, final
String schemaName, final String viewName) {
+ return String.join("/", ROOT_NODE, databaseName, SCHEMAS_NODE,
schemaName, VIEWS_NODE, viewName, VERSIONS_NODE);
}
/**
- * Get view version node.
+ * Get view version path.
*
* @param databaseName database name
* @param schemaName schema name
* @param viewName view name
* @param version version
- * @return view version node
+ * @return view version path
*/
- public static String getViewVersionNode(final String databaseName, final
String schemaName, final String viewName, final String version) {
- return String.join("/", getViewVersionsNode(databaseName, schemaName,
viewName), version);
+ public static String getViewVersionPath(final String databaseName, final
String schemaName, final String viewName, final String version) {
+ return String.join("/", getViewVersionsPath(databaseName, schemaName,
viewName), version);
}
/**
- * Get view node.
+ * Get view path.
*
* @param databaseName database name
* @param schemaName schema name
* @param viewName view name
- * @return view node
+ * @return view path
*/
- public static String getViewNode(final String databaseName, final String
schemaName, final String viewName) {
- return String.join("/", "", ROOT_NODE, databaseName, SCHEMAS_NODE,
schemaName, VIEWS_NODE, viewName);
+ public static String getViewPath(final String databaseName, final String
schemaName, final String viewName) {
+ return String.join("/", ROOT_NODE, databaseName, SCHEMAS_NODE,
schemaName, VIEWS_NODE, viewName);
}
/**
- * Get view name by active version node.
+ * Get view name by active version path.
*
* @param path path
* @return view name
*/
- public static Optional<String> getViewNameByActiveVersionNode(final String
path) {
- Pattern pattern = Pattern.compile(getMetaDataNode() + VIEWS_PATTERN +
ACTIVE_VERSION_SUFFIX, Pattern.CASE_INSENSITIVE);
+ public static Optional<String> getViewNameByActiveVersionPath(final String
path) {
+ Pattern pattern = Pattern.compile(ROOT_NODE + VIEWS_PATTERN +
ACTIVE_VERSION_SUFFIX, Pattern.CASE_INSENSITIVE);
Matcher matcher = pattern.matcher(path);
return matcher.find() ? Optional.of(matcher.group(3)) :
Optional.empty();
}
@@ -124,33 +124,29 @@ public final class ViewMetaDataNode {
* @param path path
* @return view name
*/
- public static Optional<String> getViewName(final String path) {
- Pattern pattern = Pattern.compile(getMetaDataNode() + VIEWS_PATTERN +
"/([\\w\\-]+)$", Pattern.CASE_INSENSITIVE);
+ public static Optional<String> findViewName(final String path) {
+ Pattern pattern = Pattern.compile(ROOT_NODE + VIEWS_PATTERN +
"/([\\w\\-]+)$", Pattern.CASE_INSENSITIVE);
Matcher matcher = pattern.matcher(path);
return matcher.find() ? Optional.of(matcher.group(3)) :
Optional.empty();
}
/**
- * Is view active version node.
+ * Is view active version path.
*
* @param path path
* @return true or false
*/
- public static boolean isViewActiveVersionNode(final String path) {
- return Pattern.compile(getMetaDataNode() + VIEWS_PATTERN +
ACTIVE_VERSION_SUFFIX, Pattern.CASE_INSENSITIVE).matcher(path).find();
+ public static boolean isViewActiveVersionPath(final String path) {
+ return Pattern.compile(ROOT_NODE + VIEWS_PATTERN +
ACTIVE_VERSION_SUFFIX, Pattern.CASE_INSENSITIVE).matcher(path).find();
}
/**
- * Is view node.
+ * Is view path.
*
* @param path path
* @return true or false
*/
- public static boolean isViewNode(final String path) {
- return Pattern.compile(getMetaDataNode() + VIEWS_PATTERN +
VIEW_SUFFIX, Pattern.CASE_INSENSITIVE).matcher(path).find();
- }
-
- private static String getMetaDataNode() {
- return String.join("/", "", ROOT_NODE);
+ public static boolean isViewPath(final String path) {
+ return Pattern.compile(ROOT_NODE + VIEWS_PATTERN + VIEW_SUFFIX,
Pattern.CASE_INSENSITIVE).matcher(path).find();
}
}
diff --git
a/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/service/metadata/table/TableMetaDataPersistService.java
b/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/service/metadata/table/TableMetaDataPersistService.java
index 0bb9c6fcbf6..a9ed5251275 100644
---
a/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/service/metadata/table/TableMetaDataPersistService.java
+++
b/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/service/metadata/table/TableMetaDataPersistService.java
@@ -24,7 +24,7 @@ import
org.apache.shardingsphere.infra.metadata.version.MetaDataVersion;
import org.apache.shardingsphere.infra.util.yaml.YamlEngine;
import
org.apache.shardingsphere.infra.yaml.schema.pojo.YamlShardingSphereTable;
import org.apache.shardingsphere.infra.yaml.schema.swapper.YamlTableSwapper;
-import
org.apache.shardingsphere.metadata.persist.node.metadata.TableMetaDataNode;
+import
org.apache.shardingsphere.metadata.persist.node.metadata.TableMetaDataNodePath;
import
org.apache.shardingsphere.metadata.persist.service.version.MetaDataVersionPersistService;
import org.apache.shardingsphere.mode.spi.PersistRepository;
@@ -51,7 +51,8 @@ public final class TableMetaDataPersistService {
* @return loaded tables
*/
public Collection<ShardingSphereTable> load(final String databaseName,
final String schemaName) {
- return
repository.getChildrenKeys(TableMetaDataNode.getMetaDataTablesNode(databaseName,
schemaName)).stream().map(each -> load(databaseName, schemaName,
each)).collect(Collectors.toList());
+ return
repository.getChildrenKeys(TableMetaDataNodePath.getMetaDataTablesPath(databaseName,
schemaName)).stream()
+ .map(each -> load(databaseName, schemaName,
each)).collect(Collectors.toList());
}
/**
@@ -63,8 +64,8 @@ public final class TableMetaDataPersistService {
* @return loaded table
*/
public ShardingSphereTable load(final String databaseName, final String
schemaName, final String tableName) {
- String tableContent =
repository.query(TableMetaDataNode.getTableVersionNode(databaseName,
schemaName, tableName,
-
repository.query(TableMetaDataNode.getTableActiveVersionNode(databaseName,
schemaName, tableName))));
+ String tableContent =
repository.query(TableMetaDataNodePath.getTableVersionPath(databaseName,
schemaName, tableName,
+
repository.query(TableMetaDataNodePath.getTableActiveVersionPath(databaseName,
schemaName, tableName))));
return new
YamlTableSwapper().swapToObject(YamlEngine.unmarshal(tableContent,
YamlShardingSphereTable.class));
}
@@ -79,20 +80,21 @@ public final class TableMetaDataPersistService {
Collection<MetaDataVersion> metaDataVersions = new LinkedList<>();
for (ShardingSphereTable each : tables) {
String tableName = each.getName().toLowerCase();
- List<String> versions =
metaDataVersionPersistService.getVersions(TableMetaDataNode.getTableVersionsNode(databaseName,
schemaName, tableName));
+ List<String> versions =
metaDataVersionPersistService.getVersions(TableMetaDataNodePath.getTableVersionsPath(databaseName,
schemaName, tableName));
String nextActiveVersion = versions.isEmpty() ?
MetaDataVersion.DEFAULT_VERSION :
String.valueOf(Integer.parseInt(versions.get(0)) + 1);
repository.persist(
- TableMetaDataNode.getTableVersionNode(databaseName,
schemaName, tableName, nextActiveVersion), YamlEngine.marshal(new
YamlTableSwapper().swapToYamlConfiguration(each)));
+ TableMetaDataNodePath.getTableVersionPath(databaseName,
schemaName, tableName, nextActiveVersion), YamlEngine.marshal(new
YamlTableSwapper().swapToYamlConfiguration(each)));
if (Strings.isNullOrEmpty(getActiveVersion(databaseName,
schemaName, tableName))) {
-
repository.persist(TableMetaDataNode.getTableActiveVersionNode(databaseName,
schemaName, tableName), MetaDataVersion.DEFAULT_VERSION);
+
repository.persist(TableMetaDataNodePath.getTableActiveVersionPath(databaseName,
schemaName, tableName), MetaDataVersion.DEFAULT_VERSION);
}
- metaDataVersions.add(new
MetaDataVersion(TableMetaDataNode.getTableNode(databaseName, schemaName,
tableName), getActiveVersion(databaseName, schemaName, tableName),
nextActiveVersion));
+ metaDataVersions
+ .add(new
MetaDataVersion(TableMetaDataNodePath.getTablePath(databaseName, schemaName,
tableName), getActiveVersion(databaseName, schemaName, tableName),
nextActiveVersion));
}
metaDataVersionPersistService.switchActiveVersion(metaDataVersions);
}
private String getActiveVersion(final String databaseName, final String
schemaName, final String tableName) {
- return
repository.query(TableMetaDataNode.getTableActiveVersionNode(databaseName,
schemaName, tableName));
+ return
repository.query(TableMetaDataNodePath.getTableActiveVersionPath(databaseName,
schemaName, tableName));
}
/**
@@ -103,7 +105,7 @@ public final class TableMetaDataPersistService {
* @param tableName to be dropped table name
*/
public void drop(final String databaseName, final String schemaName, final
String tableName) {
- repository.delete(TableMetaDataNode.getTableNode(databaseName,
schemaName, tableName.toLowerCase()));
+ repository.delete(TableMetaDataNodePath.getTablePath(databaseName,
schemaName, tableName.toLowerCase()));
}
/**
diff --git
a/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/service/metadata/table/ViewMetaDataPersistService.java
b/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/service/metadata/table/ViewMetaDataPersistService.java
index 07f5c2cc937..330abc093d0 100644
---
a/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/service/metadata/table/ViewMetaDataPersistService.java
+++
b/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/service/metadata/table/ViewMetaDataPersistService.java
@@ -24,7 +24,7 @@ import
org.apache.shardingsphere.infra.metadata.version.MetaDataVersion;
import org.apache.shardingsphere.infra.util.yaml.YamlEngine;
import org.apache.shardingsphere.infra.yaml.schema.pojo.YamlShardingSphereView;
import org.apache.shardingsphere.infra.yaml.schema.swapper.YamlViewSwapper;
-import
org.apache.shardingsphere.metadata.persist.node.metadata.ViewMetaDataNode;
+import
org.apache.shardingsphere.metadata.persist.node.metadata.ViewMetaDataNodePath;
import
org.apache.shardingsphere.metadata.persist.service.version.MetaDataVersionPersistService;
import org.apache.shardingsphere.mode.spi.PersistRepository;
@@ -51,7 +51,7 @@ public final class ViewMetaDataPersistService {
* @return loaded views
*/
public Collection<ShardingSphereView> load(final String databaseName,
final String schemaName) {
- return
repository.getChildrenKeys(ViewMetaDataNode.getMetaDataViewsNode(databaseName,
schemaName)).stream().map(each -> load(databaseName, schemaName,
each)).collect(Collectors.toList());
+ return
repository.getChildrenKeys(ViewMetaDataNodePath.getMetaDataViewsPath(databaseName,
schemaName)).stream().map(each -> load(databaseName, schemaName,
each)).collect(Collectors.toList());
}
/**
@@ -63,8 +63,8 @@ public final class ViewMetaDataPersistService {
* @return loaded view
*/
public ShardingSphereView load(final String databaseName, final String
schemaName, final String viewName) {
- String view =
repository.query(ViewMetaDataNode.getViewVersionNode(databaseName, schemaName,
viewName,
-
repository.query(ViewMetaDataNode.getViewActiveVersionNode(databaseName,
schemaName, viewName))));
+ String view =
repository.query(ViewMetaDataNodePath.getViewVersionPath(databaseName,
schemaName, viewName,
+
repository.query(ViewMetaDataNodePath.getViewActiveVersionPath(databaseName,
schemaName, viewName))));
return new YamlViewSwapper().swapToObject(YamlEngine.unmarshal(view,
YamlShardingSphereView.class));
}
@@ -79,20 +79,20 @@ public final class ViewMetaDataPersistService {
Collection<MetaDataVersion> metaDataVersions = new LinkedList<>();
for (ShardingSphereView each : views) {
String viewName = each.getName().toLowerCase();
- List<String> versions =
metaDataVersionPersistService.getVersions(ViewMetaDataNode.getViewVersionsNode(databaseName,
schemaName, viewName));
+ List<String> versions =
metaDataVersionPersistService.getVersions(ViewMetaDataNodePath.getViewVersionsPath(databaseName,
schemaName, viewName));
String nextActiveVersion = versions.isEmpty() ?
MetaDataVersion.DEFAULT_VERSION :
String.valueOf(Integer.parseInt(versions.get(0)) + 1);
-
repository.persist(ViewMetaDataNode.getViewVersionNode(databaseName,
schemaName, viewName, nextActiveVersion),
+
repository.persist(ViewMetaDataNodePath.getViewVersionPath(databaseName,
schemaName, viewName, nextActiveVersion),
YamlEngine.marshal(new
YamlViewSwapper().swapToYamlConfiguration(each)));
if (Strings.isNullOrEmpty(getActiveVersion(databaseName,
schemaName, viewName))) {
-
repository.persist(ViewMetaDataNode.getViewActiveVersionNode(databaseName,
schemaName, viewName), MetaDataVersion.DEFAULT_VERSION);
+
repository.persist(ViewMetaDataNodePath.getViewActiveVersionPath(databaseName,
schemaName, viewName), MetaDataVersion.DEFAULT_VERSION);
}
- metaDataVersions.add(new
MetaDataVersion(ViewMetaDataNode.getViewNode(databaseName, schemaName,
viewName), getActiveVersion(databaseName, schemaName, viewName),
nextActiveVersion));
+ metaDataVersions.add(new
MetaDataVersion(ViewMetaDataNodePath.getViewPath(databaseName, schemaName,
viewName), getActiveVersion(databaseName, schemaName, viewName),
nextActiveVersion));
}
metaDataVersionPersistService.switchActiveVersion(metaDataVersions);
}
private String getActiveVersion(final String databaseName, final String
schemaName, final String viewName) {
- return
repository.query(ViewMetaDataNode.getViewActiveVersionNode(databaseName,
schemaName, viewName));
+ return
repository.query(ViewMetaDataNodePath.getViewActiveVersionPath(databaseName,
schemaName, viewName));
}
/**
@@ -103,6 +103,6 @@ public final class ViewMetaDataPersistService {
* @param viewName view name
*/
public void delete(final String databaseName, final String schemaName,
final String viewName) {
- repository.delete(ViewMetaDataNode.getViewNode(databaseName,
schemaName, viewName.toLowerCase()));
+ repository.delete(ViewMetaDataNodePath.getViewPath(databaseName,
schemaName, viewName.toLowerCase()));
}
}
diff --git
a/kernel/metadata/core/src/test/java/org/apache/shardingsphere/metadata/persist/node/metadata/TableMetaDataNodePathTest.java
b/kernel/metadata/core/src/test/java/org/apache/shardingsphere/metadata/persist/node/metadata/TableMetaDataNodePathTest.java
new file mode 100644
index 00000000000..29c224d5f39
--- /dev/null
+++
b/kernel/metadata/core/src/test/java/org/apache/shardingsphere/metadata/persist/node/metadata/TableMetaDataNodePathTest.java
@@ -0,0 +1,89 @@
+/*
+ * 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.metadata.persist.node.metadata;
+
+import org.junit.jupiter.api.Test;
+
+import java.util.Optional;
+
+import static org.hamcrest.CoreMatchers.is;
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+
+class TableMetaDataNodePathTest {
+
+ @Test
+ void assertGetMetaDataTablesPath() {
+ assertThat(TableMetaDataNodePath.getMetaDataTablesPath("foo_db",
"foo_schema"), is("/metadata/foo_db/schemas/foo_schema/tables"));
+ }
+
+ @Test
+ void assertGetTableActiveVersionPath() {
+ assertThat(TableMetaDataNodePath.getTableActiveVersionPath("foo_db",
"foo_schema", "foo_tbl"),
is("/metadata/foo_db/schemas/foo_schema/tables/foo_tbl/active_version"));
+ }
+
+ @Test
+ void assertGetTableVersionsPath() {
+ assertThat(TableMetaDataNodePath.getTableVersionsPath("foo_db",
"foo_schema", "foo_tbl"),
is("/metadata/foo_db/schemas/foo_schema/tables/foo_tbl/versions"));
+ }
+
+ @Test
+ void assertGetTableVersionPath() {
+ assertThat(TableMetaDataNodePath.getTableVersionPath("foo_db",
"foo_schema", "foo_tbl", "0"),
is("/metadata/foo_db/schemas/foo_schema/tables/foo_tbl/versions/0"));
+ }
+
+ @Test
+ void assertGetTablePath() {
+ assertThat(TableMetaDataNodePath.getTablePath("foo_db", "foo_schema",
"foo_tbl"), is("/metadata/foo_db/schemas/foo_schema/tables/foo_tbl"));
+ }
+
+ @Test
+ void assertFindTableNameByActiveVersionPath() {
+ Optional<String> actual =
TableMetaDataNodePath.getTableNameByActiveVersionPath("/metadata/foo_db/schemas/foo_schema/tables/foo_tbl/active_version");
+ assertTrue(actual.isPresent());
+ assertThat(actual.get(), is("foo_tbl"));
+ }
+
+ @Test
+ void assertFindTableNameByActiveVersionPathIfNotFound() {
+
assertFalse(TableMetaDataNodePath.getTableNameByActiveVersionPath("/xxx/foo_db/schemas/foo_schema/tables/foo_tbl/active_version").isPresent());
+ }
+
+ @Test
+ void assertFindTableName() {
+ Optional<String> actual =
TableMetaDataNodePath.findTableName("/metadata/foo_db/schemas/foo_schema/tables/foo_tbl");
+ assertTrue(actual.isPresent());
+ assertThat(actual.get(), is("foo_tbl"));
+ }
+
+ @Test
+ void assertFindTableNameIfNotFound() {
+
assertFalse(TableMetaDataNodePath.findTableName("/xxx/foo_db/schemas/foo_schema/tables/foo_tbl").isPresent());
+ }
+
+ @Test
+ void assertIsTableActiveVersionPath() {
+
assertTrue(TableMetaDataNodePath.isTableActiveVersionPath("/metadata/foo_db/schemas/foo_schema/tables/foo_tbl/active_version"));
+ }
+
+ @Test
+ void assertIsTablePath() {
+
assertTrue(TableMetaDataNodePath.isTablePath("/metadata/foo_db/schemas/foo_schema/tables/foo_tbl"));
+ }
+}
diff --git
a/kernel/metadata/core/src/test/java/org/apache/shardingsphere/metadata/persist/node/metadata/TableMetaDataNodeTest.java
b/kernel/metadata/core/src/test/java/org/apache/shardingsphere/metadata/persist/node/metadata/TableMetaDataNodeTest.java
deleted file mode 100644
index c63eacf8b91..00000000000
---
a/kernel/metadata/core/src/test/java/org/apache/shardingsphere/metadata/persist/node/metadata/TableMetaDataNodeTest.java
+++ /dev/null
@@ -1,89 +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.metadata.persist.node.metadata;
-
-import org.junit.jupiter.api.Test;
-
-import java.util.Optional;
-
-import static org.hamcrest.CoreMatchers.is;
-import static org.hamcrest.MatcherAssert.assertThat;
-import static org.junit.jupiter.api.Assertions.assertFalse;
-import static org.junit.jupiter.api.Assertions.assertTrue;
-
-class TableMetaDataNodeTest {
-
- @Test
- void assertGetMetaDataTablesNode() {
- assertThat(TableMetaDataNode.getMetaDataTablesNode("foo_db",
"foo_schema"), is("/metadata/foo_db/schemas/foo_schema/tables"));
- }
-
- @Test
- void assertGetTableActiveVersionNode() {
- assertThat(TableMetaDataNode.getTableActiveVersionNode("foo_db",
"foo_schema", "foo_tbl"),
is("/metadata/foo_db/schemas/foo_schema/tables/foo_tbl/active_version"));
- }
-
- @Test
- void assertGetTableVersionsNode() {
- assertThat(TableMetaDataNode.getTableVersionsNode("foo_db",
"foo_schema", "foo_tbl"),
is("/metadata/foo_db/schemas/foo_schema/tables/foo_tbl/versions"));
- }
-
- @Test
- void assertGetTableVersionNode() {
- assertThat(TableMetaDataNode.getTableVersionNode("foo_db",
"foo_schema", "foo_tbl", "0"),
is("/metadata/foo_db/schemas/foo_schema/tables/foo_tbl/versions/0"));
- }
-
- @Test
- void assertGetTableNode() {
- assertThat(TableMetaDataNode.getTableNode("foo_db", "foo_schema",
"foo_tbl"), is("/metadata/foo_db/schemas/foo_schema/tables/foo_tbl"));
- }
-
- @Test
- void assertGetTableNameByActiveVersionNode() {
- Optional<String> actual =
TableMetaDataNode.getTableNameByActiveVersionNode("/metadata/foo_db/schemas/foo_schema/tables/foo_tbl/active_version");
- assertTrue(actual.isPresent());
- assertThat(actual.get(), is("foo_tbl"));
- }
-
- @Test
- void assertGetTableNameByActiveVersionNodeIfNotFound() {
-
assertFalse(TableMetaDataNode.getTableNameByActiveVersionNode("/xxx/foo_db/schemas/foo_schema/tables/foo_tbl/active_version").isPresent());
- }
-
- @Test
- void assertGetTableName() {
- Optional<String> actual =
TableMetaDataNode.getTableName("/metadata/foo_db/schemas/foo_schema/tables/foo_tbl");
- assertTrue(actual.isPresent());
- assertThat(actual.get(), is("foo_tbl"));
- }
-
- @Test
- void assertGetTableNameIfNotFound() {
-
assertFalse(TableMetaDataNode.getTableName("/xxx/foo_db/schemas/foo_schema/tables/foo_tbl").isPresent());
- }
-
- @Test
- void assertIsTableActiveVersionNode() {
-
assertTrue(TableMetaDataNode.isTableActiveVersionNode("/metadata/foo_db/schemas/foo_schema/tables/foo_tbl/active_version"));
- }
-
- @Test
- void assertIsTableNode() {
-
assertTrue(TableMetaDataNode.isTableNode("/metadata/foo_db/schemas/foo_schema/tables/foo_tbl"));
- }
-}
diff --git
a/kernel/metadata/core/src/test/java/org/apache/shardingsphere/metadata/persist/node/metadata/ViewMetaDataNodePathTest.java
b/kernel/metadata/core/src/test/java/org/apache/shardingsphere/metadata/persist/node/metadata/ViewMetaDataNodePathTest.java
new file mode 100644
index 00000000000..ae022f968a5
--- /dev/null
+++
b/kernel/metadata/core/src/test/java/org/apache/shardingsphere/metadata/persist/node/metadata/ViewMetaDataNodePathTest.java
@@ -0,0 +1,89 @@
+/*
+ * 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.metadata.persist.node.metadata;
+
+import org.junit.jupiter.api.Test;
+
+import java.util.Optional;
+
+import static org.hamcrest.CoreMatchers.is;
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+
+class ViewMetaDataNodePathTest {
+
+ @Test
+ void assertGetMetaDataViewsPath() {
+ assertThat(ViewMetaDataNodePath.getMetaDataViewsPath("foo_db",
"foo_schema"), is("/metadata/foo_db/schemas/foo_schema/views"));
+ }
+
+ @Test
+ void assertGetViewActiveVersionPath() {
+ assertThat(ViewMetaDataNodePath.getViewActiveVersionPath("foo_db",
"foo_schema", "foo_view"),
is("/metadata/foo_db/schemas/foo_schema/views/foo_view/active_version"));
+ }
+
+ @Test
+ void assertGetViewVersionsPath() {
+ assertThat(ViewMetaDataNodePath.getViewVersionsPath("foo_db",
"foo_schema", "foo_view"),
is("/metadata/foo_db/schemas/foo_schema/views/foo_view/versions"));
+ }
+
+ @Test
+ void assertGetViewVersionPath() {
+ assertThat(ViewMetaDataNodePath.getViewVersionPath("foo_db",
"foo_schema", "foo_view", "0"),
is("/metadata/foo_db/schemas/foo_schema/views/foo_view/versions/0"));
+ }
+
+ @Test
+ void assertGetViewPath() {
+ assertThat(ViewMetaDataNodePath.getViewPath("foo_db", "foo_schema",
"foo_view"), is("/metadata/foo_db/schemas/foo_schema/views/foo_view"));
+ }
+
+ @Test
+ void assertGetTableNameByActiveVersionNode() {
+ Optional<String> actual =
ViewMetaDataNodePath.getViewNameByActiveVersionPath("/metadata/foo_db/schemas/foo_schema/views/foo_view/active_version");
+ assertTrue(actual.isPresent());
+ assertThat(actual.get(), is("foo_view"));
+ }
+
+ @Test
+ void assertGetTableNameByActiveVersionNodeIfNotFound() {
+
assertFalse(ViewMetaDataNodePath.getViewNameByActiveVersionPath("/xxx/foo_db/schemas/foo_schema/views/foo_view/active_version").isPresent());
+ }
+
+ @Test
+ void assertFindViewName() {
+ Optional<String> actual =
ViewMetaDataNodePath.findViewName("/metadata/foo_db/schemas/foo_schema/views/foo_view");
+ assertTrue(actual.isPresent());
+ assertThat(actual.get(), is("foo_view"));
+ }
+
+ @Test
+ void assertFindViewNameIfNotFound() {
+
assertFalse(ViewMetaDataNodePath.findViewName("/xxx/foo_db/schemas/foo_schema/views/foo_view").isPresent());
+ }
+
+ @Test
+ void assertIsViewActiveVersionPath() {
+
assertTrue(ViewMetaDataNodePath.isViewActiveVersionPath("/metadata/foo_db/schemas/foo_schema/views/foo_view/active_version"));
+ }
+
+ @Test
+ void assertIsViewPath() {
+
assertTrue(ViewMetaDataNodePath.isViewPath("/metadata/foo_db/schemas/foo_schema/views/foo_view"));
+ }
+}
diff --git
a/kernel/metadata/core/src/test/java/org/apache/shardingsphere/metadata/persist/node/metadata/ViewMetaDataNodeTest.java
b/kernel/metadata/core/src/test/java/org/apache/shardingsphere/metadata/persist/node/metadata/ViewMetaDataNodeTest.java
deleted file mode 100644
index ad141c16bd6..00000000000
---
a/kernel/metadata/core/src/test/java/org/apache/shardingsphere/metadata/persist/node/metadata/ViewMetaDataNodeTest.java
+++ /dev/null
@@ -1,89 +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.metadata.persist.node.metadata;
-
-import org.junit.jupiter.api.Test;
-
-import java.util.Optional;
-
-import static org.hamcrest.CoreMatchers.is;
-import static org.hamcrest.MatcherAssert.assertThat;
-import static org.junit.jupiter.api.Assertions.assertFalse;
-import static org.junit.jupiter.api.Assertions.assertTrue;
-
-class ViewMetaDataNodeTest {
-
- @Test
- void assertGetMetaDataViewsNode() {
- assertThat(ViewMetaDataNode.getMetaDataViewsNode("foo_db",
"foo_schema"), is("/metadata/foo_db/schemas/foo_schema/views"));
- }
-
- @Test
- void assertGetViewActiveVersionNode() {
- assertThat(ViewMetaDataNode.getViewActiveVersionNode("foo_db",
"foo_schema", "foo_view"),
is("/metadata/foo_db/schemas/foo_schema/views/foo_view/active_version"));
- }
-
- @Test
- void assertGetViewVersionsNode() {
- assertThat(ViewMetaDataNode.getViewVersionsNode("foo_db",
"foo_schema", "foo_view"),
is("/metadata/foo_db/schemas/foo_schema/views/foo_view/versions"));
- }
-
- @Test
- void assertGetViewVersionNode() {
- assertThat(ViewMetaDataNode.getViewVersionNode("foo_db", "foo_schema",
"foo_view", "0"),
is("/metadata/foo_db/schemas/foo_schema/views/foo_view/versions/0"));
- }
-
- @Test
- void assertGetViewNode() {
- assertThat(ViewMetaDataNode.getViewNode("foo_db", "foo_schema",
"foo_view"), is("/metadata/foo_db/schemas/foo_schema/views/foo_view"));
- }
-
- @Test
- void assertGetTableNameByActiveVersionNode() {
- Optional<String> actual =
ViewMetaDataNode.getViewNameByActiveVersionNode("/metadata/foo_db/schemas/foo_schema/views/foo_view/active_version");
- assertTrue(actual.isPresent());
- assertThat(actual.get(), is("foo_view"));
- }
-
- @Test
- void assertGetTableNameByActiveVersionNodeIfNotFound() {
-
assertFalse(ViewMetaDataNode.getViewNameByActiveVersionNode("/xxx/foo_db/schemas/foo_schema/views/foo_view/active_version").isPresent());
- }
-
- @Test
- void assertGetViewName() {
- Optional<String> actual =
ViewMetaDataNode.getViewName("/metadata/foo_db/schemas/foo_schema/views/foo_view");
- assertTrue(actual.isPresent());
- assertThat(actual.get(), is("foo_view"));
- }
-
- @Test
- void assertGetViewNameIfNotFound() {
-
assertFalse(ViewMetaDataNode.getViewName("/xxx/foo_db/schemas/foo_schema/views/foo_view").isPresent());
- }
-
- @Test
- void assertIsViewActiveVersionNode() {
-
assertTrue(ViewMetaDataNode.isViewActiveVersionNode("/metadata/foo_db/schemas/foo_schema/views/foo_view/active_version"));
- }
-
- @Test
- void assertIsViewNode() {
-
assertTrue(ViewMetaDataNode.isViewNode("/metadata/foo_db/schemas/foo_schema/views/foo_view"));
- }
-}
diff --git
a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/dispatch/handler/database/metadata/MetaDataChangedHandler.java
b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/dispatch/handler/database/metadata/MetaDataChangedHandler.java
index 03244aa6d89..7126140b057 100644
---
a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/dispatch/handler/database/metadata/MetaDataChangedHandler.java
+++
b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/dispatch/handler/database/metadata/MetaDataChangedHandler.java
@@ -19,8 +19,8 @@ package
org.apache.shardingsphere.mode.manager.cluster.dispatch.handler.database
import
org.apache.shardingsphere.metadata.persist.node.DatabaseMetaDataNodePath;
import
org.apache.shardingsphere.metadata.persist.node.metadata.DataSourceMetaDataNodePath;
-import
org.apache.shardingsphere.metadata.persist.node.metadata.TableMetaDataNode;
-import
org.apache.shardingsphere.metadata.persist.node.metadata.ViewMetaDataNode;
+import
org.apache.shardingsphere.metadata.persist.node.metadata.TableMetaDataNodePath;
+import
org.apache.shardingsphere.metadata.persist.node.metadata.ViewMetaDataNodePath;
import org.apache.shardingsphere.mode.event.DataChangedEvent;
import org.apache.shardingsphere.mode.event.DataChangedEvent.Type;
import org.apache.shardingsphere.mode.manager.ContextManager;
@@ -89,25 +89,25 @@ public final class MetaDataChangedHandler {
}
private boolean isTableMetaDataChanged(final String key) {
- return TableMetaDataNode.isTableActiveVersionNode(key) ||
TableMetaDataNode.isTableNode(key);
+ return TableMetaDataNodePath.isTableActiveVersionPath(key) ||
TableMetaDataNodePath.isTablePath(key);
}
private void handleTableChanged(final String databaseName, final String
schemaName, final DataChangedEvent event) {
- if ((Type.ADDED == event.getType() || Type.UPDATED == event.getType())
&& TableMetaDataNode.isTableActiveVersionNode(event.getKey())) {
+ if ((Type.ADDED == event.getType() || Type.UPDATED == event.getType())
&& TableMetaDataNodePath.isTableActiveVersionPath(event.getKey())) {
tableChangedHandler.handleCreatedOrAltered(databaseName,
schemaName, event);
- } else if (Type.DELETED == event.getType() &&
TableMetaDataNode.isTableNode(event.getKey())) {
+ } else if (Type.DELETED == event.getType() &&
TableMetaDataNodePath.isTablePath(event.getKey())) {
tableChangedHandler.handleDropped(databaseName, schemaName, event);
}
}
private boolean isViewMetaDataChanged(final String key) {
- return ViewMetaDataNode.isViewActiveVersionNode(key) ||
ViewMetaDataNode.isViewNode(key);
+ return ViewMetaDataNodePath.isViewActiveVersionPath(key) ||
ViewMetaDataNodePath.isViewPath(key);
}
private void handleViewChanged(final String databaseName, final String
schemaName, final DataChangedEvent event) {
- if ((Type.ADDED == event.getType() || Type.UPDATED == event.getType())
&& ViewMetaDataNode.isViewActiveVersionNode(event.getKey())) {
+ if ((Type.ADDED == event.getType() || Type.UPDATED == event.getType())
&& ViewMetaDataNodePath.isViewActiveVersionPath(event.getKey())) {
viewChangedHandler.handleCreatedOrAltered(databaseName,
schemaName, event);
- } else if (Type.DELETED == event.getType() &&
ViewMetaDataNode.isViewNode(event.getKey())) {
+ } else if (Type.DELETED == event.getType() &&
ViewMetaDataNodePath.isViewPath(event.getKey())) {
viewChangedHandler.handleDropped(databaseName, schemaName, event);
}
}
diff --git
a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/dispatch/handler/database/metadata/TableChangedHandler.java
b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/dispatch/handler/database/metadata/TableChangedHandler.java
index fb54416e07a..c63faa1e2d6 100644
---
a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/dispatch/handler/database/metadata/TableChangedHandler.java
+++
b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/dispatch/handler/database/metadata/TableChangedHandler.java
@@ -19,7 +19,7 @@ package
org.apache.shardingsphere.mode.manager.cluster.dispatch.handler.database
import com.google.common.base.Preconditions;
import
org.apache.shardingsphere.infra.metadata.database.schema.model.ShardingSphereTable;
-import
org.apache.shardingsphere.metadata.persist.node.metadata.TableMetaDataNode;
+import
org.apache.shardingsphere.metadata.persist.node.metadata.TableMetaDataNodePath;
import org.apache.shardingsphere.mode.event.DataChangedEvent;
import org.apache.shardingsphere.mode.manager.ContextManager;
import
org.apache.shardingsphere.mode.metadata.refresher.ShardingSphereStatisticsRefreshEngine;
@@ -46,7 +46,7 @@ public final class TableChangedHandler {
* @param event data changed event
*/
public void handleCreatedOrAltered(final String databaseName, final String
schemaName, final DataChangedEvent event) {
- String tableName =
TableMetaDataNode.getTableNameByActiveVersionNode(event.getKey()).orElseThrow(()
-> new IllegalStateException("Table name not found."));
+ String tableName =
TableMetaDataNodePath.getTableNameByActiveVersionPath(event.getKey()).orElseThrow(()
-> new IllegalStateException("Table name not found."));
Preconditions.checkArgument(event.getValue().equals(
contextManager.getPersistServiceFacade().getMetaDataPersistService().getMetaDataVersionPersistService().getActiveVersionByFullPath(event.getKey())),
"Invalid active version: %s of key: %s", event.getValue(),
event.getKey());
@@ -63,7 +63,7 @@ public final class TableChangedHandler {
* @param event data changed event
*/
public void handleDropped(final String databaseName, final String
schemaName, final DataChangedEvent event) {
- String tableName =
TableMetaDataNode.getTableName(event.getKey()).orElseThrow(() -> new
IllegalStateException("Table name not found."));
+ String tableName =
TableMetaDataNodePath.findTableName(event.getKey()).orElseThrow(() -> new
IllegalStateException("Table name not found."));
contextManager.getMetaDataContextManager().getSchemaMetaDataManager().alterSchema(databaseName,
schemaName, tableName, null);
statisticsRefreshEngine.asyncRefresh();
}
diff --git
a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/dispatch/handler/database/metadata/ViewChangedHandler.java
b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/dispatch/handler/database/metadata/ViewChangedHandler.java
index 57ce097447a..4692fdf8905 100644
---
a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/dispatch/handler/database/metadata/ViewChangedHandler.java
+++
b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/dispatch/handler/database/metadata/ViewChangedHandler.java
@@ -19,7 +19,7 @@ package
org.apache.shardingsphere.mode.manager.cluster.dispatch.handler.database
import com.google.common.base.Preconditions;
import
org.apache.shardingsphere.infra.metadata.database.schema.model.ShardingSphereView;
-import
org.apache.shardingsphere.metadata.persist.node.metadata.ViewMetaDataNode;
+import
org.apache.shardingsphere.metadata.persist.node.metadata.ViewMetaDataNodePath;
import org.apache.shardingsphere.mode.event.DataChangedEvent;
import org.apache.shardingsphere.mode.manager.ContextManager;
import
org.apache.shardingsphere.mode.metadata.refresher.ShardingSphereStatisticsRefreshEngine;
@@ -46,7 +46,7 @@ public final class ViewChangedHandler {
* @param event data changed event
*/
public void handleCreatedOrAltered(final String databaseName, final String
schemaName, final DataChangedEvent event) {
- String viewName =
ViewMetaDataNode.getViewNameByActiveVersionNode(event.getKey()).orElseThrow(()
-> new IllegalStateException("View name not found."));
+ String viewName =
ViewMetaDataNodePath.getViewNameByActiveVersionPath(event.getKey()).orElseThrow(()
-> new IllegalStateException("View name not found."));
Preconditions.checkArgument(event.getValue().equals(
contextManager.getPersistServiceFacade().getMetaDataPersistService().getMetaDataVersionPersistService().getActiveVersionByFullPath(event.getKey())),
"Invalid active version: %s of key: %s", event.getValue(),
event.getKey());
@@ -63,7 +63,7 @@ public final class ViewChangedHandler {
* @param event data changed event
*/
public void handleDropped(final String databaseName, final String
schemaName, final DataChangedEvent event) {
- String viewName =
ViewMetaDataNode.getViewName(event.getKey()).orElseThrow(() -> new
IllegalStateException("View name not found."));
+ String viewName =
ViewMetaDataNodePath.findViewName(event.getKey()).orElseThrow(() -> new
IllegalStateException("View name not found."));
contextManager.getMetaDataContextManager().getSchemaMetaDataManager().alterSchema(databaseName,
schemaName, null, viewName);
statisticsRefreshEngine.asyncRefresh();
}