This is an automated email from the ASF dual-hosted git repository.
panjuan 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 e00ea68b78b Rename NewGlobalRuleUpdater and NewDatabaseRuleUpdater
(#29811)
e00ea68b78b is described below
commit e00ea68b78b90c99a10e49f6a624afd3e79ad3bb
Author: Liang Zhang <[email protected]>
AuthorDate: Tue Jan 23 13:57:47 2024 +0800
Rename NewGlobalRuleUpdater and NewDatabaseRuleUpdater (#29811)
---
...ackendHandler.java => NewDatabaseRuleUpdater.java} | 14 ++++++--------
...LBackendHandler.java => NewGlobalRuleUpdater.java} | 14 ++++++--------
.../rdl/rule/NewRuleDefinitionBackendHandler.java | 19 ++++++++++++-------
...eRDLBackendHandler.java => GlobalRuleUpdater.java} | 14 ++++++--------
4 files changed, 30 insertions(+), 31 deletions(-)
diff --git
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/rdl/rule/NewDatabaseRuleDefinitionBackendHandler.java
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/rdl/rule/NewDatabaseRuleUpdater.java
similarity index 95%
rename from
proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/rdl/rule/NewDatabaseRuleDefinitionBackendHandler.java
rename to
proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/rdl/rule/NewDatabaseRuleUpdater.java
index e1e1e1110d5..b4df97d8ba8 100644
---
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/rdl/rule/NewDatabaseRuleDefinitionBackendHandler.java
+++
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/rdl/rule/NewDatabaseRuleUpdater.java
@@ -34,9 +34,6 @@ import
org.apache.shardingsphere.infra.rule.identifier.type.StaticDataSourceCont
import org.apache.shardingsphere.infra.spi.type.typed.TypedSPILoader;
import
org.apache.shardingsphere.infra.yaml.config.swapper.rule.NewYamlRuleConfigurationSwapperEngine;
import org.apache.shardingsphere.proxy.backend.context.ProxyContext;
-import
org.apache.shardingsphere.proxy.backend.handler.distsql.DistSQLBackendHandler;
-import org.apache.shardingsphere.proxy.backend.response.header.ResponseHeader;
-import
org.apache.shardingsphere.proxy.backend.response.header.update.UpdateResponseHeader;
import org.apache.shardingsphere.proxy.backend.session.ConnectionSession;
import org.apache.shardingsphere.proxy.backend.util.DatabaseNameUtils;
import
org.apache.shardingsphere.readwritesplitting.distsql.handler.update.DropReadwriteSplittingRuleExecutor;
@@ -55,12 +52,12 @@ import java.util.stream.Collectors;
/**
* TODO Rename to RuleDefinitionBackendHandler when metadata structure
adjustment completed. #25485
- * Database rule definition backend handler.
+ * Database rule updater.
*
* @param <T> type of rule definition statement
*/
@RequiredArgsConstructor
-public final class NewDatabaseRuleDefinitionBackendHandler<T extends
RuleDefinitionStatement> implements DistSQLBackendHandler {
+public final class NewDatabaseRuleUpdater<T extends RuleDefinitionStatement> {
private final T sqlStatement;
@@ -69,9 +66,11 @@ public final class NewDatabaseRuleDefinitionBackendHandler<T
extends RuleDefinit
@SuppressWarnings("rawtypes")
private final DatabaseRuleRDLExecutor executor;
+ /**
+ * Execute update.
+ */
@SuppressWarnings("unchecked")
- @Override
- public ResponseHeader execute() {
+ public void executeUpdate() {
ShardingSphereDatabase database =
ProxyContext.getInstance().getDatabase(DatabaseNameUtils.getDatabaseName(sqlStatement,
connectionSession));
Class<? extends RuleConfiguration> ruleConfigClass =
executor.getRuleConfigurationClass();
RuleConfiguration currentRuleConfig =
findCurrentRuleConfiguration(database, ruleConfigClass).orElse(null);
@@ -80,7 +79,6 @@ public final class NewDatabaseRuleDefinitionBackendHandler<T
extends RuleDefinit
ProxyContext.getInstance().getContextManager().getMetaDataContexts().getPersistService().getMetaDataVersionPersistService().switchActiveVersion(
processSQLStatement(database, sqlStatement, executor,
currentRuleConfig));
}
- return new UpdateResponseHeader(sqlStatement);
}
private Optional<RuleConfiguration> findCurrentRuleConfiguration(final
ShardingSphereDatabase database, final Class<? extends RuleConfiguration>
ruleConfigClass) {
diff --git
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/rdl/rule/NewGlobalRuleRDLBackendHandler.java
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/rdl/rule/NewGlobalRuleUpdater.java
similarity index 87%
rename from
proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/rdl/rule/NewGlobalRuleRDLBackendHandler.java
rename to
proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/rdl/rule/NewGlobalRuleUpdater.java
index cb8f6b13229..297b0be3f7c 100644
---
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/rdl/rule/NewGlobalRuleRDLBackendHandler.java
+++
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/rdl/rule/NewGlobalRuleUpdater.java
@@ -24,33 +24,31 @@ import
org.apache.shardingsphere.distsql.statement.rdl.RuleDefinitionStatement;
import org.apache.shardingsphere.infra.config.rule.RuleConfiguration;
import org.apache.shardingsphere.mode.manager.ContextManager;
import org.apache.shardingsphere.proxy.backend.context.ProxyContext;
-import
org.apache.shardingsphere.proxy.backend.handler.distsql.DistSQLBackendHandler;
-import org.apache.shardingsphere.proxy.backend.response.header.ResponseHeader;
-import
org.apache.shardingsphere.proxy.backend.response.header.update.UpdateResponseHeader;
import java.util.Collection;
/**
- * New RDL backend handler for global rule.
+ * Global rule updater.
*/
@RequiredArgsConstructor
-public final class NewGlobalRuleRDLBackendHandler implements
DistSQLBackendHandler {
+public final class NewGlobalRuleUpdater {
private final RuleDefinitionStatement sqlStatement;
@SuppressWarnings("rawtypes")
private final GlobalRuleRDLExecutor executor;
+ /**
+ * Execute update.
+ */
@SuppressWarnings("unchecked")
- @Override
- public ResponseHeader execute() {
+ public void executeUpdate() {
Class<? extends RuleConfiguration> ruleConfigClass =
executor.getRuleConfigurationClass();
ContextManager contextManager =
ProxyContext.getInstance().getContextManager();
Collection<RuleConfiguration> ruleConfigs =
contextManager.getMetaDataContexts().getMetaData().getGlobalRuleMetaData().getConfigurations();
RuleConfiguration currentRuleConfig =
findCurrentRuleConfiguration(ruleConfigs, ruleConfigClass);
executor.checkSQLStatement(currentRuleConfig, sqlStatement);
contextManager.getInstanceContext().getModeContextManager().alterGlobalRuleConfiguration(processUpdate(ruleConfigs,
sqlStatement, executor, currentRuleConfig));
- return new UpdateResponseHeader(sqlStatement);
}
private RuleConfiguration findCurrentRuleConfiguration(final
Collection<RuleConfiguration> ruleConfigs, final Class<? extends
RuleConfiguration> ruleConfigClass) {
diff --git
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/rdl/rule/NewRuleDefinitionBackendHandler.java
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/rdl/rule/NewRuleDefinitionBackendHandler.java
index 40b1f2fe52f..e4fc0353a13 100644
---
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/rdl/rule/NewRuleDefinitionBackendHandler.java
+++
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/rdl/rule/NewRuleDefinitionBackendHandler.java
@@ -24,8 +24,9 @@ import
org.apache.shardingsphere.distsql.statement.rdl.RuleDefinitionStatement;
import org.apache.shardingsphere.infra.spi.type.typed.TypedSPILoader;
import org.apache.shardingsphere.proxy.backend.context.ProxyContext;
import
org.apache.shardingsphere.proxy.backend.handler.distsql.DistSQLBackendHandler;
-import
org.apache.shardingsphere.proxy.backend.handler.distsql.rdl.rule.legacy.GlobalRuleRDLBackendHandler;
+import
org.apache.shardingsphere.proxy.backend.handler.distsql.rdl.rule.legacy.GlobalRuleUpdater;
import org.apache.shardingsphere.proxy.backend.response.header.ResponseHeader;
+import
org.apache.shardingsphere.proxy.backend.response.header.update.UpdateResponseHeader;
import org.apache.shardingsphere.proxy.backend.session.ConnectionSession;
import java.util.Optional;
@@ -48,12 +49,16 @@ public final class NewRuleDefinitionBackendHandler<T
extends RuleDefinitionState
public ResponseHeader execute() {
Optional<DatabaseRuleRDLExecutor> databaseExecutor =
TypedSPILoader.findService(DatabaseRuleRDLExecutor.class,
sqlStatement.getClass());
if (databaseExecutor.isPresent()) {
- return new NewDatabaseRuleDefinitionBackendHandler(sqlStatement,
connectionSession, databaseExecutor.get()).execute();
+ new NewDatabaseRuleUpdater(sqlStatement, connectionSession,
databaseExecutor.get()).executeUpdate();
+ } else {
+ String modeType =
ProxyContext.getInstance().getContextManager().getInstanceContext().getModeConfiguration().getType();
+ GlobalRuleRDLExecutor globalExecutor =
TypedSPILoader.getService(GlobalRuleRDLExecutor.class, sqlStatement.getClass());
+ if ("Cluster".equals(modeType) || "Standalone".equals(modeType)) {
+ new NewGlobalRuleUpdater(sqlStatement,
globalExecutor).executeUpdate();
+ } else {
+ new GlobalRuleUpdater(sqlStatement).executeUpdate();
+ }
}
- String modeType =
ProxyContext.getInstance().getContextManager().getInstanceContext().getModeConfiguration().getType();
- GlobalRuleRDLExecutor globalExecutor =
TypedSPILoader.getService(GlobalRuleRDLExecutor.class, sqlStatement.getClass());
- return "Cluster".equals(modeType) || "Standalone".equals(modeType)
- ? new NewGlobalRuleRDLBackendHandler(sqlStatement,
globalExecutor).execute()
- : new GlobalRuleRDLBackendHandler(sqlStatement).execute();
+ return new UpdateResponseHeader(sqlStatement);
}
}
diff --git
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/rdl/rule/legacy/GlobalRuleRDLBackendHandler.java
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/rdl/rule/legacy/GlobalRuleUpdater.java
similarity index 87%
rename from
proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/rdl/rule/legacy/GlobalRuleRDLBackendHandler.java
rename to
proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/rdl/rule/legacy/GlobalRuleUpdater.java
index b28895d6af7..292e35708a4 100644
---
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/rdl/rule/legacy/GlobalRuleRDLBackendHandler.java
+++
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/rdl/rule/legacy/GlobalRuleUpdater.java
@@ -25,24 +25,23 @@ import
org.apache.shardingsphere.infra.config.rule.RuleConfiguration;
import org.apache.shardingsphere.infra.spi.type.typed.TypedSPILoader;
import org.apache.shardingsphere.mode.manager.ContextManager;
import org.apache.shardingsphere.proxy.backend.context.ProxyContext;
-import
org.apache.shardingsphere.proxy.backend.handler.distsql.DistSQLBackendHandler;
-import org.apache.shardingsphere.proxy.backend.response.header.ResponseHeader;
-import
org.apache.shardingsphere.proxy.backend.response.header.update.UpdateResponseHeader;
import java.util.Collection;
import java.util.LinkedList;
/**
- * RDL backend handler for global rule.
+ * Global rule updater.
*/
@RequiredArgsConstructor
-public final class GlobalRuleRDLBackendHandler implements
DistSQLBackendHandler {
+public final class GlobalRuleUpdater {
private final RuleDefinitionStatement sqlStatement;
+ /**
+ * Execute update.
+ */
@SuppressWarnings({"rawtypes", "unchecked"})
- @Override
- public ResponseHeader execute() {
+ public void executeUpdate() {
GlobalRuleRDLExecutor executor =
TypedSPILoader.getService(GlobalRuleRDLExecutor.class, sqlStatement.getClass());
Class<? extends RuleConfiguration> ruleConfigClass =
executor.getRuleConfigurationClass();
ContextManager contextManager =
ProxyContext.getInstance().getContextManager();
@@ -50,7 +49,6 @@ public final class GlobalRuleRDLBackendHandler implements
DistSQLBackendHandler
RuleConfiguration currentRuleConfig =
findCurrentRuleConfiguration(ruleConfigs, ruleConfigClass);
executor.checkSQLStatement(currentRuleConfig, sqlStatement);
contextManager.getInstanceContext().getModeContextManager().alterGlobalRuleConfiguration(processUpdate(ruleConfigs,
sqlStatement, executor, currentRuleConfig));
- return new UpdateResponseHeader(sqlStatement);
}
private RuleConfiguration findCurrentRuleConfiguration(final
Collection<RuleConfiguration> ruleConfigurations, final Class<? extends
RuleConfiguration> ruleConfigClass) {