MySQL 8.3.0
Source Code Documentation
Collaboration diagram for Transaction Instrumentation (ABI):

Classes

struct  PSI_transaction_locker_state_v1
 State data storage for get_thread_transaction_locker_v1_t, get_thread_transaction_locker_v1_t. More...
 
struct  PSI_transaction_bootstrap
 Entry point for the performance schema interface. More...
 
struct  PSI_transaction_service_v1
 Performance Schema Transaction Interface, version 1. More...
 

Macros

#define PSI_TRANSACTION_VERSION_1   1
 Performance Schema Transaction Interface number for version 1. More...
 
#define PSI_CURRENT_TRANSACTION_VERSION   1
 Performance Schema Transaction Interface number for the most recent version. More...
 

Typedefs

typedef struct PSI_transaction_locker PSI_transaction_locker
 
typedef struct PSI_transaction_locker_state_v1 PSI_transaction_locker_state_v1
 
typedef struct PSI_transaction_locker *(* get_thread_transaction_locker_v1_t) (struct PSI_transaction_locker_state_v1 *state, const void *xid, const unsigned long long *trxid, int isolation_level, bool read_only, bool autocommit)
 Get a transaction instrumentation locker. More...
 
typedef void(* start_transaction_v1_t) (struct PSI_transaction_locker *locker, const char *src_file, unsigned int src_line)
 Start a new transaction event. More...
 
typedef void(* set_transaction_xid_v1_t) (struct PSI_transaction_locker *locker, const void *xid, int xa_state)
 Set the transaction xid. More...
 
typedef void(* set_transaction_xa_state_v1_t) (struct PSI_transaction_locker *locker, int xa_state)
 Set the state of the XA transaction. More...
 
typedef void(* set_transaction_gtid_v1_t) (struct PSI_transaction_locker *locker, const void *sid, const void *gtid_spec)
 Set the transaction gtid. More...
 
typedef void(* set_transaction_trxid_v1_t) (struct PSI_transaction_locker *locker, const unsigned long long *trxid)
 Set the transaction trx_id. More...
 
typedef void(* inc_transaction_savepoints_v1_t) (struct PSI_transaction_locker *locker, unsigned long count)
 Increment a transaction event savepoint count. More...
 
typedef void(* inc_transaction_rollback_to_savepoint_v1_t) (struct PSI_transaction_locker *locker, unsigned long count)
 Increment a transaction event rollback to savepoint count. More...
 
typedef void(* inc_transaction_release_savepoint_v1_t) (struct PSI_transaction_locker *locker, unsigned long count)
 Increment a transaction event release savepoint count. More...
 
typedef void(* end_transaction_v1_t) (struct PSI_transaction_locker *locker, bool commit)
 Commit or rollback the transaction. More...
 
typedef struct PSI_transaction_locker_state_v1 PSI_transaction_locker_state
 
typedef struct PSI_transaction_bootstrap PSI_transaction_bootstrap
 
typedef struct PSI_transaction_service_v1 PSI_transaction_service_t
 

Variables

MYSQL_PLUGIN_IMPORT PSI_transaction_service_tpsi_transaction_service
 

Detailed Description

Macro Definition Documentation

◆ PSI_CURRENT_TRANSACTION_VERSION

#define PSI_CURRENT_TRANSACTION_VERSION   1

Performance Schema Transaction Interface number for the most recent version.

The most current version is PSI_TRANSACTION_VERSION_1

◆ PSI_TRANSACTION_VERSION_1

#define PSI_TRANSACTION_VERSION_1   1

Performance Schema Transaction Interface number for version 1.

This version is supported.

Typedef Documentation

◆ end_transaction_v1_t

typedef void(* end_transaction_v1_t) (struct PSI_transaction_locker *locker, bool commit)

Commit or rollback the transaction.

Parameters
lockerthe transaction locker for this event
committrue if transaction was committed, false if rolled back

◆ get_thread_transaction_locker_v1_t

typedef struct PSI_transaction_locker *(* get_thread_transaction_locker_v1_t) (struct PSI_transaction_locker_state_v1 *state, const void *xid, const unsigned long long *trxid, int isolation_level, bool read_only, bool autocommit)

Get a transaction instrumentation locker.

Parameters
statedata storage for the locker
xidthe xid for this transaction
trxidthe InnoDB transaction id
isolation_levelisolation level for this transaction
read_onlytrue if transaction access mode is read-only
autocommittrue if transaction is autocommit
Returns
a transaction locker, or NULL

◆ inc_transaction_release_savepoint_v1_t

typedef void(* inc_transaction_release_savepoint_v1_t) (struct PSI_transaction_locker *locker, unsigned long count)

Increment a transaction event release savepoint count.

Parameters
lockerthe transaction locker
countthe increment value

◆ inc_transaction_rollback_to_savepoint_v1_t

typedef void(* inc_transaction_rollback_to_savepoint_v1_t) (struct PSI_transaction_locker *locker, unsigned long count)

Increment a transaction event rollback to savepoint count.

Parameters
lockerthe transaction locker
countthe increment value

◆ inc_transaction_savepoints_v1_t

typedef void(* inc_transaction_savepoints_v1_t) (struct PSI_transaction_locker *locker, unsigned long count)

Increment a transaction event savepoint count.

Parameters
lockerthe transaction locker
countthe increment value

◆ PSI_transaction_bootstrap

◆ PSI_transaction_locker

◆ PSI_transaction_locker_state

◆ PSI_transaction_locker_state_v1

◆ PSI_transaction_service_t

◆ set_transaction_gtid_v1_t

typedef void(* set_transaction_gtid_v1_t) (struct PSI_transaction_locker *locker, const void *sid, const void *gtid_spec)

Set the transaction gtid.

Parameters
lockerthe transaction locker for this event
sidthe source id for the transaction, mapped from sidno
gtid_specthe gtid specifier for the transaction

◆ set_transaction_trxid_v1_t

typedef void(* set_transaction_trxid_v1_t) (struct PSI_transaction_locker *locker, const unsigned long long *trxid)

Set the transaction trx_id.

Parameters
lockerthe transaction locker for this event
trxidthe storage engine transaction ID

◆ set_transaction_xa_state_v1_t

typedef void(* set_transaction_xa_state_v1_t) (struct PSI_transaction_locker *locker, int xa_state)

Set the state of the XA transaction.

Parameters
lockerthe transaction locker for this event
xa_statethe new state of the xa transaction

◆ set_transaction_xid_v1_t

typedef void(* set_transaction_xid_v1_t) (struct PSI_transaction_locker *locker, const void *xid, int xa_state)

Set the transaction xid.

Parameters
lockerthe transaction locker for this event
xidthe id of the XA transaction
xa_statethe state of the XA transaction

◆ start_transaction_v1_t

typedef void(* start_transaction_v1_t) (struct PSI_transaction_locker *locker, const char *src_file, unsigned int src_line)

Start a new transaction event.

Parameters
lockerthe transaction locker for this event
src_filesource file name
src_linesource line number

Variable Documentation

◆ psi_transaction_service

MYSQL_PLUGIN_IMPORT PSI_transaction_service_t* psi_transaction_service
extern