From 10b009d2bb8237a49d3363310cfbcb03280e4d3b Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 8 Jan 2008 18:43:25 -0200 Subject: [PATCH 1/3] Bug#29770 Two handlers are allowed to catch an error in an stored procedure. Add test case. mysql-test/r/sp.result: Add test case result for Bug#29770 mysql-test/t/sp.test: Add test case for Bug#29770 --- mysql-test/r/sp.result | 16 ++++++++++++++++ mysql-test/t/sp.test | 24 ++++++++++++++++++++++++ 2 files changed, 40 insertions(+) diff --git a/mysql-test/r/sp.result b/mysql-test/r/sp.result index 061bbafd9a1..0c53eb37205 100644 --- a/mysql-test/r/sp.result +++ b/mysql-test/r/sp.result @@ -6578,6 +6578,22 @@ DROP PROCEDURE db28318_a.t1; DROP PROCEDURE db28318_b.t2; DROP DATABASE db28318_a; DROP DATABASE db28318_b; +USE test; +DROP TABLE IF EXISTS t1; +DROP PROCEDURE IF EXISTS bug29770; +CREATE TABLE t1(a int); +CREATE PROCEDURE bug29770() +BEGIN +DECLARE CONTINUE HANDLER FOR SQLSTATE '42S22' SET @state:= 'run'; +DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET @exception:= 'run'; +SELECT x FROM t1; +END| +CALL bug29770(); +SELECT @state, @exception; +@state @exception +run NULL +DROP TABLE t1; +DROP PROCEDURE bug29770; # ------------------------------------------------------------------ # -- End of 5.0 tests # ------------------------------------------------------------------ diff --git a/mysql-test/t/sp.test b/mysql-test/t/sp.test index 785e7e3793c..43f89cdfdf0 100644 --- a/mysql-test/t/sp.test +++ b/mysql-test/t/sp.test @@ -7698,6 +7698,30 @@ DROP PROCEDURE db28318_a.t1; DROP PROCEDURE db28318_b.t2; DROP DATABASE db28318_a; DROP DATABASE db28318_b; +USE test; + +# +# Bug#29770 Two handlers are allowed to catch an error in an stored procedure. +# + +--disable_warnings +DROP TABLE IF EXISTS t1; +DROP PROCEDURE IF EXISTS bug29770; +--enable_warnings + +CREATE TABLE t1(a int); +delimiter |; +CREATE PROCEDURE bug29770() +BEGIN + DECLARE CONTINUE HANDLER FOR SQLSTATE '42S22' SET @state:= 'run'; + DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET @exception:= 'run'; + SELECT x FROM t1; +END| +delimiter ;| +CALL bug29770(); +SELECT @state, @exception; +DROP TABLE t1; +DROP PROCEDURE bug29770; --echo # ------------------------------------------------------------------ From e6a077e34848d3a1faf6a712e48ca361887cf30f Mon Sep 17 00:00:00 2001 From: unknown Date: Wed, 23 Jan 2008 13:26:41 -0700 Subject: [PATCH 2/3] Bug#33618 (Crash in sp_rcontext) Bug 33983 (Stored Procedures: wrong end