My Project
|
#include <sp_instr.h>
Public Member Functions | |
sp_instr_error (uint ip, sp_pcontext *ctx, int errcode) | |
virtual void | print (String *str) |
virtual bool | execute (THD *thd, uint *nextp) |
virtual uint | opt_mark (sp_head *sp, List< sp_instr > *leads) |
sp_instr_error just throws an SQL-condition if the execution flow comes to it. It's used in the CASE implementation to perform runtime-check that the CASE-expression is handled by some WHEN/ELSE clause.
virtual bool sp_instr_error::execute | ( | THD * | thd, |
uint * | nextp | ||
) | [inline, virtual] |
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. |
Implements sp_instr.
virtual uint sp_instr_error::opt_mark | ( | sp_head * | sp, |
List< sp_instr > * | leads | ||
) | [inline, virtual] |
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.