Commit 64f44b22 authored by Marko Mäkelä's avatar Marko Mäkelä

MDEV-31574: Assertion failure on REPLACE on ROW_FORMAT=COMPRESSED table

btr_cur_update_in_place(): Update the DB_TRX_ID,DB_ROLL_PTR also on the
compressed copy of the page. In a test case, a server built with
cmake -DWITH_INNODB_EXTRA_DEBUG=ON would crash in page_zip_validate()
due to the inconsistency. In a normal debug build, a different assertion
would fail, depending on when the uncompressed page was restored from
the compressed page.

In MariaDB Server 10.5, this bug had already been fixed by
commit b3d02a1f (MDEV-12353).
parent ad796aaa
......@@ -4338,7 +4338,7 @@ btr_cur_update_in_place(
}
if (!(flags & BTR_KEEP_SYS_FLAG)) {
row_upd_rec_sys_fields(rec, NULL, index, offsets,
row_upd_rec_sys_fields(rec, page_zip, index, offsets,
thr_get_trx(thr), roll_ptr);
}
......
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