From b034d708c813fa9c274fe14a1492dac62c923cb7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marko=20M=C3=A4kel=C3=A4?= Date: Fri, 20 Mar 2020 16:34:15 +0200 Subject: MDEV-21549: Clean up the import/export tests Remove CREATE/DROP database. Remove some unnecessary suppressions, replacements, and SQL statements. Populate tables via have_sequence.inc to avoid the creation of explicit InnoDB record locks in INSERT...SELECT. This will remove some gaps in AUTO_INCREMENT values. --- mysql-test/suite/innodb/t/innodb-wl5522.test | 105 +++++---------------------- 1 file changed, 18 insertions(+), 87 deletions(-) (limited to 'mysql-test/suite/innodb/t/innodb-wl5522.test') diff --git a/mysql-test/suite/innodb/t/innodb-wl5522.test b/mysql-test/suite/innodb/t/innodb-wl5522.test index 0f5910245ed..906246ebf07 100644 --- a/mysql-test/suite/innodb/t/innodb-wl5522.test +++ b/mysql-test/suite/innodb/t/innodb-wl5522.test @@ -2,8 +2,9 @@ --source include/not_embedded.inc -- source include/have_innodb.inc +-- source include/have_sequence.inc -call mtr.add_suppression("InnoDB: Unable to import tablespace .* because it already exists. Please DISCARD the tablespace before IMPORT."); +call mtr.add_suppression("InnoDB: Unable to import tablespace .* because it already exists. Please DISCARD the tablespace before IMPORT\\."); call mtr.add_suppression("Index for table 't2' is corrupt; try to repair it"); FLUSH TABLES; @@ -17,17 +18,14 @@ CREATE TABLE t1 KEY (b)) ENGINE = InnoDB; -insert into t1 (b, c) values ('Apa', 'Filler........'), +CREATE TEMPORARY TABLE t (b char(22),c varchar(255)); +INSERT INTO t VALUES +('Apa', 'Filler........'), ('Banan', 'Filler........'), ('Cavalry', '..asdasdfaeraf'), ('Devotion', 'asdfuihknaskdf'), ('Evolution', 'lsjndofiabsoibeg'); -INSERT INTO t1 (b, c) SELECT b,c FROM t1 ORDER BY a; -INSERT INTO t1 (b, c) SELECT b,c FROM t1 ORDER BY a; -INSERT INTO t1 (b, c) SELECT b,c FROM t1 ORDER BY a; -INSERT INTO t1 (b, c) SELECT b,c FROM t1 ORDER BY a; -INSERT INTO t1 (b, c) SELECT b,c FROM t1 ORDER BY a; -INSERT INTO t1 (b, c) SELECT b,c FROM t1 ORDER BY a; -INSERT INTO t1 (b, c) SELECT b,c FROM t1 ORDER BY a; +INSERT INTO t1 (b,c) SELECT b,c FROM t,seq_1_to_128; +DROP TEMPORARY TABLE t; SELECT COUNT(*) FROM t1; SELECT * FROM t1 ORDER BY b,a DESC LIMIT 3; SELECT * FROM t1 ORDER BY a DESC LIMIT 3; @@ -107,16 +105,11 @@ CREATE TABLE t1( c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY, c2 INT) ENGINE=InnoDB; -INSERT INTO t1(c2) VALUES(1); -INSERT INTO t1(c2) SELECT c2 FROM t1; -INSERT INTO t1(c2) SELECT c2 FROM t1; -INSERT INTO t1(c2) SELECT c2 FROM t1; -INSERT INTO t1(c2) SELECT c2 FROM t1; +INSERT INTO t1 SELECT seq,1 FROM seq_1_to_16; --list_files $MYSQLD_DATADIR/test FLUSH TABLES t1 FOR EXPORT; -SELECT COUNT(*) FROM t1; perl; do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl"; ib_backup_tablespaces("test", "t1"); @@ -158,15 +151,10 @@ CREATE TABLE t1( c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY, c2 INT) ENGINE=InnoDB; -INSERT INTO t1(c2) VALUES(1); -INSERT INTO t1(c2) SELECT c2 FROM t1; -INSERT INTO t1(c2) SELECT c2 FROM t1; -INSERT INTO t1(c2) SELECT c2 FROM t1; -INSERT INTO t1(c2) SELECT c2 FROM t1; +INSERT INTO t1 SELECT seq,1 FROM seq_1_to_16; --list_files $MYSQLD_DATADIR/test FLUSH TABLES t1 FOR EXPORT; -SELECT COUNT(*) FROM t1; perl; do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl"; ib_backup_tablespaces("test", "t1"); @@ -177,9 +165,6 @@ UNLOCK TABLES; --list_files $MYSQLD_DATADIR/test # Move the LSN forward -INSERT INTO t1(c2) SELECT c2 FROM t1; -INSERT INTO t1(c2) SELECT c2 FROM t1; - DROP TABLE t1; CREATE TABLE t1( @@ -212,14 +197,9 @@ CREATE TABLE t1( c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY, c2 INT, INDEX(c2)) ENGINE=InnoDB; -INSERT INTO t1(c2) VALUES(1); -INSERT INTO t1(c2) SELECT c2 FROM t1; -INSERT INTO t1(c2) SELECT c2 FROM t1; -INSERT INTO t1(c2) SELECT c2 FROM t1; -INSERT INTO t1(c2) SELECT c2 FROM t1; +INSERT INTO t1 SELECT seq,1 FROM seq_1_to_16; FLUSH TABLES t1 FOR EXPORT; -SELECT COUNT(*) FROM t1 WHERE c2 = 1; perl; do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl"; ib_backup_tablespaces("test", "t1"); @@ -228,9 +208,6 @@ EOF UNLOCK TABLES; # Move the LSN forward -INSERT INTO t1(c2) SELECT c2 FROM t1; -INSERT INTO t1(c2) SELECT c2 FROM t1; - DROP TABLE t1; CREATE TABLE t1( @@ -263,14 +240,9 @@ CREATE TABLE t1( c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY, c2 INT, INDEX idx(c2)) ENGINE=InnoDB; -INSERT INTO t1(c2) VALUES(1); -INSERT INTO t1(c2) SELECT c2 FROM t1; -INSERT INTO t1(c2) SELECT c2 FROM t1; -INSERT INTO t1(c2) SELECT c2 FROM t1; -INSERT INTO t1(c2) SELECT c2 FROM t1; +INSERT INTO t1 SELECT seq,1 FROM seq_1_to_16; FLUSH TABLES t1 FOR EXPORT; -SELECT COUNT(*) FROM t1 WHERE c2 = 1; perl; do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl"; ib_backup_tablespaces("test", "t1"); @@ -278,9 +250,6 @@ EOF UNLOCK TABLES; # Move the LSN forward -INSERT INTO t1(c2) SELECT c2 FROM t1; -INSERT INTO t1(c2) SELECT c2 FROM t1; - DROP TABLE t1; CREATE TABLE t1( @@ -330,14 +299,7 @@ CREATE TABLE t1( c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY, c2 INT) ENGINE=InnoDB; -INSERT INTO t1(c2) VALUES(1); -INSERT INTO t1(c2) SELECT c2 FROM t1; -INSERT INTO t1(c2) SELECT c2 FROM t1; -INSERT INTO t1(c2) SELECT c2 FROM t1; -INSERT INTO t1(c2) SELECT c2 FROM t1; - -SELECT COUNT(*) FROM t1; - +INSERT INTO t1 SELECT seq,1 FROM seq_1_to_16; SHOW CREATE TABLE t1; # This should fail, InnoDB should return a warning @@ -357,15 +319,9 @@ CREATE TABLE t1( c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY, c2 INT, INDEX idx(c2)) ENGINE=InnoDB; -INSERT INTO t1(c2) VALUES(1); -INSERT INTO t1(c2) SELECT c2 FROM t1; -INSERT INTO t1(c2) SELECT c2 FROM t1; -INSERT INTO t1(c2) SELECT c2 FROM t1; -INSERT INTO t1(c2) SELECT c2 FROM t1; -INSERT INTO t1(c2) SELECT c2 FROM t1; +INSERT INTO t1 SELECT seq,1 FROM seq_1_to_16; SHOW CREATE TABLE t1; -SELECT * FROM t1; FLUSH TABLES t1 FOR EXPORT; @@ -492,15 +448,9 @@ CREATE TABLE t1( c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY, c2 INT, INDEX idx(c2)) ENGINE=InnoDB ROW_FORMAT=REDUNDANT; -INSERT INTO t1(c2) VALUES(1); -INSERT INTO t1(c2) SELECT c2 FROM t1; -INSERT INTO t1(c2) SELECT c2 FROM t1; -INSERT INTO t1(c2) SELECT c2 FROM t1; -INSERT INTO t1(c2) SELECT c2 FROM t1; -INSERT INTO t1(c2) SELECT c2 FROM t1; +INSERT INTO t1 SELECT seq,1 FROM seq_1_to_16; SHOW CREATE TABLE t1; -SELECT * FROM t1; FLUSH TABLES t1 FOR EXPORT; @@ -645,15 +595,9 @@ CREATE TABLE t1( c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY, c2 INT, INDEX idx(c2)) ENGINE=InnoDB ROW_FORMAT=COMPACT; -INSERT INTO t1(c2) VALUES(1); -INSERT INTO t1(c2) SELECT c2 FROM t1; -INSERT INTO t1(c2) SELECT c2 FROM t1; -INSERT INTO t1(c2) SELECT c2 FROM t1; -INSERT INTO t1(c2) SELECT c2 FROM t1; -INSERT INTO t1(c2) SELECT c2 FROM t1; +INSERT INTO t1 SELECT seq,1 FROM seq_1_to_16; SHOW CREATE TABLE t1; -SELECT * FROM t1; FLUSH TABLES t1 FOR EXPORT; @@ -799,15 +743,9 @@ CREATE TABLE t1( c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY, c2 INT, INDEX idx(c2)) ENGINE=InnoDB ROW_FORMAT=DYNAMIC; -INSERT INTO t1(c2) VALUES(1); -INSERT INTO t1(c2) SELECT c2 FROM t1; -INSERT INTO t1(c2) SELECT c2 FROM t1; -INSERT INTO t1(c2) SELECT c2 FROM t1; -INSERT INTO t1(c2) SELECT c2 FROM t1; -INSERT INTO t1(c2) SELECT c2 FROM t1; +INSERT INTO t1 SELECT seq,1 FROM seq_1_to_16; SHOW CREATE TABLE t1; -SELECT * FROM t1; FLUSH TABLES t1 FOR EXPORT; @@ -953,15 +891,9 @@ CREATE TABLE t1( c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY, c2 INT, INDEX idx(c2)) ENGINE=InnoDB ROW_FORMAT=COMPRESSED; -INSERT INTO t1(c2) VALUES(1); -INSERT INTO t1(c2) SELECT c2 FROM t1; -INSERT INTO t1(c2) SELECT c2 FROM t1; -INSERT INTO t1(c2) SELECT c2 FROM t1; -INSERT INTO t1(c2) SELECT c2 FROM t1; -INSERT INTO t1(c2) SELECT c2 FROM t1; +INSERT INTO t1 SELECT seq,1 FROM seq_1_to_16; SHOW CREATE TABLE t1; -SELECT * FROM t1; FLUSH TABLES t1 FOR EXPORT; @@ -1126,9 +1058,8 @@ SELECT * FROM t1; DROP TABLE t1; call mtr.add_suppression("Got error -1 when reading table '.*'"); -call mtr.add_suppression("InnoDB: Error: tablespace id and flags in file '.*'.*"); +call mtr.add_suppression("InnoDB: Error: tablespace id and flags in file '.*'"); call mtr.add_suppression("InnoDB: The table .* doesn't have a corresponding tablespace, it was discarded"); -FLUSH TABLES; # cleanup --remove_file $MYSQLTEST_VARDIR/tmp/t1.cfg -- cgit v1.2.1