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) {