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