#include <sp_instr.h>
Public Member Functions |
| sp_instr_set (uint ip, LEX *lex, uint offset, Item *value_item, LEX_STRING value_query, bool is_lex_owner) |
virtual void | print (String *str) |
virtual bool | exec_core (THD *thd, uint *nextp) |
virtual bool | is_invalid () const |
virtual void | invalidate () |
virtual bool | on_after_expr_parsing (THD *thd) |
virtual LEX_STRING | get_expr_query () const |
| sp_lex_instr (uint ip, sp_pcontext *ctx, LEX *lex, bool is_lex_owner) |
bool | validate_lex_and_execute_core (THD *thd, uint *nextp, bool open_tables) |
virtual bool | execute (THD *thd, uint *nextp) |
| sp_instr (uint ip, sp_pcontext *ctx) |
uint | get_ip () const |
virtual uint | get_cont_dest () const |
sp_pcontext * | get_parsing_ctx () const |
virtual uint | opt_mark (sp_head *sp, List< sp_instr > *leads) |
virtual uint | opt_shortcut_jump (sp_head *sp, sp_instr *start) |
virtual void | opt_move (uint dst, List< sp_branch_instr > *ibp) |
bool | opt_is_marked () const |
Additional Inherited Members |
static void * | operator new (size_t size) throw () |
static void * | operator new[] (size_t size) throw () |
static void * | operator new[] (size_t size, MEM_ROOT *mem_root) throw () |
static void * | operator new (size_t size, MEM_ROOT *mem_root) throw () |
static void | operator delete (void *ptr, size_t size) |
static void | operator delete (void *ptr, MEM_ROOT *mem_root) |
static void | operator delete[] (void *ptr, MEM_ROOT *mem_root) |
static void | operator delete[] (void *ptr, size_t size) |
virtual void | get_query (String *sql_query) const |
virtual void | cleanup_before_parsing (THD *thd) |
bool | m_marked |
uint | m_ip |
| Instruction pointer.
|
sp_pcontext * | m_parsing_ctx |
| Instruction parsing context.
|
Detailed Description
sp_instr_set represents SET-statememnts, which deal with SP-variables.
Definition at line 456 of file sp_instr.h.
Member Function Documentation
bool sp_instr_set::exec_core |
( |
THD * |
thd, |
|
|
uint * |
nextp |
|
) |
| |
|
virtual |
Execute core function of instruction after all preparations (e.g. setting of proper LEX, saving part of the thread context).
- Parameters
-
thd | Thread context. |
nextp[out] | next instruction pointer |
- Returns
- Error flag.
Implements sp_lex_instr.
Definition at line 916 of file sp_instr.cc.
virtual LEX_STRING sp_instr_set::get_expr_query |
( |
| ) |
const |
|
inlinevirtual |
- Returns
- the expression query string. This string can not be passed directly to the parser as it is most likely not a valid SQL-statement.
- Note
- as it can be seen in the get_query() implementation, get_expr_query() might return EMPTY_STR. EMPTY_STR means that no query-expression is available. That happens when class provides different implementation of get_query(). Strictly speaking, this is a drawback of the current class hierarchy.
Reimplemented from sp_lex_instr.
Definition at line 498 of file sp_instr.h.
virtual void sp_instr_set::invalidate |
( |
| ) |
|
|
inlinevirtual |
virtual bool sp_instr_set::is_invalid |
( |
| ) |
const |
|
inlinevirtual |
- Return values
-
false | if the object (i.e. LEX-object) is valid and exec_core() can be just called. |
true | if the object is not valid any longer, exec_core() can not be called. The original query string should be re-parsed and a new LEX-object should be used. |
Implements sp_lex_instr.
Definition at line 483 of file sp_instr.h.
virtual bool sp_instr_set::on_after_expr_parsing |
( |
THD * |
thd | ) |
|
|
inlinevirtual |
Callback function which is called after the statement query string is successfully parsed, and the thread context has not been switched to the outer context. The thread context contains new LEX-object corresponding to the parsed query string.
- Parameters
-
- Returns
- Error flag.
Reimplemented from sp_lex_instr.
Definition at line 489 of file sp_instr.h.
The documentation for this class was generated from the following files: