diff options
author | unknown <pem@mysql.comhem.se> | 2004-04-06 16:29:38 +0200 |
---|---|---|
committer | unknown <pem@mysql.comhem.se> | 2004-04-06 16:29:38 +0200 |
commit | 8468cde4f1e028b380c24d0bac28402678568d81 (patch) | |
tree | ae095b62a9d2d9b061936884abf818a3fdb1efdc /sql/sql_error.cc | |
parent | c22ccc136bfe8eaeaa9797775bde423cf0931bc1 (diff) | |
download | mariadb-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 'sql/sql_error.cc')
-rw-r--r-- | sql/sql_error.cc | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/sql/sql_error.cc b/sql/sql_error.cc index c94d5e52bcf..8aa7bdf9a7f 100644 --- a/sql/sql_error.cc +++ b/sql/sql_error.cc @@ -43,6 +43,7 @@ This file contains the implementation of error and warnings related ***********************************************************************/ #include "mysql_priv.h" +#include "sp_rcontext.h" /* Store a new message in an error object @@ -108,6 +109,9 @@ MYSQL_ERROR *push_warning(THD *thd, MYSQL_ERROR::enum_warning_level level, MYSQL_ERROR *err= NULL; + if (thd->spcont && thd->spcont->find_handler(code)) + DBUG_RETURN(NULL); + if (thd->warn_list.elements < thd->variables.max_error_count) { /* |