MySQL 5.6.14 Source Code Document
|
#include "univ.i"
#include "que0types.h"
#include "usr0types.h"
#include "dict0types.h"
#include "pars0types.h"
#include "row0types.h"
#include "pars0sym.ic"
Go to the source code of this file.
Classes | |
struct | sym_node_t |
struct | sym_tab_t |
Macros | |
#define | SYM_CLUST_FIELD_NO 0 |
#define | SYM_SEC_FIELD_NO 1 |
Enumerations | |
enum | sym_tab_entry { SYM_UNSET, SYM_VAR = 91, SYM_IMPLICIT_VAR, SYM_LIT, SYM_TABLE_REF_COUNTED, SYM_TABLE, SYM_COLUMN, SYM_CURSOR, SYM_PROCEDURE_NAME, SYM_INDEX, SYM_FUNCTION } |
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) |
#define SYM_CLUST_FIELD_NO 0 |
Index of sym_node_t::field_nos corresponding to the clustered index
Definition at line 123 of file pars0sym.h.
#define SYM_SEC_FIELD_NO 1 |
Index of sym_node_t::field_nos corresponding to a secondary index
Definition at line 125 of file pars0sym.h.
enum sym_tab_entry |
Types of a symbol table node
Definition at line 128 of file pars0sym.h.
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.
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.
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.
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.
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.
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 an string literal to a symbol table.
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.
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. in, own: symbol table
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.