MySQL 8.1.0
Source Code Documentation
sp_instr_hpush_jump Class Reference

#include <sp_instr.h>

Inheritance diagram for sp_instr_hpush_jump:

Public Member Functions

 sp_instr_hpush_jump (uint ip, sp_pcontext *ctx, sp_handler *handler)
 ~sp_instr_hpush_jump () override
void add_condition (sp_condition_value *condition_value)
sp_handlerget_handler ()
void print (const THD *thd, String *str) override
bool execute (THD *thd, uint *nextp) override
 Execute this instruction. 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...
uint opt_shortcut_jump (sp_head *, sp_instr *) override
 Override sp_instr_jump's shortcut; we stop here. More...
void backpatch (uint dest) override
 Update all instruction with the given label in the backpatch list to the specified instruction pointer. More...
PSI_statement_infoget_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...
- 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_pcontextget_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 = {0, "jump", 0, PSI_DOCUMENT_ME}

Private Attributes

 Handler. More...
uint m_opt_hpop
 hpop marking end of handler scope. More...
uint m_frame

Additional Inherited Members

- 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...
- 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...
 Instruction parsing context. More...

Constructor & Destructor Documentation

◆ sp_instr_hpush_jump()

sp_instr_hpush_jump::sp_instr_hpush_jump ( uint  ip,
sp_pcontext ctx,
sp_handler handler 

◆ ~sp_instr_hpush_jump()

sp_instr_hpush_jump::~sp_instr_hpush_jump ( )

Member Function Documentation

◆ add_condition()

void sp_instr_hpush_jump::add_condition ( sp_condition_value condition_value)

◆ backpatch()

void sp_instr_hpush_jump::backpatch ( uint  dest)

Update all instruction with the given label in the backpatch list to the specified instruction pointer.

destdestination instruction pointer.

Reimplemented from sp_instr_jump.

◆ execute()

bool sp_instr_hpush_jump::execute ( THD thd,
uint *  nextp 

Execute this instruction.

thdThread context
[out]nextpindex 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.
Error status.

Reimplemented from sp_instr_jump.

◆ get_handler()

sp_handler * sp_instr_hpush_jump::get_handler ( )

◆ get_psi_info()

PSI_statement_info * sp_instr_hpush_jump::get_psi_info ( )

Reimplemented from sp_instr_jump.

◆ opt_mark()

uint sp_instr_hpush_jump::opt_mark ( sp_head ,
List< sp_instr > *  leads 

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.

◆ opt_shortcut_jump()

uint sp_instr_hpush_jump::opt_shortcut_jump ( sp_head ,

Override sp_instr_jump's shortcut; we stop here.

Reimplemented from sp_instr_jump.

◆ print()

void sp_instr_hpush_jump::print ( const THD thd,
String str 

Reimplemented from sp_instr_jump.

Member Data Documentation

◆ m_frame

uint sp_instr_hpush_jump::m_frame

◆ m_handler

sp_handler* sp_instr_hpush_jump::m_handler


◆ m_opt_hpop

uint sp_instr_hpush_jump::m_opt_hpop

hpop marking end of handler scope.

◆ psi_info

PSI_statement_info sp_instr_hpush_jump::psi_info
Initial value:
= {0, "hpush_jump", 0,
Definition: component_common.h:28

The documentation for this class was generated from the following files: