SET @save_stats_persistent = @@GLOBAL.innodb_stats_persistent; SET GLOBAL innodb_stats_persistent = 0; # Bug #12429576 - Test an assertion failure on purge. CREATE TABLE t1_purge ( A int, B blob, C blob, D blob, E blob, F blob, G blob, H blob, PRIMARY KEY (B(767), C(767), D(767), E(767), A), INDEX (A) ) ENGINE=InnoDB ROW_FORMAT=DYNAMIC; INSERT INTO t1_purge VALUES (1, REPEAT('b', 766), REPEAT('c', 766), REPEAT('d', 766), REPEAT('e', 766), REPEAT('f', 766), REPEAT('g', 766), REPEAT('h', 766)); CREATE TABLE t2_purge ( A int PRIMARY KEY, B blob, C blob, D blob, E blob, F blob, G blob, H blob, I blob, J blob, K blob, L blob, INDEX (B(767))) ENGINE=InnoDB ROW_FORMAT=DYNAMIC; INSERT INTO t2_purge VALUES (1, REPEAT('b', 766), REPEAT('c', 766), REPEAT('d', 766), REPEAT('e', 766), REPEAT('f', 766), REPEAT('g', 766), REPEAT('h', 766), REPEAT('i', 766), REPEAT('j', 766), REPEAT('k', 766), REPEAT('l', 766)); CREATE TABLE t3_purge ( A int, B varchar(800), C varchar(800), D varchar(800), E varchar(800), F varchar(800), G varchar(800), H varchar(800), PRIMARY KEY (B(767), C(767), D(767), E(767), A), INDEX (A) ) ENGINE=InnoDB ROW_FORMAT=DYNAMIC; INSERT INTO t3_purge SELECT * FROM t1_purge; CREATE TABLE t4_purge ( A int PRIMARY KEY, B varchar(800), C varchar(800), D varchar(800), E varchar(800), F varchar(800), G varchar(800), H varchar(800), I varchar(800), J varchar(800), K varchar(800), L varchar(800), INDEX (B(767))) ENGINE=InnoDB ROW_FORMAT=DYNAMIC; INSERT INTO t4_purge SELECT * FROM t2_purge; DELETE FROM t1_purge; DELETE FROM t2_purge; DELETE FROM t3_purge; DELETE FROM t4_purge; SET @r=REPEAT('a',500); CREATE TABLE t12637786(a int, v1 varchar(500), v2 varchar(500), v3 varchar(500), v4 varchar(500), v5 varchar(500), v6 varchar(500), v7 varchar(500), v8 varchar(500), v9 varchar(500), v10 varchar(500), v11 varchar(500), v12 varchar(500), v13 varchar(500), v14 varchar(500), v15 varchar(500), v16 varchar(500), v17 varchar(500), v18 varchar(500) ) ENGINE=InnoDB ROW_FORMAT=DYNAMIC; CREATE INDEX idx1 ON t12637786(a,v1); INSERT INTO t12637786 VALUES(9,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r); UPDATE t12637786 SET a=1000; DELETE FROM t12637786; # Bug#12963823 - Test that the purge thread does not crash when CREATE TABLE t12963823(a blob,b blob,c blob,d blob,e blob,f blob,g blob,h blob, i blob,j blob,k blob,l blob,m blob,n blob,o blob,p blob) ENGINE=innodb ROW_FORMAT=dynamic; SET @r = REPEAT('a', 767); INSERT INTO t12963823 VALUES (@r,@r,@r,@r, @r,@r,@r,@r, @r,@r,@r,@r, @r,@r,@r,@r); CREATE INDEX ndx_a ON t12963823 (a(500)); CREATE INDEX ndx_b ON t12963823 (b(500)); CREATE INDEX ndx_c ON t12963823 (c(500)); CREATE INDEX ndx_d ON t12963823 (d(500)); CREATE INDEX ndx_e ON t12963823 (e(500)); CREATE INDEX ndx_f ON t12963823 (f(500)); CREATE INDEX ndx_k ON t12963823 (k(500)); CREATE INDEX ndx_l ON t12963823 (l(500)); SET @r = REPEAT('b', 500); UPDATE t12963823 set a=@r,b=@r,c=@r,d=@r; UPDATE t12963823 set e=@r,f=@r,g=@r,h=@r; UPDATE t12963823 set i=@r,j=@r,k=@r,l=@r; UPDATE t12963823 set m=@r,n=@r,o=@r,p=@r; ALTER TABLE t12963823 DROP INDEX ndx_a; ALTER TABLE t12963823 DROP INDEX ndx_b; CREATE INDEX ndx_g ON t12963823 (g(500)); CREATE INDEX ndx_h ON t12963823 (h(500)); CREATE INDEX ndx_i ON t12963823 (i(500)); CREATE INDEX ndx_j ON t12963823 (j(500)); CREATE INDEX ndx_m ON t12963823 (m(500)); CREATE INDEX ndx_n ON t12963823 (n(500)); CREATE INDEX ndx_o ON t12963823 (o(500)); CREATE INDEX ndx_p ON t12963823 (p(500)); SHOW CREATE TABLE t12963823; Table Create Table t12963823 CREATE TABLE `t12963823` ( `a` blob DEFAULT NULL, `b` blob DEFAULT NULL, `c` blob DEFAULT NULL, `d` blob DEFAULT NULL, `e` blob DEFAULT NULL, `f` blob DEFAULT NULL, `g` blob DEFAULT NULL, `h` blob DEFAULT NULL, `i` blob DEFAULT NULL, `j` blob DEFAULT NULL, `k` blob DEFAULT NULL, `l` blob DEFAULT NULL, `m` blob DEFAULT NULL, `n` blob DEFAULT NULL, `o` blob DEFAULT NULL, `p` blob DEFAULT NULL, KEY `ndx_c` (`c`(500)), KEY `ndx_d` (`d`(500)), KEY `ndx_e` (`e`(500)), KEY `ndx_f` (`f`(500)), KEY `ndx_k` (`k`(500)), KEY `ndx_l` (`l`(500)), KEY `ndx_g` (`g`(500)), KEY `ndx_h` (`h`(500)), KEY `ndx_i` (`i`(500)), KEY `ndx_j` (`j`(500)), KEY `ndx_m` (`m`(500)), KEY `ndx_n` (`n`(500)), KEY `ndx_o` (`o`(500)), KEY `ndx_p` (`p`(500)) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci ROW_FORMAT=DYNAMIC InnoDB 0 transactions not purged SET GLOBAL innodb_stats_persistent = @save_stats_persistent; DROP TABLE t1_purge, t2_purge, t3_purge, t4_purge, t12637786, t12963823;