branches/zip: btr_free_externally_stored_field(): Clear rec_zip_size when

rec == NULL.
This commit is contained in:
marko 2007-11-05 13:14:11 +00:00
parent 533ce56da1
commit ce8e480283

View file

@ -4049,10 +4049,23 @@ btr_free_externally_stored_field(
if (UNIV_UNLIKELY(space_id != dict_index_get_space(index))) {
ext_zip_size = fil_space_get_zip_size(space_id);
/* This must be an undo log record in the system tablespace,
that is, in row_purge_upd_exist_or_extern().
Currently, externally stored records are stored in the
same tablespace as the referring records. */
ut_ad(!page_get_space_id(page_align(field_ref)));
ut_ad(!rec);
ut_ad(!page_zip);
} else {
ext_zip_size = rec_zip_size;
}
if (!rec) {
/* This is a call from row_purge_upd_exist_or_extern(). */
ut_ad(!page_zip);
rec_zip_size = 0;
}
for (;;) {
buf_block_t* rec_block;
buf_block_t* ext_block;