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 1d556e46d94 Rename DatabaseTypeAwareRALUpdater (#29766)
1d556e46d94 is described below

commit 1d556e46d945d233466cc43e8d61498e1f24d02e
Author: Liang Zhang <[email protected]>
AuthorDate: Thu Jan 18 19:40:57 2024 +0800

    Rename DatabaseTypeAwareRALUpdater (#29766)
---
 ...TypeAwareRALUpdater.java => DatabaseAwareRALUpdater.java} | 12 ++++++------
 .../distsql/ral/UpdatableDatabaseRuleRALBackendHandler.java  |  8 +++++---
 .../distsql/ral/updatable/RefreshTableMetaDataUpdater.java   | 10 +++++-----
 3 files changed, 16 insertions(+), 14 deletions(-)

diff --git 
a/infra/distsql-handler/src/main/java/org/apache/shardingsphere/distsql/handler/type/ral/update/DatabaseTypeAwareRALUpdater.java
 
b/infra/distsql-handler/src/main/java/org/apache/shardingsphere/distsql/handler/type/ral/update/DatabaseAwareRALUpdater.java
similarity index 75%
rename from 
infra/distsql-handler/src/main/java/org/apache/shardingsphere/distsql/handler/type/ral/update/DatabaseTypeAwareRALUpdater.java
rename to 
infra/distsql-handler/src/main/java/org/apache/shardingsphere/distsql/handler/type/ral/update/DatabaseAwareRALUpdater.java
index 1f010bb12c3..c00be0baaf5 100644
--- 
a/infra/distsql-handler/src/main/java/org/apache/shardingsphere/distsql/handler/type/ral/update/DatabaseTypeAwareRALUpdater.java
+++ 
b/infra/distsql-handler/src/main/java/org/apache/shardingsphere/distsql/handler/type/ral/update/DatabaseAwareRALUpdater.java
@@ -18,19 +18,19 @@
 package org.apache.shardingsphere.distsql.handler.type.ral.update;
 
 import org.apache.shardingsphere.distsql.statement.ral.UpdatableRALStatement;
-import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
+import 
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
 
 /**
- * Database type aware RAL updater.
+ * Database aware RAL updater.
  * 
  * @param <T> type of SQL statement
  */
-public interface DatabaseTypeAwareRALUpdater<T extends UpdatableRALStatement> 
extends DatabaseRuleRALUpdater<T> {
+public interface DatabaseAwareRALUpdater<T extends UpdatableRALStatement> 
extends DatabaseRuleRALUpdater<T> {
     
     /**
-     * Set database type.
+     * Set database.
      *
-     * @param databaseType database type
+     * @param database database
      */
-    void setDatabaseType(DatabaseType databaseType);
+    void setDatabase(ShardingSphereDatabase database);
 }
diff --git 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/UpdatableDatabaseRuleRALBackendHandler.java
 
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/UpdatableDatabaseRuleRALBackendHandler.java
index f6e0020c66b..3d96540fc90 100644
--- 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/UpdatableDatabaseRuleRALBackendHandler.java
+++ 
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/UpdatableDatabaseRuleRALBackendHandler.java
@@ -19,12 +19,14 @@ package 
org.apache.shardingsphere.proxy.backend.handler.distsql.ral;
 
 import lombok.RequiredArgsConstructor;
 import 
org.apache.shardingsphere.distsql.handler.type.ral.update.DatabaseRuleRALUpdater;
-import 
org.apache.shardingsphere.distsql.handler.type.ral.update.DatabaseTypeAwareRALUpdater;
+import 
org.apache.shardingsphere.distsql.handler.type.ral.update.DatabaseAwareRALUpdater;
 import org.apache.shardingsphere.distsql.statement.ral.UpdatableRALStatement;
 import org.apache.shardingsphere.infra.spi.type.typed.TypedSPILoader;
+import org.apache.shardingsphere.proxy.backend.context.ProxyContext;
 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 java.sql.SQLException;
 
@@ -44,8 +46,8 @@ public final class UpdatableDatabaseRuleRALBackendHandler<T 
extends UpdatableRAL
     @Override
     public ResponseHeader execute() throws SQLException {
         DatabaseRuleRALUpdater<T> updater = 
TypedSPILoader.getService(DatabaseRuleRALUpdater.class, 
sqlStatement.getClass());
-        if (updater instanceof DatabaseTypeAwareRALUpdater) {
-            ((DatabaseTypeAwareRALUpdater<T>) 
updater).setDatabaseType(connectionSession.getProtocolType());
+        if (updater instanceof DatabaseAwareRALUpdater) {
+            ((DatabaseAwareRALUpdater<T>) 
updater).setDatabase(ProxyContext.getInstance().getDatabase(DatabaseNameUtils.getDatabaseName(sqlStatement,
 connectionSession)));
         }
         updater.executeUpdate(connectionSession.getDatabaseName(), (T) 
sqlStatement);
         return new UpdateResponseHeader(sqlStatement);
diff --git 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/updatable/RefreshTableMetaDataUpdater.java
 
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/updatable/RefreshTableMetaDataUpdater.java
index 0df239f676d..df003a4f074 100644
--- 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/updatable/RefreshTableMetaDataUpdater.java
+++ 
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/updatable/RefreshTableMetaDataUpdater.java
@@ -20,11 +20,11 @@ package 
org.apache.shardingsphere.proxy.backend.handler.distsql.ral.updatable;
 import lombok.Setter;
 import 
org.apache.shardingsphere.distsql.handler.exception.storageunit.EmptyStorageUnitException;
 import 
org.apache.shardingsphere.distsql.handler.exception.storageunit.MissingRequiredStorageUnitsException;
-import 
org.apache.shardingsphere.distsql.handler.type.ral.update.DatabaseTypeAwareRALUpdater;
+import 
org.apache.shardingsphere.distsql.handler.type.ral.update.DatabaseAwareRALUpdater;
 import 
org.apache.shardingsphere.distsql.statement.ral.updatable.RefreshTableMetaDataStatement;
-import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseTypeRegistry;
 import 
org.apache.shardingsphere.infra.exception.core.ShardingSpherePreconditions;
+import 
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
 import 
org.apache.shardingsphere.infra.metadata.database.resource.unit.StorageUnit;
 import org.apache.shardingsphere.mode.manager.ContextManager;
 import org.apache.shardingsphere.proxy.backend.context.ProxyContext;
@@ -37,9 +37,9 @@ import java.util.Map;
  * Refresh table meta data handler.
  */
 @Setter
-public final class RefreshTableMetaDataUpdater implements 
DatabaseTypeAwareRALUpdater<RefreshTableMetaDataStatement> {
+public final class RefreshTableMetaDataUpdater implements 
DatabaseAwareRALUpdater<RefreshTableMetaDataStatement> {
     
-    private DatabaseType databaseType;
+    private ShardingSphereDatabase database;
     
     @Override
     public void executeUpdate(final String databaseName, final 
RefreshTableMetaDataStatement sqlStatement) throws SQLException {
@@ -71,7 +71,7 @@ public final class RefreshTableMetaDataUpdater implements 
DatabaseTypeAwareRALUp
     }
     
     private String getSchemaName(final String databaseName, final 
RefreshTableMetaDataStatement sqlStatement) {
-        return sqlStatement.getSchemaName().isPresent() ? 
sqlStatement.getSchemaName().get() : new 
DatabaseTypeRegistry(databaseType).getDefaultSchemaName(databaseName);
+        return sqlStatement.getSchemaName().isPresent() ? 
sqlStatement.getSchemaName().get() : new 
DatabaseTypeRegistry(database.getProtocolType()).getDefaultSchemaName(databaseName);
     }
     
     @Override

Reply via email to