• Luis Soares's avatar
    BUG#13684: SP: DROP PROCEDURE|FUNCTION IF EXISTS not binlogged if · 84ae9eca
    Luis Soares authored
    routine does not exist 
          
    There is an inconsistency with DROP DATABASE IF EXISTS, DROP TABLE IF
    EXISTS and DROP VIEW IF EXISTS: those are binlogged even if the DB or
    TABLE does not exist, whereas DROP PROCEDURE IF EXISTS does not. It
    would be nice or at least consistent if DROP PROCEDURE/STATEMENT
    worked the same too.
          
    Fixed DROP PROCEDURE|FUNCTION IF EXISTS by adding a call to
    mysql_bin_log.write in mysql_execute_command. Checked also if all 
    documented "DROP (...) IF EXISTS" get binlogged.
          
    NOTE: This is a 5.0 backport patch as requested by support.
    
    mysql-test/r/rpl_drop_if_exists.result:
      Result file for test case added.
    mysql-test/r/rpl_sp.result:
      Updated result file for existing test case that has now extra events in
      binary log (the ones from drop if exists procedure/function).
    mysql-test/t/rpl_drop_if_exists.test:
      Added test case for asserting validity of proposed patch.
    sql/sql_parse.cc:
      Added call mysql_bin_log.write when lex has drop_if_exists enabled for 
      stored procedures.
    84ae9eca
rpl_sp.result 26.2 KB