summaryrefslogtreecommitdiff
path: root/mysql-test
diff options
context:
space:
mode:
authorunknown <pem@mysql.comhem.se>2004-04-06 16:29:38 +0200
committerunknown <pem@mysql.comhem.se>2004-04-06 16:29:38 +0200
commit8468cde4f1e028b380c24d0bac28402678568d81 (patch)
treeae095b62a9d2d9b061936884abf818a3fdb1efdc /mysql-test
parentc22ccc136bfe8eaeaa9797775bde423cf0931bc1 (diff)
downloadmariadb-git-8468cde4f1e028b380c24d0bac28402678568d81.tar.gz
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.
Diffstat (limited to 'mysql-test')
-rw-r--r--mysql-test/r/sp.result22
-rw-r--r--mysql-test/t/sp.test26
2 files changed, 48 insertions, 0 deletions
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