• Marko Mäkelä's avatar
    Bug#54408: txn rollback after recovery: row0umod.c:673 · 63c44558
    Marko Mäkelä authored
    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
    63c44558
row0undo.c 11.8 KB