MySQL  8.0.19
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...
 
ibool asc
 TRUE if the rows should be fetched in an ascending order. More...
 
ibool 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...
 
ibool consistent_read
 TRUE if the select is a consistent, non-locking read. More...
 
order_node_torder_by
 order by column definition, or NULL More...
 
ibool is_aggregate
 TRUE if the select list consists of aggregate functions. More...
 
ibool aggregate_already_fetched
 TRUE if the aggregate row has already been fetched for the current cursor. More...
 
ibool 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...
 
 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

ibool sel_node_t::aggregate_already_fetched

TRUE if the aggregate row has already been fetched for the current cursor.

◆ asc

ibool sel_node_t::asc

TRUE if the rows should be fetched in an ascending order.

◆ can_get_updated

ibool 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

ibool sel_node_t::consistent_read

TRUE if the select is a consistent, non-locking read.

◆ copy_variables

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

ibool 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

ibool 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: