#include <trx0purge.h>
Public Attributes | |
ulint | state |
sess_t * | sess |
trx_t * | trx |
que_t * | query |
rw_lock_t | latch |
read_view_t * | view |
mutex_t | mutex |
ulint | n_pages_handled |
ulint | handle_limit |
trx_id_t | purge_trx_no |
undo_no_t | purge_undo_no |
ibool | next_stored |
trx_rseg_t * | rseg |
ulint | page_no |
ulint | offset |
ulint | hdr_page_no |
ulint | hdr_offset |
trx_undo_arr_t * | arr |
mem_heap_t * | heap |
The control structure used in the purge operation
Definition at line 128 of file trx0purge.h.
trx_undo_arr_t* trx_purge_struct::arr |
Array of transaction numbers and
undo numbers of the undo records currently under processing in purge
Definition at line 177 of file trx0purge.h.
Referenced by trx_purge_sys_close(), and trx_purge_sys_create().
ulint trx_purge_struct::handle_limit |
Target of how many pages to get
processed in the current purge
Definition at line 148 of file trx0purge.h.
Referenced by trx_purge(), and trx_purge_fetch_next_rec().
ulint trx_purge_struct::hdr_offset |
Header byte offset on the page
Definition at line 175 of file trx0purge.h.
Referenced by trx_purge_sys_print().
ulint trx_purge_struct::hdr_page_no |
Header page of the undo log where
the next record to purge belongs
Definition at line 173 of file trx0purge.h.
Referenced by trx_purge_sys_print().
mem_heap_t* trx_purge_struct::heap |
Temporary storage used during a
purge: can be emptied after purge completes
Definition at line 180 of file trx0purge.h.
Referenced by trx_purge(), trx_purge_sys_close(), and trx_purge_sys_create().
rw_lock_t trx_purge_struct::latch |
The latch protecting the purge view.
A purge operation must acquire an x-latch here for the instant at which it changes the purge view: an undo log operation can prevent this by obtaining an s-latch here.
Definition at line 137 of file trx0purge.h.
Referenced by row_vers_build_for_consistent_read(), row_vers_build_for_semi_consistent_read(), row_vers_impl_x_locked_off_kernel(), row_vers_must_preserve_del_marked(), row_vers_old_has_index_entry(), trx_purge(), trx_purge_sys_close(), trx_purge_sys_create(), trx_purge_update_undo_must_exist(), trx_undo_get_undo_rec(), and trx_undo_prev_version_build().
mutex_t trx_purge_struct::mutex |
Mutex protecting the fields below
Definition at line 145 of file trx0purge.h.
Referenced by trx_purge(), trx_purge_fetch_next_rec(), trx_purge_rec_release(), trx_purge_sys_close(), and trx_purge_sys_create().
ulint trx_purge_struct::n_pages_handled |
Approximate number of undo log
pages processed in purge
Definition at line 146 of file trx0purge.h.
Referenced by trx_purge(), trx_purge_fetch_next_rec(), and trx_purge_sys_create().
ibool trx_purge_struct::next_stored |
TRUE if the info of the next record
to purge is stored below: if yes, then the transaction number and the undo number of the record are stored in purge_trx_no and purge_undo_no above
Definition at line 160 of file trx0purge.h.
Referenced by trx_purge_fetch_next_rec(), trx_purge_sys_create(), and trx_purge_sys_print().
ulint trx_purge_struct::offset |
Page offset for the next undo
record to purge, 0 if the dummy record
Definition at line 170 of file trx0purge.h.
Referenced by trx_purge_fetch_next_rec(), and trx_purge_sys_print().
ulint trx_purge_struct::page_no |
Page number for the next undo
record to purge, page number of the log header, if dummy record
Definition at line 167 of file trx0purge.h.
Referenced by trx_purge_fetch_next_rec(), and trx_purge_sys_print().
trx_id_t trx_purge_struct::purge_trx_no |
Purge has advanced past all
transactions whose number is less than this
Definition at line 154 of file trx0purge.h.
Referenced by lock_print_info_summary(), trx_purge_fetch_next_rec(), trx_purge_sys_create(), and trx_purge_sys_print().
undo_no_t trx_purge_struct::purge_undo_no |
Purge has advanced past all records
whose undo number is less than this
Definition at line 157 of file trx0purge.h.
Referenced by lock_print_info_summary(), trx_purge_fetch_next_rec(), trx_purge_sys_create(), and trx_purge_sys_print().
que_t* trx_purge_struct::query |
The query graph which will do the
parallelized purge operation
Definition at line 135 of file trx0purge.h.
Referenced by trx_purge(), trx_purge_sys_close(), and trx_purge_sys_create().
trx_rseg_t* trx_purge_struct::rseg |
Rollback segment for the next undo
record to purge
Definition at line 165 of file trx0purge.h.
Referenced by trx_purge_fetch_next_rec().
sess_t* trx_purge_struct::sess |
System session running the purge
query
Definition at line 130 of file trx0purge.h.
Referenced by trx_purge_sys_close(), and trx_purge_sys_create().
ulint trx_purge_struct::state |
Purge system state
Definition at line 129 of file trx0purge.h.
Referenced by trx_purge(), trx_purge_fetch_next_rec(), and trx_purge_sys_create().
trx_t* trx_purge_struct::trx |
System transaction running the purge
query: this trx is not in the trx list of the trx system and it never ends
Definition at line 132 of file trx0purge.h.
Referenced by trx_purge(), and trx_purge_sys_create().
read_view_t* trx_purge_struct::view |
The purge will not remove undo logs
which are >= this view (purge view)
Definition at line 143 of file trx0purge.h.
Referenced by trx_purge(), trx_purge_fetch_next_rec(), trx_purge_sys_close(), trx_purge_sys_create(), trx_purge_sys_print(), and trx_purge_update_undo_must_exist().