diff --git a/sql/sql_parse.cc b/sql/sql_parse.cc index ac1b1148cf8049709ef2b4b56fb3ab667d9b8792..ee385f9792ee17ec9e6b02fe2402ee9a19407b16 100644 --- a/sql/sql_parse.cc +++ b/sql/sql_parse.cc @@ -4128,7 +4128,15 @@ mysql_execute_command(THD *thd) sp= sp_find_function(thd, lex->spname); mysql_reset_errors(thd, 0); if (! sp) - result= SP_KEY_NOT_FOUND; + { + if (lex->spname->m_db.str) + result= SP_KEY_NOT_FOUND; + else + { + my_message(ER_NO_DB_ERROR, ER(ER_NO_DB_ERROR), MYF(0)); + goto error; + } + } else { if (check_procedure_access(thd, ALTER_PROC_ACL, sp->m_db.str, @@ -4207,7 +4215,13 @@ mysql_execute_command(THD *thd) } } #endif - result= SP_KEY_NOT_FOUND; + if (lex->spname->m_db.str) + result= SP_KEY_NOT_FOUND; + else + { + my_message(ER_NO_DB_ERROR, ER(ER_NO_DB_ERROR), MYF(0)); + goto error; + } } res= result; switch (result)