Contrary to what I said earlier, Falcon has decided to deliberately
disable statement-based replication using the same capabilities
mechanism that InnoDB uses.
The reason is that isolation between concurrent transactions
cannot be guaranteed, meaning that two concurrent transactions
are not guaranteed to be serializable (the result of a concurrent
transaction that has committed can "leak" into an ongoing
transaction). Since they are not serializable, it means they
cannot be written to the binary log in an order that produce the
same result on the slave as on the master.
However, when using row-based replication they are
serializable, because whatever values are written to the tables
are also written to the binary log, so if data "leaks" into an
ongoing transaction, this is what is written to the binary log as …[Read more]