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

Reply via email to