MySQL 8.4.3
Source Code Documentation
|
Either statement transaction or normal transaction - related thread-specific storage engine data. More...
#include <transaction_info.h>
Public Member Functions | |
void | register_ha (Transaction_ctx::THD_TRANS *trans, handlerton *ht_arg) |
Register this storage engine in the given transaction context. More... | |
void | reset () |
Clear, prepare for reuse. More... | |
Ha_trx_info () | |
void | set_trx_read_write () |
bool | is_trx_read_write () const |
bool | is_started () const |
void | coalesce_trx_with (const Ha_trx_info *stmt_trx) |
Mark this transaction read-write if the argument is read-write. More... | |
void | coalesce_trx_with (const Ha_trx_info &stmt_trx) |
handlerton * | ht () const |
Private Types | |
enum | { TRX_READ_ONLY = 0 , TRX_READ_WRITE = 1 } |
Private Attributes | |
Ha_trx_info * | m_next |
Auxiliary, used for ha_list management. More... | |
handlerton * | m_ht |
Although a given Ha_trx_info instance is currently always used for the same storage engine, 'ht' is not-NULL only when the corresponding storage is a part of a transaction. More... | |
uchar | m_flags |
Transaction flags related to this engine. More... | |
Friends | |
class | Ha_trx_info_list |
Either statement transaction or normal transaction - related thread-specific storage engine data.
If a storage engine participates in a statement/transaction, an instance of this class is present in thd->m_transaction.m_scope_info[STMT|SESSION].ha_list. The addition this list is made by trans_register_ha().
When it's time to commit or rollback, each element of ha_list is used to access storage engine's prepare()/commit()/rollback() methods, and also to evaluate if a full two phase commit is necessary.
|
inline |
|
inline |
|
inline |
Mark this transaction read-write if the argument is read-write.
|
inline |
|
inline |
|
inline |
|
inline |
Register this storage engine in the given transaction context.
|
inline |
Clear, prepare for reuse.
|
inline |
|
friend |
|
private |
Transaction flags related to this engine.
Not-null only if this instance is a part of transaction. May assume a combination of enum values above.
|
private |
Although a given Ha_trx_info instance is currently always used for the same storage engine, 'ht' is not-NULL only when the corresponding storage is a part of a transaction.
|
private |
Auxiliary, used for ha_list management.