mariadb/storage/innodb_plugin/row
Sunny Bains e19a494287 Fix bug# 55543 - InnoDB Plugin: Signal 6: Assertion failure in file fil/fil0fil.c line 4306
The bug is due to a double delete of a BLOB, once via:

    rollback -> btr_cur_pessimistic_delete()

and the second time via purge.

The bug is in row_upd_clust_rec_by_insert(). There we relinquish ownership
of the non-updated BLOB columns in btr_cur_mark_extern_inherited_fields()
before building the row entry that will be inserted and whose contents will
be logged in the UNDO log. However, we don't set the BLOB column later to
INHERITED so that a possible rollback will not free the original row's
non-updated BLOB entries. This is because the condition that checks for
that is in :

	if (node->upd_ext) {}.

node->upd_ext is non-NULL only if a BLOB column was updated and that column
is part of some key ordering (see row_upd_replace()). This results in the
non-update BLOB columns being deleted during a rollback and subsequently by
purge again.

rb://413
2010-08-05 19:18:17 +10:00
..
row0ext.c Adding innodb_plugin-1.0.4 as storage/innodb_plugin. 2009-05-27 15:15:59 +05:30
row0ins.c Formatting changes 2010-06-10 09:58:11 -04:00
row0merge.c Fix Bug #54582 stack overflow when opening many tables linked with 2010-08-04 03:11:33 -07:00
row0mysql.c Fix bug #54678, InnoDB, TRUNCATE, ALTER, I_S SELECT, crash or deadlock 2010-08-04 03:37:44 -07:00
row0purge.c Formatting changes 2010-06-10 09:58:11 -04:00
row0row.c Bug#54408: txn rollback after recovery: row0umod.c:673 2010-06-29 16:00:58 +03:00
row0sel.c Bug#54358 follow-up: Correct some error handling. 2010-06-30 12:38:47 +03:00
row0uins.c Formatting changes 2010-06-10 09:58:11 -04:00
row0umod.c Formatting changes 2010-06-10 09:58:11 -04:00
row0undo.c Bug#54408: txn rollback after recovery: row0umod.c:673 2010-06-29 16:00:58 +03:00
row0upd.c Fix bug# 55543 - InnoDB Plugin: Signal 6: Assertion failure in file fil/fil0fil.c line 4306 2010-08-05 19:18:17 +10:00
row0vers.c Adding innodb_plugin-1.0.4 as storage/innodb_plugin. 2009-05-27 15:15:59 +05:30