MySQL 8.4.2
Source Code Documentation
|
This class manages memory for active transaction list. More...
#include <semisync_source.h>
Public Member Functions | |
int | signal_waiting_sessions_all () |
int | signal_waiting_sessions_up_to (const char *log_file_name, my_off_t log_file_pos) |
TranxNode * | find_active_tranx_node (const char *log_file_name, my_off_t log_file_pos) |
ActiveTranx (mysql_mutex_t *lock, unsigned long trace_level) | |
~ActiveTranx () | |
int | insert_tranx_node (const char *log_file_name, my_off_t log_file_pos) |
int | clear_active_tranx_nodes (const char *log_file_name, my_off_t log_file_pos) |
bool | is_tranx_end_pos (const char *log_file_name, my_off_t log_file_pos) |
bool | is_empty () |
Public Member Functions inherited from Trace | |
void | function_enter (const char *func_name) |
int | function_exit (const char *func_name, int exit_code) |
bool | function_exit (const char *func_name, bool exit_code) |
void | function_exit (const char *func_name) |
Trace () | |
Trace (unsigned long trace_level) | |
Static Public Member Functions | |
static int | compare (const char *log_file_name1, my_off_t log_file_pos1, const char *log_file_name2, my_off_t log_file_pos2) |
Private Member Functions | |
void | assert_lock_owner () |
unsigned int | calc_hash (const unsigned char *key, unsigned int length) |
unsigned int | get_hash_value (const char *log_file_name, my_off_t log_file_pos) |
int | compare (const char *log_file_name1, my_off_t log_file_pos1, const TranxNode *node2) |
int | compare (const TranxNode *node1, const char *log_file_name2, my_off_t log_file_pos2) |
int | compare (const TranxNode *node1, const TranxNode *node2) |
Private Attributes | |
TranxNodeAllocator | allocator_ |
TranxNode * | trx_front_ |
TranxNode * | trx_rear_ |
TranxNode ** | trx_htb_ |
int | num_entries_ |
mysql_mutex_t * | lock_ |
Additional Inherited Members | |
Public Attributes inherited from Trace | |
unsigned long | trace_level_ |
Static Public Attributes inherited from Trace | |
static const unsigned long | kTraceFunction = 0x0040 |
static const unsigned long | kTraceGeneral = 0x0001 |
static const unsigned long | kTraceDetail = 0x0010 |
static const unsigned long | kTraceNetWait = 0x0020 |
This class manages memory for active transaction list.
We record each active transaction with a TranxNode, each session can have only one open transaction. Because of EVENT, the total active transaction nodes can exceed the maximum allowed connections.
ActiveTranx::ActiveTranx | ( | mysql_mutex_t * | lock, |
unsigned long | trace_level | ||
) |
ActiveTranx::~ActiveTranx | ( | ) |
|
inlineprivate |
|
inlineprivate |
int ActiveTranx::clear_active_tranx_nodes | ( | const char * | log_file_name, |
my_off_t | log_file_pos | ||
) |
|
static |
|
inlineprivate |
|
inlineprivate |
TranxNode * ActiveTranx::find_active_tranx_node | ( | const char * | log_file_name, |
my_off_t | log_file_pos | ||
) |
|
private |
int ActiveTranx::insert_tranx_node | ( | const char * | log_file_name, |
my_off_t | log_file_pos | ||
) |
|
inline |
bool ActiveTranx::is_tranx_end_pos | ( | const char * | log_file_name, |
my_off_t | log_file_pos | ||
) |
int ActiveTranx::signal_waiting_sessions_all | ( | ) |
int ActiveTranx::signal_waiting_sessions_up_to | ( | const char * | log_file_name, |
my_off_t | log_file_pos | ||
) |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |