MySQL 8.4.2
Source Code Documentation
|
The rollback segment memory object. More...
#include <trx0types.h>
Public Types | |
using | Undo_list = UT_LIST_BASE_NODE_T_EXTERN(trx_undo_t, undo_list) |
Public Member Functions | |
bool | validate_curr_size (bool take_mutex=true) |
Validate the curr_size member by re-calculating it. More... | |
void | latch () |
Enter the rseg->mutex. More... | |
void | unlatch () |
Exit the rseg->mutex. More... | |
void | decr_curr_size (page_no_t npages=1) |
Decrement the current size of the rollback segment by the given number of pages. More... | |
void | incr_curr_size () |
Increment the current size of the rollback segment by the given number of pages. More... | |
page_no_t | get_curr_size () const |
void | set_curr_size (page_no_t npages) |
std::ostream & | print (std::ostream &out) const |
Public Attributes | |
size_t | 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... | |
page_no_t | max_size {} |
maximum allowed size in pages More... | |
Undo_list | update_undo_list |
List of update undo logs. More... | |
Undo_list | update_undo_cached |
List of update undo log segments cached for fast reuse. More... | |
Undo_list | insert_undo_list |
List of insert undo logs. More... | |
Undo_list | insert_undo_cached |
List of insert undo log segments cached for fast reuse. 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... | |
size_t | 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... | |
bool | last_del_marks {} |
true if the last not yet purged log needs purging More... | |
std::atomic< size_t > | trx_ref_count {} |
Reference counter to track rseg allocated transactions. More... | |
Private Attributes | |
page_no_t | curr_size {} |
current size in pages More... | |
The rollback segment memory object.
using trx_rseg_t::Undo_list = UT_LIST_BASE_NODE_T_EXTERN(trx_undo_t, undo_list) |
|
inline |
Decrement the current size of the rollback segment by the given number of pages.
[in] | npages | number of pages to reduce in size. |
|
inline |
|
inline |
Increment the current size of the rollback segment by the given number of pages.
|
inline |
Enter the rseg->mutex.
|
inline |
|
inline |
|
inline |
Exit the rseg->mutex.
bool trx_rseg_t::validate_curr_size | ( | bool | take_mutex = true | ) |
Validate the curr_size member by re-calculating it.
[in] | take_mutex | take the rseg->mutex. default is true. |
|
private |
current size in pages
size_t trx_rseg_t::id {} |
rollback segment id == the index of its slot in the trx system file copy
Undo_list trx_rseg_t::insert_undo_cached |
List of insert undo log segments cached for fast reuse.
Undo_list trx_rseg_t::insert_undo_list |
List of insert undo logs.
bool trx_rseg_t::last_del_marks {} |
true if the last not yet purged log needs purging
size_t trx_rseg_t::last_offset {} |
Byte offset of the last not yet purged log header.
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.
trx_id_t trx_rseg_t::last_trx_no |
Transaction number of the last not yet purged log.
page_no_t trx_rseg_t::max_size {} |
maximum allowed size in pages
RsegMutex trx_rseg_t::mutex |
mutex protecting the fields in this struct except id,space,page_no which are constant
page_no_t trx_rseg_t::page_no {} |
page number of the rollback segment header
page_size_t trx_rseg_t::page_size |
page size of the relevant tablespace
space_id_t trx_rseg_t::space_id {} |
space ID where the rollback segment header is placed
std::atomic<size_t> trx_rseg_t::trx_ref_count {} |
Reference counter to track rseg allocated transactions.
Undo_list trx_rseg_t::update_undo_cached |
List of update undo log segments cached for fast reuse.
Undo_list trx_rseg_t::update_undo_list |
List of update undo logs.