summaryrefslogtreecommitdiff
path: root/mysql-test/suite/rpl/t/rpl_parallel_partial_binlog_trans.test
diff options
context:
space:
mode:
authorMarko Mäkelä <marko.makela@mariadb.com>2023-03-22 15:19:52 +0200
committerMarko Mäkelä <marko.makela@mariadb.com>2023-03-22 15:19:52 +0200
commit701399ad375fe71daded4fc7f18f347594352aa1 (patch)
tree84dbdef10a48e2224f689e4334fdddf78cf981f8 /mysql-test/suite/rpl/t/rpl_parallel_partial_binlog_trans.test
parentdccbb5a6dba21b241e1796af82a0db85de28d195 (diff)
downloadmariadb-git-701399ad375fe71daded4fc7f18f347594352aa1.tar.gz
MDEV-30882 Crash on ROLLBACK in a ROW_FORMAT=COMPRESSED table
btr_cur_upd_rec_in_place(): Avoid calling page_zip_write_rec() if we are not modifying any fields that are stored in compressed format. btr_cur_update_in_place_zip_check(): New function to check if a ROW_FORMAT=COMPRESSED record can actually be updated in place. btr_cur_pessimistic_update(): If the BTR_KEEP_POS_FLAG is not set (we are in a ROLLBACK and cannot write any BLOBs), ignore the potential overflow and let page_zip_reorganize() or page_zip_compress() handle it. This avoids a failure when an attempted UPDATE of an NULL column to 0 is rolled back. During the ROLLBACK, we would try to move a non-updated long column to off-page storage in order to avoid a compression failure of the ROW_FORMAT=COMPRESSED page. page_zip_write_trx_id_and_roll_ptr(): Remove an assertion that would fail in row_upd_rec_in_place() because the uncompressed page would already have been modified there. This is a 10.5 version of commit ff3d4395d808b6421d2e0714e10d48c7aa2f3c3a (different because of commit 08ba388713946c03aa591899cd3a446a6202f882).
Diffstat (limited to 'mysql-test/suite/rpl/t/rpl_parallel_partial_binlog_trans.test')
0 files changed, 0 insertions, 0 deletions