summaryrefslogtreecommitdiff
path: root/sql
diff options
context:
space:
mode:
authorpem@mysql.comhem.se <>2004-04-06 16:29:38 +0200
committerpem@mysql.comhem.se <>2004-04-06 16:29:38 +0200
commit1541f2e7949416d6e172ef6406ecf140d3b26659 (patch)
treeae095b62a9d2d9b061936884abf818a3fdb1efdc /sql
parent4a6e6251e760450197d0dce26b5e9b9a6a0ac8a1 (diff)
downloadmariadb-git-1541f2e7949416d6e172ef6406ecf140d3b26659.tar.gz
Fixed BUG#2780: Stored procedure exit handler ignored for warnings.
Actually catch pushed warnings.
Diffstat (limited to 'sql')
-rw-r--r--sql/sql_error.cc4
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)
{
/*