InnoDB Plugin
1.0
|
#include <trx0purge.h>
Data Fields | |
sess_t * | sess |
trx_t * | trx |
rw_lock_t | latch |
os_event_t | event |
ulint | n_stop |
volatile bool | running |
volatile purge_state_t | state |
que_t * | query |
read_view_t * | view |
volatile ulint | n_submitted |
volatile ulint | n_completed |
purge_iter_t | iter |
purge_iter_t | limit |
purge_iter_t | done |
ibool | next_stored |
trx_rseg_t * | rseg |
ulint | page_no |
ulint | offset |
ulint | hdr_page_no |
ulint | hdr_offset |
mem_heap_t * | heap |
ib_bh_t * | ib_bh |
ib_mutex_t | bh_mutex |
The control structure used in the purge operation
ib_mutex_t trx_purge_t::bh_mutex |
Mutex protecting ib_bh
os_event_t trx_purge_t::event |
State signal event
ulint trx_purge_t::hdr_offset |
Header byte offset on the page
ulint trx_purge_t::hdr_page_no |
Header page of the undo log where the next record to purge belongs
mem_heap_t* trx_purge_t::heap |
Temporary storage used during a purge: can be emptied after purge completes
ib_bh_t* trx_purge_t::ib_bh |
Binary min-heap, ordered on rseg_queue_t::trx_no. It is protected by the bh_mutex
rw_lock_t trx_purge_t::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. It also protects state and running
volatile ulint trx_purge_t::n_completed |
Count of total tasks completed
ulint trx_purge_t::n_stop |
Counter to track number stops
volatile ulint trx_purge_t::n_submitted |
Count of total tasks submitted to the task queue
ibool trx_purge_t::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
ulint trx_purge_t::offset |
Page offset for the next undo record to purge, 0 if the dummy record
ulint trx_purge_t::page_no |
Page number for the next undo record to purge, page number of the log header, if dummy record
que_t* trx_purge_t::query |
The query graph which will do the parallelized purge operation
trx_rseg_t* trx_purge_t::rseg |
Rollback segment for the next undo record to purge
volatile bool trx_purge_t::running |
true, if purge is active, we check this without the latch too
sess_t* trx_purge_t::sess |
System session running the purge query
volatile purge_state_t trx_purge_t::state |
Purge coordinator thread states, we check this in several places without holding the latch.
trx_t* trx_purge_t::trx |
System transaction running the purge query: this trx is not in the trx list of the trx system and it never ends
read_view_t* trx_purge_t::view |
The purge will not remove undo logs which are >= this view (purge view)