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 09f206e6cca Merge ProxyBackendTransactionManager and
TransactionManager (#36787)
09f206e6cca is described below
commit 09f206e6cca1040c29030462dec50a57df04d477
Author: Liang Zhang <[email protected]>
AuthorDate: Sun Oct 5 12:24:04 2025 +0800
Merge ProxyBackendTransactionManager and TransactionManager (#36787)
* Merge ProxyBackendTransactionManager and TransactionManager
* Merge ProxyBackendTransactionManager and TransactionManager
---
.../META-INF/conf/prometheus-advisors.yaml | 10 +--
.../connector/ProxyDatabaseConnectionManager.java | 4 +-
.../connector/StandardDatabaseConnector.java | 6 +-
.../backend/connector/TransactionManager.java | 71 ----------------------
...er.java => ProxyBackendTransactionManager.java} | 44 +++++++++++---
.../backend/handler/tcl/TCLBackendHandler.java | 23 ++++---
.../ProxyDatabaseConnectionManagerTest.java | 4 +-
.../transaction/BackendTransactionManagerTest.java | 42 ++++++-------
.../handler/tcl/TCLBackendHandlerFactoryTest.java | 10 +--
.../backend/session/ConnectionSessionTest.java | 4 +-
.../FirebirdCommitTransactionCommandExecutor.java | 6 +-
...FirebirdRollbackTransactionCommandExecutor.java | 6 +-
...rebirdCommitTransactionCommandExecutorTest.java | 4 +-
...birdRollbackTransactionCommandExecutorTest.java | 4 +-
.../admin/MySQLComResetConnectionExecutor.java | 5 +-
.../admin/MySQLComResetConnectionExecutorTest.java | 4 +-
16 files changed, 100 insertions(+), 147 deletions(-)
diff --git
a/agent/plugins/metrics/type/prometheus/src/main/resources/META-INF/conf/prometheus-advisors.yaml
b/agent/plugins/metrics/type/prometheus/src/main/resources/META-INF/conf/prometheus-advisors.yaml
index 0433026a899..3fb910fbfe6 100644
---
a/agent/plugins/metrics/type/prometheus/src/main/resources/META-INF/conf/prometheus-advisors.yaml
+++
b/agent/plugins/metrics/type/prometheus/src/main/resources/META-INF/conf/prometheus-advisors.yaml
@@ -16,7 +16,7 @@
#
advisors:
- # config for proxy and jdbc
+ # Configure for proxy and JDBC
- target:
org.apache.shardingsphere.infra.parser.ShardingSphereSQLParserEngine
advice:
org.apache.shardingsphere.agent.plugin.metrics.core.advice.SQLParseCountAdvice
pointcuts:
@@ -32,7 +32,7 @@ advisors:
pointcuts:
- name: route
type: method
- # config for proxy
+ # Configure for proxy
- target:
org.apache.shardingsphere.proxy.frontend.command.CommandExecutorTask
advice:
org.apache.shardingsphere.agent.plugin.metrics.core.advice.proxy.ExecuteLatencyHistogramAdvice
pointcuts:
@@ -55,17 +55,17 @@ advisors:
pointcuts:
- name: run
type: method
- - target:
org.apache.shardingsphere.proxy.backend.connector.jdbc.transaction.BackendTransactionManager
+ - target:
org.apache.shardingsphere.proxy.backend.connector.jdbc.transaction.ProxyBackendTransactionManager
advice:
org.apache.shardingsphere.agent.plugin.metrics.core.advice.proxy.CommitTransactionsCountAdvice
pointcuts:
- name: commit
type: method
- - target:
org.apache.shardingsphere.proxy.backend.connector.jdbc.transaction.BackendTransactionManager
+ - target:
org.apache.shardingsphere.proxy.backend.connector.jdbc.transaction.ProxyBackendTransactionManager
advice:
org.apache.shardingsphere.agent.plugin.metrics.core.advice.proxy.RollbackTransactionsCountAdvice
pointcuts:
- name: rollback
type: method
- # config for jdbc
+ # Configure for JDBC
- target:
org.apache.shardingsphere.driver.jdbc.core.statement.ShardingSphereStatement
advice:
org.apache.shardingsphere.agent.plugin.metrics.core.advice.jdbc.StatementExecuteCountAdvice
pointcuts:
diff --git
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/ProxyDatabaseConnectionManager.java
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/ProxyDatabaseConnectionManager.java
index 7aaa3567f1e..e83d451caa0 100644
---
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/ProxyDatabaseConnectionManager.java
+++
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/ProxyDatabaseConnectionManager.java
@@ -30,7 +30,7 @@ import
org.apache.shardingsphere.infra.rule.ShardingSphereRule;
import org.apache.shardingsphere.infra.spi.type.ordered.OrderedSPILoader;
import
org.apache.shardingsphere.proxy.backend.connector.jdbc.connection.ConnectionPostProcessor;
import
org.apache.shardingsphere.proxy.backend.connector.jdbc.connection.ConnectionResourceLock;
-import
org.apache.shardingsphere.proxy.backend.connector.jdbc.transaction.BackendTransactionManager;
+import
org.apache.shardingsphere.proxy.backend.connector.jdbc.transaction.ProxyBackendTransactionManager;
import org.apache.shardingsphere.proxy.backend.context.ProxyContext;
import
org.apache.shardingsphere.proxy.backend.exception.BackendConnectionException;
import org.apache.shardingsphere.proxy.backend.handler.ProxyBackendHandler;
@@ -252,7 +252,7 @@ public final class ProxyDatabaseConnectionManager
implements DatabaseConnectionM
*/
public void handleAutoCommit() {
if (!connectionSession.isAutoCommit() &&
!connectionSession.getTransactionStatus().isInTransaction()) {
- BackendTransactionManager transactionManager = new
BackendTransactionManager(this);
+ ProxyBackendTransactionManager transactionManager = new
ProxyBackendTransactionManager(this);
transactionManager.begin();
}
}
diff --git
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/StandardDatabaseConnector.java
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/StandardDatabaseConnector.java
index 5d59e3a3d7d..2d169af221a 100644
---
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/StandardDatabaseConnector.java
+++
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/StandardDatabaseConnector.java
@@ -60,7 +60,7 @@ import
org.apache.shardingsphere.mode.metadata.refresher.pushdown.PushDownMetaDa
import
org.apache.shardingsphere.proxy.backend.connector.jdbc.executor.callback.ProxyJDBCExecutorCallback;
import
org.apache.shardingsphere.proxy.backend.connector.jdbc.executor.callback.ProxyJDBCExecutorCallbackFactory;
import
org.apache.shardingsphere.proxy.backend.connector.jdbc.statement.JDBCBackendStatement;
-import
org.apache.shardingsphere.proxy.backend.connector.jdbc.transaction.BackendTransactionManager;
+import
org.apache.shardingsphere.proxy.backend.connector.jdbc.transaction.ProxyBackendTransactionManager;
import org.apache.shardingsphere.proxy.backend.context.ProxyContext;
import org.apache.shardingsphere.proxy.backend.response.data.QueryResponseCell;
import org.apache.shardingsphere.proxy.backend.response.data.QueryResponseRow;
@@ -219,7 +219,7 @@ public final class StandardDatabaseConnector implements
DatabaseConnector {
private <T> T doExecuteWithImplicitCommitTransaction(final
ImplicitTransactionCallback<T> callback) throws SQLException {
T result;
- BackendTransactionManager transactionManager = new
BackendTransactionManager(databaseConnectionManager);
+ ProxyBackendTransactionManager transactionManager = new
ProxyBackendTransactionManager(databaseConnectionManager);
try {
transactionManager.begin();
result = callback.execute();
@@ -243,7 +243,7 @@ public final class StandardDatabaseConnector implements
DatabaseConnector {
? proxySQLExecutor.execute(executionContext)
:
advancedExecutors.iterator().next().execute(executionContext, contextManager,
database, this);
if
(isNeedImplicitCommit(queryContext.getSqlStatementContext().getSqlStatement()))
{
- BackendTransactionManager transactionManager = new
BackendTransactionManager(databaseConnectionManager);
+ ProxyBackendTransactionManager transactionManager = new
ProxyBackendTransactionManager(databaseConnectionManager);
transactionManager.commit();
}
pushDownMetaDataRefreshEngine.refresh(queryContext.getSqlStatementContext(),
executionContext.getRouteContext().getRouteUnits());
diff --git
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/TransactionManager.java
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/TransactionManager.java
deleted file mode 100644
index 211722d05d2..00000000000
---
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/TransactionManager.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.shardingsphere.proxy.backend.connector;
-
-import java.sql.SQLException;
-
-/**
- * Transaction manager interface for proxy.
- */
-public interface TransactionManager {
-
- /**
- * Begin transaction.
- *
- * @throws SQLException SQL exception
- */
- void begin() throws SQLException;
-
- /**
- * Commit transaction.
- *
- * @throws SQLException SQL exception
- */
- void commit() throws SQLException;
-
- /**
- * Rollback transaction.
- *
- * @throws SQLException SQL exception
- */
- void rollback() throws SQLException;
-
- /**
- * Set savepoint.
- *
- * @param savepointName savepoint name
- * @throws SQLException SQL exception
- */
- void setSavepoint(String savepointName) throws SQLException;
-
- /**
- * Rollback to savepoint.
- *
- * @param savepointName savepoint name
- * @throws SQLException SQL exception
- */
- void rollbackTo(String savepointName) throws SQLException;
-
- /**
- * Release savepoint.
- *
- * @param savepointName savepoint name
- * @throws SQLException SQL exception
- */
- void releaseSavepoint(String savepointName) throws SQLException;
-}
diff --git
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/jdbc/transaction/BackendTransactionManager.java
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/jdbc/transaction/ProxyBackendTransactionManager.java
similarity index 92%
rename from
proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/jdbc/transaction/BackendTransactionManager.java
rename to
proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/jdbc/transaction/ProxyBackendTransactionManager.java
index df27d8c0fa5..25e7e051f3f 100644
---
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/jdbc/transaction/BackendTransactionManager.java
+++
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/jdbc/transaction/ProxyBackendTransactionManager.java
@@ -22,7 +22,6 @@ import
org.apache.shardingsphere.infra.rule.ShardingSphereRule;
import
org.apache.shardingsphere.infra.session.connection.transaction.TransactionConnectionContext;
import org.apache.shardingsphere.infra.spi.type.ordered.OrderedSPILoader;
import
org.apache.shardingsphere.proxy.backend.connector.ProxyDatabaseConnectionManager;
-import org.apache.shardingsphere.proxy.backend.connector.TransactionManager;
import org.apache.shardingsphere.proxy.backend.context.ProxyContext;
import org.apache.shardingsphere.proxy.backend.util.TransactionUtils;
import
org.apache.shardingsphere.transaction.ShardingSphereTransactionManagerEngine;
@@ -41,10 +40,10 @@ import java.util.Map;
import java.util.Map.Entry;
/**
- * Backend transaction manager.
+ * Proxy backend transaction manager.
*/
@SuppressWarnings({"rawtypes", "unchecked"})
-public final class BackendTransactionManager implements TransactionManager {
+public final class ProxyBackendTransactionManager {
private final ProxyDatabaseConnectionManager connection;
@@ -58,7 +57,7 @@ public final class BackendTransactionManager implements
TransactionManager {
private final TransactionConnectionContext transactionContext;
- public BackendTransactionManager(final ProxyDatabaseConnectionManager
databaseConnectionManager) {
+ public ProxyBackendTransactionManager(final ProxyDatabaseConnectionManager
databaseConnectionManager) {
connection = databaseConnectionManager;
localTransactionManager = new
LocalTransactionManager(databaseConnectionManager);
TransactionRule transactionRule =
ProxyContext.getInstance().getContextManager().getMetaDataContexts().getMetaData().getGlobalRuleMetaData().getSingleRule(TransactionRule.class);
@@ -73,7 +72,9 @@ public final class BackendTransactionManager implements
TransactionManager {
transactionHooks = OrderedSPILoader.getServices(TransactionHook.class,
ProxyContext.getInstance().getContextManager().getMetaDataContexts().getMetaData().getGlobalRuleMetaData().getRules());
}
- @Override
+ /**
+ * Begin transaction.
+ */
public void begin() {
if
(!connection.getConnectionSession().getTransactionStatus().isInTransaction()) {
connection.getConnectionSession().getTransactionStatus().setInTransaction(true);
@@ -99,7 +100,11 @@ public final class BackendTransactionManager implements
TransactionManager {
}
}
- @Override
+ /**
+ * Commit transaction.
+ *
+ * @throws SQLException SQL exception
+ */
public void commit() throws SQLException {
if
(!connection.getConnectionSession().getTransactionStatus().isInTransaction()) {
return;
@@ -147,7 +152,11 @@ public final class BackendTransactionManager implements
TransactionManager {
connection.getConnectionSession().getConnectionContext().close();
}
- @Override
+ /**
+ * Rollback transaction.
+ *
+ * @throws SQLException SQL exception
+ */
public void rollback() throws SQLException {
if
(!connection.getConnectionSession().getTransactionStatus().isInTransaction()) {
return;
@@ -172,7 +181,12 @@ public final class BackendTransactionManager implements
TransactionManager {
}
}
- @Override
+ /**
+ * Set savepoint.
+ *
+ * @param savepointName savepoint name
+ * @throws SQLException SQL exception
+ */
public void setSavepoint(final String savepointName) throws SQLException {
for (Connection each : connection.getCachedConnections().values()) {
ConnectionSavepointManager.getInstance().setSavepoint(each,
savepointName);
@@ -180,7 +194,12 @@ public final class BackendTransactionManager implements
TransactionManager {
connection.getConnectionPostProcessors().add(target ->
ConnectionSavepointManager.getInstance().setSavepoint(target, savepointName));
}
- @Override
+ /**
+ * Rollback to savepoint.
+ *
+ * @param savepointName savepoint name
+ * @throws SQLException SQL exception
+ */
public void rollbackTo(final String savepointName) throws SQLException {
Collection<SQLException> result = new LinkedList<>();
for (Connection each : connection.getCachedConnections().values()) {
@@ -196,7 +215,12 @@ public final class BackendTransactionManager implements
TransactionManager {
throwSQLExceptionIfNecessary(result);
}
- @Override
+ /**
+ * Release savepoint.
+ *
+ * @param savepointName savepoint name
+ * @throws SQLException SQL exception
+ */
public void releaseSavepoint(final String savepointName) throws
SQLException {
Collection<SQLException> result = new LinkedList<>();
for (Connection each : connection.getCachedConnections().values()) {
diff --git
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/tcl/TCLBackendHandler.java
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/tcl/TCLBackendHandler.java
index a1483c67499..257fef8c4aa 100644
---
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/tcl/TCLBackendHandler.java
+++
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/tcl/TCLBackendHandler.java
@@ -21,8 +21,7 @@ import
org.apache.shardingsphere.database.connector.core.metadata.database.metad
import
org.apache.shardingsphere.database.connector.core.type.DatabaseTypeRegistry;
import
org.apache.shardingsphere.database.exception.core.exception.transaction.InTransactionException;
import org.apache.shardingsphere.infra.exception.ShardingSpherePreconditions;
-import org.apache.shardingsphere.proxy.backend.connector.TransactionManager;
-import
org.apache.shardingsphere.proxy.backend.connector.jdbc.transaction.BackendTransactionManager;
+import
org.apache.shardingsphere.proxy.backend.connector.jdbc.transaction.ProxyBackendTransactionManager;
import org.apache.shardingsphere.proxy.backend.handler.ProxyBackendHandler;
import org.apache.shardingsphere.proxy.backend.response.header.ResponseHeader;
import
org.apache.shardingsphere.proxy.backend.response.header.update.UpdateResponseHeader;
@@ -51,14 +50,14 @@ public final class TCLBackendHandler implements
ProxyBackendHandler {
private final DialectDatabaseMetaData dialectDatabaseMetaData;
- private final TransactionManager backendTransactionManager;
+ private final ProxyBackendTransactionManager transactionManager;
public TCLBackendHandler(final TCLStatement tclStatement, final
TransactionOperationType operationType, final ConnectionSession
connectionSession) {
this.tclStatement = tclStatement;
this.operationType = operationType;
this.connectionSession = connectionSession;
dialectDatabaseMetaData = new
DatabaseTypeRegistry(connectionSession.getProtocolType()).getDialectDatabaseMetaData();
- backendTransactionManager = new
BackendTransactionManager(connectionSession.getDatabaseConnectionManager());
+ transactionManager = new
ProxyBackendTransactionManager(connectionSession.getDatabaseConnectionManager());
}
@Override
@@ -78,10 +77,10 @@ public final class TCLBackendHandler implements
ProxyBackendHandler {
break;
case COMMIT:
SQLStatement sqlStatement = getSQLStatementByCommit();
- backendTransactionManager.commit();
+ transactionManager.commit();
return new UpdateResponseHeader(sqlStatement);
case ROLLBACK:
- backendTransactionManager.rollback();
+ transactionManager.rollback();
break;
case SET_AUTOCOMMIT:
handleSetAutoCommit();
@@ -95,30 +94,30 @@ public final class TCLBackendHandler implements
ProxyBackendHandler {
private void handleBegin() throws SQLException {
if (connectionSession.getTransactionStatus().isInTransaction()) {
if
(dialectDatabaseMetaData.getTransactionOption().isSupportAutoCommitInNestedTransaction())
{
- backendTransactionManager.commit();
+ transactionManager.commit();
} else if
(dialectDatabaseMetaData.getSchemaOption().getDefaultSchema().isPresent()) {
throw new InTransactionException();
}
}
- backendTransactionManager.begin();
+ transactionManager.begin();
}
private void handleSavepoint() throws SQLException {
ShardingSpherePreconditions.checkState(connectionSession.getTransactionStatus().isInTransaction()
|| !dialectDatabaseMetaData.getSchemaOption().getDefaultSchema().isPresent(),
() -> new SQLFeatureNotSupportedException("SAVEPOINT can only
be used in transaction blocks"));
- backendTransactionManager.setSavepoint(((SavepointStatement)
tclStatement).getSavepointName());
+ transactionManager.setSavepoint(((SavepointStatement)
tclStatement).getSavepointName());
}
private void handleRollbackToSavepoint() throws SQLException {
ShardingSpherePreconditions.checkState(connectionSession.getTransactionStatus().isInTransaction()
|| !dialectDatabaseMetaData.getSchemaOption().getDefaultSchema().isPresent(),
() -> new SQLFeatureNotSupportedException("ROLLBACK TO
SAVEPOINT can only be used in transaction blocks"));
- backendTransactionManager.rollbackTo(((RollbackStatement)
tclStatement).getSavepointName().get());
+ transactionManager.rollbackTo(((RollbackStatement)
tclStatement).getSavepointName().get());
}
private void handleReleaseSavepoint() throws SQLException {
ShardingSpherePreconditions.checkState(connectionSession.getTransactionStatus().isInTransaction()
|| !dialectDatabaseMetaData.getSchemaOption().getDefaultSchema().isPresent(),
() -> new SQLFeatureNotSupportedException("RELEASE SAVEPOINT
can only be used in transaction blocks"));
-
backendTransactionManager.releaseSavepoint(((ReleaseSavepointStatement)
tclStatement).getSavepointName());
+ transactionManager.releaseSavepoint(((ReleaseSavepointStatement)
tclStatement).getSavepointName());
}
private SQLStatement getSQLStatementByCommit() {
@@ -130,7 +129,7 @@ public final class TCLBackendHandler implements
ProxyBackendHandler {
private void handleSetAutoCommit() throws SQLException {
if
(dialectDatabaseMetaData.getTransactionOption().isSupportAutoCommitInNestedTransaction()
&& connectionSession.getTransactionStatus().isInTransaction()
&& ((SetAutoCommitStatement) tclStatement).isAutoCommit()) {
- backendTransactionManager.commit();
+ transactionManager.commit();
}
connectionSession.setAutoCommit(((SetAutoCommitStatement)
tclStatement).isAutoCommit());
}
diff --git
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/connector/ProxyDatabaseConnectionManagerTest.java
b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/connector/ProxyDatabaseConnectionManagerTest.java
index 9d3b7435d54..97016b2ef60 100644
---
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/connector/ProxyDatabaseConnectionManagerTest.java
+++
b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/connector/ProxyDatabaseConnectionManagerTest.java
@@ -36,7 +36,7 @@ import
org.apache.shardingsphere.mode.metadata.MetaDataContexts;
import
org.apache.shardingsphere.proxy.backend.connector.jdbc.connection.ConnectionPostProcessor;
import
org.apache.shardingsphere.proxy.backend.connector.jdbc.datasource.JDBCBackendDataSource;
import
org.apache.shardingsphere.proxy.backend.connector.jdbc.statement.JDBCBackendStatement;
-import
org.apache.shardingsphere.proxy.backend.connector.jdbc.transaction.BackendTransactionManager;
+import
org.apache.shardingsphere.proxy.backend.connector.jdbc.transaction.ProxyBackendTransactionManager;
import org.apache.shardingsphere.proxy.backend.context.ProxyContext;
import
org.apache.shardingsphere.proxy.backend.exception.BackendConnectionException;
import org.apache.shardingsphere.proxy.backend.handler.ProxyBackendHandler;
@@ -315,7 +315,7 @@ class ProxyDatabaseConnectionManagerTest {
void assertHandleAutoCommit() {
when(connectionSession.isAutoCommit()).thenReturn(false);
connectionSession.getTransactionStatus().setInTransaction(false);
- try (MockedConstruction<BackendTransactionManager> mockedConstruction
= mockConstruction(BackendTransactionManager.class)) {
+ try (MockedConstruction<ProxyBackendTransactionManager>
mockedConstruction = mockConstruction(ProxyBackendTransactionManager.class)) {
databaseConnectionManager.handleAutoCommit();
verify(mockedConstruction.constructed().get(0)).begin();
}
diff --git
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/connector/jdbc/transaction/BackendTransactionManagerTest.java
b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/connector/jdbc/transaction/BackendTransactionManagerTest.java
index a0f4fe8a6bb..d6ad7a9f4e6 100644
---
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/connector/jdbc/transaction/BackendTransactionManagerTest.java
+++
b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/connector/jdbc/transaction/BackendTransactionManagerTest.java
@@ -75,7 +75,7 @@ class BackendTransactionManagerTest {
@Mock
private Connection connection;
- private BackendTransactionManager backendTransactionManager;
+ private ProxyBackendTransactionManager transactionManager;
@BeforeEach
void setUp() {
@@ -98,8 +98,8 @@ class BackendTransactionManagerTest {
void assertBeginForLocalTransaction() {
ContextManager contextManager =
mockContextManager(TransactionType.LOCAL);
when(ProxyContext.getInstance().getContextManager()).thenReturn(contextManager);
- newBackendTransactionManager(TransactionType.LOCAL, false);
- backendTransactionManager.begin();
+ newTransactionManager(TransactionType.LOCAL, false);
+ transactionManager.begin();
verify(transactionStatus).setInTransaction(true);
verify(databaseConnectionManager).closeHandlers(true);
verify(databaseConnectionManager).closeConnections(false);
@@ -110,8 +110,8 @@ class BackendTransactionManagerTest {
void assertBeginForDistributedTransaction() {
ContextManager contextManager = mockContextManager(TransactionType.XA);
when(ProxyContext.getInstance().getContextManager()).thenReturn(contextManager);
- newBackendTransactionManager(TransactionType.XA, true);
- backendTransactionManager.begin();
+ newTransactionManager(TransactionType.XA, true);
+ transactionManager.begin();
verify(transactionStatus, times(0)).setInTransaction(true);
verify(databaseConnectionManager, times(1)).closeConnections(false);
verify(distributedTransactionManager).begin();
@@ -121,8 +121,8 @@ class BackendTransactionManagerTest {
void assertCommitForLocalTransaction() throws SQLException {
ContextManager contextManager =
mockContextManager(TransactionType.LOCAL);
when(ProxyContext.getInstance().getContextManager()).thenReturn(contextManager);
- newBackendTransactionManager(TransactionType.LOCAL, true);
- backendTransactionManager.commit();
+ newTransactionManager(TransactionType.LOCAL, true);
+ transactionManager.commit();
verify(transactionStatus).setInTransaction(false);
verify(localTransactionManager).commit();
}
@@ -131,8 +131,8 @@ class BackendTransactionManagerTest {
void assertCommitForDistributedTransaction() throws SQLException {
ContextManager contextManager = mockContextManager(TransactionType.XA);
when(ProxyContext.getInstance().getContextManager()).thenReturn(contextManager);
- newBackendTransactionManager(TransactionType.XA, true);
- backendTransactionManager.commit();
+ newTransactionManager(TransactionType.XA, true);
+ transactionManager.commit();
verify(transactionStatus).setInTransaction(false);
verify(distributedTransactionManager).commit(false);
}
@@ -141,8 +141,8 @@ class BackendTransactionManagerTest {
void assertCommitWithoutTransaction() throws SQLException {
ContextManager contextManager =
mockContextManager(TransactionType.LOCAL);
when(ProxyContext.getInstance().getContextManager()).thenReturn(contextManager);
- newBackendTransactionManager(TransactionType.LOCAL, false);
- backendTransactionManager.commit();
+ newTransactionManager(TransactionType.LOCAL, false);
+ transactionManager.commit();
verify(transactionStatus, times(0)).setInTransaction(false);
verify(localTransactionManager, times(0)).commit();
verify(distributedTransactionManager, times(0)).commit(false);
@@ -152,8 +152,8 @@ class BackendTransactionManagerTest {
void assertRollbackForLocalTransaction() throws SQLException {
ContextManager contextManager =
mockContextManager(TransactionType.LOCAL);
when(ProxyContext.getInstance().getContextManager()).thenReturn(contextManager);
- newBackendTransactionManager(TransactionType.LOCAL, true);
- backendTransactionManager.rollback();
+ newTransactionManager(TransactionType.LOCAL, true);
+ transactionManager.rollback();
verify(transactionStatus).setInTransaction(false);
verify(localTransactionManager).rollback();
}
@@ -162,8 +162,8 @@ class BackendTransactionManagerTest {
void assertRollbackForDistributedTransaction() throws SQLException {
ContextManager contextManager = mockContextManager(TransactionType.XA);
when(ProxyContext.getInstance().getContextManager()).thenReturn(contextManager);
- newBackendTransactionManager(TransactionType.XA, true);
- backendTransactionManager.rollback();
+ newTransactionManager(TransactionType.XA, true);
+ transactionManager.rollback();
verify(transactionStatus).setInTransaction(false);
verify(distributedTransactionManager).rollback();
}
@@ -172,30 +172,30 @@ class BackendTransactionManagerTest {
void assertRollbackWithoutTransaction() throws SQLException {
ContextManager contextManager =
mockContextManager(TransactionType.LOCAL);
when(ProxyContext.getInstance().getContextManager()).thenReturn(contextManager);
- newBackendTransactionManager(TransactionType.LOCAL, false);
- backendTransactionManager.rollback();
+ newTransactionManager(TransactionType.LOCAL, false);
+ transactionManager.rollback();
verify(transactionStatus, times(0)).setInTransaction(false);
verify(localTransactionManager, times(0)).rollback();
verify(distributedTransactionManager, times(0)).rollback();
}
- private void newBackendTransactionManager(final TransactionType
transactionType, final boolean inTransaction) {
+ private void newTransactionManager(final TransactionType transactionType,
final boolean inTransaction) {
when(ProxyContext.getInstance().getContextManager().getMetaDataContexts().getMetaData().getGlobalRuleMetaData().getSingleRule(TransactionRule.class).getDefaultType())
.thenReturn(transactionType);
when(transactionStatus.isInTransaction()).thenReturn(inTransaction);
- backendTransactionManager = new
BackendTransactionManager(databaseConnectionManager);
+ transactionManager = new
ProxyBackendTransactionManager(databaseConnectionManager);
setLocalTransactionManager();
setTransactionHooks();
}
@SneakyThrows(ReflectiveOperationException.class)
private void setLocalTransactionManager() {
-
Plugins.getMemberAccessor().set(BackendTransactionManager.class.getDeclaredField("localTransactionManager"),
backendTransactionManager, localTransactionManager);
+
Plugins.getMemberAccessor().set(ProxyBackendTransactionManager.class.getDeclaredField("localTransactionManager"),
transactionManager, localTransactionManager);
}
@SneakyThrows(ReflectiveOperationException.class)
private void setTransactionHooks() {
-
Plugins.getMemberAccessor().set(BackendTransactionManager.class.getDeclaredField("transactionHooks"),
backendTransactionManager, Collections.emptyMap());
+
Plugins.getMemberAccessor().set(ProxyBackendTransactionManager.class.getDeclaredField("transactionHooks"),
transactionManager, Collections.emptyMap());
}
private ContextManager mockContextManager(final TransactionType
transactionType) {
diff --git
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/tcl/TCLBackendHandlerFactoryTest.java
b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/tcl/TCLBackendHandlerFactoryTest.java
index 77b857a7c85..672b7f8621a 100644
---
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/tcl/TCLBackendHandlerFactoryTest.java
+++
b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/tcl/TCLBackendHandlerFactoryTest.java
@@ -31,7 +31,7 @@ import org.apache.shardingsphere.mode.manager.ContextManager;
import org.apache.shardingsphere.proxy.backend.connector.DatabaseConnector;
import
org.apache.shardingsphere.proxy.backend.connector.DatabaseConnectorFactory;
import
org.apache.shardingsphere.proxy.backend.connector.ProxyDatabaseConnectionManager;
-import
org.apache.shardingsphere.proxy.backend.connector.jdbc.transaction.BackendTransactionManager;
+import
org.apache.shardingsphere.proxy.backend.connector.jdbc.transaction.ProxyBackendTransactionManager;
import org.apache.shardingsphere.proxy.backend.context.ProxyContext;
import org.apache.shardingsphere.proxy.backend.handler.ProxyBackendHandler;
import org.apache.shardingsphere.proxy.backend.session.ConnectionSession;
@@ -81,7 +81,7 @@ class TCLBackendHandlerFactoryTest {
assertThat(proxyBackendHandler, isA(TCLBackendHandler.class));
TCLBackendHandler backendHandler = (TCLBackendHandler)
proxyBackendHandler;
assertFieldOfInstance(backendHandler, "operationType",
is(TransactionOperationType.COMMIT));
- assertFieldOfInstance(getBackendTransactionManager(backendHandler),
"connection", is(databaseConnectionManager));
+ assertFieldOfInstance(getTransactionManager(backendHandler),
"connection", is(databaseConnectionManager));
}
@Test
@@ -99,7 +99,7 @@ class TCLBackendHandlerFactoryTest {
assertThat(proxyBackendHandler, isA(TCLBackendHandler.class));
TCLBackendHandler backendHandler = (TCLBackendHandler)
proxyBackendHandler;
assertFieldOfInstance(backendHandler, "operationType",
is(TransactionOperationType.ROLLBACK));
- assertFieldOfInstance(getBackendTransactionManager(backendHandler),
"connection", is(databaseConnectionManager));
+ assertFieldOfInstance(getTransactionManager(backendHandler),
"connection", is(databaseConnectionManager));
}
private ContextManager mockContextManager() {
@@ -138,7 +138,7 @@ class TCLBackendHandlerFactoryTest {
}
@SneakyThrows(ReflectiveOperationException.class)
- private BackendTransactionManager getBackendTransactionManager(final
TCLBackendHandler backendHandler) {
- return (BackendTransactionManager)
Plugins.getMemberAccessor().get(TCLBackendHandler.class.getDeclaredField("backendTransactionManager"),
backendHandler);
+ private ProxyBackendTransactionManager getTransactionManager(final
TCLBackendHandler backendHandler) {
+ return (ProxyBackendTransactionManager)
Plugins.getMemberAccessor().get(TCLBackendHandler.class.getDeclaredField("transactionManager"),
backendHandler);
}
}
diff --git
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/session/ConnectionSessionTest.java
b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/session/ConnectionSessionTest.java
index 730cde6a9d6..9d0430319a4 100644
---
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/session/ConnectionSessionTest.java
+++
b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/session/ConnectionSessionTest.java
@@ -22,7 +22,7 @@ import org.apache.shardingsphere.infra.metadata.user.Grantee;
import org.apache.shardingsphere.infra.session.query.QueryContext;
import org.apache.shardingsphere.mode.manager.ContextManager;
import
org.apache.shardingsphere.proxy.backend.connector.ProxyDatabaseConnectionManager;
-import
org.apache.shardingsphere.proxy.backend.connector.jdbc.transaction.BackendTransactionManager;
+import
org.apache.shardingsphere.proxy.backend.connector.jdbc.transaction.ProxyBackendTransactionManager;
import org.apache.shardingsphere.proxy.backend.context.ProxyContext;
import org.apache.shardingsphere.test.infra.framework.mock.AutoMockExtension;
import org.apache.shardingsphere.test.infra.framework.mock.StaticMockSettings;
@@ -75,7 +75,7 @@ class ConnectionSessionTest {
connectionSession.setCurrentDatabaseName("db");
ContextManager contextManager = mockContextManager();
when(ProxyContext.getInstance().getContextManager()).thenReturn(contextManager);
- new BackendTransactionManager(databaseConnectionManager).begin();
+ new ProxyBackendTransactionManager(databaseConnectionManager).begin();
connectionSession.setCurrentDatabaseName("newDB");
assertThat(connectionSession.getCurrentDatabaseName(), is("newDB"));
}
diff --git
a/proxy/frontend/dialect/firebird/src/main/java/org/apache/shardingsphere/proxy/frontend/firebird/command/query/transaction/FirebirdCommitTransactionCommandExecutor.java
b/proxy/frontend/dialect/firebird/src/main/java/org/apache/shardingsphere/proxy/frontend/firebird/command/query/transaction/FirebirdCommitTransactionCommandExecutor.java
index 5a036f8a696..131047a17fc 100644
---
a/proxy/frontend/dialect/firebird/src/main/java/org/apache/shardingsphere/proxy/frontend/firebird/command/query/transaction/FirebirdCommitTransactionCommandExecutor.java
+++
b/proxy/frontend/dialect/firebird/src/main/java/org/apache/shardingsphere/proxy/frontend/firebird/command/query/transaction/FirebirdCommitTransactionCommandExecutor.java
@@ -21,7 +21,7 @@ import lombok.RequiredArgsConstructor;
import
org.apache.shardingsphere.database.protocol.firebird.packet.command.query.transaction.FirebirdCommitTransactionPacket;
import
org.apache.shardingsphere.database.protocol.firebird.packet.generic.FirebirdGenericResponsePacket;
import org.apache.shardingsphere.database.protocol.packet.DatabasePacket;
-import
org.apache.shardingsphere.proxy.backend.connector.jdbc.transaction.BackendTransactionManager;
+import
org.apache.shardingsphere.proxy.backend.connector.jdbc.transaction.ProxyBackendTransactionManager;
import org.apache.shardingsphere.proxy.backend.session.ConnectionSession;
import
org.apache.shardingsphere.proxy.frontend.command.executor.CommandExecutor;
@@ -42,9 +42,9 @@ public final class FirebirdCommitTransactionCommandExecutor
implements CommandEx
@Override
public Collection<DatabasePacket> execute() throws SQLException {
if (!connectionSession.isAutoCommit()) {
- BackendTransactionManager backendTransactionManager = new
BackendTransactionManager(connectionSession.getDatabaseConnectionManager());
+ ProxyBackendTransactionManager transactionManager = new
ProxyBackendTransactionManager(connectionSession.getDatabaseConnectionManager());
// TODO add rollback and return exception
- backendTransactionManager.commit();
+ transactionManager.commit();
}
return Collections.singleton(new FirebirdGenericResponsePacket());
}
diff --git
a/proxy/frontend/dialect/firebird/src/main/java/org/apache/shardingsphere/proxy/frontend/firebird/command/query/transaction/FirebirdRollbackTransactionCommandExecutor.java
b/proxy/frontend/dialect/firebird/src/main/java/org/apache/shardingsphere/proxy/frontend/firebird/command/query/transaction/FirebirdRollbackTransactionCommandExecutor.java
index 47c9a895d2f..ba843aa77f8 100644
---
a/proxy/frontend/dialect/firebird/src/main/java/org/apache/shardingsphere/proxy/frontend/firebird/command/query/transaction/FirebirdRollbackTransactionCommandExecutor.java
+++
b/proxy/frontend/dialect/firebird/src/main/java/org/apache/shardingsphere/proxy/frontend/firebird/command/query/transaction/FirebirdRollbackTransactionCommandExecutor.java
@@ -21,7 +21,7 @@ import lombok.RequiredArgsConstructor;
import
org.apache.shardingsphere.database.protocol.firebird.packet.command.query.transaction.FirebirdRollbackTransactionPacket;
import
org.apache.shardingsphere.database.protocol.firebird.packet.generic.FirebirdGenericResponsePacket;
import org.apache.shardingsphere.database.protocol.packet.DatabasePacket;
-import
org.apache.shardingsphere.proxy.backend.connector.jdbc.transaction.BackendTransactionManager;
+import
org.apache.shardingsphere.proxy.backend.connector.jdbc.transaction.ProxyBackendTransactionManager;
import org.apache.shardingsphere.proxy.backend.session.ConnectionSession;
import
org.apache.shardingsphere.proxy.frontend.command.executor.CommandExecutor;
@@ -42,8 +42,8 @@ public final class FirebirdRollbackTransactionCommandExecutor
implements Command
@Override
public Collection<DatabasePacket> execute() throws SQLException {
if (!connectionSession.isAutoCommit()) {
- BackendTransactionManager backendTransactionManager = new
BackendTransactionManager(connectionSession.getDatabaseConnectionManager());
- backendTransactionManager.rollback();
+ ProxyBackendTransactionManager transactionManager = new
ProxyBackendTransactionManager(connectionSession.getDatabaseConnectionManager());
+ transactionManager.rollback();
}
return Collections.singleton(new FirebirdGenericResponsePacket());
}
diff --git
a/proxy/frontend/dialect/firebird/src/test/java/org/apache/shardingsphere/proxy/frontend/firebird/command/query/transaction/FirebirdCommitTransactionCommandExecutorTest.java
b/proxy/frontend/dialect/firebird/src/test/java/org/apache/shardingsphere/proxy/frontend/firebird/command/query/transaction/FirebirdCommitTransactionCommandExecutorTest.java
index 4f48f420e62..5c9a536f9dc 100644
---
a/proxy/frontend/dialect/firebird/src/test/java/org/apache/shardingsphere/proxy/frontend/firebird/command/query/transaction/FirebirdCommitTransactionCommandExecutorTest.java
+++
b/proxy/frontend/dialect/firebird/src/test/java/org/apache/shardingsphere/proxy/frontend/firebird/command/query/transaction/FirebirdCommitTransactionCommandExecutorTest.java
@@ -20,7 +20,7 @@ package
org.apache.shardingsphere.proxy.frontend.firebird.command.query.transact
import
org.apache.shardingsphere.database.protocol.firebird.packet.command.query.transaction.FirebirdCommitTransactionPacket;
import
org.apache.shardingsphere.database.protocol.firebird.packet.generic.FirebirdGenericResponsePacket;
import org.apache.shardingsphere.database.protocol.packet.DatabasePacket;
-import
org.apache.shardingsphere.proxy.backend.connector.jdbc.transaction.BackendTransactionManager;
+import
org.apache.shardingsphere.proxy.backend.connector.jdbc.transaction.ProxyBackendTransactionManager;
import org.apache.shardingsphere.proxy.backend.session.ConnectionSession;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
@@ -50,7 +50,7 @@ class FirebirdCommitTransactionCommandExecutorTest {
@Test
void assertExecute() throws SQLException {
when(connectionSession.isAutoCommit()).thenReturn(false);
- try (MockedConstruction<BackendTransactionManager> mocked =
mockConstruction(BackendTransactionManager.class, (mock, context) -> {
+ try (MockedConstruction<ProxyBackendTransactionManager> mocked =
mockConstruction(ProxyBackendTransactionManager.class, (mock, context) -> {
})) {
FirebirdCommitTransactionCommandExecutor executor = new
FirebirdCommitTransactionCommandExecutor(packet, connectionSession);
Collection<DatabasePacket> actual = executor.execute();
diff --git
a/proxy/frontend/dialect/firebird/src/test/java/org/apache/shardingsphere/proxy/frontend/firebird/command/query/transaction/FirebirdRollbackTransactionCommandExecutorTest.java
b/proxy/frontend/dialect/firebird/src/test/java/org/apache/shardingsphere/proxy/frontend/firebird/command/query/transaction/FirebirdRollbackTransactionCommandExecutorTest.java
index f3e6c4b09e2..09f5f79b4ba 100644
---
a/proxy/frontend/dialect/firebird/src/test/java/org/apache/shardingsphere/proxy/frontend/firebird/command/query/transaction/FirebirdRollbackTransactionCommandExecutorTest.java
+++
b/proxy/frontend/dialect/firebird/src/test/java/org/apache/shardingsphere/proxy/frontend/firebird/command/query/transaction/FirebirdRollbackTransactionCommandExecutorTest.java
@@ -20,7 +20,7 @@ package
org.apache.shardingsphere.proxy.frontend.firebird.command.query.transact
import
org.apache.shardingsphere.database.protocol.firebird.packet.command.query.transaction.FirebirdRollbackTransactionPacket;
import
org.apache.shardingsphere.database.protocol.firebird.packet.generic.FirebirdGenericResponsePacket;
import org.apache.shardingsphere.database.protocol.packet.DatabasePacket;
-import
org.apache.shardingsphere.proxy.backend.connector.jdbc.transaction.BackendTransactionManager;
+import
org.apache.shardingsphere.proxy.backend.connector.jdbc.transaction.ProxyBackendTransactionManager;
import org.apache.shardingsphere.proxy.backend.session.ConnectionSession;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
@@ -50,7 +50,7 @@ class FirebirdRollbackTransactionCommandExecutorTest {
@Test
void assertExecute() throws SQLException {
when(connectionSession.isAutoCommit()).thenReturn(false);
- try (MockedConstruction<BackendTransactionManager> mocked =
mockConstruction(BackendTransactionManager.class, (mock, context) -> {
+ try (MockedConstruction<ProxyBackendTransactionManager> mocked =
mockConstruction(ProxyBackendTransactionManager.class, (mock, context) -> {
})) {
FirebirdRollbackTransactionCommandExecutor executor = new
FirebirdRollbackTransactionCommandExecutor(packet, connectionSession);
Collection<DatabasePacket> actual = executor.execute();
diff --git
a/proxy/frontend/dialect/mysql/src/main/java/org/apache/shardingsphere/proxy/frontend/mysql/command/admin/MySQLComResetConnectionExecutor.java
b/proxy/frontend/dialect/mysql/src/main/java/org/apache/shardingsphere/proxy/frontend/mysql/command/admin/MySQLComResetConnectionExecutor.java
index 99d3efd42cb..b29d1f9d779 100644
---
a/proxy/frontend/dialect/mysql/src/main/java/org/apache/shardingsphere/proxy/frontend/mysql/command/admin/MySQLComResetConnectionExecutor.java
+++
b/proxy/frontend/dialect/mysql/src/main/java/org/apache/shardingsphere/proxy/frontend/mysql/command/admin/MySQLComResetConnectionExecutor.java
@@ -20,7 +20,7 @@ package
org.apache.shardingsphere.proxy.frontend.mysql.command.admin;
import lombok.RequiredArgsConstructor;
import
org.apache.shardingsphere.database.protocol.mysql.packet.generic.MySQLOKPacket;
import org.apache.shardingsphere.database.protocol.packet.DatabasePacket;
-import
org.apache.shardingsphere.proxy.backend.connector.jdbc.transaction.BackendTransactionManager;
+import
org.apache.shardingsphere.proxy.backend.connector.jdbc.transaction.ProxyBackendTransactionManager;
import org.apache.shardingsphere.proxy.backend.session.ConnectionSession;
import
org.apache.shardingsphere.proxy.frontend.command.executor.CommandExecutor;
import
org.apache.shardingsphere.proxy.frontend.mysql.command.ServerStatusFlagCalculator;
@@ -39,7 +39,8 @@ public final class MySQLComResetConnectionExecutor implements
CommandExecutor {
@Override
public Collection<DatabasePacket> execute() throws SQLException {
- new
BackendTransactionManager(connectionSession.getDatabaseConnectionManager()).rollback();
+ ProxyBackendTransactionManager transactionManager = new
ProxyBackendTransactionManager(connectionSession.getDatabaseConnectionManager());
+ transactionManager.rollback();
connectionSession.setAutoCommit(true);
connectionSession.setDefaultIsolationLevel(null);
connectionSession.setIsolationLevel(null);
diff --git
a/proxy/frontend/dialect/mysql/src/test/java/org/apache/shardingsphere/proxy/frontend/mysql/command/admin/MySQLComResetConnectionExecutorTest.java
b/proxy/frontend/dialect/mysql/src/test/java/org/apache/shardingsphere/proxy/frontend/mysql/command/admin/MySQLComResetConnectionExecutorTest.java
index 3884ad84906..22dc7b9b314 100644
---
a/proxy/frontend/dialect/mysql/src/test/java/org/apache/shardingsphere/proxy/frontend/mysql/command/admin/MySQLComResetConnectionExecutorTest.java
+++
b/proxy/frontend/dialect/mysql/src/test/java/org/apache/shardingsphere/proxy/frontend/mysql/command/admin/MySQLComResetConnectionExecutorTest.java
@@ -21,7 +21,7 @@ import
org.apache.shardingsphere.database.protocol.mysql.packet.generic.MySQLOKP
import org.apache.shardingsphere.database.protocol.packet.DatabasePacket;
import org.apache.shardingsphere.infra.hint.HintValueContext;
import
org.apache.shardingsphere.proxy.backend.connector.ProxyDatabaseConnectionManager;
-import
org.apache.shardingsphere.proxy.backend.connector.jdbc.transaction.BackendTransactionManager;
+import
org.apache.shardingsphere.proxy.backend.connector.jdbc.transaction.ProxyBackendTransactionManager;
import org.apache.shardingsphere.proxy.backend.session.ConnectionSession;
import
org.apache.shardingsphere.proxy.backend.session.ServerPreparedStatementRegistry;
import
org.apache.shardingsphere.proxy.backend.session.transaction.TransactionStatus;
@@ -44,7 +44,7 @@ import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
@ExtendWith(AutoMockExtension.class)
-@ConstructionMockSettings(BackendTransactionManager.class)
+@ConstructionMockSettings(ProxyBackendTransactionManager.class)
class MySQLComResetConnectionExecutorTest {
@Test