mirror of
https://github.com/MariaDB/server.git
synced 2025-02-05 13:22:17 +01:00
adb4117631
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).
42 lines
1.2 KiB
Text
42 lines
1.2 KiB
Text
--source include/innodb_page_size_small.inc
|
|
--source include/not_embedded.inc
|
|
|
|
# This test kills the server, which could corrupt some mysql.* tables
|
|
# that are not created with ENGINE=InnoDB.
|
|
# Flush any non-InnoDB tables to prevent that from happening.
|
|
FLUSH TABLES;
|
|
|
|
--echo #
|
|
--echo # MDEV-21892 Assertion 'index != clust_index || row_get_rec_trx_id()'
|
|
--echo #
|
|
connect (con1,localhost,root);
|
|
CREATE TABLE t1 (pk INT PRIMARY KEY) ENGINE=InnoDB ROW_FORMAT=COMPRESSED;
|
|
INSERT INTO t1 VALUES (1),(2);
|
|
BEGIN;
|
|
--error ER_DUP_ENTRY
|
|
UPDATE t1 SET pk=1;
|
|
connection default;
|
|
|
|
--echo #
|
|
--echo # MDEV-12720 recovery fails with "Generic error"
|
|
--echo # for ROW_FORMAT=compressed
|
|
--echo #
|
|
CREATE TABLE a(i INT PRIMARY KEY AUTO_INCREMENT, s VARCHAR(255)) ENGINE=InnoDB
|
|
ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1;
|
|
|
|
BEGIN;
|
|
insert into a(i) select null;
|
|
insert into a select null, uuid() from a a, a b, a c;
|
|
insert into a select null, uuid() from a a, a b, a c;
|
|
insert into a select null, uuid() from a a, a b, a c;
|
|
SET GLOBAL innodb_flush_log_at_trx_commit=1;
|
|
COMMIT;
|
|
|
|
--let $shutdown_timeout=0
|
|
--source include/restart_mysqld.inc
|
|
disconnect con1;
|
|
|
|
SELECT * FROM t1;
|
|
DROP TABLE t1;
|
|
SELECT COUNT(*) from a;
|
|
DROP TABLE a;
|