• Luis Soares's avatar
    BUG#42829: binlogging enabled for all schemas regardless of · 9ae9f84e
    Luis Soares authored
    binlog-db-db / binlog-ignore-db
          
    InnoDB will return an error if statement based replication is used
    along with transaction isolation level READ-COMMITTED (or weaker),
    even if the statement in question is filtered out according to the
    binlog-do-db rules set. In this case, an error should not be printed.
          
    This patch addresses this issue by extending the existing check in
    external_lock to take into account the filter rules before deciding to
    print an error. Furthermore, it also changes decide_logging_format to
    take into consideration whether the statement is filtered out from 
    binlog before decision is made.
    
    sql/sql_base.cc:
      Changed the check on decide_logging_format to take into account
      whether statement is filtered or not in SBR.
    sql/sql_class.cc:
      Added the thd_binlog_filter_ok to INNODB_COMPATIBILITY_HOOKS set.
    storage/innobase/handler/ha_innodb.cc:
      Extended check in external_lock to take into consideration the
      filtering when deciding to throw an error.
    storage/innobase/handler/ha_innodb.h:
      Added declaration of new hook.
    storage/innodb_plugin/handler/ha_innodb.cc:
      Extended check in external_lock to take into consideration the
      filtering when deciding to throw an error.
    storage/innodb_plugin/handler/ha_innodb.h:
      Added declaration of new hook.
    9ae9f84e
binlog_stm_do_db.result 2.08 KB