mirror of
https://github.com/MariaDB/server.git
synced 2025-01-21 22:34:18 +01:00
b31e0c9a48
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. |
||
---|---|---|
.. | ||
include | ||
r | ||
t | ||
combinations | ||
my.cnf | ||
README | ||
rpl_1slave_base.cnf |
How to run. =========== ./mysql-test-run.pl --suite=rpl --mysqld=--binlog-format=mixed