|
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)
1.8.1.2