sp_instr_jump_if_not implements SP-instruction, which does the jump if its SQL-expression is false.
More...
|
| | sp_instr_jump_if_not (uint ip, LEX *lex, Item *expr_item, LEX_CSTRING expr_query) |
| |
| | sp_instr_jump_if_not (uint ip, LEX *lex, Item *expr_item, LEX_CSTRING expr_query, uint dest) |
| |
| void | print (const THD *thd, String *str) override |
| |
| bool | exec_core (THD *thd, uint *nextp) override |
| | Execute core function of instruction after all preparations (e.g. More...
|
| |
| bool | on_after_expr_parsing (THD *thd) override |
| | 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. More...
|
| |
| PSI_statement_info * | get_psi_info () override |
| |
| void | set_cont_dest (uint cont_dest) |
| |
| uint | opt_mark (sp_head *sp, List< sp_instr > *leads) override |
| | Mark this instruction as reachable during optimization and return the index to the next instruction. More...
|
| |
| void | opt_move (uint dst, List< sp_branch_instr > *ibp) override |
| | Inform the instruction that it has been moved during optimization. More...
|
| |
| uint | get_cont_dest () const override |
| | Get the continuation destination (instruction pointer for the CONTINUE HANDLER) of this instruction. More...
|
| |
| bool | is_invalid () const override |
| |
| void | invalidate () override |
| | Invalidate the object. More...
|
| |
| LEX_CSTRING | get_expr_query () const override |
| |
| void | set_destination (uint old_dest, uint new_dest) override |
| | Update the destination; used by the SP-instruction-optimizer. More...
|
| |
| void | backpatch (uint dest) override |
| | Update all instruction with the given label in the backpatch list to the specified instruction pointer. More...
|
| |
| void | adjust_sql_command (LEX *lex) override |
| | Some expressions may be re-parsed as SELECT statements, but need to be adjusted to another SQL command. More...
|
| |
| | sp_lex_instr (uint ip, sp_pcontext *ctx, LEX *lex, bool is_lex_owner) |
| |
| | ~sp_lex_instr () override |
| |
| bool | validate_lex_and_execute_core (THD *thd, uint *nextp, bool open_tables) |
| | Make a few attempts to execute the instruction. More...
|
| |
| SQL_I_List< Item_trigger_field > * | get_instr_trig_field_list () override |
| |
| bool | execute (THD *thd, uint *nextp) override |
| | Execute this instruction. More...
|
| |
| | sp_instr (uint ip, sp_pcontext *ctx) |
| |
| | ~sp_instr () override |
| |
| uint | get_ip () const |
| |
| sp_pcontext * | get_parsing_ctx () const |
| |
| virtual uint | opt_shortcut_jump (sp_head *, sp_instr *start) |
| | Short-cut jumps to jumps during optimization. More...
|
| |
| bool | opt_is_marked () const |
| |
| virtual | ~sp_printable ()=default |
| |
| virtual | ~sp_branch_instr ()=default |
| |
|
| Query_arena | m_arena |
| |
| | sp_lex_branch_instr (uint ip, sp_pcontext *ctx, LEX *lex, Item *expr_item, LEX_CSTRING expr_query) |
| |
| | sp_lex_branch_instr (uint ip, sp_pcontext *ctx, LEX *lex, Item *expr_item, LEX_CSTRING expr_query, uint dest) |
| |
| virtual void | get_query (String *sql_query) const |
| | Return the query string, which can be passed to the parser. More...
|
| |
| virtual void | cleanup_before_parsing (THD *thd) |
| | Destroy items in the free list before re-parsing the statement query string (and thus, creating new items). More...
|
| |
| void | clear_da (THD *thd) const |
| | Clear diagnostics area. More...
|
| |
| uint | m_dest |
| | Where we will go. More...
|
| |
| uint | m_cont_dest |
| | Where continue handlers will go. More...
|
| |
| sp_instr * | m_optdest |
| |
| sp_instr * | m_cont_optdest |
| |
| Item * | m_expr_item |
| | Expression item. More...
|
| |
| LEX_CSTRING | m_expr_query |
| | SQL-query corresponding to the expression. More...
|
| |
| LEX * | m_lex |
| | LEX-object. More...
|
| |
| bool | m_marked |
| | Show if this instruction is reachable within the SP (used by SP-optimizer). More...
|
| |
| uint | m_ip |
| | Instruction pointer. More...
|
| |
| sp_pcontext * | m_parsing_ctx |
| | Instruction parsing context. More...
|
| |
sp_instr_jump_if_not implements SP-instruction, which does the jump if its SQL-expression is false.