Commit d438a448 authored by Marko Mäkelä's avatar Marko Mäkelä

MDEV-13228 Assertion `n < rec_offs_n_fields(offsets)' failed in...

MDEV-13228 Assertion `n < rec_offs_n_fields(offsets)' failed in rec_get_nth_field_offs upon crash recovery with compressed table

In my preparatory patch for MDEV-12288, there was an off-by-one
array initialization error that affected debug builds.
parent 56ff6f1b
...@@ -4601,7 +4601,7 @@ btr_cur_parse_del_mark_set_clust_rec( ...@@ -4601,7 +4601,7 @@ btr_cur_parse_del_mark_set_clust_rec(
btr_rec_set_deleted_flag(rec, page_zip, val); btr_rec_set_deleted_flag(rec, page_zip, val);
ut_ad(pos <= MAX_REF_PARTS); ut_ad(pos <= MAX_REF_PARTS);
ulint offsets[REC_OFFS_HEADER_SIZE + MAX_REF_PARTS + 2]; ulint offsets[REC_OFFS_HEADER_SIZE + MAX_REF_PARTS + 3];
rec_offs_init(offsets); rec_offs_init(offsets);
mem_heap_t* heap = NULL; mem_heap_t* heap = NULL;
...@@ -4609,7 +4609,7 @@ btr_cur_parse_del_mark_set_clust_rec( ...@@ -4609,7 +4609,7 @@ btr_cur_parse_del_mark_set_clust_rec(
row_upd_rec_sys_fields_in_recovery( row_upd_rec_sys_fields_in_recovery(
rec, page_zip, rec, page_zip,
rec_get_offsets(rec, index, offsets, rec_get_offsets(rec, index, offsets,
pos + 1, &heap), pos + 2, &heap),
pos, trx_id, roll_ptr); pos, trx_id, roll_ptr);
} else { } else {
/* In delete-marked records, DB_TRX_ID must /* In delete-marked records, DB_TRX_ID must
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment