MySQL  8.0.19
Source Code Documentation
trx_rseg_t Struct Reference

The rollback segment memory object. More...

#include <trx0types.h>

Public Member Functions

 UT_LIST_BASE_NODE_T (trx_undo_t) update_undo_list
 List of update undo logs. More...
 
 UT_LIST_BASE_NODE_T (trx_undo_t) update_undo_cached
 List of update undo log segments cached for fast reuse. More...
 
 UT_LIST_BASE_NODE_T (trx_undo_t) insert_undo_list
 List of insert undo logs. More...
 
 UT_LIST_BASE_NODE_T (trx_undo_t) insert_undo_cached
 List of insert undo log segments cached for fast reuse. More...
 

Public Attributes

ulint id
 rollback segment id == the index of its slot in the trx system file copy More...
 
RsegMutex mutex
 mutex protecting the fields in this struct except id,space,page_no which are constant More...
 
space_id_t space_id
 space ID where the rollback segment header is placed More...
 
page_no_t page_no
 page number of the rollback segment header More...
 
page_size_t page_size
 page size of the relevant tablespace More...
 
ulint max_size
 maximum allowed size in pages More...
 
ulint curr_size
 current size in pages More...
 
page_no_t last_page_no
 Page number of the last not yet purged log header in the history list; FIL_NULL if all list purged. More...
 
ulint last_offset
 Byte offset of the last not yet purged log header. More...
 
trx_id_t last_trx_no
 Transaction number of the last not yet purged log. More...
 
ibool last_del_marks
 TRUE if the last not yet purged log needs purging. More...
 
std::atomic< ulint > trx_ref_count
 Reference counter to track rseg allocated transactions. More...
 

Detailed Description

The rollback segment memory object.

Member Function Documentation

◆ UT_LIST_BASE_NODE_T() [1/4]

trx_rseg_t::UT_LIST_BASE_NODE_T ( trx_undo_t  )

List of insert undo log segments cached for fast reuse.

◆ UT_LIST_BASE_NODE_T() [2/4]

trx_rseg_t::UT_LIST_BASE_NODE_T ( trx_undo_t  )

List of insert undo logs.

◆ UT_LIST_BASE_NODE_T() [3/4]

trx_rseg_t::UT_LIST_BASE_NODE_T ( trx_undo_t  )

List of update undo log segments cached for fast reuse.

◆ UT_LIST_BASE_NODE_T() [4/4]

trx_rseg_t::UT_LIST_BASE_NODE_T ( trx_undo_t  )

List of update undo logs.

Member Data Documentation

◆ curr_size

ulint trx_rseg_t::curr_size

current size in pages

◆ id

ulint trx_rseg_t::id

rollback segment id == the index of its slot in the trx system file copy

◆ last_del_marks

ibool trx_rseg_t::last_del_marks

TRUE if the last not yet purged log needs purging.

◆ last_offset

ulint trx_rseg_t::last_offset

Byte offset of the last not yet purged log header.

◆ last_page_no

page_no_t trx_rseg_t::last_page_no

Page number of the last not yet purged log header in the history list; FIL_NULL if all list purged.

◆ last_trx_no

trx_id_t trx_rseg_t::last_trx_no

Transaction number of the last not yet purged log.

◆ max_size

ulint trx_rseg_t::max_size

maximum allowed size in pages

◆ mutex

RsegMutex trx_rseg_t::mutex

mutex protecting the fields in this struct except id,space,page_no which are constant

◆ page_no

page_no_t trx_rseg_t::page_no

page number of the rollback segment header

◆ page_size

page_size_t trx_rseg_t::page_size

page size of the relevant tablespace

◆ space_id

space_id_t trx_rseg_t::space_id

space ID where the rollback segment header is placed

◆ trx_ref_count

std::atomic<ulint> trx_rseg_t::trx_ref_count

Reference counter to track rseg allocated transactions.


The documentation for this struct was generated from the following file: