Merge Bug#54408 fix from mysql-5.1-innodb:
------------------------------------------------------------ revno: 3531 revision-id: marko.makela@oracle.com-20100629130058-1ilqaj51u9sj9vqe parent: marko.makela@oracle.com-20100629125653-t799e5x30h31cvrd committer: Marko Mäkelä <marko.makela@oracle.com> branch nick: 5.1-innodb timestamp: Tue 2010-06-29 16:00:58 +0300 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
Showing
Please register or sign in to comment