summaryrefslogtreecommitdiff
path: root/sql/sp_head.h
diff options
context:
space:
mode:
authorpem@mysql.comhem.se <>2004-08-24 16:07:39 +0200
committerpem@mysql.comhem.se <>2004-08-24 16:07:39 +0200
commit6b5a6cdf9990484001c84d47faf5c399e474fce3 (patch)
tree112d62d40d260ddf0cd04a6ceec4d7e745f790ab /sql/sp_head.h
parentc9ce1cfb89fa6d023f6aef682159b123199c0c11 (diff)
downloadmariadb-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.h20
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()