InnoDB Plugin  1.0
Data Fields
trx_purge_t Struct Reference

#include <trx0purge.h>

Collaboration diagram for trx_purge_t:
Collaboration graph
[legend]

Data Fields

sess_tsess
trx_ttrx
rw_lock_t latch
os_event_t event
ulint n_stop
volatile bool running
volatile purge_state_t state
que_tquery
read_view_tview
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_trseg
ulint page_no
ulint offset
ulint hdr_page_no
ulint hdr_offset
mem_heap_theap
ib_bh_tib_bh
ib_mutex_t bh_mutex

Detailed Description

The control structure used in the purge operation

Field Documentation

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)


The documentation for this struct was generated from the following file: