1 --source include/have_partition.inc
2 --source include/have_innodb.inc
3 --source include/have_not_innodb_plugin.inc
6 # Bug#32430 - show engine innodb status causes errors
9 CREATE TABLE `t``\""e` (a INT, PRIMARY KEY (a))
11 PARTITION BY RANGE (a)
12 SUBPARTITION BY HASH (a)
13 (PARTITION `p0``\""e` VALUES LESS THAN (100)
14 (SUBPARTITION `sp0``\""e`,
15 SUBPARTITION `sp1``\""e`),
16 PARTITION `p1``\""e` VALUES LESS THAN (MAXVALUE)
17 (SUBPARTITION `sp2``\""e`,
18 SUBPARTITION `sp3``\""e`));
19 INSERT INTO `t``\""e` VALUES (0), (2), (6), (10), (14), (18), (22);
22 connect(con1,localhost,root,,);
25 --echo # default connection
27 UPDATE `t``\""e` SET a = 16 WHERE a = 0;
30 UPDATE `t``\""e` SET a = 8 WHERE a = 22;
31 let $id_1= `SELECT CONNECTION_ID()`;
33 UPDATE `t``\""e` SET a = 12 WHERE a = 0;
34 --echo # default connection
37 let $wait_condition= SELECT 1 FROM INFORMATION_SCHEMA.PROCESSLIST
38 WHERE ID = $id_1 AND STATE = 'Searching rows for update';
39 --source include/wait_condition.inc
40 #--echo # tested wait condition $wait_condition_reps times
41 --error ER_LOCK_DEADLOCK
42 UPDATE `t``\""e` SET a = 4 WHERE a = 22;
43 --echo # First table reported in 'SHOW ENGINE InnoDB STATUS'
44 # RECORD LOCKS space id 0 page no 50 n bits 80 index `PRIMARY` in \
45 # Database `test`, Table `t1`, Partition `p0`, Subpartition `sp0` \
47 # NOTE: replace_regex is very slow on match copy/past '(.*)' regex's
48 # on big texts, removing a lot of text before + after makes it much faster.
50 --replace_regex /.*RECORD LOCKS space id [0-9]* page no [0-9]* n bits [0-9]* // / trx id .*// /.*index .* in //
51 SHOW ENGINE InnoDB STATUS;
52 set @old_sql_mode = @@sql_mode;
53 set sql_mode = 'ANSI_QUOTES';
54 # INNODB_LOCKS only exists in innodb_plugin
55 #SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCKS;
56 --replace_regex /.*RECORD LOCKS space id [0-9]* page no [0-9]* n bits [0-9]* // / trx id .*// /.*index .* in //
57 SHOW ENGINE InnoDB STATUS;
58 set @@sql_mode = @old_sql_mode;
64 --echo # default connection