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