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

Reply via email to