summaryrefslogtreecommitdiff
path: root/mysql-test/suite/innodb_zip/t/recover.test
blob: 194ef10a8ef31ac52d32806aa91fd1ef8b7328f1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
--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;