Bug #13348 multi-table updates and deletes are not logged if no rows were affected
Submitted: 20 Sep 2005 12:22 Modified: 28 Sep 2005 1:37
Reporter: Sergei Golubchik Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: Replication Severity:S3 (Non-critical)
Version:4.1 OS:
Assigned to: Guilhem Bichot CPU Architecture:Any

[20 Sep 2005 12:22] Sergei Golubchik
Description:
single-table UPDATE and DELETE commands are written to binlog even if they didn't actually update or delete any row. multi-table variants don't.

How to repeat:
 see bug#12844
[20 Sep 2005 12:24] Sergei Golubchik
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/internals/30047
[20 Sep 2005 15:44] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/internals/30108
[20 Sep 2005 15:47] Guilhem Bichot
Docs team: it was not really a bug, it's a small behaviour change:
starting from 5.0.14, multi-table UPDATE and multi-table DELETE go to binlog even in the case where they updated/deleted no row (if there was no error during the statement). This was already the case since 4.1 for non-multi-table UPDATE/DELETE. The interest of this change is if you want to empty a table on replication master (and you want to empty it on slave as well), but it was already empty on master, before the behaviour change the multi-DELETE would not go to binlog, and so slave's table would not be emptied.
This bugfix also fixes BUG#12844 which was a showstopper (so it's worth mentioning BUG#12844 in the changelog entry too).
[28 Sep 2005 1:37] Mike Hillyer
Added to 5.0.14 functionality change list: 

<listitem>
        <para>
          Multi-table <literal>UPDATE</literal> and
          <literal>DELETE</literal> statements are now written to the
          binary log and will replicate. (Bug #13348, Bug #12844)
        </para>
      </listitem>
[28 Sep 2005 1:40] Mike Hillyer
Change note to reflect that this pertains only to updates and deletes that do not affect any rows.