• unknown's avatar
    Fix for BUG#25082: default database change on trigger · 6a594ffd
    unknown authored
    execution breaks replication.
    
    When a stored routine is executed, we switch current
    database to the database, in which the routine
    has been created. When the stored routine finishes,
    we switch back to the original database.
    
    The problem was that if the original database does not
    exist (anymore) after routine execution, we raised an error.
    
    The fix is to report a warning, and switch to the NULL database.
    
    
    mysql-test/r/sp.result:
      Updated result file.
    mysql-test/t/sp.test:
      Added test case for BUG#25082.
    sql/mysql_priv.h:
      1. Change mysql_change_db() prototype;
      2. Polishing.
    sql/sp.cc:
      Polishing.
    sql/sp_head.cc:
      Polishing.
    sql/sql_db.cc:
      1. Polishing.
      2. Fix mysql_change_db().
    sql/sql_parse.cc:
      Polishing.
    sql/sql_show.cc:
      Polishing.
    6a594ffd
sql_db.cc 37.9 KB