mariadb/mysql-test/suite/binlog
Alfranio Correia b31e0c9a48 BUG#47678 Changes to n-tables that happen early in a trans. are only flushed upon commit
Let
    - T be a transactional table and N non-transactional table.
    - B be begin, C commit and R rollback.
    - N be a statement that accesses and changes only N-tables.
    - T be a statement that accesses and changes only T-tables.

In RBR, changes to N-tables that happen early in a transaction are not immediately flushed
upon committing a statement. This behavior may, however, break consistency in the presence
of concurrency since changes done to N-tables become immediately visible to other
connections. To fix this problem, we do the following:

  . B N N T C would log - B N C B N C B T C.
  . B N N T R would log - B N C B N C B T R.

Note that we are not preserving history from the master as we are introducing a commit that
never happened. However, this seems to be more acceptable than the possibility of breaking
consistency in the presence of concurrency.
2009-10-06 01:54:00 +01:00
..
r BUG#47678 Changes to n-tables that happen early in a trans. are only flushed upon commit 2009-10-06 01:54:00 +01:00
std_data Merge dl145h.mysql.com:/data0/mkindahl/mysql-5.1 2008-02-07 12:38:13 +01:00
t BUG#47287 RBR: replication diff on basic case with txn- and non-txn tables in a statement 2009-10-06 01:38:58 +01:00
combinations WL#4350 Options in my.cnf style config file should not start with -- 2008-09-05 15:31:09 +02:00