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