This is an automated email from the ASF dual-hosted git repository.
duanzhengqiang 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 a294e3f46f1 Fix xa auto commit in executeQuery (#29952)
a294e3f46f1 is described below
commit a294e3f46f19b641183dee8efa933d05729c3db8
Author: ZhangCheng <[email protected]>
AuthorDate: Thu Feb 1 17:53:20 2024 +0800
Fix xa auto commit in executeQuery (#29952)
---
.../driver/jdbc/core/statement/ShardingSpherePreparedStatement.java | 1 +
.../driver/jdbc/core/statement/ShardingSphereStatement.java | 1 +
2 files changed, 2 insertions(+)
diff --git
a/jdbc/core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/statement/ShardingSpherePreparedStatement.java
b/jdbc/core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/statement/ShardingSpherePreparedStatement.java
index d0c7e00fe4c..39a6a36f411 100644
---
a/jdbc/core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/statement/ShardingSpherePreparedStatement.java
+++
b/jdbc/core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/statement/ShardingSpherePreparedStatement.java
@@ -230,6 +230,7 @@ public final class ShardingSpherePreparedStatement extends
AbstractPreparedState
}
clearPrevious();
QueryContext queryContext = createQueryContext();
+ handleAutoCommit(queryContext);
trafficInstanceId = getInstanceIdAndSet(queryContext).orElse(null);
if (null != trafficInstanceId) {
JDBCExecutionUnit executionUnit =
createTrafficExecutionUnit(trafficInstanceId, queryContext);
diff --git
a/jdbc/core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/statement/ShardingSphereStatement.java
b/jdbc/core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/statement/ShardingSphereStatement.java
index 9abbba39ce1..99fa09d1848 100644
---
a/jdbc/core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/statement/ShardingSphereStatement.java
+++
b/jdbc/core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/statement/ShardingSphereStatement.java
@@ -163,6 +163,7 @@ public final class ShardingSphereStatement extends
AbstractStatementAdapter {
ResultSet result;
try {
QueryContext queryContext = createQueryContext(sql);
+ handleAutoCommit(queryContext);
databaseName =
queryContext.getDatabaseNameFromSQLStatement().orElse(connection.getDatabaseName());
connection.getDatabaseConnectionManager().getConnectionContext().setCurrentDatabase(databaseName);
trafficInstanceId = getInstanceIdAndSet(queryContext).orElse(null);