> From: Zardosht Kasheff [mailto:zardosht@stripped]
> Hello all,
>
> I realize this is a bit of a general question, but I am not sure where
> to start looking.
>
> How does one determine if a storage engine supports replication/binary
> logging?
>
My reading of the HA_BINLOG_ROW_CAPABLE and HA_BINLOG_STMT_CAPABLE flag use in other
storage engines is that the storage engine does not need to implement anything. MySQL
performs all the BINLOG logging. The question becomes what happens when the BINLOG needs
to be re-played (e.g. your storage engine is the replicated server). Here MySQL will
replay the database changes either as individual rows or as full statements.
The only case I can find where STMT_CAPABLE isn't a good ideas is when you have a
transactional storage engine, the user is running with autocommit on and at
read-uncommitted transaction level. Here two users could be updating over each other and
you want the data to come out the same way. This scenario isn't a good idea in any case,
but you don't want to mess up the user's data.
Otherwise you want both flag on.