This is an automated email from the ASF dual-hosted git repository.
zhangliang 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 fbfd506da17 Refactor AdvancedProxySQLExecutor (#32451)
fbfd506da17 is described below
commit fbfd506da172956a9ff39d5c2cd496ab86825d1e
Author: Liang Zhang <[email protected]>
AuthorDate: Sat Aug 10 15:02:35 2024 +0800
Refactor AdvancedProxySQLExecutor (#32451)
---
.../proxy/backend/connector/AdvancedProxySQLExecutor.java | 4 +++-
.../shardingsphere/proxy/backend/connector/DatabaseConnector.java | 4 +++-
2 files changed, 6 insertions(+), 2 deletions(-)
diff --git
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/AdvancedProxySQLExecutor.java
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/AdvancedProxySQLExecutor.java
index de61474c9ab..209715a52d6 100644
---
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/AdvancedProxySQLExecutor.java
+++
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/AdvancedProxySQLExecutor.java
@@ -20,6 +20,7 @@ package org.apache.shardingsphere.proxy.backend.connector;
import org.apache.shardingsphere.infra.executor.sql.context.ExecutionContext;
import
org.apache.shardingsphere.infra.executor.sql.execute.result.ExecuteResult;
import org.apache.shardingsphere.infra.spi.annotation.SingletonSPI;
+import org.apache.shardingsphere.mode.manager.ContextManager;
import java.sql.SQLException;
import java.util.List;
@@ -34,9 +35,10 @@ public interface AdvancedProxySQLExecutor {
* Execute.
*
* @param executionContext execution context
+ * @param contextManager context manager
* @param databaseConnector database connector
* @return execute result
* @throws SQLException SQL exception
*/
- List<ExecuteResult> execute(ExecutionContext executionContext,
DatabaseConnector databaseConnector) throws SQLException;
+ List<ExecuteResult> execute(ExecutionContext executionContext,
ContextManager contextManager, DatabaseConnector databaseConnector) throws
SQLException;
}
diff --git
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/DatabaseConnector.java
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/DatabaseConnector.java
index 6e26b6e18e7..1283ba58a66 100644
---
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/DatabaseConnector.java
+++
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/DatabaseConnector.java
@@ -240,7 +240,9 @@ public final class DatabaseConnector implements
DatabaseBackendHandler {
}
proxySQLExecutor.checkExecutePrerequisites(executionContext);
Collection<AdvancedProxySQLExecutor> advancedExecutors =
ShardingSphereServiceLoader.getServiceInstances(AdvancedProxySQLExecutor.class);
- List<ExecuteResult> executeResults = advancedExecutors.isEmpty() ?
proxySQLExecutor.execute(executionContext) :
advancedExecutors.iterator().next().execute(executionContext, this);
+ List<ExecuteResult> executeResults = advancedExecutors.isEmpty()
+ ? proxySQLExecutor.execute(executionContext)
+ :
advancedExecutors.iterator().next().execute(executionContext, contextManager,
this);
getMetaDataRefreshEngine().refresh(queryContext.getSqlStatementContext(),
executionContext.getRouteContext().getRouteUnits());
Object executeResultSample = executeResults.iterator().next();
return executeResultSample instanceof QueryResult