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 179a989aa8a Refactor DriverExecutor (#31519)
179a989aa8a is described below
commit 179a989aa8a5c7f867275c4a78effbcb4eefca34
Author: Liang Zhang <[email protected]>
AuthorDate: Sat Jun 1 21:56:58 2024 +0800
Refactor DriverExecutor (#31519)
* Fix table formats for docs
* Refactor DriverExecutor
* Refactor DriverExecutor
---
.../apache/shardingsphere/driver/executor/DriverExecutor.java | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git
a/jdbc/src/main/java/org/apache/shardingsphere/driver/executor/DriverExecutor.java
b/jdbc/src/main/java/org/apache/shardingsphere/driver/executor/DriverExecutor.java
index 86cf6ff9399..4ce0c23713f 100644
---
a/jdbc/src/main/java/org/apache/shardingsphere/driver/executor/DriverExecutor.java
+++
b/jdbc/src/main/java/org/apache/shardingsphere/driver/executor/DriverExecutor.java
@@ -272,15 +272,16 @@ public final class DriverExecutor implements
AutoCloseable {
public int executeUpdate(final ShardingSphereMetaData metaData, final
ShardingSphereDatabase database, final QueryContext queryContext,
final
DriverExecutionPrepareEngine<JDBCExecutionUnit, Connection> prepareEngine,
final TrafficExecutorCallback<Integer> trafficCallback,
final ExecuteUpdateCallback updateCallback, final
StatementReplayCallback statementReplayCallback) throws SQLException {
- ExecutionContext executionContext = createExecutionContext(metaData,
database, queryContext);
Optional<String> trafficInstanceId =
connection.getTrafficInstanceId(metaData.getGlobalRuleMetaData().getSingleRule(TrafficRule.class),
queryContext);
if (trafficInstanceId.isPresent()) {
return trafficExecutor.execute(connection.getProcessId(),
database.getName(), trafficInstanceId.get(), queryContext, prepareEngine,
trafficCallback);
}
- boolean isNeedImplicitCommitTransaction =
isNeedImplicitCommitTransaction(
- connection,
queryContext.getSqlStatementContext().getSqlStatement(),
executionContext.getExecutionUnits().size() > 1);
+ ExecutionContext executionContext = createExecutionContext(metaData,
database, queryContext);
return
database.getRuleMetaData().getAttributes(RawExecutionRuleAttribute.class).isEmpty()
- ? executeUpdate(database, updateCallback,
queryContext.getSqlStatementContext(), executionContext, prepareEngine,
isNeedImplicitCommitTransaction, statementReplayCallback)
+ ? executeUpdate(database, updateCallback,
queryContext.getSqlStatementContext(), executionContext, prepareEngine,
+ isNeedImplicitCommitTransaction(connection,
+
queryContext.getSqlStatementContext().getSqlStatement(),
executionContext.getExecutionUnits().size() > 1),
+ statementReplayCallback)
:
accumulate(rawExecutor.execute(createRawExecutionGroupContext(metaData,
database, executionContext), queryContext, new RawSQLExecutorCallback()));
}