← Back to team overview

maria-developers team mailing list archive

Re: [Commits] Rev 4484: MDEV-4255 MIXED replication: Unique key updates are not marked unsafe, replication fails in lp:~maria-captains/maria/10.0

 

By the way, it would be a lot better if we could do it so that the statement
is only marked unsafe if it modifies more than one row. I would guess that
UPDATE of a unique key are by far most common with single-row updates, and
such updates should be safe. So it would be great if they did not get affected
and cause warnings in the error log.

But I am not sure if that can be achieved easily. It is probably not ok to
delay the decide_logging_format() call until we actually see a second row
being updated - at that point it is too late to switch to row-based
binlogging, we would lose the update to the first row, I think.

Perhaps the optimiser can in some cases see that a query will touch only one
row, eg. ... WHERE unique_key=XXX condition? If this information is available
in mysql_update() somehow, it could prevent needlessly marking statements
unsafe in some cases, at least. Maybe the optimiser people know if there is
such information available.

Well, just an idea, may or may not be feasible.

 - Kristian.


Follow ups

References