InnoDB Plugin  1.0
Data Fields
trx_sys_t Struct Reference

#include <trx0sys.h>

Collaboration diagram for trx_sys_t:
Collaboration graph

Data Fields

ib_mutex_t mutex
ulint n_prepared_trx
ulint n_prepared_recovered_trx
trx_id_t max_trx_id
trx_id_t rw_max_trx_id
trx_list_t rw_trx_list
trx_list_t ro_trx_list
trx_list_t mysql_trx_list
trx_rseg_t *const rseg_array [TRX_SYS_N_RSEGS]
ulint rseg_history_len
ut_list_base< read_view_tview_list

Detailed Description

The transaction system central memory data structure.

Field Documentation

trx_id_t trx_sys_t::max_trx_id

The smallest number not yet assigned as a transaction id or transaction number

ib_mutex_t trx_sys_t::mutex

mutex protecting most fields in this structure except when noted otherwise

trx_list_t trx_sys_t::mysql_trx_list

List of transactions created for MySQL. All transactions on ro_trx_list are on mysql_trx_list. The rw_trx_list can contain system transactions and recovered transactions that will not be in the mysql_trx_list. There can be active non-locking auto-commit read only transactions that are on this list but not on ro_trx_list. mysql_trx_list may additionally contain transactions that have not yet been started in InnoDB.

ulint trx_sys_t::n_prepared_recovered_trx

Number of transactions currently in XA PREPARED state that are also recovered. Such transactions cannot be added during runtime. They can only occur after recovery if mysqld crashed while there were XA PREPARED transactions. We disable query cache if such transactions exist.

ulint trx_sys_t::n_prepared_trx

Number of transactions currently in the XA PREPARED state

trx_list_t trx_sys_t::ro_trx_list

List of active and committed in memory read-only transactions, sorted on trx id, biggest first. NOTE: The order for read-only transactions is not necessary. We should exploit this and increase concurrency during add/remove.

trx_rseg_t* const trx_sys_t::rseg_array[TRX_SYS_N_RSEGS]

Pointer array to rollback segments; NULL if slot not in use; created and destroyed in single-threaded mode; not protected by any mutex, because it is read-only during multi-threaded operation

ulint trx_sys_t::rseg_history_len

Length of the TRX_RSEG_HISTORY list (update undo logs for committed transactions), protected by rseg->mutex

trx_id_t trx_sys_t::rw_max_trx_id

Max trx id of read-write transactions which exist or existed

trx_list_t trx_sys_t::rw_trx_list

List of active and committed in memory read-write transactions, sorted on trx id, biggest first. Recovered transactions are always on this list.

ut_list_base< read_view_t > trx_sys_t::view_list

List of read views sorted on trx no, biggest first

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