1
0
mirror of https://github.com/MariaDB/server.git synced 2025-08-07 00:04:31 +03:00

MDEV-21892: Assertion ...row_get_rec_trx_id... failed on SELECT

btr_cur_upd_rec_in_place(): Invoke page_zip_rec_set_deleted()
for ROW_FORMAT=COMPRESSED pages, so that the change will be
written to the redo log.

This part of crash recovery was broken in
commit 08ba388713 (MDEV-12353).
This commit is contained in:
Marko Mäkelä
2020-03-09 11:32:31 +02:00
parent 57c592f74d
commit adb4117631
3 changed files with 47 additions and 9 deletions

View File

@@ -1,3 +1,14 @@
FLUSH TABLES;
#
# MDEV-21892 Assertion 'index != clust_index || row_get_rec_trx_id()'
#
connect con1,localhost,root;
CREATE TABLE t1 (pk INT PRIMARY KEY) ENGINE=InnoDB ROW_FORMAT=COMPRESSED;
INSERT INTO t1 VALUES (1),(2);
BEGIN;
UPDATE t1 SET pk=1;
ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
connection default;
#
# MDEV-12720 recovery fails with "Generic error"
# for ROW_FORMAT=compressed
@@ -12,6 +23,12 @@ insert into a select null, uuid() from a a, a b, a c;
SET GLOBAL innodb_flush_log_at_trx_commit=1;
COMMIT;
# restart
disconnect con1;
SELECT * FROM t1;
pk
1
2
DROP TABLE t1;
SELECT COUNT(*) from a;
COUNT(*)
1010