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 63c8007825b Refactor ShardingSphereConnection (#31720)
63c8007825b is described below

commit 63c8007825b63ae02ff76fbec1fdb9ba6e38984f
Author: Liang Zhang <[email protected]>
AuthorDate: Sun Jun 16 22:14:09 2024 +0800

    Refactor ShardingSphereConnection (#31720)
---
 .../core/connection/ShardingSphereConnection.java  | 28 ++++++++++------------
 1 file changed, 13 insertions(+), 15 deletions(-)

diff --git 
a/jdbc/src/main/java/org/apache/shardingsphere/driver/jdbc/core/connection/ShardingSphereConnection.java
 
b/jdbc/src/main/java/org/apache/shardingsphere/driver/jdbc/core/connection/ShardingSphereConnection.java
index 3baeccfb7c3..503c2a3d42a 100644
--- 
a/jdbc/src/main/java/org/apache/shardingsphere/driver/jdbc/core/connection/ShardingSphereConnection.java
+++ 
b/jdbc/src/main/java/org/apache/shardingsphere/driver/jdbc/core/connection/ShardingSphereConnection.java
@@ -96,18 +96,22 @@ public final class ShardingSphereConnection extends 
AbstractConnectionAdapter {
      * @throws SQLException SQL exception
      */
     public void handleAutoCommit() throws SQLException {
-        if (!autoCommit && 
!databaseConnectionManager.getConnectionTransaction().isInTransaction()) {
-            if 
(TransactionType.isDistributedTransaction(databaseConnectionManager.getConnectionTransaction().getTransactionType()))
 {
-                beginDistributedTransaction();
-            } else {
-                if 
(!databaseConnectionManager.getConnectionContext().getTransactionContext().isInTransaction())
 {
-                    databaseConnectionManager.getConnectionContext()
-                            
.getTransactionContext().beginTransaction(String.valueOf(databaseConnectionManager.getConnectionTransaction().getTransactionType()));
-                }
-            }
+        if (autoCommit || 
databaseConnectionManager.getConnectionTransaction().isInTransaction()) {
+            return;
+        }
+        if 
(TransactionType.isDistributedTransaction(databaseConnectionManager.getConnectionTransaction().getTransactionType()))
 {
+            beginDistributedTransaction();
+        } else if 
(!databaseConnectionManager.getConnectionContext().getTransactionContext().isInTransaction())
 {
+            
databaseConnectionManager.getConnectionContext().getTransactionContext().beginTransaction(String.valueOf(databaseConnectionManager.getConnectionTransaction().getTransactionType()));
         }
     }
     
+    private void beginDistributedTransaction() throws SQLException {
+        databaseConnectionManager.close();
+        databaseConnectionManager.getConnectionTransaction().begin();
+        
databaseConnectionManager.getConnectionContext().getTransactionContext().beginTransaction(String.valueOf(databaseConnectionManager.getConnectionTransaction().getTransactionType()));
+    }
+    
     /**
      * Get traffic tnstance ID.
      *
@@ -241,12 +245,6 @@ public final class ShardingSphereConnection extends 
AbstractConnectionAdapter {
         }
     }
     
-    private void beginDistributedTransaction() throws SQLException {
-        databaseConnectionManager.close();
-        databaseConnectionManager.getConnectionTransaction().begin();
-        
databaseConnectionManager.getConnectionContext().getTransactionContext().beginTransaction(String.valueOf(databaseConnectionManager.getConnectionTransaction().getTransactionType()));
-    }
-    
     @Override
     public void commit() throws SQLException {
         try {

Reply via email to