WL#5073: Create SQL command classes for transaction statements
Status: In-Progress
Create classes derived from Sql_cmd that represent all supported transaction commands. This is a subtask of WL#5047. The functionality is partly covered by sp_trans.test, xa.test and consistent_snapshot.test. A new test file transactions.test that performs comprehensive syntax check of all transactional commands (except XA commands) will be added.
1. Classes used to represent transaction commands These classes will be created as derived from Sql_cmd. The classes are defined in sql_cmd_transaction.h and implemented in sql_cmd_transaction.cc. 1.1 Class Sql_cmd_start Command: START TRANSACTION and BEGIN Member: m_options - specification for the new transaction (WITH CONISTENT SNAPSHOT). 1.2 Class Sql_cmd_commit Command: COMMIT WORK Member: m_chain - Whether to start new transaction immediately Member: m_release - Whether to release session after commit 1.3 Class Sql_cmd_rollback Command: ROLLBACK WORK Member: m_chain - Whether to start new transaction immediately Member: m_release - Whether to release session after rollback 1.4 Class Sql_cmd_set_savepoint Command: SAVEPOINT Member: m_savepoint - Name of savepoint 1.5 Class Sql_cmd_rollback_savepoint Command: ROLLBACK SAVEPOINT Member: m_savepoint - Name of savepoint 1.6 Class Sql_cmd_release_savepoint Command: RELEASE SAVEPOINT Member: m_savepoint - Name of savepoint 1.7 Class Sql_cmd_xa_start Command: XA START and XA BEGIN Member: m_xid: Reference to XID to start Member: m_options: Options, whether to JOIN or RESUME 1.8 Class Sql_cmd_xa_end Command: XA END Member: m_xid: Reference to XID to end Member: m_options: Options, whether to SUSPEND 1.9 Class Sql_cmd_xa_prepare Command: XA PREPARE Member: m_xid: Reference to XID to prepare 1.10 Class Sql_cmd_xa_commit Command: XA COMMIT Member: m_xid: Reference to XID to commit Member: m_options: Options, whether to commit in one phase 1.11 Class Sql_cmd_xa_rollback Command: XA ROLLBACK Member: m_xid: Reference to XID to rollback 1.12 Class Sql_cmd_xa_recover Command: XA RECOVER 2. Support classes These are additional classes used by transaction classes. 2.1 Class Xa_options Wrapper class for enum used to enumerate options specified to XA commands.
No LLD required in this task.
Copyright (c) 2000, 2024, Oracle Corporation and/or its affiliates. All rights reserved.