MySQL 5.6.14 Source Code Document
|
#include "pars0sym.h"
#include "mem0mem.h"
#include "data0type.h"
#include "data0data.h"
#include "pars0grm.h"
#include "pars0pars.h"
#include "que0que.h"
#include "eval0eval.h"
#include "row0sel.h"
Go to the source code of this file.
Functions | |
UNIV_INTERN sym_tab_t * | sym_tab_create (mem_heap_t *heap) |
UNIV_INTERN void | sym_tab_free_private (sym_tab_t *sym_tab) |
UNIV_INTERN sym_node_t * | sym_tab_add_int_lit (sym_tab_t *sym_tab, ulint val) |
UNIV_INTERN sym_node_t * | sym_tab_add_str_lit (sym_tab_t *sym_tab, const byte *str, ulint len) |
UNIV_INTERN sym_node_t * | sym_tab_add_bound_lit (sym_tab_t *sym_tab, const char *name, ulint *lit_type) |
sym_node_t * | sym_tab_rebind_lit (sym_node_t *node, const void *address, ulint length) |
UNIV_INTERN sym_node_t * | sym_tab_add_null_lit (sym_tab_t *sym_tab) |
UNIV_INTERN sym_node_t * | sym_tab_add_id (sym_tab_t *sym_tab, byte *name, ulint len) |
UNIV_INTERN sym_node_t * | sym_tab_add_bound_id (sym_tab_t *sym_tab, const char *name) |
UNIV_INTERN sym_node_t* sym_tab_add_bound_id | ( | sym_tab_t * | sym_tab, |
const char * | name | ||
) |
Add a bound identifier to a symbol table.
sym_tab | in: symbol table |
name | in: name of bound id |
Definition at line 403 of file pars0sym.cc.
UNIV_INTERN sym_node_t* sym_tab_add_bound_lit | ( | sym_tab_t * | sym_tab, |
const char * | name, | ||
ulint * | lit_type | ||
) |
Add a bound literal to a symbol table.
sym_tab | in: symbol table |
name | in: name of bound literal |
lit_type | out: type of literal (PARS_*_LIT) |
Definition at line 209 of file pars0sym.cc.
UNIV_INTERN sym_node_t* sym_tab_add_id | ( | sym_tab_t * | sym_tab, |
byte * | name, | ||
ulint | len | ||
) |
Adds an identifier to a symbol table.
sym_tab | in: symbol table |
name | in: identifier name |
len | in: identifier length |
Definition at line 373 of file pars0sym.cc.
UNIV_INTERN sym_node_t* sym_tab_add_int_lit | ( | sym_tab_t * | sym_tab, |
ulint | val | ||
) |
Adds an integer literal to a symbol table.
sym_tab | in: symbol table |
val | in: integer value |
Definition at line 118 of file pars0sym.cc.
UNIV_INTERN sym_node_t* sym_tab_add_null_lit | ( | sym_tab_t * | sym_tab | ) |
Adds an SQL null literal to a symbol table.
sym_tab | in: symbol table |
Definition at line 334 of file pars0sym.cc.
UNIV_INTERN sym_node_t* sym_tab_add_str_lit | ( | sym_tab_t * | sym_tab, |
const byte * | str, | ||
ulint | len | ||
) |
Adds a string literal to a symbol table.
sym_tab | in: symbol table |
str | in: string with no quotes around it |
len | in: string length |
Definition at line 162 of file pars0sym.cc.
UNIV_INTERN sym_tab_t* sym_tab_create | ( | mem_heap_t * | heap | ) |
Creates a symbol table for a single stored procedure or query.
heap | in: memory heap where to create |
Definition at line 46 of file pars0sym.cc.
UNIV_INTERN void sym_tab_free_private | ( | sym_tab_t * | sym_tab | ) |
Frees the memory allocated dynamically AFTER parsing phase for variables etc. in the symbol table. Does not free the mem heap where the table was originally created. Frees also SQL explicit cursor definitions.
sym_tab | in, own: symbol table |
Definition at line 70 of file pars0sym.cc.