From 8468cde4f1e028b380c24d0bac28402678568d81 Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 6 Apr 2004 16:29:38 +0200 Subject: Fixed BUG#2780: Stored procedure exit handler ignored for warnings. Actually catch pushed warnings. mysql-test/r/sp.result: New test case for BUG#2780. mysql-test/t/sp.test: New test case for BUG#2780. sql/sql_error.cc: Actually attempt to catch pushed warnings when running SPs. --- mysql-test/r/sp.result | 22 ++++++++++++++++++++++ mysql-test/t/sp.test | 26 ++++++++++++++++++++++++++ 2 files changed, 48 insertions(+) (limited to 'mysql-test') diff --git a/mysql-test/r/sp.result b/mysql-test/r/sp.result index fb563e60ac2..cfe3e1255f7 100644 --- a/mysql-test/r/sp.result +++ b/mysql-test/r/sp.result @@ -1044,6 +1044,28 @@ select @x| 42 drop procedure bug2776_1| drop procedure bug2776_2| +drop table if exists t3| +create table t3 (s1 smallint)| +insert into t3 values (123456789012)| +Warnings: +Warning 1263 Data truncated, out of range for column 's1' at row 1 +create procedure bug2780() +begin +declare exit handler for sqlwarning set @x = 1; +set @x = 0; +insert into t3 values (123456789012); +insert into t3 values (0); +end| +call bug2780()| +select @x| +@x +1 +select * from t3| +s1 +32767 +32767 +drop procedure bug2780| +drop table t3| drop table if exists fac| create table fac (n int unsigned not null primary key, f bigint unsigned)| create procedure ifac(n int unsigned) diff --git a/mysql-test/t/sp.test b/mysql-test/t/sp.test index 58bfc8b7120..c86de916d16 100644 --- a/mysql-test/t/sp.test +++ b/mysql-test/t/sp.test @@ -1215,6 +1215,32 @@ select @x| drop procedure bug2776_1| drop procedure bug2776_2| +# +# BUG#2780 +# +--disable_warnings +drop table if exists t3| +--enable_warnings +create table t3 (s1 smallint)| + +insert into t3 values (123456789012)| + +create procedure bug2780() +begin + declare exit handler for sqlwarning set @x = 1; + + set @x = 0; + insert into t3 values (123456789012); + insert into t3 values (0); +end| + +call bug2780()| +select @x| +select * from t3| + +drop procedure bug2780| +drop table t3| + # # Some "real" examples -- cgit v1.2.1