Merge Revision revid:marko.makela@oracle.com-20100629130058-1ilqaj51u9sj9vqe from MySQL InnoDB
Original revid:marko.makela@oracle.com-20100629130058-1ilqaj51u9sj9vqe
Original Authors: Marko Mäkelä <marko.makela@oracle.com>
Original commit message:
Bug#54408: txn rollback after recovery: row0umod.c:673
dict_table_get_format(index->table)
The REDUNDANT and COMPACT formats store a local 768-byte prefix of
each externally stored column. No row_ext cache is needed, but we
initialized one nevertheless. When the BLOB pointer was zero, we would
ignore the locally stored prefix as well. This triggered an assertion
failure in row_undo_mod_upd_exist_sec().
row_build(): Allow ext==NULL when a REDUNDANT or COMPACT table
contains externally stored columns.
row_undo_search_clust_to_pcur(), row_upd_store_row(): Invoke
row_build() with ext==NULL on REDUNDANT and COMPACT tables.
rb://382 approved by Jimmy Yang