![]() |
MySQL 8.0.43
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.