Hi, Jeremy! On Feb 12, Jeremy Cole wrote:
Howdy,
d. Make the master running with --binlog-format=row refuse to do any
INSERT/UPDATE/ALTER or any other queries that can modify a table with the old DECIMAL.
Note that currently such DECIMAL columns work just fine with RBR, so long as the master and slave have the same internal types. So completely disallowing DECIMAL with RBR seems like a breaking and unnecessary change to something which apparently works fine for the user already.
Right. That's why I didn't particularly like that idea. Because quite often old DECIMAL works just fine with RBR. On the other hand, the master cannot know whether tables on the slave are compatible with old DECIMAL or not. And by the time the replicated row events reach the slave it's too late to stop them - replication is already broken. At the moment I, frankly, cannot think of any satisfactory solution for this.
I should hope this strategy is not taken here, and certainly should not be taken as precedent for how to do things in the future.
Regards, Sergei