MySQL 8.3.0
Source Code Documentation
sel_node_t Struct Reference

Select statement node. More...

#include <row0sel.h>

Public Attributes

que_common_t common
 node type: QUE_NODE_SELECT More...
 
enum sel_node_state state
 node state More...
 
que_node_tselect_list
 select list More...
 
sym_node_tinto_list
 variables list or NULL More...
 
sym_node_ttable_list
 table list More...
 
bool asc
 true if the rows should be fetched in an ascending order More...
 
bool set_x_locks
 true if the cursor is for update or delete, which means that a row x-lock should be placed on the cursor row More...
 
ulint row_lock_mode
 LOCK_X or LOCK_S. More...
 
ulint n_tables
 number of tables More...
 
ulint fetch_table
 number of the next table to access in the join More...
 
plan_tplans
 array of n_tables many plan nodes containing the search plan and the search data structures More...
 
que_node_tsearch_cond
 search condition More...
 
ReadViewread_view
 if the query is a non-locking consistent read, its read view is placed here, otherwise NULL More...
 
bool consistent_read
 true if the select is a consistent, non-locking read More...
 
order_node_torder_by
 order by column definition, or NULL More...
 
bool is_aggregate
 true if the select list consists of aggregate functions More...
 
bool aggregate_already_fetched
 true if the aggregate row has already been fetched for the current cursor More...
 
bool can_get_updated
 this is true if the select is in a single-table explicit cursor which can get updated within the stored procedure, or in a searched update or delete; NOTE that to determine of an explicit cursor if it can get updated, the parser checks from a stored procedure if it contains positioned update or delete statements More...
 
sym_node_texplicit_cursor
 not NULL if an explicit cursor More...
 
sym_node_list_t copy_variables
 variables whose values we have to copy when an explicit cursor is opened, so that they do not change between fetches More...
 

Detailed Description

Select statement node.

Member Data Documentation

◆ aggregate_already_fetched

bool sel_node_t::aggregate_already_fetched

true if the aggregate row has already been fetched for the current cursor

◆ asc

bool sel_node_t::asc

true if the rows should be fetched in an ascending order

◆ can_get_updated

bool sel_node_t::can_get_updated

this is true if the select is in a single-table explicit cursor which can get updated within the stored procedure, or in a searched update or delete; NOTE that to determine of an explicit cursor if it can get updated, the parser checks from a stored procedure if it contains positioned update or delete statements

◆ common

que_common_t sel_node_t::common

node type: QUE_NODE_SELECT

◆ consistent_read

bool sel_node_t::consistent_read

true if the select is a consistent, non-locking read

◆ copy_variables

sym_node_list_t sel_node_t::copy_variables

variables whose values we have to copy when an explicit cursor is opened, so that they do not change between fetches

◆ explicit_cursor

sym_node_t* sel_node_t::explicit_cursor

not NULL if an explicit cursor

◆ fetch_table

ulint sel_node_t::fetch_table

number of the next table to access in the join

◆ into_list

sym_node_t* sel_node_t::into_list

variables list or NULL

◆ is_aggregate

bool sel_node_t::is_aggregate

true if the select list consists of aggregate functions

◆ n_tables

ulint sel_node_t::n_tables

number of tables

◆ order_by

order_node_t* sel_node_t::order_by

order by column definition, or NULL

◆ plans

plan_t* sel_node_t::plans

array of n_tables many plan nodes containing the search plan and the search data structures

◆ read_view

ReadView* sel_node_t::read_view

if the query is a non-locking consistent read, its read view is placed here, otherwise NULL

◆ row_lock_mode

ulint sel_node_t::row_lock_mode

LOCK_X or LOCK_S.

◆ search_cond

que_node_t* sel_node_t::search_cond

search condition

◆ select_list

que_node_t* sel_node_t::select_list

select list

◆ set_x_locks

bool sel_node_t::set_x_locks

true if the cursor is for update or delete, which means that a row x-lock should be placed on the cursor row

◆ state

enum sel_node_state sel_node_t::state

node state

◆ table_list

sym_node_t* sel_node_t::table_list

table list


The documentation for this struct was generated from the following file: