This is an automated email from the ASF dual-hosted git repository.

sunnianjun 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 0b4d9bd5b51 Refactor RULExecutor.getType() (#27973)
0b4d9bd5b51 is described below

commit 0b4d9bd5b51c26dd3df8d6674aae87141bff6ae5
Author: Liang Zhang <[email protected]>
AuthorDate: Mon Aug 7 19:50:03 2023 +0800

    Refactor RULExecutor.getType() (#27973)
---
 .../apache/shardingsphere/distsql/handler/rul/RULExecutor.java |  3 +++
 .../backend/handler/distsql/rul/SQLRULBackendHandler.java      |  3 ++-
 .../backend/handler/distsql/rul/sql/FormatSQLExecutor.java     |  4 ++--
 .../backend/handler/distsql/rul/sql/ParseDistSQLExecutor.java  |  4 ++--
 .../proxy/backend/handler/distsql/rul/sql/PreviewExecutor.java | 10 +++++-----
 5 files changed, 14 insertions(+), 10 deletions(-)

diff --git 
a/infra/distsql-handler/src/main/java/org/apache/shardingsphere/distsql/handler/rul/RULExecutor.java
 
b/infra/distsql-handler/src/main/java/org/apache/shardingsphere/distsql/handler/rul/RULExecutor.java
index 0a812e02665..5a717a142b5 100644
--- 
a/infra/distsql-handler/src/main/java/org/apache/shardingsphere/distsql/handler/rul/RULExecutor.java
+++ 
b/infra/distsql-handler/src/main/java/org/apache/shardingsphere/distsql/handler/rul/RULExecutor.java
@@ -49,4 +49,7 @@ public interface RULExecutor<T extends RULStatement> extends 
TypedSPI {
     default Collection<LocalDataQueryResultRow> getRows(T sqlStatement) {
         return Collections.emptyList();
     }
+    
+    @Override
+    Class<T> getType();
 }
diff --git 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/rul/SQLRULBackendHandler.java
 
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/rul/SQLRULBackendHandler.java
index fe0e43d8991..c7217f90fbe 100644
--- 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/rul/SQLRULBackendHandler.java
+++ 
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/rul/SQLRULBackendHandler.java
@@ -48,9 +48,10 @@ public final class SQLRULBackendHandler<T extends 
RULStatement> extends RULBacke
     
     private MergedResult mergedResult;
     
+    @SuppressWarnings("unchecked")
     @Override
     public ResponseHeader execute() throws SQLException {
-        RULExecutor<T> executor = TypedSPILoader.getService(RULExecutor.class, 
getSqlStatement().getClass().getName());
+        RULExecutor<T> executor = TypedSPILoader.getService(RULExecutor.class, 
getSqlStatement().getClass());
         queryHeaders = createQueryHeader(executor);
         mergedResult = createMergedResult(executor);
         return new QueryResponseHeader(queryHeaders);
diff --git 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/rul/sql/FormatSQLExecutor.java
 
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/rul/sql/FormatSQLExecutor.java
index 38e5868807f..aed4eea9b8b 100644
--- 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/rul/sql/FormatSQLExecutor.java
+++ 
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/rul/sql/FormatSQLExecutor.java
@@ -52,7 +52,7 @@ public final class FormatSQLExecutor implements 
ConnectionSessionRequiredRULExec
     }
     
     @Override
-    public String getType() {
-        return FormatStatement.class.getName();
+    public Class<FormatStatement> getType() {
+        return FormatStatement.class;
     }
 }
diff --git 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/rul/sql/ParseDistSQLExecutor.java
 
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/rul/sql/ParseDistSQLExecutor.java
index bdc396a6dbc..cb43bb893f8 100644
--- 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/rul/sql/ParseDistSQLExecutor.java
+++ 
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/rul/sql/ParseDistSQLExecutor.java
@@ -52,7 +52,7 @@ public final class ParseDistSQLExecutor implements 
ConnectionSessionRequiredRULE
     }
     
     @Override
-    public String getType() {
-        return ParseStatement.class.getName();
+    public Class<ParseStatement> getType() {
+        return ParseStatement.class;
     }
 }
diff --git 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/rul/sql/PreviewExecutor.java
 
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/rul/sql/PreviewExecutor.java
index 7e39ff048ca..4b38cb60e23 100644
--- 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/rul/sql/PreviewExecutor.java
+++ 
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/rul/sql/PreviewExecutor.java
@@ -19,8 +19,6 @@ package 
org.apache.shardingsphere.proxy.backend.handler.distsql.rul.sql;
 
 import com.google.common.base.Preconditions;
 import com.google.common.base.Strings;
-import 
org.apache.shardingsphere.infra.exception.dialect.exception.syntax.database.NoDatabaseSelectedException;
-import 
org.apache.shardingsphere.infra.exception.dialect.exception.syntax.database.UnknownDatabaseException;
 import 
org.apache.shardingsphere.distsql.parser.statement.rul.sql.PreviewStatement;
 import 
org.apache.shardingsphere.infra.binder.context.aware.CursorDefinitionAware;
 import 
org.apache.shardingsphere.infra.binder.context.statement.SQLStatementContext;
@@ -32,6 +30,9 @@ import 
org.apache.shardingsphere.infra.config.props.ConfigurationPropertyKey;
 import org.apache.shardingsphere.infra.connection.kernel.KernelProcessor;
 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.exception.dialect.exception.syntax.database.NoDatabaseSelectedException;
+import 
org.apache.shardingsphere.infra.exception.dialect.exception.syntax.database.UnknownDatabaseException;
 import org.apache.shardingsphere.infra.executor.sql.context.ExecutionUnit;
 import 
org.apache.shardingsphere.infra.executor.sql.execute.engine.ConnectionMode;
 import 
org.apache.shardingsphere.infra.executor.sql.execute.engine.SQLExecutorExceptionHandler;
@@ -51,7 +52,6 @@ import 
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
 import 
org.apache.shardingsphere.infra.metadata.database.resource.ShardingSphereResourceMetaData;
 import 
org.apache.shardingsphere.infra.metadata.database.rule.ShardingSphereRuleMetaData;
 import org.apache.shardingsphere.infra.session.query.QueryContext;
-import 
org.apache.shardingsphere.infra.exception.core.ShardingSpherePreconditions;
 import org.apache.shardingsphere.mode.metadata.MetaDataContexts;
 import org.apache.shardingsphere.parser.rule.SQLParserRule;
 import 
org.apache.shardingsphere.proxy.backend.connector.jdbc.statement.JDBCBackendStatement;
@@ -179,7 +179,7 @@ public final class PreviewExecutor implements 
ConnectionSessionRequiredRULExecut
     }
     
     @Override
-    public String getType() {
-        return PreviewStatement.class.getName();
+    public Class<PreviewStatement> getType() {
+        return PreviewStatement.class;
     }
 }

Reply via email to