diff options
author | Rucha Deodhar <rucha.deodhar@mariadb.com> | 2020-07-01 14:11:31 +0530 |
---|---|---|
committer | Rucha Deodhar <rucha.deodhar@mariadb.com> | 2020-07-06 21:17:15 +0530 |
commit | a53662555302f08dc7dfb89c6ad12863fbf4e8d7 (patch) | |
tree | 828229463166a59111ff3e040755b8122240f679 /sql/sp.cc | |
parent | cad9a9b1f8f09a3d7f4597bf1d68bd9c2e0c5879 (diff) | |
download | mariadb-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.cc | 2 |
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()) |