#include <trx0purge.h>
Public Attributes | |
ulint | state |
sess_t * | sess |
trx_t * | trx |
que_t * | query |
rw_lock_t | latch |
read_view_t * | view |
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 |
ib_bh_t * | ib_bh |
mutex_t | bh_mutex |
The control structure used in the purge operation
Definition at line 129 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 178 of file trx0purge.h.
Referenced by trx_purge_sys_close(), and trx_purge_sys_create().
mutex_t trx_purge_struct::bh_mutex |
Mutex protecting ib_bh
Definition at line 188 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 149 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 176 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 174 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 181 of file trx0purge.h.
Referenced by trx_purge(), trx_purge_sys_close(), and trx_purge_sys_create().
ib_bh_t* trx_purge_struct::ib_bh |
Binary min-heap, ordered on rseg_queue_t::trx_no. It is protected by the bh_mutex
Definition at line 185 of file trx0purge.h.
Referenced by 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 139 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().
ulint trx_purge_struct::n_pages_handled |
Approximate number of undo log pages processed in purge
Definition at line 147 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 161 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 171 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 168 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 155 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 158 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 137 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 166 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 131 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 130 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 133 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 145 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().