diff options
author | unknown <pem@mysql.comhem.se> | 2004-04-05 17:01:19 +0200 |
---|---|---|
committer | unknown <pem@mysql.comhem.se> | 2004-04-05 17:01:19 +0200 |
commit | 4a7c72e9dfe2c1274d92bde9eec158c089f22dac (patch) | |
tree | cf7e76c8e635cc495116540f20458ac279c1cfd3 /sql/sp_head.cc | |
parent | c489c6aba7b2d0d38fdf6ce8448676320282d171 (diff) | |
download | mariadb-git-4a7c72e9dfe2c1274d92bde9eec158c089f22dac.tar.gz |
Fixed BUG#3287: Stored procedure handler scope outside of begin/end.
Backpatching overwrote already backpatched instructions, which made it
skip the hpop instruction; possibly not only a problem for handlers,
but this is one known case when it happened.
mysql-test/r/sp-error.result:
New testcase for BUG#3287
mysql-test/t/sp-error.test:
New testcase for BUG#3287
sql/sp_head.cc:
Made the debug printout of hpush_jump instructions somewhat clearer.
sql/sp_head.h:
Don't backpatch the same instruction more than once.
Diffstat (limited to 'sql/sp_head.cc')
-rw-r--r-- | sql/sp_head.cc | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/sql/sp_head.cc b/sql/sp_head.cc index 4c883d4cd3d..dfc3e8190fe 100644 --- a/sql/sp_head.cc +++ b/sql/sp_head.cc @@ -1144,10 +1144,12 @@ sp_instr_hpush_jump::print(String *str) { str->reserve(32); str->append("hpush_jump "); + str->qs_append(m_dest); + str->append(" t="); str->qs_append(m_type); - str->append(' '); + str->append(" f="); str->qs_append(m_frame); - str->append(' '); + str->append(" h="); str->qs_append(m_handler); } |