mariadb/storage/innobase/btr
Marko Mäkelä 6bbe24e9a0 Bug#14636528 INNODB CHANGE BUFFERING IS NOT ENTIRELY CRASH-SAFE
Delete-mark change buffer records when resorting to a pessimistic
delete from the change buffer B-tree. Skip delete-marked records in
the change buffer merge and when estimating whether an operation can
be buffered. Without this fix, we could try to apply the same buffered
changes multiple times if the server was killed at the right moment.

In MySQL 5.5 and later: ibuf_get_volume_buffered_count_func(): Ignore
delete-marked (already processed) records.

ibuf_delete_rec(): Add a crash point before optimistic delete. If the
optimistic delete fails, flag the record processed before
mtr_commit().

ibuf_merge_or_delete_for_page(): Ignore delete-marked (already
processed) records.

Backport to 5.1: Rename btr_cur_del_unmark_for_ibuf() to
btr_cur_set_deleted_flag_for_ibuf() and add a parameter.

rb:1307 approved by Jimmy Yang
2012-09-19 22:35:38 +03:00
..
btr0btr.c Revert revno:3452.71.32 (Bug#12612184 fix). 2011-10-26 12:23:57 +03:00
btr0cur.c Bug#14636528 INNODB CHANGE BUFFERING IS NOT ENTIRELY CRASH-SAFE 2012-09-19 22:35:38 +03:00
btr0pcur.c Bug#14399148 INNODB TABLES UNDER LOAD PRODUCE DUPLICATE COPIES OF ROWS 2012-08-09 09:55:29 +03:00
btr0sea.c (partially) Fix Bug#55227 Fix compiler warnings in innodb with gcc 4.6 2010-09-14 11:39:34 +03:00