mariadb/storage/innobase/row
Marko Mäkelä 579234694f Bug#13002783 PARTIALLY UNINITIALIZED CASCADE UPDATE VECTOR
In the ON UPDATE CASCADE clause of FOREIGN KEY constraints, the
calculated update vector was not fully initialized. This bug was
introduced in the InnoDB Plugin when implementing support for
ROW_FORMAT=DYNAMIC.

Additionally, the data type information was not initialized, but
apparently it has never been needed in this case.  Nevertheless, it is
not good programming practice to pass uninitialized values around.

calc_row_difference(): Declare the update field uninitialized in
Valgrind. Copy the data type information as well, except when the
field is SQL NULL. In the built-in InnoDB, initialize
ufield->extern_storage = FALSE (an initialization bug that had gone
unnoticed this far). The InnoDB Plugin and later have this flag to
dfield_t and have always initialized it properly.

row_ins_cascade_calc_update_vec(): Reduce the scope of some
pointers. Initialize orig_len. (This caused the bug in InnoDB Plugin
and later.)

row_ins_foreign_check_on_constraint(): Simplify a condition. Declare
the update vector uninitialized.

rb:771 approved by Jimmy Yang
2011-10-25 17:33:38 +03:00
..
row0ins.c Bug#13002783 PARTIALLY UNINITIALIZED CASCADE UPDATE VECTOR 2011-10-25 17:33:38 +03:00
row0mysql.c (Builtin InnoDB) Fix Bug#59303 Correct URL in crash message 2011-01-06 09:05:45 +02:00
row0purge.c Bug#12963823 CRASH IN PURGE THREAD UNDER UNUSUAL CIRCUMSTANCES 2011-09-22 13:35:02 +03:00
row0row.c Bug#12704861 Corruption after a crash during BLOB update 2011-08-29 11:16:42 +03:00
row0sel.c Bug#12835650 VARCHAR maximum length performance impact 2011-08-10 12:25:24 +03:00
row0uins.c Applied innodb-5.1 snapshots ss799 and ss854 2006-09-21 01:39:09 -06:00
row0umod.c Bug#12612184 Race condition after btr_cur_pessimistic_update() 2011-06-16 10:27:21 +03:00
row0undo.c Fix bug#54583. This change reverses rsvn:1350 by getting rid of a bogus assertion 2010-06-25 18:18:41 +10:00
row0upd.c Bug#12704861 Corruption after a crash during BLOB update 2011-08-29 11:16:42 +03:00
row0vers.c Re-enable the debug assertions for Bug#12650861. 2011-06-16 11:51:04 +03:00