#include <row0sel.h>
Public Attributes | |
que_common_t | common |
enum sel_node_state | state |
que_node_t * | select_list |
sym_node_t * | into_list |
sym_node_t * | table_list |
ibool | asc |
ibool | set_x_locks |
ulint | row_lock_mode |
ulint | n_tables |
ulint | fetch_table |
plan_t * | plans |
que_node_t * | search_cond |
read_view_t * | read_view |
ibool | consistent_read |
order_node_t * | order_by |
ibool | is_aggregate |
ibool | aggregate_already_fetched |
ibool | can_get_updated |
sym_node_t * | explicit_cursor |
copy_variables | |
ibool sel_node_struct::aggregate_already_fetched |
ibool sel_node_struct::asc |
TRUE if the rows should be fetched in an ascending order
Definition at line 296 of file row0sel.h.
Referenced by opt_print_query_plan(), and opt_search_plan().
ibool sel_node_struct::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
Definition at line 322 of file row0sel.h.
Referenced by pars_select_statement(), and pars_update_statement().
que_common_t sel_node_struct::common |
node type: QUE_NODE_SELECT
Definition at line 290 of file row0sel.h.
Referenced by fetch_step(), pars_insert_statement(), pars_row_printf_statement(), pars_update_statement(), and sel_node_create().
ibool sel_node_struct::consistent_read |
TRUE if the select is a consistent, non-locking read
Definition at line 312 of file row0sel.h.
Referenced by opt_print_query_plan(), pars_select_statement(), pars_update_statement(), and row_sel_step().
sel_node_struct::copy_variables |
variables whose values we have to copy when an explicit cursor is opened, so that they do not change between fetches
Definition at line 335 of file row0sel.h.
Referenced by pars_select_statement(), and row_sel_step().
sym_node_t* sel_node_struct::explicit_cursor |
not NULL if an explicit cursor
Definition at line 333 of file row0sel.h.
Referenced by pars_cursor_declaration(), pars_select_statement(), and row_sel_step().
ulint sel_node_struct::fetch_table |
number of the next table to access in the join
Definition at line 303 of file row0sel.h.
Referenced by row_sel_step().
sym_node_t* sel_node_struct::into_list |
variables list or NULL
Definition at line 294 of file row0sel.h.
Referenced by pars_select_list(), pars_select_statement(), and row_sel_step().
ibool sel_node_struct::is_aggregate |
TRUE if the select list consists of aggregate functions
Definition at line 316 of file row0sel.h.
Referenced by pars_update_statement(), and row_sel_step().
ulint sel_node_struct::n_tables |
number of tables
Definition at line 302 of file row0sel.h.
Referenced by opt_print_query_plan(), opt_search_plan(), pars_select_statement(), pars_update_statement(), and sel_node_free_private().
order_node_t* sel_node_struct::order_by |
order by column definition, or NULL
Definition at line 314 of file row0sel.h.
Referenced by opt_search_plan(), pars_select_statement(), and pars_update_statement().
plan_t* sel_node_struct::plans |
array of n_tables many plan nodes containing the search plan and the search data structures
Definition at line 305 of file row0sel.h.
Referenced by opt_search_plan(), sel_node_create(), and sel_node_free_private().
read_view_t* sel_node_struct::read_view |
if the query is a non-locking consistent read, its read view is placed here, otherwise NULL
Definition at line 309 of file row0sel.h.
Referenced by pars_select_statement(), and row_sel_step().
ulint sel_node_struct::row_lock_mode |
LOCK_X or LOCK_S
Definition at line 301 of file row0sel.h.
Referenced by opt_print_query_plan(), pars_select_statement(), and pars_update_statement().
que_node_t* sel_node_struct::search_cond |
que_node_t* sel_node_struct::select_list |
select list
Definition at line 293 of file row0sel.h.
Referenced by pars_fetch_statement(), pars_insert_statement(), pars_select_list(), pars_select_statement(), row_fetch_print(), and row_printf_step().
ibool sel_node_struct::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
Definition at line 298 of file row0sel.h.
Referenced by opt_print_query_plan(), pars_select_statement(), pars_update_statement(), and row_sel_step().
enum sel_node_state sel_node_struct::state |
node state
Definition at line 291 of file row0sel.h.
Referenced by fetch_step(), pars_cursor_declaration(), pars_select_statement(), row_ins_step(), row_printf_step(), row_sel_step(), row_upd_step(), and sel_node_create().
sym_node_t* sel_node_struct::table_list |
table list
Definition at line 295 of file row0sel.h.
Referenced by opt_search_plan(), pars_select_statement(), and row_sel_step().