-
Committer:
Stewart Smith
-
Author(s):
Marko Mäkelä
-
Date:
2010-11-17 05:58:24 UTC
-
mto:
(2021.1.2 build)
-
mto:
This revision was merged to the branch mainline in
revision
1971.
-
Revision ID:
stewart@flamingspork.com-20101117055824-rsgdutf08az1xs3c
Merge Revision revid:marko.makela@oracle.com-20100629132105-zzdqxv00w8r8hq6r from MySQL InnoDB
Original revid:marko.makela@oracle.com-20100629132105-zzdqxv00w8r8hq6r
Original Authors: Marko Mäkelä <marko.makela@oracle.com>
Original commit message:
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