![]() |
MySQL 9.5.0
Source Code Documentation
|
#include <sp_instr.h>
Public Member Functions | |
| sp_instr_hreturn (uint ip, sp_pcontext *ctx) | |
| void | print (const THD *thd, String *str) override |
| bool | execute (THD *thd, uint *nextp) override |
| Execute this instruction. More... | |
| enum Instr_type | type () override |
| Get the instruction type of this instruction. More... | |
| uint | opt_shortcut_jump (sp_head *, sp_instr *) override |
| Override sp_instr_jump's shortcut; we stop here. More... | |
| 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... | |
| PSI_statement_info * | get_psi_info () override |
Public Member Functions inherited from sp_instr_jump | |
| sp_instr_jump (uint ip, sp_pcontext *ctx) | |
| sp_instr_jump (uint ip, sp_pcontext *ctx, uint dest) | |
| void | opt_move (uint dst, List< sp_branch_instr > *ibp) override |
| Inform the instruction that it has been moved during optimization. More... | |
| 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... | |
Public Member Functions inherited from sp_instr | |
| sp_instr (uint ip, sp_pcontext *ctx) | |
| ~sp_instr () override | |
| uint | get_ip () const |
| virtual uint | get_cont_dest () const |
| Get the continuation destination (instruction pointer for the CONTINUE HANDLER) of this instruction. More... | |
| sp_pcontext * | get_parsing_ctx () const |
| bool | opt_is_marked () const |
| virtual SQL_I_List< Item_trigger_field > * | get_instr_trig_field_list () |
Public Member Functions inherited from sp_printable | |
| virtual | ~sp_printable ()=default |
Public Member Functions inherited from sp_branch_instr | |
| virtual | ~sp_branch_instr ()=default |
Static Public Attributes | |
| static PSI_statement_info | psi_info |
Static Public Attributes inherited from sp_instr_jump | |
| static PSI_statement_info | psi_info |
Private Attributes | |
| uint | m_frame |
Additional Inherited Members | |
Public Types inherited from sp_instr | |
| enum | Instr_type { INSTR_UNKNOWN = 0 , INSTR_COPEN , INSTR_CCLOSE , INSTR_CFETCH , INSTR_CPOP , INSTR_HPOP , INSTR_ERROR , INSTR_JUMP , INSTR_COND_HANDLER_PUSH_JUMP , INSTR_COND_HANDLER_RETURN , INSTR_LEX_CPUSH , INSTR_LEX_FRETURN , INSTR_LEX_SET , INSTR_LEX_SET_TRIGGER_FIELD , INSTR_LEX_STMT , INSTR_LEX_BRANCH_CASE_WHEN , INSTR_LEX_BRANCH_IF_NOT , INSTR_LEX_BRANCH_SET_CASE_EXPR } |
Public Attributes inherited from sp_instr | |
| Query_arena | m_arena |
Protected Member Functions inherited from sp_instr | |
| void | clear_da (THD *thd) const |
| Clear diagnostics area. More... | |
Protected Attributes inherited from sp_instr_jump | |
| uint | m_dest |
| Where we will go. More... | |
| sp_instr * | m_optdest |
Protected Attributes inherited from sp_instr | |
| 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_hreturn::sp_instr_hreturn | ( | uint | ip, |
| sp_pcontext * | ctx | ||
| ) |
|
overridevirtual |
Execute this instruction.
| thd | Thread context | |
| [out] | nextp | index of the next instruction to execute. (For most instructions this will be the instruction following this one). Note that this parameter is undefined in case of errors, use get_cont_dest() to find the continuation instruction for CONTINUE error handlers. |
Reimplemented from sp_instr_jump.
|
inlineoverridevirtual |
Reimplemented from sp_instr_jump.
Mark this instruction as reachable during optimization and return the index to the next instruction.
Jump instruction will add their destination to the leads list.
Reimplemented from sp_instr_jump.
Override sp_instr_jump's shortcut; we stop here.
Reimplemented from sp_instr_jump.
Reimplemented from sp_instr_jump.
|
inlineoverridevirtual |
Get the instruction type of this instruction.
Reimplemented from sp_instr_jump.
|
private |
|
static |