Drizzled Public API Documentation

sel_node_struct Struct Reference

#include <row0sel.h>

List of all members.

Public Attributes

que_common_t common
enum sel_node_state state
que_node_t * select_list
sym_node_tinto_list
sym_node_ttable_list
ibool asc
ibool set_x_locks
ulint row_lock_mode
ulint n_tables
ulint fetch_table
plan_tplans
que_node_t * search_cond
read_view_tread_view
ibool consistent_read
order_node_torder_by
ibool is_aggregate
ibool aggregate_already_fetched
ibool can_get_updated
sym_node_texplicit_cursor
 copy_variables

Detailed Description

Select statement node

Definition at line 289 of file row0sel.h.


Member Data Documentation

ibool sel_node_struct::aggregate_already_fetched

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

Definition at line 319 of file row0sel.h.

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

search condition

Definition at line 308 of file row0sel.h.

Referenced by pars_select_statement().

que_node_t* sel_node_struct::select_list
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().

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().


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