|  | MySQL 9.5.0
    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