• unknown's avatar
    BUG#23051 (READ COMMITTED breaks mixed and statement-based · ccbada08
    unknown authored
    replication):
    
    Patch to add binlog format capabilities to the InnoDB storage engine.
    The engine will not allow statement format logging when in READ COMMITTED
    or READ UNCOMMITTED transaction isolation level.
    
    In addition, an error is generated when trying to use READ COMMITTED
    or READ UNCOMMITTED transaction isolation level in STATEMENT binlog
    mode.
    
    
    sql/handler.h:
      Adding declaration of already global arrays.
    sql/share/errmsg.txt:
      Adding error messages for invalid changes of transaction isolation level
      and binlog mode switch.  Removing messages that are not needed any more
      (this cset it pushed together with the cset that introduced these
      messages, so it is safe to remove the messages).
    sql/sql_base.cc:
      Some changes to error reporting code to get more informative messages.
    storage/innobase/handler/ha_innodb.cc:
      Adding capabilities to storage engine.
      
      Ha_innobase:table_flags() now compute flags on a per-statement basis
      and the statement capabilities flag is just set if the transaction
      isolation level is below READ COMMITTED.
      
      An informative message is printed in the event that the transaction
      isolation level is below READ COMMITTED and the binlog mode is STATEMENT.
    storage/innobase/handler/ha_innodb.h:
      Accomodating to changes in the server code that switched from ulong
      to Table_flags as type for the table flags.
    mysql-test/r/binlog_innodb.result:
      New BitKeeper file ``mysql-test/r/binlog_innodb.result''
    mysql-test/t/binlog_innodb.test:
      New BitKeeper file ``mysql-test/t/binlog_innodb.test''
    ccbada08
binlog_innodb.test 2.04 KB