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 464e134a4a5 Refactor DriverExecutorFacade (#31613)
464e134a4a5 is described below

commit 464e134a4a5a7dfb56c4f036a8594b96b5dc09ed
Author: Liang Zhang <[email protected]>
AuthorDate: Fri Jun 7 00:44:00 2024 +0800

    Refactor DriverExecutorFacade (#31613)
---
 .../shardingsphere/driver/executor/DriverExecutorFacade.java   | 10 +++++-----
 .../driver/executor/batch/DriverExecuteBatchExecutor.java      |  7 +++----
 .../jdbc/core/statement/ShardingSpherePreparedStatement.java   |  4 ++--
 .../driver/jdbc/core/statement/ShardingSphereStatement.java    |  4 +++-
 4 files changed, 13 insertions(+), 12 deletions(-)

diff --git 
a/jdbc/src/main/java/org/apache/shardingsphere/driver/executor/DriverExecutorFacade.java
 
b/jdbc/src/main/java/org/apache/shardingsphere/driver/executor/DriverExecutorFacade.java
index f71b20303c5..342bd637504 100644
--- 
a/jdbc/src/main/java/org/apache/shardingsphere/driver/executor/DriverExecutorFacade.java
+++ 
b/jdbc/src/main/java/org/apache/shardingsphere/driver/executor/DriverExecutorFacade.java
@@ -70,12 +70,12 @@ public final class DriverExecutorFacade implements 
AutoCloseable {
     
     private final DriverExecuteExecutor executeExecutor;
     
-    public DriverExecutorFacade(final ShardingSphereConnection connection, 
final StatementOption statementOption, final StatementManager statementManager, 
final String jdbcDriverType) {
+    public DriverExecutorFacade(final ShardingSphereConnection connection, 
final StatementOption statementOption, final StatementManager statementManager,
+                                final JDBCExecutor jdbcExecutor, final String 
jdbcDriverType) {
         this.connection = connection;
         this.statementOption = statementOption;
         this.statementManager = statementManager;
         this.jdbcDriverType = jdbcDriverType;
-        JDBCExecutor jdbcExecutor = new 
JDBCExecutor(connection.getContextManager().getExecutorEngine(), 
connection.getDatabaseConnectionManager().getConnectionContext());
         DriverJDBCExecutor regularExecutor = new 
DriverJDBCExecutor(connection.getDatabaseName(), 
connection.getContextManager(), jdbcExecutor);
         RawExecutor rawExecutor = new 
RawExecutor(connection.getContextManager().getExecutorEngine(), 
connection.getDatabaseConnectionManager().getConnectionContext());
         trafficExecutor = new TrafficExecutor();
@@ -111,7 +111,7 @@ public final class DriverExecutorFacade implements 
AutoCloseable {
      *
      * @param database database
      * @param queryContext query context
-     * @param updateCallback statement execute update callback
+     * @param executeUpdateCallback statement execute update callback
      * @param replayCallback statement replay callback
      * @param addCallback statement add callback
      * @return updated row count
@@ -119,9 +119,9 @@ public final class DriverExecutorFacade implements 
AutoCloseable {
      */
     @SuppressWarnings("rawtypes")
     public int executeUpdate(final ShardingSphereDatabase database, final 
QueryContext queryContext,
-                             final StatementExecuteUpdateCallback 
updateCallback, final StatementAddCallback addCallback, final 
StatementReplayCallback replayCallback) throws SQLException {
+                             final StatementExecuteUpdateCallback 
executeUpdateCallback, final StatementAddCallback addCallback, final 
StatementReplayCallback replayCallback) throws SQLException {
         DriverExecutionPrepareEngine<JDBCExecutionUnit, Connection> 
prepareEngine = createDriverExecutionPrepareEngine(database, jdbcDriverType);
-        return updateExecutor.executeUpdate(database, queryContext, 
prepareEngine, updateCallback, addCallback, replayCallback);
+        return updateExecutor.executeUpdate(database, queryContext, 
prepareEngine, executeUpdateCallback, addCallback, replayCallback);
     }
     
     /**
diff --git 
a/jdbc/src/main/java/org/apache/shardingsphere/driver/executor/batch/DriverExecuteBatchExecutor.java
 
b/jdbc/src/main/java/org/apache/shardingsphere/driver/executor/batch/DriverExecuteBatchExecutor.java
index ec92a9f60da..920b2ec16db 100644
--- 
a/jdbc/src/main/java/org/apache/shardingsphere/driver/executor/batch/DriverExecuteBatchExecutor.java
+++ 
b/jdbc/src/main/java/org/apache/shardingsphere/driver/executor/batch/DriverExecuteBatchExecutor.java
@@ -72,8 +72,8 @@ public final class DriverExecuteBatchExecutor {
     
     private ExecutionContext executionContext;
     
-    public DriverExecuteBatchExecutor(final ShardingSphereConnection 
connection, final ShardingSphereMetaData metaData, final ShardingSphereDatabase 
database, final JDBCExecutor jdbcExecutor,
-                                      final StatementOption statementOption, 
final StatementManager statementManager) {
+    public DriverExecuteBatchExecutor(final ShardingSphereConnection 
connection, final ShardingSphereMetaData metaData, final StatementOption 
statementOption, final StatementManager statementManager,
+                                      final ShardingSphereDatabase database, 
final JDBCExecutor jdbcExecutor) {
         this.connection = connection;
         this.metaData = metaData;
         batchPreparedStatementExecutor = new 
BatchPreparedStatementExecutor(database, jdbcExecutor, 
connection.getProcessId());
@@ -130,8 +130,7 @@ public final class DriverExecuteBatchExecutor {
             return new int[0];
         }
         // TODO add raw SQL executor
-        return doExecuteBatch(database, batchPreparedStatementExecutor,
-                sqlStatementContext, generatedValues, statementOption, 
executionContext, addCallback, replayCallback, generatedKeyCallback);
+        return doExecuteBatch(database, batchPreparedStatementExecutor, 
sqlStatementContext, generatedValues, statementOption, executionContext, 
addCallback, replayCallback, generatedKeyCallback);
     }
     
     @SuppressWarnings({"rawtypes", "unchecked"})
diff --git 
a/jdbc/src/main/java/org/apache/shardingsphere/driver/jdbc/core/statement/ShardingSpherePreparedStatement.java
 
b/jdbc/src/main/java/org/apache/shardingsphere/driver/jdbc/core/statement/ShardingSpherePreparedStatement.java
index 07b61fe5c36..20a498f8f44 100644
--- 
a/jdbc/src/main/java/org/apache/shardingsphere/driver/jdbc/core/statement/ShardingSpherePreparedStatement.java
+++ 
b/jdbc/src/main/java/org/apache/shardingsphere/driver/jdbc/core/statement/ShardingSpherePreparedStatement.java
@@ -162,8 +162,8 @@ public final class ShardingSpherePreparedStatement extends 
AbstractPreparedState
         ShardingSphereDatabase database = metaData.getDatabase(databaseName);
         statementManager = new StatementManager();
         JDBCExecutor jdbcExecutor = new 
JDBCExecutor(connection.getContextManager().getExecutorEngine(), 
connection.getDatabaseConnectionManager().getConnectionContext());
-        driverExecutorFacade = new DriverExecutorFacade(connection, 
statementOption, statementManager, JDBCDriverType.PREPARED_STATEMENT);
-        executeBatchExecutor = new DriverExecuteBatchExecutor(connection, 
metaData, database, jdbcExecutor, statementOption, statementManager);
+        driverExecutorFacade = new DriverExecutorFacade(connection, 
statementOption, statementManager, jdbcExecutor, 
JDBCDriverType.PREPARED_STATEMENT);
+        executeBatchExecutor = new DriverExecuteBatchExecutor(connection, 
metaData, statementOption, statementManager, database, jdbcExecutor);
         statementsCacheable = 
isStatementsCacheable(database.getRuleMetaData());
         selectContainsEnhancedTable = sqlStatementContext instanceof 
SelectStatementContext && ((SelectStatementContext) 
sqlStatementContext).isContainsEnhancedTable();
     }
diff --git 
a/jdbc/src/main/java/org/apache/shardingsphere/driver/jdbc/core/statement/ShardingSphereStatement.java
 
b/jdbc/src/main/java/org/apache/shardingsphere/driver/jdbc/core/statement/ShardingSphereStatement.java
index 067a0fe6dd2..d0035f2c255 100644
--- 
a/jdbc/src/main/java/org/apache/shardingsphere/driver/jdbc/core/statement/ShardingSphereStatement.java
+++ 
b/jdbc/src/main/java/org/apache/shardingsphere/driver/jdbc/core/statement/ShardingSphereStatement.java
@@ -39,6 +39,7 @@ import 
org.apache.shardingsphere.infra.database.core.spi.DatabaseTypedSPILoader;
 import 
org.apache.shardingsphere.infra.exception.core.ShardingSpherePreconditions;
 import 
org.apache.shardingsphere.infra.exception.dialect.SQLExceptionTransformEngine;
 import 
org.apache.shardingsphere.infra.exception.kernel.syntax.EmptySQLException;
+import 
org.apache.shardingsphere.infra.executor.sql.execute.engine.driver.jdbc.JDBCExecutor;
 import 
org.apache.shardingsphere.infra.executor.sql.execute.result.query.QueryResult;
 import 
org.apache.shardingsphere.infra.executor.sql.execute.result.query.impl.driver.jdbc.type.stream.JDBCStreamQueryResult;
 import 
org.apache.shardingsphere.infra.executor.sql.prepare.driver.jdbc.JDBCDriverType;
@@ -110,7 +111,8 @@ public final class ShardingSphereStatement extends 
AbstractStatementAdapter {
         statements = new LinkedList<>();
         statementOption = new StatementOption(resultSetType, 
resultSetConcurrency, resultSetHoldability);
         statementManager = new StatementManager();
-        driverExecutorFacade = new DriverExecutorFacade(connection, 
statementOption, statementManager, JDBCDriverType.STATEMENT);
+        JDBCExecutor jdbcExecutor = new 
JDBCExecutor(connection.getContextManager().getExecutorEngine(), 
connection.getDatabaseConnectionManager().getConnectionContext());
+        driverExecutorFacade = new DriverExecutorFacade(connection, 
statementOption, statementManager, jdbcExecutor, JDBCDriverType.STATEMENT);
         batchStatementExecutor = new BatchStatementExecutor(this);
         databaseName = connection.getDatabaseName();
     }

Reply via email to