![]() |
MySQL 8.0.43
Source Code Documentation
|
#include <que0que.h>
Public Attributes | |
| que_common_t | common |
| type: QUE_NODE_THR More... | |
| ulint | magic_n |
| magic number to catch memory corruption More... | |
| que_node_t * | child |
| graph child node More... | |
| que_t * | graph |
| graph where this node belongs More... | |
| que_thr_state_t | state |
| state of the query thread More... | |
| bool | is_active |
| true if the thread has been set to the run state in que_thr_move_to_run_state, but not deactivated in que_thr_dec_reference_count More... | |
| que_node_t * | run_node |
| pointer to the node where the subgraph down from this node is currently executed More... | |
| que_node_t * | prev_node |
| pointer to the node from which the control came More... | |
| ulint | resource |
| resource usage of the query thread thus far More... | |
| ulint | lock_state |
| lock state of thread (table or row) More... | |
| struct srv_slot_t * | slot |
| The thread slot in the lock_sys->waiting_threads array protected by lock_sys->wait_mutex when writing to it, and also by trx->mutex when changing from null to non-null. More... | |
| thrs | |
| list of thread nodes of the fork node More... | |
| trx_thrs | |
| lists of threads in wait list of the trx More... | |
| queue | |
| list of runnable thread nodes in the server task queue More... | |
| ulint | fk_cascade_depth |
| maximum cascading call depth supported for foreign key constraint related delete/updates More... | |
| row_prebuilt_t * | prebuilt |
| prebuilt structure processed by the query thread More... | |
| que_node_t* que_thr_t::child |
graph child node
| que_common_t que_thr_t::common |
type: QUE_NODE_THR
| ulint que_thr_t::fk_cascade_depth |
maximum cascading call depth supported for foreign key constraint related delete/updates
| que_t* que_thr_t::graph |
graph where this node belongs
| bool que_thr_t::is_active |
true if the thread has been set to the run state in que_thr_move_to_run_state, but not deactivated in que_thr_dec_reference_count
| ulint que_thr_t::lock_state |
lock state of thread (table or row)
| ulint que_thr_t::magic_n |
magic number to catch memory corruption
| row_prebuilt_t* que_thr_t::prebuilt |
prebuilt structure processed by the query thread
| que_node_t* que_thr_t::prev_node |
pointer to the node from which the control came
| que_thr_t::queue |
list of runnable thread nodes in the server task queue
| ulint que_thr_t::resource |
resource usage of the query thread thus far
| que_node_t* que_thr_t::run_node |
pointer to the node where the subgraph down from this node is currently executed
| struct srv_slot_t* que_thr_t::slot |
The thread slot in the lock_sys->waiting_threads array protected by lock_sys->wait_mutex when writing to it, and also by trx->mutex when changing from null to non-null.
While reading, one can either hold the lock_sys->wait_mutex, or hold the trx->mutex and a proof that no one has woken the trx yet, so the slot is either still null (if trx hadn't yet started the sleep), or already non-null (if it already started sleep), but definitely not changing from null to non-null (as it requires trx->mutex) nor changing from non-null to null (as it happens after wake up).
| que_thr_state_t que_thr_t::state |
state of the query thread
| que_thr_t::thrs |
list of thread nodes of the fork node
| que_thr_t::trx_thrs |
lists of threads in wait list of the trx