Commit 399caa6d authored by unknown's avatar unknown
Browse files

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
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -1051,8 +1051,10 @@ int sp_head::execute(THD *thd)
     original thd->db will then have been freed */
  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)
      ret= mysql_change_db(thd, olddb, 0);
      ret= mysql_change_db(thd, olddb, 1);
  }
  m_flags&= ~IS_INVOKED;
  DBUG_RETURN(ret);