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 6db1657cf3b Remove useless 
ShardingSphereConnection.getConnectionContext() (#31719)
6db1657cf3b is described below

commit 6db1657cf3b0c86099cf6023a521c43999cf22a3
Author: Liang Zhang <[email protected]>
AuthorDate: Sun Jun 16 17:09:29 2024 +0800

    Remove useless ShardingSphereConnection.getConnectionContext() (#31719)
---
 .../core/connection/ShardingSphereConnection.java  | 100 ++++++++++-----------
 1 file changed, 48 insertions(+), 52 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 95aa0a4481f..3baeccfb7c3 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
@@ -29,7 +29,6 @@ import 
org.apache.shardingsphere.infra.annotation.HighFrequencyInvocation;
 import 
org.apache.shardingsphere.infra.exception.core.ShardingSpherePreconditions;
 import org.apache.shardingsphere.infra.executor.sql.process.ProcessEngine;
 import org.apache.shardingsphere.infra.metadata.user.Grantee;
-import org.apache.shardingsphere.infra.session.connection.ConnectionContext;
 import org.apache.shardingsphere.infra.session.query.QueryContext;
 import org.apache.shardingsphere.mode.manager.ContextManager;
 import org.apache.shardingsphere.traffic.engine.TrafficEngine;
@@ -91,6 +90,47 @@ public final class ShardingSphereConnection extends 
AbstractConnectionAdapter {
         processId = processEngine.connect(grantee, databaseName);
     }
     
+    /**
+     * Handle auto commit.
+     *
+     * @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()));
+                }
+            }
+        }
+    }
+    
+    /**
+     * Get traffic tnstance ID.
+     *
+     * @param trafficRule traffic rule
+     * @param queryContext query context
+     * @return traffic tnstance ID
+     */
+    public Optional<String> getTrafficInstanceId(final TrafficRule 
trafficRule, final QueryContext queryContext) {
+        if (null == trafficRule || trafficRule.getStrategyRules().isEmpty()) {
+            return Optional.empty();
+        }
+        Optional<String> existedTrafficInstanceId = 
databaseConnectionManager.getConnectionContext().getTrafficInstanceId();
+        if (existedTrafficInstanceId.isPresent()) {
+            return existedTrafficInstanceId;
+        }
+        boolean isHoldTransaction = 
databaseConnectionManager.getConnectionTransaction().isHoldTransaction(autoCommit);
+        Optional<String> result = new TrafficEngine(trafficRule, 
contextManager.getComputeNodeInstanceContext()).dispatch(queryContext, 
isHoldTransaction);
+        if (isHoldTransaction && result.isPresent()) {
+            
databaseConnectionManager.getConnectionContext().setTrafficInstanceId(result.get());
+        }
+        return result;
+    }
+    
     @Override
     public DatabaseMetaData getMetaData() throws SQLException {
         return new ShardingSphereDatabaseMetaData(this);
@@ -177,12 +217,12 @@ public final class ShardingSphereConnection extends 
AbstractConnectionAdapter {
     private void processLocalTransaction() throws SQLException {
         databaseConnectionManager.setAutoCommit(autoCommit);
         if (autoCommit) {
-            if 
(getConnectionContext().getTransactionContext().isInTransaction()) {
-                getConnectionContext().getTransactionContext().close();
+            if 
(databaseConnectionManager.getConnectionContext().getTransactionContext().isInTransaction())
 {
+                
databaseConnectionManager.getConnectionContext().getTransactionContext().close();
             }
         } else {
-            if 
(!getConnectionContext().getTransactionContext().isInTransaction()) {
-                getConnectionContext().getTransactionContext()
+            if 
(!databaseConnectionManager.getConnectionContext().getTransactionContext().isInTransaction())
 {
+                
databaseConnectionManager.getConnectionContext().getTransactionContext()
                         
.beginTransaction(String.valueOf(contextManager.getMetaDataContexts().getMetaData().getGlobalRuleMetaData().getSingleRule(TransactionRule.class).getDefaultType()));
             }
         }
@@ -204,47 +244,7 @@ public final class ShardingSphereConnection extends 
AbstractConnectionAdapter {
     private void beginDistributedTransaction() throws SQLException {
         databaseConnectionManager.close();
         databaseConnectionManager.getConnectionTransaction().begin();
-        
getConnectionContext().getTransactionContext().beginTransaction(String.valueOf(databaseConnectionManager.getConnectionTransaction().getTransactionType()));
-    }
-    
-    /**
-     * Handle auto commit.
-     *
-     * @throws SQLException SQL exception
-     */
-    public void handleAutoCommit() throws SQLException {
-        if (!autoCommit && 
!databaseConnectionManager.getConnectionTransaction().isInTransaction()) {
-            if 
(TransactionType.isDistributedTransaction(databaseConnectionManager.getConnectionTransaction().getTransactionType()))
 {
-                beginDistributedTransaction();
-            } else {
-                if 
(!getConnectionContext().getTransactionContext().isInTransaction()) {
-                    
getConnectionContext().getTransactionContext().beginTransaction(String.valueOf(databaseConnectionManager.getConnectionTransaction().getTransactionType()));
-                }
-            }
-        }
-    }
-    
-    /**
-     * Get traffic tnstance ID.
-     *
-     * @param trafficRule traffic rule
-     * @param queryContext query context
-     * @return traffic tnstance ID
-     */
-    public Optional<String> getTrafficInstanceId(final TrafficRule 
trafficRule, final QueryContext queryContext) {
-        if (null == trafficRule || trafficRule.getStrategyRules().isEmpty()) {
-            return Optional.empty();
-        }
-        Optional<String> existedTrafficInstanceId = 
databaseConnectionManager.getConnectionContext().getTrafficInstanceId();
-        if (existedTrafficInstanceId.isPresent()) {
-            return existedTrafficInstanceId;
-        }
-        boolean isHoldTransaction = 
databaseConnectionManager.getConnectionTransaction().isHoldTransaction(autoCommit);
-        Optional<String> result = new TrafficEngine(trafficRule, 
contextManager.getComputeNodeInstanceContext()).dispatch(queryContext, 
isHoldTransaction);
-        if (isHoldTransaction && result.isPresent()) {
-            
databaseConnectionManager.getConnectionContext().setTrafficInstanceId(result.get());
-        }
-        return result;
+        
databaseConnectionManager.getConnectionContext().getTransactionContext().beginTransaction(String.valueOf(databaseConnectionManager.getConnectionTransaction().getTransactionType()));
     }
     
     @Override
@@ -253,7 +253,7 @@ public final class ShardingSphereConnection extends 
AbstractConnectionAdapter {
             databaseConnectionManager.commit();
         } finally {
             
databaseConnectionManager.getConnectionContext().getTransactionContext().setExceptionOccur(false);
-            getConnectionContext().close();
+            databaseConnectionManager.getConnectionContext().close();
         }
     }
     
@@ -263,7 +263,7 @@ public final class ShardingSphereConnection extends 
AbstractConnectionAdapter {
             databaseConnectionManager.rollback();
         } finally {
             
databaseConnectionManager.getConnectionContext().getTransactionContext().setExceptionOccur(false);
-            getConnectionContext().close();
+            databaseConnectionManager.getConnectionContext().close();
         }
     }
     
@@ -364,8 +364,4 @@ public final class ShardingSphereConnection extends 
AbstractConnectionAdapter {
             databaseConnectionManager.close();
         }
     }
-    
-    private ConnectionContext getConnectionContext() {
-        return databaseConnectionManager.getConnectionContext();
-    }
 }

Reply via email to