~stewart/drizzle/update-innobase-1.0.11

Viewing all changes in revision 2207.

  • Committer: Stewart Smith
  • Author(s): Marko Mäkelä
  • Date: 2010-11-11 02:23:16 UTC
  • Revision ID: stewart@flamingspork.com-20101111022316-xjc8b2cfvvripdhv
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

expand all expand all

Show diffs side-by-side

added added

removed removed

Lines of Context: