diff options
author | pem@mysql.comhem.se <> | 2004-08-24 16:07:39 +0200 |
---|---|---|
committer | pem@mysql.comhem.se <> | 2004-08-24 16:07:39 +0200 |
commit | 6b5a6cdf9990484001c84d47faf5c399e474fce3 (patch) | |
tree | 112d62d40d260ddf0cd04a6ceec4d7e745f790ab /sql/sp_head.h | |
parent | c9ce1cfb89fa6d023f6aef682159b123199c0c11 (diff) | |
download | mariadb-git-6b5a6cdf9990484001c84d47faf5c399e474fce3.tar.gz |
Fixed BUG#3157: Crash if stored procedure contains IF EXISTS,
and BUG#336: Subselects with tables does not work as values for
local SP variables (which was closed before with a temp. fix, but not
actually fixed).
Diffstat (limited to 'sql/sp_head.h')
-rw-r--r-- | sql/sp_head.h | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/sql/sp_head.h b/sql/sp_head.h index 39a74366ccb..9c29297180d 100644 --- a/sql/sp_head.h +++ b/sql/sp_head.h @@ -351,8 +351,10 @@ class sp_instr_set : public sp_instr public: + TABLE_LIST *tables; + sp_instr_set(uint ip, uint offset, Item *val, enum enum_field_types type) - : sp_instr(ip), m_offset(offset), m_value(val), m_type(type) + : sp_instr(ip), tables(NULL), m_offset(offset), m_value(val), m_type(type) {} virtual ~sp_instr_set() @@ -421,12 +423,14 @@ class sp_instr_jump_if : public sp_instr_jump public: + TABLE_LIST *tables; + sp_instr_jump_if(uint ip, Item *i) - : sp_instr_jump(ip), m_expr(i) + : sp_instr_jump(ip), tables(NULL), m_expr(i) {} sp_instr_jump_if(uint ip, Item *i, uint dest) - : sp_instr_jump(ip, dest), m_expr(i) + : sp_instr_jump(ip, dest), tables(NULL), m_expr(i) {} virtual ~sp_instr_jump_if() @@ -457,12 +461,14 @@ class sp_instr_jump_if_not : public sp_instr_jump public: + TABLE_LIST *tables; + sp_instr_jump_if_not(uint ip, Item *i) - : sp_instr_jump(ip), m_expr(i) + : sp_instr_jump(ip), tables(NULL), m_expr(i) {} sp_instr_jump_if_not(uint ip, Item *i, uint dest) - : sp_instr_jump(ip, dest), m_expr(i) + : sp_instr_jump(ip, dest), tables(NULL), m_expr(i) {} virtual ~sp_instr_jump_if_not() @@ -493,8 +499,10 @@ class sp_instr_freturn : public sp_instr public: + TABLE_LIST *tables; + sp_instr_freturn(uint ip, Item *val, enum enum_field_types type) - : sp_instr(ip), m_value(val), m_type(type) + : sp_instr(ip), tables(NULL), m_value(val), m_type(type) {} virtual ~sp_instr_freturn() |