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;
}
}