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 2025/03/04 05:41:41 UTC

(shardingsphere) branch master updated: Use DatabaseRuleNodePath instead of RuleChangedItem (#34857)

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 a92b3bf5fc1 Use DatabaseRuleNodePath instead of RuleChangedItem (#34857)
a92b3bf5fc1 is described below

commit a92b3bf5fc1f519f5dbbbfa388392d203dcbe7e5
Author: Liang Zhang <zh...@apache.org>
AuthorDate: Tue Mar 4 13:41:36 2025 +0800

    Use DatabaseRuleNodePath instead of RuleChangedItem (#34857)
---
 .../mode/metadata/manager/rule/DatabaseRuleItemManager.java        | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/manager/rule/DatabaseRuleItemManager.java b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/manager/rule/DatabaseRuleItemManager.java
index 737c20a9e86..912bcf9b9f2 100644
--- a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/manager/rule/DatabaseRuleItemManager.java
+++ b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/manager/rule/DatabaseRuleItemManager.java
@@ -29,6 +29,7 @@ import org.apache.shardingsphere.mode.metadata.persist.MetaDataPersistFacade;
 import org.apache.shardingsphere.mode.node.path.type.metadata.rule.DatabaseRuleNodePath;
 import org.apache.shardingsphere.mode.node.path.type.version.VersionNodePath;
 import org.apache.shardingsphere.mode.spi.rule.RuleItemConfigurationChangedProcessor;
+import org.apache.shardingsphere.mode.spi.rule.item.RuleChangedItemType;
 
 import java.sql.SQLException;
 
@@ -58,7 +59,8 @@ public final class DatabaseRuleItemManager {
         if (!checkActiveVersion(versionNodePath, currentVersion)) {
             return;
         }
-        RuleItemConfigurationChangedProcessor processor = TypedSPILoader.getService(RuleItemConfigurationChangedProcessor.class, databaseRuleNodePath.getRuleType());
+        RuleItemConfigurationChangedProcessor processor = TypedSPILoader.getService(RuleItemConfigurationChangedProcessor.class,
+                new RuleChangedItemType(databaseRuleNodePath.getRuleType(), databaseRuleNodePath.getDatabaseRuleItem().getType()));
         String yamlContent = metaDataPersistFacade.getMetaDataVersionService().loadContent(versionNodePath);
         String databaseName = databaseRuleNodePath.getDatabaseName();
         RuleConfiguration currentRuleConfig = processor.findRuleConfiguration(metaDataContexts.getMetaData().getDatabase(databaseName));
@@ -87,7 +89,8 @@ public final class DatabaseRuleItemManager {
     public void drop(final DatabaseRuleNodePath databaseRuleNodePath) throws SQLException {
         String databaseName = databaseRuleNodePath.getDatabaseName();
         Preconditions.checkState(metaDataContexts.getMetaData().containsDatabase(databaseName), "No database '%s' exists.", databaseName);
-        RuleItemConfigurationChangedProcessor processor = TypedSPILoader.getService(RuleItemConfigurationChangedProcessor.class, databaseRuleNodePath.getRuleType());
+        RuleItemConfigurationChangedProcessor processor = TypedSPILoader.getService(RuleItemConfigurationChangedProcessor.class,
+                new RuleChangedItemType(databaseRuleNodePath.getRuleType(), databaseRuleNodePath.getDatabaseRuleItem().getType()));
         RuleConfiguration currentRuleConfig = processor.findRuleConfiguration(metaDataContexts.getMetaData().getDatabase(databaseName));
         String itemName = databaseRuleNodePath.getDatabaseRuleItem().getName();
         synchronized (this) {