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

chengzhang 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 3da181c4b48 Refactor DriverExecutorFacade (#31605)
3da181c4b48 is described below

commit 3da181c4b48f5e371c91670eedb3aad53220cf7c
Author: Liang Zhang <[email protected]>
AuthorDate: Thu Jun 6 17:32:35 2024 +0800

    Refactor DriverExecutorFacade (#31605)
    
    * Move ShardingSphereSavepoint's package
    
    * Refactor DriverExecutorFacade
---
 .../driver/executor/DriverExecutorFacade.java      | 50 ++++++++++++++++------
 .../statement/ShardingSpherePreparedStatement.java | 24 +++--------
 .../core/statement/ShardingSphereStatement.java    | 21 +++------
 3 files changed, 48 insertions(+), 47 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 7ba91c5721c..59fea2a24d8 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
@@ -24,12 +24,15 @@ import 
org.apache.shardingsphere.driver.executor.callback.keygen.GeneratedKeyCal
 import 
org.apache.shardingsphere.driver.executor.callback.replay.PreparedStatementParametersReplayCallback;
 import 
org.apache.shardingsphere.driver.executor.callback.replay.StatementReplayCallback;
 import 
org.apache.shardingsphere.driver.jdbc.core.connection.ShardingSphereConnection;
+import org.apache.shardingsphere.driver.jdbc.core.statement.StatementManager;
 import 
org.apache.shardingsphere.infra.binder.context.statement.SQLStatementContext;
+import org.apache.shardingsphere.infra.config.props.ConfigurationPropertyKey;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseTypeRegistry;
 import 
org.apache.shardingsphere.infra.executor.sql.execute.engine.driver.jdbc.JDBCExecutionUnit;
 import 
org.apache.shardingsphere.infra.executor.sql.execute.engine.driver.jdbc.JDBCExecutor;
 import 
org.apache.shardingsphere.infra.executor.sql.execute.engine.raw.RawExecutor;
 import 
org.apache.shardingsphere.infra.executor.sql.prepare.driver.DriverExecutionPrepareEngine;
+import 
org.apache.shardingsphere.infra.executor.sql.prepare.driver.jdbc.JDBCDriverType;
 import 
org.apache.shardingsphere.infra.executor.sql.prepare.driver.jdbc.StatementOption;
 import org.apache.shardingsphere.infra.metadata.ShardingSphereMetaData;
 import 
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
@@ -50,6 +53,14 @@ import java.util.Optional;
  */
 public final class DriverExecutorFacade implements AutoCloseable {
     
+    private final ShardingSphereConnection connection;
+    
+    private final StatementOption statementOption;
+    
+    private final StatementManager statementManager;
+    
+    private final String jdbcDriverType;
+    
     private final TrafficExecutor trafficExecutor;
     
     private final SQLFederationEngine sqlFederationEngine;
@@ -62,11 +73,20 @@ public final class DriverExecutorFacade implements 
AutoCloseable {
     
     private final DriverExecuteBatchExecutor executeBatchExecutor;
     
-    public DriverExecutorFacade(final ShardingSphereConnection connection) {
-        this(connection, null);
+    public DriverExecutorFacade(final ShardingSphereConnection connection, 
final StatementOption statementOption, final StatementManager statementManager) 
{
+        this(connection, statementOption, statementManager, null, 
JDBCDriverType.STATEMENT);
     }
     
-    public DriverExecutorFacade(final ShardingSphereConnection connection, 
final ShardingSphereDatabase database) {
+    public DriverExecutorFacade(final ShardingSphereConnection connection, 
final StatementOption statementOption, final StatementManager statementManager, 
final ShardingSphereDatabase database) {
+        this(connection, statementOption, statementManager, database, 
JDBCDriverType.PREPARED_STATEMENT);
+    }
+    
+    private DriverExecutorFacade(final ShardingSphereConnection connection, 
final StatementOption statementOption, final StatementManager statementManager,
+                                 final ShardingSphereDatabase database, 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());
@@ -85,7 +105,6 @@ public final class DriverExecutorFacade implements 
AutoCloseable {
      *
      * @param database database
      * @param queryContext query context
-     * @param prepareEngine prepare engine
      * @param statement statement
      * @param columnLabelAndIndexMap column label and index map
      * @param addCallback statement add callback
@@ -94,9 +113,9 @@ public final class DriverExecutorFacade implements 
AutoCloseable {
      * @throws SQLException SQL exception
      */
     @SuppressWarnings("rawtypes")
-    public ResultSet executeQuery(final ShardingSphereDatabase database, final 
QueryContext queryContext,
-                                  final 
DriverExecutionPrepareEngine<JDBCExecutionUnit, Connection> prepareEngine, 
final Statement statement, final Map<String, Integer> columnLabelAndIndexMap,
+    public ResultSet executeQuery(final ShardingSphereDatabase database, final 
QueryContext queryContext, final Statement statement, final Map<String, 
Integer> columnLabelAndIndexMap,
                                   final StatementAddCallback addCallback, 
final StatementReplayCallback replayCallback) throws SQLException {
+        DriverExecutionPrepareEngine<JDBCExecutionUnit, Connection> 
prepareEngine = createDriverExecutionPrepareEngine(database, jdbcDriverType);
         return queryExecutor.executeQuery(database, queryContext, 
prepareEngine, statement, columnLabelAndIndexMap, addCallback, replayCallback);
     }
     
@@ -105,7 +124,6 @@ public final class DriverExecutorFacade implements 
AutoCloseable {
      *
      * @param database database
      * @param queryContext query context
-     * @param prepareEngine prepare engine
      * @param updateCallback statement execute update callback
      * @param replayCallback statement replay callback
      * @param addCallback statement add callback
@@ -113,8 +131,9 @@ public final class DriverExecutorFacade implements 
AutoCloseable {
      * @throws SQLException SQL exception
      */
     @SuppressWarnings("rawtypes")
-    public int executeUpdate(final ShardingSphereDatabase database, final 
QueryContext queryContext, final 
DriverExecutionPrepareEngine<JDBCExecutionUnit, Connection> prepareEngine,
+    public int executeUpdate(final ShardingSphereDatabase database, final 
QueryContext queryContext,
                              final StatementExecuteUpdateCallback 
updateCallback, final StatementAddCallback addCallback, final 
StatementReplayCallback replayCallback) throws SQLException {
+        DriverExecutionPrepareEngine<JDBCExecutionUnit, Connection> 
prepareEngine = createDriverExecutionPrepareEngine(database, jdbcDriverType);
         return updateExecutor.executeUpdate(database, queryContext, 
prepareEngine, updateCallback, addCallback, replayCallback);
     }
     
@@ -123,7 +142,6 @@ public final class DriverExecutorFacade implements 
AutoCloseable {
      *
      * @param database database
      * @param queryContext query context
-     * @param prepareEngine prepare engine
      * @param executeCallback statement execute callback
      * @param addCallback statement add callback
      * @param replayCallback statement replay callback
@@ -131,8 +149,9 @@ public final class DriverExecutorFacade implements 
AutoCloseable {
      * @throws SQLException SQL exception
      */
     @SuppressWarnings("rawtypes")
-    public boolean execute(final ShardingSphereDatabase database, final 
QueryContext queryContext, final 
DriverExecutionPrepareEngine<JDBCExecutionUnit, Connection> prepareEngine,
+    public boolean execute(final ShardingSphereDatabase database, final 
QueryContext queryContext,
                            final StatementExecuteCallback executeCallback, 
final StatementAddCallback addCallback, final StatementReplayCallback 
replayCallback) throws SQLException {
+        DriverExecutionPrepareEngine<JDBCExecutionUnit, Connection> 
prepareEngine = createDriverExecutionPrepareEngine(database, jdbcDriverType);
         return executeExecutor.execute(database, queryContext, prepareEngine, 
executeCallback, addCallback, replayCallback);
     }
     
@@ -162,7 +181,6 @@ public final class DriverExecutorFacade implements 
AutoCloseable {
      * @param sqlStatementContext SQL statement context
      * @param generatedValues generated values
      * @param statementOption statement option
-     * @param prepareEngine prepare engine
      * @param addCallback statement add callback
      * @param replayCallback prepared statement parameters replay callback
      * @param generatedKeyCallback generated key callback
@@ -171,12 +189,18 @@ public final class DriverExecutorFacade implements 
AutoCloseable {
      */
     @SuppressWarnings("rawtypes")
     public int[] executeBatch(final ShardingSphereDatabase database, final 
SQLStatementContext sqlStatementContext, final Collection<Comparable<?>> 
generatedValues,
-                              final StatementOption statementOption, final 
DriverExecutionPrepareEngine<JDBCExecutionUnit, Connection> prepareEngine,
-                              final StatementAddCallback addCallback, final 
PreparedStatementParametersReplayCallback replayCallback,
+                              final StatementOption statementOption, final 
StatementAddCallback addCallback, final 
PreparedStatementParametersReplayCallback replayCallback,
                               final GeneratedKeyCallback generatedKeyCallback) 
throws SQLException {
+        DriverExecutionPrepareEngine<JDBCExecutionUnit, Connection> 
prepareEngine = createDriverExecutionPrepareEngine(database, jdbcDriverType);
         return executeBatchExecutor.executeBatch(database, 
sqlStatementContext, generatedValues, statementOption, prepareEngine, 
addCallback, replayCallback, generatedKeyCallback);
     }
     
+    private DriverExecutionPrepareEngine<JDBCExecutionUnit, Connection> 
createDriverExecutionPrepareEngine(final ShardingSphereDatabase database, final 
String jdbcDriverType) {
+        int maxConnectionsSizePerQuery = 
connection.getContextManager().getMetaDataContexts().getMetaData().getProps().<Integer>getValue(ConfigurationPropertyKey.MAX_CONNECTIONS_SIZE_PER_QUERY);
+        return new DriverExecutionPrepareEngine<>(jdbcDriverType, 
maxConnectionsSizePerQuery, connection.getDatabaseConnectionManager(), 
statementManager, statementOption,
+                database.getRuleMetaData().getRules(), 
database.getResourceMetaData().getStorageUnits());
+    }
+    
     /**
      * Clear.
      */
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 a833b2fb209..925fe9ad667 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
@@ -34,17 +34,13 @@ import 
org.apache.shardingsphere.infra.binder.context.statement.SQLStatementCont
 import 
org.apache.shardingsphere.infra.binder.context.statement.dml.InsertStatementContext;
 import 
org.apache.shardingsphere.infra.binder.context.statement.dml.SelectStatementContext;
 import org.apache.shardingsphere.infra.binder.engine.SQLBindEngine;
-import org.apache.shardingsphere.infra.config.props.ConfigurationPropertyKey;
 import 
org.apache.shardingsphere.infra.database.core.keygen.GeneratedKeyColumnProvider;
 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.JDBCExecutionUnit;
 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.DriverExecutionPrepareEngine;
-import 
org.apache.shardingsphere.infra.executor.sql.prepare.driver.jdbc.JDBCDriverType;
 import 
org.apache.shardingsphere.infra.executor.sql.prepare.driver.jdbc.StatementOption;
 import org.apache.shardingsphere.infra.hint.HintManager;
 import org.apache.shardingsphere.infra.hint.HintValueContext;
@@ -63,7 +59,6 @@ import 
org.apache.shardingsphere.sql.parser.sql.common.statement.SQLStatement;
 import 
org.apache.shardingsphere.sql.parser.sql.common.statement.dal.DALStatement;
 import org.apache.shardingsphere.transaction.util.AutoCommitUtils;
 
-import java.sql.Connection;
 import java.sql.ParameterMetaData;
 import java.sql.PreparedStatement;
 import java.sql.ResultSet;
@@ -160,10 +155,10 @@ public final class ShardingSpherePreparedStatement 
extends AbstractPreparedState
         parameterMetaData = new ShardingSphereParameterMetaData(sqlStatement);
         statementOption = returnGeneratedKeys ? new StatementOption(true, 
columns) : new StatementOption(resultSetType, resultSetConcurrency, 
resultSetHoldability);
         ShardingSphereDatabase database = metaData.getDatabase(databaseName);
-        driverExecutorFacade = new DriverExecutorFacade(connection, database);
+        statementManager = new StatementManager();
+        driverExecutorFacade = new DriverExecutorFacade(connection, 
statementOption, statementManager, database);
         statementsCacheable = 
isStatementsCacheable(database.getRuleMetaData());
         selectContainsEnhancedTable = sqlStatementContext instanceof 
SelectStatementContext && ((SelectStatementContext) 
sqlStatementContext).isContainsEnhancedTable();
-        statementManager = new StatementManager();
     }
     
     private boolean isStatementsCacheable(final RuleMetaData 
databaseRuleMetaData) {
@@ -182,8 +177,7 @@ public final class ShardingSpherePreparedStatement extends 
AbstractPreparedState
             
handleAutoCommit(queryContext.getSqlStatementContext().getSqlStatement());
             ShardingSphereDatabase database = 
metaData.getDatabase(databaseName);
             findGeneratedKey().ifPresent(optional -> 
generatedValues.addAll(optional.getGeneratedValues()));
-            currentResultSet = driverExecutorFacade.executeQuery(database, 
queryContext, createDriverExecutionPrepareEngine(database), this, 
columnLabelAndIndexMap,
-                    (StatementAddCallback<PreparedStatement>) 
this::addStatements, this::replay);
+            currentResultSet = driverExecutorFacade.executeQuery(database, 
queryContext, this, columnLabelAndIndexMap, 
(StatementAddCallback<PreparedStatement>) this::addStatements, this::replay);
             if (currentResultSet instanceof ShardingSphereResultSet) {
                 columnLabelAndIndexMap = ((ShardingSphereResultSet) 
currentResultSet).getColumnLabelAndIndexMap();
             }
@@ -214,12 +208,6 @@ public final class ShardingSpherePreparedStatement extends 
AbstractPreparedState
         replaySetParameter(statements, 
Collections.singletonList(getParameters()));
     }
     
-    private DriverExecutionPrepareEngine<JDBCExecutionUnit, Connection> 
createDriverExecutionPrepareEngine(final ShardingSphereDatabase database) {
-        int maxConnectionsSizePerQuery = 
metaData.getProps().<Integer>getValue(ConfigurationPropertyKey.MAX_CONNECTIONS_SIZE_PER_QUERY);
-        return new 
DriverExecutionPrepareEngine<>(JDBCDriverType.PREPARED_STATEMENT, 
maxConnectionsSizePerQuery, connection.getDatabaseConnectionManager(), 
statementManager, statementOption,
-                database.getRuleMetaData().getRules(), 
database.getResourceMetaData().getStorageUnits());
-    }
-    
     @Override
     public int executeUpdate() throws SQLException {
         try {
@@ -231,7 +219,7 @@ public final class ShardingSpherePreparedStatement extends 
AbstractPreparedState
             QueryContext queryContext = createQueryContext();
             
handleAutoCommit(queryContext.getSqlStatementContext().getSqlStatement());
             ShardingSphereDatabase database = 
metaData.getDatabase(databaseName);
-            int result = driverExecutorFacade.executeUpdate(database, 
queryContext, createDriverExecutionPrepareEngine(database),
+            int result = driverExecutorFacade.executeUpdate(database, 
queryContext,
                     (sql, statement) -> ((PreparedStatement) 
statement).executeUpdate(), (StatementAddCallback<PreparedStatement>) 
this::addStatements, this::replay);
             findGeneratedKey().ifPresent(optional -> 
generatedValues.addAll(optional.getGeneratedValues()));
             return result;
@@ -256,7 +244,7 @@ public final class ShardingSpherePreparedStatement extends 
AbstractPreparedState
             QueryContext queryContext = createQueryContext();
             
handleAutoCommit(queryContext.getSqlStatementContext().getSqlStatement());
             ShardingSphereDatabase database = 
metaData.getDatabase(databaseName);
-            boolean result = driverExecutorFacade.execute(database, 
queryContext, createDriverExecutionPrepareEngine(database), (sql, statement) -> 
((PreparedStatement) statement).execute(),
+            boolean result = driverExecutorFacade.execute(database, 
queryContext, (sql, statement) -> ((PreparedStatement) statement).execute(),
                     (StatementAddCallback<PreparedStatement>) 
this::addStatements, this::replay);
             findGeneratedKey().ifPresent(optional -> 
generatedValues.addAll(optional.getGeneratedValues()));
             return result;
@@ -389,7 +377,7 @@ public final class ShardingSpherePreparedStatement extends 
AbstractPreparedState
         ShardingSphereDatabase database = metaData.getDatabase(databaseName);
         try {
             return driverExecutorFacade.executeBatch(database, 
sqlStatementContext, generatedValues, statementOption,
-                    createDriverExecutionPrepareEngine(database), 
(StatementAddCallback<PreparedStatement>) (statements, parameterSets) -> 
this.statements.addAll(statements),
+                    (StatementAddCallback<PreparedStatement>) (statements, 
parameterSets) -> this.statements.addAll(statements),
                     this::replaySetParameter,
                     () -> {
                         currentBatchGeneratedKeysResultSet = 
getGeneratedKeys();
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 a4a4a998bf9..89c0b6d6b80 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
@@ -21,30 +21,26 @@ import lombok.AccessLevel;
 import lombok.Getter;
 import org.apache.shardingsphere.driver.executor.DriverExecutorFacade;
 import org.apache.shardingsphere.driver.executor.batch.BatchStatementExecutor;
+import 
org.apache.shardingsphere.driver.executor.callback.add.StatementAddCallback;
 import 
org.apache.shardingsphere.driver.executor.callback.execute.StatementExecuteCallback;
 import 
org.apache.shardingsphere.driver.executor.callback.execute.StatementExecuteUpdateCallback;
 import org.apache.shardingsphere.driver.jdbc.adapter.AbstractStatementAdapter;
 import 
org.apache.shardingsphere.driver.jdbc.core.connection.ShardingSphereConnection;
 import 
org.apache.shardingsphere.driver.jdbc.core.resultset.GeneratedKeysResultSet;
 import 
org.apache.shardingsphere.driver.jdbc.core.resultset.ShardingSphereResultSet;
-import 
org.apache.shardingsphere.driver.executor.callback.add.StatementAddCallback;
 import org.apache.shardingsphere.infra.annotation.HighFrequencyInvocation;
 import 
org.apache.shardingsphere.infra.binder.context.segment.insert.keygen.GeneratedKeyContext;
 import 
org.apache.shardingsphere.infra.binder.context.statement.SQLStatementContext;
 import 
org.apache.shardingsphere.infra.binder.context.statement.dml.InsertStatementContext;
 import 
org.apache.shardingsphere.infra.binder.context.statement.dml.SelectStatementContext;
 import org.apache.shardingsphere.infra.binder.engine.SQLBindEngine;
-import org.apache.shardingsphere.infra.config.props.ConfigurationPropertyKey;
 import 
org.apache.shardingsphere.infra.database.core.keygen.GeneratedKeyColumnProvider;
 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.JDBCExecutionUnit;
 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.DriverExecutionPrepareEngine;
-import 
org.apache.shardingsphere.infra.executor.sql.prepare.driver.jdbc.JDBCDriverType;
 import 
org.apache.shardingsphere.infra.executor.sql.prepare.driver.jdbc.StatementOption;
 import org.apache.shardingsphere.infra.hint.HintValueContext;
 import org.apache.shardingsphere.infra.hint.SQLHintUtils;
@@ -59,7 +55,6 @@ import 
org.apache.shardingsphere.sql.parser.sql.common.statement.SQLStatement;
 import 
org.apache.shardingsphere.sql.parser.sql.common.statement.dal.DALStatement;
 import org.apache.shardingsphere.transaction.util.AutoCommitUtils;
 
-import java.sql.Connection;
 import java.sql.ResultSet;
 import java.sql.SQLException;
 import java.sql.Statement;
@@ -113,8 +108,8 @@ public final class ShardingSphereStatement extends 
AbstractStatementAdapter {
         metaData = 
connection.getContextManager().getMetaDataContexts().getMetaData();
         statements = new LinkedList<>();
         statementOption = new StatementOption(resultSetType, 
resultSetConcurrency, resultSetHoldability);
-        driverExecutorFacade = new DriverExecutorFacade(connection);
         statementManager = new StatementManager();
+        driverExecutorFacade = new DriverExecutorFacade(connection, 
statementOption, statementManager);
         batchStatementExecutor = new BatchStatementExecutor(this);
         databaseName = connection.getDatabaseName();
     }
@@ -125,7 +120,7 @@ public final class ShardingSphereStatement extends 
AbstractStatementAdapter {
         try {
             prepareExecute(queryContext);
             ShardingSphereDatabase database = 
metaData.getDatabase(databaseName);
-            currentResultSet = driverExecutorFacade.executeQuery(database, 
queryContext, createDriverExecutionPrepareEngine(database), this, null,
+            currentResultSet = driverExecutorFacade.executeQuery(database, 
queryContext, this, null,
                     (StatementAddCallback<Statement>) (statements, 
parameterSets) -> this.statements.addAll(statements), this::replay);
             return currentResultSet;
             // CHECKSTYLE:OFF
@@ -196,7 +191,7 @@ public final class ShardingSphereStatement extends 
AbstractStatementAdapter {
         QueryContext queryContext = createQueryContext(sql);
         prepareExecute(queryContext);
         ShardingSphereDatabase database = metaData.getDatabase(databaseName);
-        return driverExecutorFacade.executeUpdate(database, queryContext, 
createDriverExecutionPrepareEngine(database),
+        return driverExecutorFacade.executeUpdate(database, queryContext,
                 updateCallback, (StatementAddCallback<Statement>) (statements, 
parameterSets) -> this.statements.addAll(statements), this::replay);
     }
     
@@ -258,7 +253,7 @@ public final class ShardingSphereStatement extends 
AbstractStatementAdapter {
         QueryContext queryContext = createQueryContext(sql);
         prepareExecute(queryContext);
         ShardingSphereDatabase database = metaData.getDatabase(databaseName);
-        return driverExecutorFacade.execute(database, queryContext, 
createDriverExecutionPrepareEngine(database), statementExecuteCallback,
+        return driverExecutorFacade.execute(database, queryContext, 
statementExecuteCallback,
                 (StatementAddCallback<Statement>) (statements, parameterSets) 
-> this.statements.addAll(statements), this::replay);
     }
     
@@ -293,12 +288,6 @@ public final class ShardingSphereStatement extends 
AbstractStatementAdapter {
         statements.clear();
     }
     
-    private DriverExecutionPrepareEngine<JDBCExecutionUnit, Connection> 
createDriverExecutionPrepareEngine(final ShardingSphereDatabase database) {
-        int maxConnectionsSizePerQuery = 
metaData.getProps().<Integer>getValue(ConfigurationPropertyKey.MAX_CONNECTIONS_SIZE_PER_QUERY);
-        return new DriverExecutionPrepareEngine<>(JDBCDriverType.STATEMENT, 
maxConnectionsSizePerQuery, connection.getDatabaseConnectionManager(), 
statementManager, statementOption,
-                database.getRuleMetaData().getRules(), 
database.getResourceMetaData().getStorageUnits());
-    }
-    
     private void replay() throws SQLException {
         for (Statement each : statements) {
             getMethodInvocationRecorder().replay(each);

Reply via email to