MySQL 8.4.2
Source Code Documentation
|
Transaction undo log memory object; this is protected by the undo_mutex in the corresponding transaction object. More...
#include <trx0undo.h>
Public Types | |
enum class | Gtid_storage { NONE , COMMIT , PREPARE_AND_COMMIT } |
Undo log may could be allocated to store transaction GTIDs. More... | |
Public Member Functions | |
bool | gtid_allocated (bool is_prepare) const |
Check if space for GTID is allocated in undo. More... | |
std::tuple< int, size_t > | gtid_get_details (bool is_prepare) const |
Get offset and flag for GTID stored in undo. More... | |
void | set_prepared (const XID *in_xid) |
void | set_prepared_in_tc () |
bool | is_prepared () const |
UT_LIST_NODE_T (trx_undo_t) undo_list | |
undo log objects in the rollback segment are chained into lists More... | |
Public Attributes | |
ulint | id |
undo log slot number within the rollback segment More... | |
ulint | type |
TRX_UNDO_INSERT or TRX_UNDO_UPDATE. More... | |
ulint | state |
state of the corresponding undo log segment More... | |
bool | del_marks |
relevant only in an update undo log: this is true if the transaction may have delete marked records, because of a delete of a row or an update of an indexed field; purge is then necessary; also true if the transaction has updated an externally stored field More... | |
trx_id_t | trx_id |
id of the trx assigned to the undo log More... | |
XID | xid |
X/Open XA transaction identification. More... | |
ulint | flag |
flag for current transaction XID and GTID. More... | |
Gtid_storage | m_gtid_storage {Gtid_storage::NONE} |
Storage space allocated for GTIDs. More... | |
bool | dict_operation |
true if a dict operation trx More... | |
trx_rseg_t * | rseg |
rseg where the undo log belongs More... | |
space_id_t | space |
space id where the undo log placed More... | |
page_size_t | page_size |
page_no_t | hdr_page_no |
page number of the header page in the undo log More... | |
ulint | hdr_offset |
header offset of the undo log on the page More... | |
page_no_t | last_page_no |
page number of the last page in the undo log; this may differ from top_page_no during a rollback More... | |
ulint | size |
current size in pages More... | |
ulint | empty |
true if the stack of undo log records is currently empty More... | |
page_no_t | top_page_no |
page number where the latest undo log record was catenated; during rollback the page from which the latest undo record was chosen More... | |
ulint | top_offset |
offset of the latest undo record, i.e., the topmost element in the undo log if we think of it as a stack More... | |
undo_no_t | top_undo_no |
undo number of the latest record More... | |
buf_block_t * | guess_block |
guess for the buffer block where the top page might reside More... | |
Transaction undo log memory object; this is protected by the undo_mutex in the corresponding transaction object.
|
strong |
bool trx_undo_t::gtid_allocated | ( | bool | is_prepare | ) | const |
Check if space for GTID is allocated in undo.
[in] | is_prepare | if XA prepare GTID |
std::tuple< int, size_t > trx_undo_t::gtid_get_details | ( | bool | is_prepare | ) | const |
Get offset and flag for GTID stored in undo.
[in] | is_prepare | if XA prepare GTID |
|
inline |
|
inline |
|
inline |
trx_undo_t::UT_LIST_NODE_T | ( | trx_undo_t | ) |
undo log objects in the rollback segment are chained into lists
bool trx_undo_t::del_marks |
relevant only in an update undo log: this is true if the transaction may have delete marked records, because of a delete of a row or an update of an indexed field; purge is then necessary; also true if the transaction has updated an externally stored field
bool trx_undo_t::dict_operation |
true if a dict operation trx
ulint trx_undo_t::empty |
true if the stack of undo log records is currently empty
ulint trx_undo_t::flag |
flag for current transaction XID and GTID.
Persisted in TRX_UNDO_FLAGS flag of undo header.
buf_block_t* trx_undo_t::guess_block |
guess for the buffer block where the top page might reside
ulint trx_undo_t::hdr_offset |
header offset of the undo log on the page
page_no_t trx_undo_t::hdr_page_no |
page number of the header page in the undo log
ulint trx_undo_t::id |
undo log slot number within the rollback segment
page_no_t trx_undo_t::last_page_no |
page number of the last page in the undo log; this may differ from top_page_no during a rollback
Gtid_storage trx_undo_t::m_gtid_storage {Gtid_storage::NONE} |
Storage space allocated for GTIDs.
page_size_t trx_undo_t::page_size |
trx_rseg_t* trx_undo_t::rseg |
rseg where the undo log belongs
ulint trx_undo_t::size |
current size in pages
space_id_t trx_undo_t::space |
space id where the undo log placed
ulint trx_undo_t::state |
state of the corresponding undo log segment
ulint trx_undo_t::top_offset |
offset of the latest undo record, i.e., the topmost element in the undo log if we think of it as a stack
page_no_t trx_undo_t::top_page_no |
page number where the latest undo log record was catenated; during rollback the page from which the latest undo record was chosen
undo_no_t trx_undo_t::top_undo_no |
undo number of the latest record
trx_id_t trx_undo_t::trx_id |
id of the trx assigned to the undo log
ulint trx_undo_t::type |
TRX_UNDO_INSERT or TRX_UNDO_UPDATE.
XID trx_undo_t::xid |
X/Open XA transaction identification.