Commit 399caa6d authored by unknown's avatar unknown

Fixed BUG#13616: "CALL <dbname>.<procedurename>" executes properly, but

                 displays error
    When returning to the old database (which may be ""), don't do
    access check - mysql_change_db() would then generate the error
    "No database selected".
    Note: No test case added; it seems a db is always selected when running
    tests.


sql/sp_head.cc:
  Don't do access check when returning to db after a call.
parent 625c9582
...@@ -1051,8 +1051,10 @@ int sp_head::execute(THD *thd) ...@@ -1051,8 +1051,10 @@ int sp_head::execute(THD *thd)
original thd->db will then have been freed */ original thd->db will then have been freed */
if (dbchanged) if (dbchanged)
{ {
/* No access check when changing back to where we came from.
(It would generate an error from mysql_change_db() when olddb=="") */
if (! thd->killed) if (! thd->killed)
ret= mysql_change_db(thd, olddb, 0); ret= mysql_change_db(thd, olddb, 1);
} }
m_flags&= ~IS_INVOKED; m_flags&= ~IS_INVOKED;
DBUG_RETURN(ret); DBUG_RETURN(ret);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment