#include <pars0sym.h>
Public Member Functions | |
UT_LIST_NODE_T (sym_node_t) col_var_list | |
UT_LIST_NODE_T (sym_node_t) sym_list | |
Public Attributes | |
que_common_t | common |
sym_node_t * | indirection |
sym_node_t * | alias |
ibool | copy_val |
ulint | field_nos [2] |
ibool | resolved |
enum sym_tab_entry | token_type |
const char * | name |
ulint | name_len |
dict_table_t * | table |
ulint | col_no |
sel_buf_t * | prefetch_buf |
sel_node_t * | cursor_def |
ulint | param_type |
sym_tab_t * | sym_table |
Symbol table node
Definition at line 152 of file pars0sym.h.
sym_node_struct::UT_LIST_NODE_T | ( | sym_node_t | ) |
list of table
columns or a list of input variables for an explicit cursor
sym_node_struct::UT_LIST_NODE_T | ( | sym_node_t | ) |
list of symbol
nodes
sym_node_t* sym_node_struct::alias |
pointer to
another symbol table node for which this node is an alias, NULL otherwise
Definition at line 178 of file pars0sym.h.
Referenced by assign_step(), opt_find_all_cols(), pars_fetch_statement(), pars_open_statement(), and pars_update_statement().
ulint sym_node_struct::col_no |
column number if a
column
Definition at line 215 of file pars0sym.h.
Referenced by opt_find_all_cols().
que_common_t sym_node_struct::common |
node type:
QUE_NODE_SYMBOL
Definition at line 153 of file pars0sym.h.
Referenced by sym_tab_add_bound_id(), sym_tab_add_bound_lit(), sym_tab_add_id(), sym_tab_add_int_lit(), sym_tab_add_null_lit(), and sym_tab_add_str_lit().
ibool sym_node_struct::copy_val |
TRUE if a column
and its value should be copied to dynamic memory when fetched
Definition at line 187 of file pars0sym.h.
Referenced by opt_find_all_cols().
sel_node_t* sym_node_struct::cursor_def |
cursor definition
select node if a named cursor
Definition at line 221 of file pars0sym.h.
Referenced by pars_cursor_declaration(), pars_fetch_statement(), pars_open_statement(), pars_update_statement(), sym_tab_add_bound_id(), sym_tab_add_bound_lit(), sym_tab_add_id(), sym_tab_add_int_lit(), sym_tab_add_null_lit(), sym_tab_add_str_lit(), and sym_tab_free_private().
ulint sym_node_struct::field_nos[2] |
if a column, in
the position SYM_CLUST_FIELD_NO is the field number in the clustered index; in the position SYM_SEC_FIELD_NO the field number in the non-clustered index to use first; if not found from the index, then ULINT_UNDEFINED
Definition at line 191 of file pars0sym.h.
Referenced by opt_find_all_cols().
sym_node_t* sym_node_struct::indirection |
pointer to
another symbol table node which contains the value for this node, NULL otherwise
Definition at line 173 of file pars0sym.h.
Referenced by opt_find_all_cols(), pars_for_statement(), sym_tab_add_bound_id(), sym_tab_add_bound_lit(), sym_tab_add_id(), sym_tab_add_int_lit(), sym_tab_add_null_lit(), and sym_tab_add_str_lit().
const char* sym_node_struct::name |
name of an id
Definition at line 210 of file pars0sym.h.
Referenced by pars_create_index(), pars_create_table(), pars_fetch_statement(), pars_function_declaration(), sym_tab_add_bound_id(), and sym_tab_add_id().
ulint sym_node_struct::name_len |
id name length
Definition at line 211 of file pars0sym.h.
Referenced by sym_tab_add_bound_id(), and sym_tab_add_id().
ulint sym_node_struct::param_type |
PARS_INPUT,
PARS_OUTPUT, or PARS_NOT_PARAM if not a procedure parameter
Definition at line 224 of file pars0sym.h.
Referenced by pars_parameter_declaration(), and pars_variable_declaration().
sel_buf_t* sym_node_struct::prefetch_buf |
NULL, or a buffer
for cached column values for prefetched rows
Definition at line 217 of file pars0sym.h.
Referenced by sym_tab_add_bound_id(), sym_tab_add_bound_lit(), sym_tab_add_id(), sym_tab_add_int_lit(), sym_tab_add_null_lit(), sym_tab_add_str_lit(), and sym_tab_free_private().
ibool sym_node_struct::resolved |
TRUE if the
meaning of a variable or a column has been resolved; for literals this is always TRUE
Definition at line 203 of file pars0sym.h.
Referenced by pars_create_index(), pars_create_table(), pars_cursor_declaration(), pars_function_declaration(), pars_procedure_definition(), pars_sql(), pars_variable_declaration(), sym_tab_add_bound_id(), sym_tab_add_bound_lit(), sym_tab_add_id(), sym_tab_add_int_lit(), sym_tab_add_null_lit(), and sym_tab_add_str_lit().
sym_tab_t* sym_node_struct::sym_table |
back pointer to
the symbol table
Definition at line 228 of file pars0sym.h.
Referenced by sym_tab_add_bound_id(), sym_tab_add_bound_lit(), sym_tab_add_id(), sym_tab_add_int_lit(), sym_tab_add_null_lit(), and sym_tab_add_str_lit().
dict_table_t* sym_node_struct::table |
table definition
if a table id or a column id
Definition at line 212 of file pars0sym.h.
Referenced by opt_find_all_cols(), opt_search_plan(), pars_insert_statement(), pars_update_statement(), and row_sel_step().
enum sym_tab_entry sym_node_struct::token_type |
type of the
parsed token
Definition at line 208 of file pars0sym.h.
Referenced by opt_find_all_cols(), pars_create_index(), pars_create_table(), pars_cursor_declaration(), pars_fetch_statement(), pars_function_declaration(), pars_open_statement(), pars_procedure_definition(), pars_variable_declaration(), sym_tab_add_bound_lit(), sym_tab_add_int_lit(), sym_tab_add_null_lit(), and sym_tab_add_str_lit().