MySQL 9.0.0
Source Code Documentation
|
Transaction system global type definitions. More...
#include "page0size.h"
#include "sync0rw.h"
#include "ut0byte.h"
#include "ut0mutex.h"
#include "ut0new.h"
#include <atomic>
#include <queue>
#include <set>
#include <vector>
Go to the source code of this file.
Classes | |
struct | trx_savept_t |
Transaction savepoint. More... | |
struct | trx_rseg_t |
The rollback segment memory object. More... | |
class | Rsegs |
This is a wrapper for a std::vector of trx_rseg_t object pointers. More... | |
class | TrxUndoRsegs |
Rollback segments from a given transaction with trx-no scheduled for purge. More... | |
struct | TrxVersion |
Macros | |
#define | TRX_ID_FMT IB_ID_FMT |
printf(3) format used for printing DB_TRX_ID and other system fields More... | |
Typedefs | |
typedef ib_id_t | row_id_t |
Row identifier (DB_ROW_ID, DATA_ROW_ID) More... | |
typedef ib_id_t | trx_id_t |
Transaction identifier (DB_TRX_ID, DATA_TRX_ID) More... | |
typedef ib_id_t | roll_ptr_t |
Rollback pointer (DB_ROLL_PTR, DATA_ROLL_PTR) More... | |
typedef ib_id_t | undo_no_t |
Undo number. More... | |
typedef ib_mutex_t | RsegMutex |
typedef ib_mutex_t | TrxMutex |
typedef ib_mutex_t | UndoMutex |
typedef ib_mutex_t | PQMutex |
typedef ib_mutex_t | TrxSysMutex |
using | Rsegs_Vector = std::vector< trx_rseg_t *, ut::allocator< trx_rseg_t * > > |
using | Rseg_Iterator = Rsegs_Vector::iterator |
template<size_t N> | |
using | Rsegs_array = std::array< trx_rseg_t *, N > |
typedef std::priority_queue< TrxUndoRsegs, std::vector< TrxUndoRsegs, ut::allocator< TrxUndoRsegs > >, TrxUndoRsegs > | purge_pq_t |
typedef std::vector< trx_id_t, ut::allocator< trx_id_t > > | trx_ids_t |
typedef std::vector< TrxVersion, ut::allocator< TrxVersion > > | hit_list_t |
typedef byte | trx_sysf_t |
File objects. More... | |
typedef byte | trx_rsegsf_t |
Rollback segment array header. More... | |
typedef byte | trx_rsegf_t |
Rollback segment header. More... | |
typedef byte | trx_usegf_t |
Undo segment header. More... | |
typedef byte | trx_ulogf_t |
Undo log header. More... | |
typedef byte | trx_upagef_t |
Undo log page header. More... | |
typedef byte | trx_undo_rec_t |
Undo log record. More... | |
Enumerations | |
enum | trx_que_t { TRX_QUE_RUNNING , TRX_QUE_LOCK_WAIT , TRX_QUE_ROLLING_BACK , TRX_QUE_COMMITTING } |
Transaction execution states when trx->state == TRX_STATE_ACTIVE. More... | |
enum | trx_state_t { TRX_STATE_NOT_STARTED , TRX_STATE_FORCED_ROLLBACK , TRX_STATE_ACTIVE , TRX_STATE_PREPARED , TRX_STATE_COMMITTED_IN_MEMORY } |
Transaction states (trx_t::state) More... | |
enum | trx_dict_op_t { TRX_DICT_OP_NONE = 0 , TRX_DICT_OP_TABLE = 1 , TRX_DICT_OP_INDEX = 2 } |
Type of data dictionary operation. More... | |
Functions | |
std::ostream & | operator<< (std::ostream &out, const trx_rseg_t &rseg) |
Variables | |
static const space_id_t | TRX_SYS_SPACE = 0 |
Space id of the transaction system page (the system tablespace) More... | |
constexpr uint32_t | TRX_SYS_PAGE_NO = FSP_TRX_SYS_PAGE_NO |
Page number of the transaction system page. More... | |
static const ulint | TRX_MAGIC_N = 91118598 |
Random value to check for corruption of trx_t. More... | |
static const uint32_t | TRX_FORCE_ROLLBACK_DISABLE = 1 << 29 |
If this flag is set then the transaction cannot be rolled back asynchronously. More... | |
static const uint32_t | TRX_FORCE_ROLLBACK = 1U << 31 |
Mark the transaction for forced rollback. More... | |
static const uint32_t | TRX_FORCE_ROLLBACK_MASK = 0x1FFFFFFF |
For masking out the above flags. More... | |
constexpr trx_id_t | TRX_ID_MAX = IB_ID_MAX |
Maximum transaction identifier. More... | |
Transaction system global type definitions.
Created 3/26/1996 Heikki Tuuri
#define TRX_ID_FMT IB_ID_FMT |
printf(3) format used for printing DB_TRX_ID and other system fields
typedef std::vector<TrxVersion, ut::allocator<TrxVersion> > hit_list_t |
typedef ib_mutex_t PQMutex |
typedef std::priority_queue< TrxUndoRsegs, std::vector<TrxUndoRsegs, ut::allocator<TrxUndoRsegs> >, TrxUndoRsegs> purge_pq_t |
typedef ib_id_t roll_ptr_t |
Rollback pointer (DB_ROLL_PTR, DATA_ROLL_PTR)
using Rseg_Iterator = Rsegs_Vector::iterator |
typedef ib_mutex_t RsegMutex |
using Rsegs_array = std::array<trx_rseg_t *, N> |
using Rsegs_Vector = std::vector<trx_rseg_t *, ut::allocator<trx_rseg_t *> > |
typedef std::vector<trx_id_t, ut::allocator<trx_id_t> > trx_ids_t |
typedef byte trx_rsegf_t |
Rollback segment header.
typedef byte trx_rsegsf_t |
Rollback segment array header.
typedef byte trx_sysf_t |
File objects.
Transaction system header
typedef byte trx_ulogf_t |
Undo log header.
typedef byte trx_undo_rec_t |
Undo log record.
typedef byte trx_upagef_t |
Undo log page header.
typedef byte trx_usegf_t |
Undo segment header.
typedef ib_mutex_t TrxMutex |
typedef ib_mutex_t TrxSysMutex |
typedef ib_mutex_t UndoMutex |
enum trx_dict_op_t |
Type of data dictionary operation.
enum trx_que_t |
enum trx_state_t |
|
inline |
|
static |
Mark the transaction for forced rollback.
|
static |
If this flag is set then the transaction cannot be rolled back asynchronously.
|
static |
For masking out the above flags.
|
static |
Random value to check for corruption of trx_t.
|
constexpr |
Page number of the transaction system page.
|
static |
Space id of the transaction system page (the system tablespace)