summaryrefslogtreecommitdiff
path: root/sql/sp.cc
diff options
context:
space:
mode:
authorRucha Deodhar <rucha.deodhar@mariadb.com>2020-07-01 14:11:31 +0530
committerRucha Deodhar <rucha.deodhar@mariadb.com>2020-07-06 21:17:15 +0530
commita53662555302f08dc7dfb89c6ad12863fbf4e8d7 (patch)
tree828229463166a59111ff3e040755b8122240f679 /sql/sp.cc
parentcad9a9b1f8f09a3d7f4597bf1d68bd9c2e0c5879 (diff)
downloadmariadb-git-a53662555302f08dc7dfb89c6ad12863fbf4e8d7.tar.gz
MDEV-22654: Assertion `!is_set() || (m_status == DA_OK_BULK && is_bulk_op())'
failed in Diagnostics_area::set_ok_status on FUNCTION replace When there is REPLACE in the statement, sp_drop_routine_internal() returns 0 (SP_OK) on success which is then assigned to ret. So ret becomes false and the error state is lost. The expression inside DBUG_ASSERT() evaluates to false and thus the assertion failure.
Diffstat (limited to 'sql/sp.cc')
-rw-r--r--sql/sp.cc2
1 files changed, 1 insertions, 1 deletions
diff --git a/sql/sp.cc b/sql/sp.cc
index 1d340644ba1..b783ff3b583 100644
--- a/sql/sp.cc
+++ b/sql/sp.cc
@@ -1080,7 +1080,7 @@ sp_create_routine(THD *thd, stored_procedure_type type, sp_head *sp)
{
if (lex->create_info.or_replace())
{
- if ((ret= sp_drop_routine_internal(thd, type, lex->spname, table)))
+ if (sp_drop_routine_internal(thd, type, lex->spname, table))
goto done;
}
else if (lex->create_info.if_not_exists())