• unknown's avatar
    Bug #23333 stored function + non-transac table + transac table = breaks stmt-based binlog · a0849011
    unknown authored
    Binlogging of the statement with a side effect like a modified non-trans table did not happen.
    The artifact involved all binloggable dml queries.
    
    Fixed with changing the binlogging conditions all over the code to exploit thd->transaction.stmt.modified_non_trans_table
    introduced by the patch for bug@27417.
    
    Multi-delete case has own specific addressed by another bug@29136. Multi-update case has been addressed by bug#27716 and
    patch and will need merging.
    
    
    mysql-test/r/mix_innodb_myisam_binlog.result:
      results changed
    mysql-test/r/sp_trans_log.result:
      results changed
    mysql-test/t/mix_innodb_myisam_binlog.test:
      specific to the bug tests added
    mysql-test/t/sp_trans_log.test:
      refining of the proof of that there is an event in binlog
    sql/sql_delete.cc:
      deploying the binlogging check with thd->transaction.stmt.modified_non_trans_table
    sql/sql_insert.cc:
      binlogging when thd->transaction.stmt.modified_non_trans_table is TRUE. Merge with Bug#29571.
    sql/sql_load.cc:
      binlogging when thd->transaction.stmt.modified_non_trans_table is true
    sql/sql_update.cc:
      binlogging when thd->transaction.stmt.modified_non_trans_table is true
    a0849011
sql_update.cc 52.3 KB