This is an automated email from the ASF dual-hosted git repository.
FlyingZC 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 0e92f1517c7 Add SetTransactionStatementAssert to test transaction
parse (#38730)
0e92f1517c7 is described below
commit 0e92f1517c7a85e75d23e6e1cdda608c4470d8c6
Author: Zhengqiang Duan <[email protected]>
AuthorDate: Wed May 27 17:50:44 2026 +0800
Add SetTransactionStatementAssert to test transaction parse (#38730)
---
.../asserts/statement/tcl/TCLStatementAssert.java | 5 +++
...t.java => ReleaseSavepointStatementAssert.java} | 20 +++++++-----
.../tcl/type/SetTransactionStatementAssert.java | 38 ++++++++++++++++++++++
.../cases/parser/jaxb/RootSQLParserTestCases.java | 4 +++
...java => ReleaseSavepointStatementTestCase.java} | 13 ++++++--
.../tcl/SetTransactionStatementTestCase.java | 15 +++++++++
.../tcl/release-savepoint.xml} | 9 ++---
.../main/resources/case/tcl/set-transaction.xml | 33 +++++++++++--------
...start-transcation.xml => release-savepoint.xml} | 5 +--
.../sql/supported/tcl/set-transaction.xml | 13 +++++---
.../sql/supported/tcl/start-transcation.xml | 2 +-
11 files changed, 118 insertions(+), 39 deletions(-)
diff --git
a/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/asserts/statement/tcl/TCLStatementAssert.java
b/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/asserts/statement/tcl/TCLStatementAssert.java
index fbd92e59ed3..08ee702507a 100644
---
a/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/asserts/statement/tcl/TCLStatementAssert.java
+++
b/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/asserts/statement/tcl/TCLStatementAssert.java
@@ -21,6 +21,7 @@ import lombok.AccessLevel;
import lombok.NoArgsConstructor;
import
org.apache.shardingsphere.sql.parser.statement.core.statement.type.tcl.BeginTransactionStatement;
import
org.apache.shardingsphere.sql.parser.statement.core.statement.type.tcl.CommitStatement;
+import
org.apache.shardingsphere.sql.parser.statement.core.statement.type.tcl.ReleaseSavepointStatement;
import
org.apache.shardingsphere.sql.parser.statement.core.statement.type.tcl.RollbackStatement;
import
org.apache.shardingsphere.sql.parser.statement.core.statement.type.tcl.SavepointStatement;
import
org.apache.shardingsphere.sql.parser.statement.core.statement.type.tcl.SetAutoCommitStatement;
@@ -30,6 +31,7 @@ import
org.apache.shardingsphere.sql.parser.statement.core.statement.type.tcl.TC
import
org.apache.shardingsphere.test.it.sql.parser.internal.asserts.SQLCaseAssertContext;
import
org.apache.shardingsphere.test.it.sql.parser.internal.asserts.statement.tcl.type.BeginTransactionStatementAssert;
import
org.apache.shardingsphere.test.it.sql.parser.internal.asserts.statement.tcl.type.CommitStatementAssert;
+import
org.apache.shardingsphere.test.it.sql.parser.internal.asserts.statement.tcl.type.ReleaseSavepointStatementAssert;
import
org.apache.shardingsphere.test.it.sql.parser.internal.asserts.statement.tcl.type.RollbackStatementAssert;
import
org.apache.shardingsphere.test.it.sql.parser.internal.asserts.statement.tcl.type.SavepointStatementAssert;
import
org.apache.shardingsphere.test.it.sql.parser.internal.asserts.statement.tcl.type.SetAutoCommitStatementAssert;
@@ -38,6 +40,7 @@ import
org.apache.shardingsphere.test.it.sql.parser.internal.asserts.statement.t
import
org.apache.shardingsphere.test.it.sql.parser.internal.cases.parser.jaxb.SQLParserTestCase;
import
org.apache.shardingsphere.test.it.sql.parser.internal.cases.parser.jaxb.statement.tcl.BeginTransactionStatementTestCase;
import
org.apache.shardingsphere.test.it.sql.parser.internal.cases.parser.jaxb.statement.tcl.CommitStatementTestCase;
+import
org.apache.shardingsphere.test.it.sql.parser.internal.cases.parser.jaxb.statement.tcl.ReleaseSavepointStatementTestCase;
import
org.apache.shardingsphere.test.it.sql.parser.internal.cases.parser.jaxb.statement.tcl.RollbackStatementTestCase;
import
org.apache.shardingsphere.test.it.sql.parser.internal.cases.parser.jaxb.statement.tcl.SavepointStatementTestCase;
import
org.apache.shardingsphere.test.it.sql.parser.internal.cases.parser.jaxb.statement.tcl.SetAutoCommitStatementTestCase;
@@ -70,6 +73,8 @@ public final class TCLStatementAssert {
RollbackStatementAssert.assertIs(assertContext,
(RollbackStatement) actual, (RollbackStatementTestCase) expected);
} else if (actual instanceof SavepointStatement) {
SavepointStatementAssert.assertIs(assertContext,
(SavepointStatement) actual, (SavepointStatementTestCase) expected);
+ } else if (actual instanceof ReleaseSavepointStatement) {
+ ReleaseSavepointStatementAssert.assertIs(assertContext,
(ReleaseSavepointStatement) actual, (ReleaseSavepointStatementTestCase)
expected);
} else if (actual instanceof SetConstraintsStatement) {
SetConstraintsStatementAssert.assertIs(assertContext,
(SetConstraintsStatement) actual, (SetConstraintsStatementTestCase) expected);
}
diff --git
a/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/asserts/statement/tcl/type/SetTransactionStatementAssert.java
b/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/asserts/statement/tcl/type/ReleaseSavepointStatementAssert.java
similarity index 65%
copy from
test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/asserts/statement/tcl/type/SetTransactionStatementAssert.java
copy to
test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/asserts/statement/tcl/type/ReleaseSavepointStatementAssert.java
index df39b7b1ccd..4012d19edd6 100644
---
a/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/asserts/statement/tcl/type/SetTransactionStatementAssert.java
+++
b/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/asserts/statement/tcl/type/ReleaseSavepointStatementAssert.java
@@ -19,23 +19,27 @@ package
org.apache.shardingsphere.test.it.sql.parser.internal.asserts.statement.
import lombok.AccessLevel;
import lombok.NoArgsConstructor;
-import
org.apache.shardingsphere.sql.parser.statement.core.statement.type.tcl.SetTransactionStatement;
+import
org.apache.shardingsphere.sql.parser.statement.core.statement.type.tcl.ReleaseSavepointStatement;
import
org.apache.shardingsphere.test.it.sql.parser.internal.asserts.SQLCaseAssertContext;
-import
org.apache.shardingsphere.test.it.sql.parser.internal.cases.parser.jaxb.statement.tcl.SetTransactionStatementTestCase;
+import
org.apache.shardingsphere.test.it.sql.parser.internal.cases.parser.jaxb.statement.tcl.ReleaseSavepointStatementTestCase;
+
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.hamcrest.Matchers.is;
/**
- * Set transaction statement assert.
+ * Release savepoint statement assert.
*/
@NoArgsConstructor(access = AccessLevel.PRIVATE)
-public final class SetTransactionStatementAssert {
+public final class ReleaseSavepointStatementAssert {
/**
- * Assert set transaction statement is correct with expected parser result.
+ * Assert release savepoint statement is correct with expected parser
result.
*
* @param assertContext assert context
- * @param actual actual set transaction statement
- * @param expected expected set transaction statement test case
+ * @param actual actual release savepoint statement
+ * @param expected expected release savepoint statement test case
*/
- public static void assertIs(final SQLCaseAssertContext assertContext,
final SetTransactionStatement actual, final SetTransactionStatementTestCase
expected) {
+ public static void assertIs(final SQLCaseAssertContext assertContext,
final ReleaseSavepointStatement actual, final ReleaseSavepointStatementTestCase
expected) {
+ assertThat(assertContext.getText("Savepoint name assertion error."),
actual.getSavepointName(), is(expected.getSavepointName()));
}
}
diff --git
a/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/asserts/statement/tcl/type/SetTransactionStatementAssert.java
b/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/asserts/statement/tcl/type/SetTransactionStatementAssert.java
index df39b7b1ccd..c95c4b95195 100644
---
a/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/asserts/statement/tcl/type/SetTransactionStatementAssert.java
+++
b/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/asserts/statement/tcl/type/SetTransactionStatementAssert.java
@@ -19,10 +19,18 @@ package
org.apache.shardingsphere.test.it.sql.parser.internal.asserts.statement.
import lombok.AccessLevel;
import lombok.NoArgsConstructor;
+import
org.apache.shardingsphere.sql.parser.statement.core.enums.OperationScope;
+import
org.apache.shardingsphere.sql.parser.statement.core.enums.TransactionAccessType;
+import
org.apache.shardingsphere.sql.parser.statement.core.enums.TransactionIsolationLevel;
import
org.apache.shardingsphere.sql.parser.statement.core.statement.type.tcl.SetTransactionStatement;
import
org.apache.shardingsphere.test.it.sql.parser.internal.asserts.SQLCaseAssertContext;
import
org.apache.shardingsphere.test.it.sql.parser.internal.cases.parser.jaxb.statement.tcl.SetTransactionStatementTestCase;
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.hamcrest.Matchers.is;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+
/**
* Set transaction statement assert.
*/
@@ -37,5 +45,35 @@ public final class SetTransactionStatementAssert {
* @param expected expected set transaction statement test case
*/
public static void assertIs(final SQLCaseAssertContext assertContext,
final SetTransactionStatement actual, final SetTransactionStatementTestCase
expected) {
+ assertScope(assertContext, actual, expected);
+ assertIsolationLevel(assertContext, actual, expected);
+ assertAccessMode(assertContext, actual, expected);
+ }
+
+ private static void assertScope(final SQLCaseAssertContext assertContext,
final SetTransactionStatement actual, final SetTransactionStatementTestCase
expected) {
+ if (null == expected.getScope()) {
+ assertFalse(actual.containsScope(), assertContext.getText("Actual
transaction scope should not exist."));
+ return;
+ }
+
assertTrue(actual.isDesiredScope(OperationScope.valueOf(expected.getScope())),
assertContext.getText("Transaction scope assertion error."));
+ }
+
+ private static void assertIsolationLevel(final SQLCaseAssertContext
assertContext, final SetTransactionStatement actual, final
SetTransactionStatementTestCase expected) {
+ if (null == expected.getIsolationLevel()) {
+ assertFalse(actual.getIsolationLevel().isPresent(),
assertContext.getText("Actual transaction isolation level should not exist."));
+ return;
+ }
+ assertTrue(actual.getIsolationLevel().isPresent(),
assertContext.getText("Actual transaction isolation level should exist."));
+ assertThat(assertContext.getText("Transaction isolation level
assertion error."), actual.getIsolationLevel().get(),
+
is(TransactionIsolationLevel.valueOf(expected.getIsolationLevel())));
+ }
+
+ private static void assertAccessMode(final SQLCaseAssertContext
assertContext, final SetTransactionStatement actual, final
SetTransactionStatementTestCase expected) {
+ if (null == expected.getAccessMode()) {
+
assertFalse(actual.isDesiredAccessMode(TransactionAccessType.READ_ONLY),
assertContext.getText("Actual transaction access mode should not be read
only."));
+
assertFalse(actual.isDesiredAccessMode(TransactionAccessType.READ_WRITE),
assertContext.getText("Actual transaction access mode should not be read
write."));
+ return;
+ }
+
assertTrue(actual.isDesiredAccessMode(TransactionAccessType.valueOf(expected.getAccessMode())),
assertContext.getText("Transaction access mode assertion error."));
}
}
diff --git
a/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/cases/parser/jaxb/RootSQLParserTestCases.java
b/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/cases/parser/jaxb/RootSQLParserTestCases.java
index 47a55c95718..0c33657d05b 100644
---
a/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/cases/parser/jaxb/RootSQLParserTestCases.java
+++
b/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/cases/parser/jaxb/RootSQLParserTestCases.java
@@ -514,6 +514,7 @@ import
org.apache.shardingsphere.test.it.sql.parser.internal.cases.parser.jaxb.s
import
org.apache.shardingsphere.test.it.sql.parser.internal.cases.parser.jaxb.statement.tcl.CommitStatementTestCase;
import
org.apache.shardingsphere.test.it.sql.parser.internal.cases.parser.jaxb.statement.tcl.LockStatementTestCase;
import
org.apache.shardingsphere.test.it.sql.parser.internal.cases.parser.jaxb.statement.tcl.PrepareTransactionTestCase;
+import
org.apache.shardingsphere.test.it.sql.parser.internal.cases.parser.jaxb.statement.tcl.ReleaseSavepointStatementTestCase;
import
org.apache.shardingsphere.test.it.sql.parser.internal.cases.parser.jaxb.statement.tcl.RollbackStatementTestCase;
import
org.apache.shardingsphere.test.it.sql.parser.internal.cases.parser.jaxb.statement.tcl.SavepointStatementTestCase;
import
org.apache.shardingsphere.test.it.sql.parser.internal.cases.parser.jaxb.statement.tcl.SetAutoCommitStatementTestCase;
@@ -748,6 +749,9 @@ public final class RootSQLParserTestCases {
@XmlElement(name = "savepoint")
private final List<SavepointStatementTestCase> savepointTestCases = new
LinkedList<>();
+ @XmlElement(name = "release-savepoint")
+ private final List<ReleaseSavepointStatementTestCase>
releaseSavepointTestCases = new LinkedList<>();
+
@XmlElement(name = "grant")
private final List<GrantStatementTestCase> grantTestCases = new
LinkedList<>();
diff --git
a/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/cases/parser/jaxb/statement/tcl/SetTransactionStatementTestCase.java
b/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/cases/parser/jaxb/statement/tcl/ReleaseSavepointStatementTestCase.java
similarity index 76%
copy from
test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/cases/parser/jaxb/statement/tcl/SetTransactionStatementTestCase.java
copy to
test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/cases/parser/jaxb/statement/tcl/ReleaseSavepointStatementTestCase.java
index 7cb028efa27..684caf75867 100644
---
a/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/cases/parser/jaxb/statement/tcl/SetTransactionStatementTestCase.java
+++
b/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/cases/parser/jaxb/statement/tcl/ReleaseSavepointStatementTestCase.java
@@ -17,10 +17,19 @@
package
org.apache.shardingsphere.test.it.sql.parser.internal.cases.parser.jaxb.statement.tcl;
+import lombok.Getter;
+import lombok.Setter;
import
org.apache.shardingsphere.test.it.sql.parser.internal.cases.parser.jaxb.SQLParserTestCase;
+import javax.xml.bind.annotation.XmlAttribute;
+
/**
- * Set transaction statement test case.
+ * Release savepoint statement test case.
*/
-public final class SetTransactionStatementTestCase extends SQLParserTestCase {
+@Getter
+@Setter
+public final class ReleaseSavepointStatementTestCase extends SQLParserTestCase
{
+
+ @XmlAttribute(name = "savepoint-name")
+ private String savepointName;
}
diff --git
a/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/cases/parser/jaxb/statement/tcl/SetTransactionStatementTestCase.java
b/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/cases/parser/jaxb/statement/tcl/SetTransactionStatementTestCase.java
index 7cb028efa27..a2e7758310c 100644
---
a/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/cases/parser/jaxb/statement/tcl/SetTransactionStatementTestCase.java
+++
b/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/cases/parser/jaxb/statement/tcl/SetTransactionStatementTestCase.java
@@ -17,10 +17,25 @@
package
org.apache.shardingsphere.test.it.sql.parser.internal.cases.parser.jaxb.statement.tcl;
+import lombok.Getter;
+import lombok.Setter;
import
org.apache.shardingsphere.test.it.sql.parser.internal.cases.parser.jaxb.SQLParserTestCase;
+import javax.xml.bind.annotation.XmlAttribute;
+
/**
* Set transaction statement test case.
*/
+@Getter
+@Setter
public final class SetTransactionStatementTestCase extends SQLParserTestCase {
+
+ @XmlAttribute(name = "scope")
+ private String scope;
+
+ @XmlAttribute(name = "isolation-level")
+ private String isolationLevel;
+
+ @XmlAttribute(name = "access-mode")
+ private String accessMode;
}
diff --git
a/test/it/parser/src/main/resources/sql/supported/tcl/start-transcation.xml
b/test/it/parser/src/main/resources/case/tcl/release-savepoint.xml
similarity index 63%
copy from
test/it/parser/src/main/resources/sql/supported/tcl/start-transcation.xml
copy to test/it/parser/src/main/resources/case/tcl/release-savepoint.xml
index 303321a747b..527ccb08693 100644
--- a/test/it/parser/src/main/resources/sql/supported/tcl/start-transcation.xml
+++ b/test/it/parser/src/main/resources/case/tcl/release-savepoint.xml
@@ -16,9 +16,6 @@
~ limitations under the License.
-->
-<sql-cases>
- <sql-case id="start_transaction" value="START TRANSACTION"
db-types="PostgreSQL,openGauss" />
- <sql-case id="start_read_committed" value="START TRANSACTION ISOLATION
LEVEL READ COMMITTED" db-types="PostgreSQL,openGauss" />
- <sql-case id="start_read_only" value="START TRANSACTION READ ONLY"
db-types="PostgreSQL,openGauss" />
- <sql-case id="start_with_transaction_mode" value="START TRANSACTION
ISOLATION LEVEL READ COMMITTED" db-types="PostgreSQL,openGauss" />
-</sql-cases>
+<sql-parser-test-cases>
+ <release-savepoint sql-case-id="release_savepoint"
savepoint-name="savepoint1" />
+</sql-parser-test-cases>
diff --git a/test/it/parser/src/main/resources/case/tcl/set-transaction.xml
b/test/it/parser/src/main/resources/case/tcl/set-transaction.xml
index cbce0a98e31..ea4869c9bb2 100644
--- a/test/it/parser/src/main/resources/case/tcl/set-transaction.xml
+++ b/test/it/parser/src/main/resources/case/tcl/set-transaction.xml
@@ -17,24 +17,29 @@
-->
<sql-parser-test-cases>
- <set-transaction sql-case-id="set_transaction" />
- <set-transaction sql-case-id="set_global_transaction" />
- <set-transaction sql-case-id="set_session_transaction" />
- <set-transaction sql-case-id="set_session_transaction_read_only_mysql" />
- <set-transaction sql-case-id="set_session_transaction_read_write_mysql" />
- <set-transaction sql-case-id="set_transaction_read_only" />
- <set-transaction sql-case-id="set_transaction_read_write" />
+ <set-transaction sql-case-id="set_transaction"
isolation-level="REPEATABLE_READ" />
+ <set-transaction sql-case-id="set_transaction_opengauss" />
+ <set-transaction sql-case-id="set_transaction_firebird" />
+ <set-transaction sql-case-id="set_global_transaction" scope="GLOBAL"
isolation-level="REPEATABLE_READ" />
+ <set-transaction sql-case-id="set_session_transaction" scope="SESSION"
isolation-level="READ_COMMITTED" />
+ <set-transaction sql-case-id="set_session_transaction_read_only_mysql"
scope="SESSION" access-mode="READ_ONLY" />
+ <set-transaction sql-case-id="set_session_transaction_read_write_mysql"
scope="SESSION" access-mode="READ_WRITE" />
+ <set-transaction sql-case-id="set_transaction_read_only"
access-mode="READ_ONLY" />
+ <set-transaction sql-case-id="set_transaction_read_only_oracle" />
+ <set-transaction sql-case-id="set_transaction_read_write"
access-mode="READ_WRITE" />
<set-transaction sql-case-id="set_transaction_read_write_with_name" />
- <set-transaction
sql-case-id="set_transaction_isolation_level_serializable" />
- <set-transaction
sql-case-id="set_transaction_isolation_level_read_committed" />
- <set-transaction
sql-case-id="set_transaction_isolation_level_read_uncommitted" />
- <set-transaction sql-case-id="set_transaction_isolation_level_snapshot" />
+ <set-transaction
sql-case-id="set_transaction_isolation_level_serializable"
isolation-level="SERIALIZABLE" />
+ <set-transaction
sql-case-id="set_transaction_isolation_level_serializable_oracle" />
+ <set-transaction
sql-case-id="set_transaction_isolation_level_read_committed"
isolation-level="READ_COMMITTED" />
+ <set-transaction
sql-case-id="set_transaction_isolation_level_read_committed_oracle" />
+ <set-transaction
sql-case-id="set_transaction_isolation_level_read_uncommitted"
isolation-level="READ_UNCOMMITTED" />
+ <set-transaction sql-case-id="set_transaction_isolation_level_snapshot"
isolation-level="SNAPSHOT" />
<set-transaction sql-case-id="set_transaction_use_rollback_segment" />
<set-transaction sql-case-id="set_transaction_with_name" />
<set-transaction sql-case-id="set_transaction_snapshot" />
- <set-transaction sql-case-id="set_session_transaction_doris" />
- <set-transaction sql-case-id="set_session_transaction_read_only_doris" />
- <set-transaction sql-case-id="set_global_transaction_read_only_doris" />
+ <set-transaction sql-case-id="set_session_transaction_doris"
scope="SESSION" isolation-level="READ_COMMITTED" />
+ <set-transaction sql-case-id="set_session_transaction_read_only_doris"
scope="SESSION" access-mode="READ_ONLY" />
+ <set-transaction sql-case-id="set_global_transaction_read_only_doris"
scope="GLOBAL" access-mode="READ_ONLY" />
<set-transaction sql-case-id="set_transaction_sql92" />
<xa sql-case-id="xa_recover" />
<xa sql-case-id="xa_start" />
diff --git
a/test/it/parser/src/main/resources/sql/supported/tcl/start-transcation.xml
b/test/it/parser/src/main/resources/sql/supported/tcl/release-savepoint.xml
similarity index 65%
copy from
test/it/parser/src/main/resources/sql/supported/tcl/start-transcation.xml
copy to
test/it/parser/src/main/resources/sql/supported/tcl/release-savepoint.xml
index 303321a747b..db7029598d1 100644
--- a/test/it/parser/src/main/resources/sql/supported/tcl/start-transcation.xml
+++ b/test/it/parser/src/main/resources/sql/supported/tcl/release-savepoint.xml
@@ -17,8 +17,5 @@
-->
<sql-cases>
- <sql-case id="start_transaction" value="START TRANSACTION"
db-types="PostgreSQL,openGauss" />
- <sql-case id="start_read_committed" value="START TRANSACTION ISOLATION
LEVEL READ COMMITTED" db-types="PostgreSQL,openGauss" />
- <sql-case id="start_read_only" value="START TRANSACTION READ ONLY"
db-types="PostgreSQL,openGauss" />
- <sql-case id="start_with_transaction_mode" value="START TRANSACTION
ISOLATION LEVEL READ COMMITTED" db-types="PostgreSQL,openGauss" />
+ <sql-case id="release_savepoint" value="RELEASE SAVEPOINT savepoint1"
db-types="MySQL" />
</sql-cases>
diff --git
a/test/it/parser/src/main/resources/sql/supported/tcl/set-transaction.xml
b/test/it/parser/src/main/resources/sql/supported/tcl/set-transaction.xml
index 368f7535816..60689221d0b 100644
--- a/test/it/parser/src/main/resources/sql/supported/tcl/set-transaction.xml
+++ b/test/it/parser/src/main/resources/sql/supported/tcl/set-transaction.xml
@@ -17,7 +17,9 @@
-->
<sql-cases>
- <sql-case id="set_transaction" value="SET TRANSACTION ISOLATION LEVEL
REPEATABLE READ" db-types="MySQL,PostgreSQL,openGauss,SQLServer,Doris,Firebird"
/>
+ <sql-case id="set_transaction" value="SET TRANSACTION ISOLATION LEVEL
REPEATABLE READ" db-types="MySQL,PostgreSQL,SQLServer,Doris" />
+ <sql-case id="set_transaction_opengauss" value="SET TRANSACTION ISOLATION
LEVEL REPEATABLE READ" db-types="openGauss" />
+ <sql-case id="set_transaction_firebird" value="SET TRANSACTION ISOLATION
LEVEL REPEATABLE READ" db-types="Firebird" />
<sql-case id="set_global_transaction" value="SET GLOBAL TRANSACTION
ISOLATION LEVEL REPEATABLE READ" db-types="MySQL,Doris" />
<sql-case id="set_session_transaction" value="SET SESSION TRANSACTION
ISOLATION LEVEL READ COMMITTED" db-types="MySQL" />
<sql-case id="set_session_transaction_read_only_mysql" value="SET SESSION
TRANSACTION READ ONLY" db-types="MySQL" />
@@ -25,11 +27,14 @@
<sql-case id="set_session_transaction_doris" value="SET SESSION
TRANSACTION ISOLATION LEVEL READ COMMITTED" db-types="Doris" />
<sql-case id="set_session_transaction_read_only_doris" value="SET SESSION
TRANSACTION READ ONLY" db-types="Doris" />
<sql-case id="set_global_transaction_read_only_doris" value="SET GLOBAL
TRANSACTION READ ONLY" db-types="Doris" />
- <sql-case id="set_transaction_read_only" value="SET TRANSACTION READ ONLY"
db-types="MySQL,Oracle,Doris" />
+ <sql-case id="set_transaction_read_only" value="SET TRANSACTION READ ONLY"
db-types="MySQL,Doris" />
+ <sql-case id="set_transaction_read_only_oracle" value="SET TRANSACTION
READ ONLY" db-types="Oracle" />
<sql-case id="set_transaction_read_write" value="SET TRANSACTION READ
WRITE" db-types="MySQL,Doris" />
<sql-case id="set_transaction_read_write_with_name" value="SET TRANSACTION
READ WRITE NAME 'Toronto'" db-types="Oracle" />
- <sql-case id="set_transaction_isolation_level_serializable" value="SET
TRANSACTION ISOLATION LEVEL SERIALIZABLE" db-types="Oracle, SQLServer,Doris" />
- <sql-case id="set_transaction_isolation_level_read_committed" value="SET
TRANSACTION ISOLATION LEVEL READ COMMITTED" db-types="MySQL,Oracle,
SQLServer,Doris" />
+ <sql-case id="set_transaction_isolation_level_serializable" value="SET
TRANSACTION ISOLATION LEVEL SERIALIZABLE" db-types="SQLServer,Doris" />
+ <sql-case id="set_transaction_isolation_level_serializable_oracle"
value="SET TRANSACTION ISOLATION LEVEL SERIALIZABLE" db-types="Oracle" />
+ <sql-case id="set_transaction_isolation_level_read_committed" value="SET
TRANSACTION ISOLATION LEVEL READ COMMITTED" db-types="MySQL,SQLServer,Doris" />
+ <sql-case id="set_transaction_isolation_level_read_committed_oracle"
value="SET TRANSACTION ISOLATION LEVEL READ COMMITTED" db-types="Oracle" />
<sql-case id="set_transaction_isolation_level_read_uncommitted" value="SET
TRANSACTION ISOLATION LEVEL READ UNCOMMITTED" db-types="MySQL,Doris" />
<sql-case id="set_transaction_isolation_level_snapshot" value="SET
TRANSACTION ISOLATION LEVEL SNAPSHOT" db-types="SQLServer" />
<sql-case id="set_transaction_use_rollback_segment" value="SET TRANSACTION
USE ROLLBACK SEGMENT rbs_ts" db-types="Oracle" />
diff --git
a/test/it/parser/src/main/resources/sql/supported/tcl/start-transcation.xml
b/test/it/parser/src/main/resources/sql/supported/tcl/start-transcation.xml
index 303321a747b..9d16548f81d 100644
--- a/test/it/parser/src/main/resources/sql/supported/tcl/start-transcation.xml
+++ b/test/it/parser/src/main/resources/sql/supported/tcl/start-transcation.xml
@@ -17,7 +17,7 @@
-->
<sql-cases>
- <sql-case id="start_transaction" value="START TRANSACTION"
db-types="PostgreSQL,openGauss" />
+ <sql-case id="start_transaction" value="START TRANSACTION"
db-types="MySQL,PostgreSQL,openGauss" />
<sql-case id="start_read_committed" value="START TRANSACTION ISOLATION
LEVEL READ COMMITTED" db-types="PostgreSQL,openGauss" />
<sql-case id="start_read_only" value="START TRANSACTION READ ONLY"
db-types="PostgreSQL,openGauss" />
<sql-case id="start_with_transaction_mode" value="START TRANSACTION
ISOLATION LEVEL READ COMMITTED" db-types="PostgreSQL,openGauss" />