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