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 2c7de271961 Fix openGauss start transaction statement (#37813)
2c7de271961 is described below
commit 2c7de2719619e6347438f94b39c8ffc86a000611
Author: ZhangCheng <[email protected]>
AuthorDate: Fri Jan 23 08:40:48 2026 +0800
Fix openGauss start transaction statement (#37813)
---
.../backend/handler/tcl/local/LocalTCLProxyBackendHandlerFactory.java | 3 ++-
.../handler/tcl/local/LocalTCLProxyBackendHandlerFactoryTest.java | 2 ++
2 files changed, 4 insertions(+), 1 deletion(-)
diff --git
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/tcl/local/LocalTCLProxyBackendHandlerFactory.java
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/tcl/local/LocalTCLProxyBackendHandlerFactory.java
index e1b72f3903d..d847730d971 100644
---
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/tcl/local/LocalTCLProxyBackendHandlerFactory.java
+++
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/tcl/local/LocalTCLProxyBackendHandlerFactory.java
@@ -39,6 +39,7 @@ import
org.apache.shardingsphere.sql.parser.statement.core.statement.type.tcl.Ro
import
org.apache.shardingsphere.sql.parser.statement.core.statement.type.tcl.SavepointStatement;
import
org.apache.shardingsphere.sql.parser.statement.core.statement.type.tcl.SetAutoCommitStatement;
import
org.apache.shardingsphere.sql.parser.statement.core.statement.type.tcl.SetTransactionStatement;
+import
org.apache.shardingsphere.sql.parser.statement.core.statement.type.tcl.StartTransactionStatement;
import
org.apache.shardingsphere.sql.parser.statement.core.statement.type.tcl.TCLStatement;
/**
@@ -56,7 +57,7 @@ public final class LocalTCLProxyBackendHandlerFactory {
*/
public static ProxyBackendHandler newInstance(final QueryContext
queryContext, final ConnectionSession connectionSession) {
TCLStatement sqlStatement = (TCLStatement)
queryContext.getSqlStatementContext().getSqlStatement();
- if (sqlStatement instanceof BeginTransactionStatement) {
+ if (sqlStatement instanceof BeginTransactionStatement || sqlStatement
instanceof StartTransactionStatement) {
return new BeginTransactionProxyBackendHandler(sqlStatement,
connectionSession);
}
if (sqlStatement instanceof SetAutoCommitStatement) {
diff --git
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/tcl/local/LocalTCLProxyBackendHandlerFactoryTest.java
b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/tcl/local/LocalTCLProxyBackendHandlerFactoryTest.java
index 41b0134587d..a8c4c452fee 100644
---
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/tcl/local/LocalTCLProxyBackendHandlerFactoryTest.java
+++
b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/tcl/local/LocalTCLProxyBackendHandlerFactoryTest.java
@@ -48,6 +48,7 @@ import
org.apache.shardingsphere.sql.parser.statement.core.statement.type.tcl.Ro
import
org.apache.shardingsphere.sql.parser.statement.core.statement.type.tcl.SavepointStatement;
import
org.apache.shardingsphere.sql.parser.statement.core.statement.type.tcl.SetAutoCommitStatement;
import
org.apache.shardingsphere.sql.parser.statement.core.statement.type.tcl.SetTransactionStatement;
+import
org.apache.shardingsphere.sql.parser.statement.core.statement.type.tcl.StartTransactionStatement;
import
org.apache.shardingsphere.sql.parser.statement.core.statement.type.tcl.TCLStatement;
import
org.apache.shardingsphere.test.infra.framework.extension.mock.AutoMockExtension;
import
org.apache.shardingsphere.test.infra.framework.extension.mock.StaticMockSettings;
@@ -142,6 +143,7 @@ class LocalTCLProxyBackendHandlerFactoryTest {
private static Stream<Arguments> assertNewInstanceArguments() {
return Stream.of(
Arguments.of(new BeginTransactionStatement(DATABASE_TYPE),
BeginTransactionProxyBackendHandler.class),
+ Arguments.of(new StartTransactionStatement(DATABASE_TYPE),
BeginTransactionProxyBackendHandler.class),
Arguments.of(new SetAutoCommitStatement(DATABASE_TYPE, false),
SetAutoCommitProxyBackendHandler.class),
Arguments.of(new CommitStatement(DATABASE_TYPE),
CommitProxyBackendHandler.class),
Arguments.of(new RollbackStatement(DATABASE_TYPE, "sp"),
RollbackSavepointProxyBackendHandler.class),