mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
Merge the server part of MySQL WL#5522 - InnoDB transportable tablespaces.
Syntax. Server support. Test cases. InnoDB bugfixes: * don't mess around with system sprintf's, always use my_error() for errors. * don't use InnoDB internal error codes where OS error codes are expected. * don't say "file not found", when it was.
This commit is contained in:
126
mysql-test/suite/innodb/include/innodb-util.pl
Normal file
126
mysql-test/suite/innodb/include/innodb-util.pl
Normal file
@ -0,0 +1,126 @@
|
||||
#
|
||||
# Utility functions to copy files for WL#5522
|
||||
#
|
||||
# All the tables must be in the same database, you can call it like so:
|
||||
# ib_backup_tablespaces("test", "t1", "blah", ...).
|
||||
|
||||
use File::Copy;
|
||||
use File::Spec;
|
||||
|
||||
sub ib_normalize_path {
|
||||
my ($path) = @_;
|
||||
}
|
||||
|
||||
sub ib_backup_tablespace {
|
||||
my ($db, $table) = @_;
|
||||
my $datadir = $ENV{'MYSQLD_DATADIR'};
|
||||
my $cfg_file = sprintf("%s.cfg", $table);
|
||||
my $ibd_file = sprintf("%s.ibd", $table);
|
||||
my $tmpd = $ENV{'MYSQLTEST_VARDIR'} . "/tmp";
|
||||
|
||||
my @args = (File::Spec->catfile($datadir, $db, $ibd_file),
|
||||
File::Spec->catfile($tmpd, $ibd_file));
|
||||
|
||||
copy(@args) or die "copy @args failed: $!";
|
||||
|
||||
my @args = (File::Spec->catfile($datadir, $db, $cfg_file),
|
||||
File::Spec->catfile($tmpd, $cfg_file));
|
||||
|
||||
copy(@args) or die "copy @args failed: $!";
|
||||
}
|
||||
|
||||
sub ib_cleanup {
|
||||
my ($db, $table) = @_;
|
||||
my $datadir = $ENV{'MYSQLD_DATADIR'};
|
||||
my $cfg_file = sprintf("%s.cfg", $table);
|
||||
|
||||
print "unlink: $cfg_file\n";
|
||||
|
||||
# These may or may not exist
|
||||
unlink(File::Spec->catfile($datadir, $db, $cfg_file));
|
||||
}
|
||||
|
||||
sub ib_unlink_tablespace {
|
||||
my ($db, $table) = @_;
|
||||
my $datadir = $ENV{'MYSQLD_DATADIR'};
|
||||
my $ibd_file = sprintf("%s.ibd", $table);
|
||||
|
||||
print "unlink: $ibd_file\n";
|
||||
# This may or may not exist
|
||||
unlink(File::Spec->catfile($datadir, $db, $ibd_file));
|
||||
|
||||
ib_cleanup($db, $table);
|
||||
}
|
||||
|
||||
sub ib_backup_tablespaces {
|
||||
my ($db, @tables) = @_;
|
||||
|
||||
foreach my $table (@tables) {
|
||||
print "backup: $table\n";
|
||||
ib_backup_tablespace($db, $table);
|
||||
}
|
||||
}
|
||||
|
||||
sub ib_discard_tablespace { }
|
||||
|
||||
sub ib_discard_tablespaces { }
|
||||
|
||||
sub ib_restore_cfg_file {
|
||||
my ($tmpd, $datadir, $db, $table) = @_;
|
||||
my $cfg_file = sprintf("%s.cfg", $table);
|
||||
|
||||
my @args = (File::Spec->catfile($tmpd, $cfg_file),
|
||||
File::Spec->catfile($datadir, "$db", $cfg_file));
|
||||
|
||||
copy(@args) or die "copy @args failed: $!";
|
||||
}
|
||||
|
||||
sub ib_restore_ibd_file {
|
||||
my ($tmpd, $datadir, $db, $table) = @_;
|
||||
my $ibd_file = sprintf("%s.ibd", $table);
|
||||
|
||||
my @args = (File::Spec->catfile($tmpd, $ibd_file),
|
||||
File::Spec->catfile($datadir, $db, $ibd_file));
|
||||
|
||||
copy(@args) or die "copy @args failed: $!";
|
||||
}
|
||||
|
||||
sub ib_restore_tablespace {
|
||||
my ($db, $table) = @_;
|
||||
my $datadir = $ENV{'MYSQLD_DATADIR'};
|
||||
my $tmpd = $ENV{'MYSQLTEST_VARDIR'} . "/tmp";
|
||||
|
||||
ib_restore_cfg_file($tmpd, $datadir, $db, $table);
|
||||
ib_restore_ibd_file($tmpd, $datadir, $db, $table);
|
||||
}
|
||||
|
||||
sub ib_restore_tablespaces {
|
||||
my ($db, @tables) = @_;
|
||||
|
||||
foreach my $table (@tables) {
|
||||
print "restore: $table .ibd and .cfg files\n";
|
||||
ib_restore_tablespace($db, $table);
|
||||
}
|
||||
}
|
||||
|
||||
sub ib_restore_cfg_files {
|
||||
my ($db, @tables) = @_;
|
||||
my $datadir = $ENV{'MYSQLD_DATADIR'};
|
||||
my $tmpd = $ENV{'MYSQLTEST_VARDIR'} . "/tmp";
|
||||
|
||||
foreach my $table (@tables) {
|
||||
print "restore: $table .cfg file\n";
|
||||
ib_restore_cfg_file($tmpd, $datadir, $db, $table);
|
||||
}
|
||||
}
|
||||
|
||||
sub ib_restore_ibd_files {
|
||||
my ($db, @tables) = @_;
|
||||
my $datadir = $ENV{'MYSQLD_DATADIR'};
|
||||
my $tmpd = $ENV{'MYSQLTEST_VARDIR'} . "/tmp";
|
||||
|
||||
foreach my $table (@tables) {
|
||||
print "restore: $table .ibd file\n";
|
||||
ib_restore_ibd_file($tmpd, $datadir, $db, $table);
|
||||
}
|
||||
}
|
21
mysql-test/suite/innodb/r/innodb-alter-discard.result
Normal file
21
mysql-test/suite/innodb/r/innodb-alter-discard.result
Normal file
@ -0,0 +1,21 @@
|
||||
SET GLOBAL innodb_file_per_table=1;
|
||||
CREATE TABLE t(a INT)ENGINE=InnoDB;
|
||||
call mtr.add_suppression("InnoDB: Error: trying to open a table, but could not$");
|
||||
call mtr.add_suppression("MySQL is trying to open a table handle but the \.ibd file for$");
|
||||
call mtr.add_suppression("InnoDB: Table 'test/t'$");
|
||||
call mtr.add_suppression("Could not find a valid tablespace file for");
|
||||
call mtr.add_suppression("InnoDB: Tablespace open failed for '\"test\"\.\"t\"', ignored");
|
||||
call mtr.add_suppression("InnoDB: Failed to find tablespace for table '\"test\"\.\"t\"' in the cache");
|
||||
call mtr.add_suppression("InnoDB: Cannot delete tablespace [0-9]+.*not found");
|
||||
call mtr.add_suppression("Table .*t in the InnoDB data dictionary has tablespace id .*, but tablespace with that id or name does not exist");
|
||||
SELECT * FROM t;
|
||||
ERROR 42S02: Table 'test.t' doesn't exist in engine
|
||||
ALTER TABLE t ADD INDEX (a), ALGORITHM=INPLACE;
|
||||
ERROR 42S02: Table 'test.t' doesn't exist in engine
|
||||
ALTER TABLE t1 ADD INDEX (a), ALGORITHM=COPY;
|
||||
ERROR 42S02: Table 'test.t1' doesn't exist
|
||||
ALTER TABLE t DISCARD TABLESPACE;
|
||||
Warnings:
|
||||
Warning 1812 Tablespace is missing for table 'test/t'
|
||||
Warning 1812 Tablespace is missing for table 't'
|
||||
DROP TABLE t;
|
42
mysql-test/suite/innodb/r/innodb-bug-14068765.result
Normal file
42
mysql-test/suite/innodb/r/innodb-bug-14068765.result
Normal file
@ -0,0 +1,42 @@
|
||||
DROP TABLE IF EXISTS t1;
|
||||
SET GLOBAL innodb_file_per_table = 1;
|
||||
SELECT @@innodb_file_per_table;
|
||||
@@innodb_file_per_table
|
||||
1
|
||||
CREATE DATABASE testdb_wl5522;
|
||||
CREATE TABLE testdb_wl5522.t1(col1 bit(1) , col2 boolean,col3 tinyint , col4 smallint , col5 mediumint ,col6 int , col7 bigint , col8 float (14,3) ,col9 double (14,3), col10 VARCHAR(20) CHARACTER SET utf8 , col11 TEXT CHARACTER SET binary , col12 ENUM('a','b','c') CHARACTER SET binary ,col13 TEXT CHARACTER SET latin1 COLLATE latin1_general_cs ,col14 CHAR(20) , col15 VARBINARY (400) , col16 BINARY(40), col17 BLOB (400) , col18 int not null primary key,col19 DATE ,col20 DATETIME , col21 TIMESTAMP ,col22 TIME , col23 YEAR ) ENGINE = Innodb;
|
||||
CREATE INDEX idx1 ON testdb_wl5522.t1(col18);
|
||||
CREATE INDEX prefix_idx ON testdb_wl5522.t1(col14 (10));
|
||||
CREATE UNIQUE INDEX idx2 ON testdb_wl5522.t1(col12);
|
||||
CREATE UNIQUE INDEX idx3 ON testdb_wl5522.t1(col8);
|
||||
INSERT INTO testdb_wl5522.t1 VALUES (1,1,-128,32767,-8388608,2147483647,-9223372036854775808, 92233720368.222,-92233720368.222,'aaa', 'aaaaaaaaaa','b','bbbbb','ccccc',REPEAT('d',40),REPEAT('d',40),REPEAT('d',40), 1,'1000-01-01','3000-12-31 23:59:59.99','1990-01-01 00:00:01.00','01:59:59.00','1901');
|
||||
INSERT INTO testdb_wl5522.t1 VALUES (NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,NULL,NULL,NULL,NULL);
|
||||
INSERT INTO testdb_wl5522.t1 VALUES (NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
|
||||
ERROR 23000: Column 'col18' cannot be null
|
||||
INSERT INTO testdb_wl5522.t1 VALUES (NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,NULL,NULL,NULL,NULL);
|
||||
ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
|
||||
FLUSH TABLES testdb_wl5522.t1 WITH READ LOCK;
|
||||
SELECT COUNT(*) FROM testdb_wl5522.t1;
|
||||
COUNT(*)
|
||||
2
|
||||
backup: t1
|
||||
UNLOCK TABLES;
|
||||
DROP TABLE testdb_wl5522.t1;
|
||||
CREATE TABLE testdb_wl5522.t1(col1 bit(1) , col2 boolean,col3 tinyint , col4 smallint , col5 mediumint ,col6 int , col7 bigint , col8 float (14,3) ,col9 double (14,3), col10 VARCHAR(20) CHARACTER SET utf8 , col11 TEXT CHARACTER SET binary , col12 ENUM('a','b','c') CHARACTER SET binary ,col13 TEXT CHARACTER SET latin1 COLLATE latin1_general_cs ,col14 CHAR(20) , col15 VARBINARY (400) , col16 BINARY(40), col17 BLOB (400) , col18 int not null primary key,col19 DATE ,col20 DATETIME , col21 TIMESTAMP ,col22 TIME , col23 YEAR ) ENGINE = Innodb;
|
||||
CREATE INDEX idx1 ON testdb_wl5522.t1(col18);
|
||||
CREATE INDEX prefix_idx ON testdb_wl5522.t1(col14 (10));
|
||||
CREATE UNIQUE INDEX idx2 ON testdb_wl5522.t1(col12);
|
||||
CREATE UNIQUE INDEX idx3 ON testdb_wl5522.t1(col8);
|
||||
ALTER TABLE testdb_wl5522.t1 DISCARD TABLESPACE;
|
||||
restore: t1 .ibd and .cfg files
|
||||
ALTER TABLE testdb_wl5522.t1 IMPORT TABLESPACE;
|
||||
CHECK TABLE testdb_wl5522.t1;
|
||||
Table Op Msg_type Msg_text
|
||||
testdb_wl5522.t1 check status OK
|
||||
SELECT COUNT(*) FROM testdb_wl5522.t1;
|
||||
COUNT(*)
|
||||
2
|
||||
DROP TABLE testdb_wl5522.t1;
|
||||
DROP DATABASE testdb_wl5522;
|
||||
SET GLOBAL INNODB_FILE_FORMAT=Antelope;
|
||||
SET GLOBAL INNODB_FILE_PER_TABLE=1;
|
31
mysql-test/suite/innodb/r/innodb-bug-14084530.result
Normal file
31
mysql-test/suite/innodb/r/innodb-bug-14084530.result
Normal file
@ -0,0 +1,31 @@
|
||||
DROP TABLE IF EXISTS t1;
|
||||
SET GLOBAL innodb_file_per_table = 1;
|
||||
SELECT @@innodb_file_per_table;
|
||||
@@innodb_file_per_table
|
||||
1
|
||||
SET AUTOCOMMIT = 0;
|
||||
CREATE DATABASE testdb_wl5522;
|
||||
CREATE TABLE testdb_wl5522.t1 (c1 int ) engine = Innodb;
|
||||
BEGIN;
|
||||
INSERT INTO testdb_wl5522.t1 VALUES (1),(123),(331);
|
||||
ROLLBACK;
|
||||
SELECT c1 FROM testdb_wl5522.t1;
|
||||
c1
|
||||
FLUSH TABLES testdb_wl5522.t1 FOR EXPORT;
|
||||
backup: t1
|
||||
UNLOCK TABLES;
|
||||
DROP TABLE testdb_wl5522.t1;
|
||||
CREATE TABLE testdb_wl5522.t1 (c1 int ) ENGINE = Innodb;
|
||||
ALTER TABLE testdb_wl5522.t1 DISCARD TABLESPACE;
|
||||
restore: t1 .ibd and .cfg files
|
||||
ALTER TABLE testdb_wl5522.t1 IMPORT TABLESPACE;
|
||||
CHECK TABLE testdb_wl5522.t1;
|
||||
Table Op Msg_type Msg_text
|
||||
testdb_wl5522.t1 check status OK
|
||||
SELECT c1 FROM testdb_wl5522.t1;
|
||||
c1
|
||||
SET AUTOCOMMIT = 1;
|
||||
DROP TABLE testdb_wl5522.t1;
|
||||
DROP DATABASE testdb_wl5522;
|
||||
SET GLOBAL INNODB_FILE_FORMAT=Antelope;
|
||||
SET GLOBAL INNODB_FILE_PER_TABLE=1;
|
811
mysql-test/suite/innodb/r/innodb-wl5522-1.result
Normal file
811
mysql-test/suite/innodb/r/innodb-wl5522-1.result
Normal file
@ -0,0 +1,811 @@
|
||||
DROP TABLE IF EXISTS t1;
|
||||
SET GLOBAL innodb_file_per_table = 1;
|
||||
SELECT @@innodb_file_per_table;
|
||||
@@innodb_file_per_table
|
||||
1
|
||||
SET GLOBAL innodb_file_format = `Barracuda`;
|
||||
SELECT @@innodb_file_format;
|
||||
@@innodb_file_format
|
||||
Barracuda
|
||||
DROP DATABASE IF EXISTS testdb_wl5522;
|
||||
Warnings:
|
||||
Note 1008 Can't drop database 'testdb_wl5522'; database doesn't exist
|
||||
CREATE DATABASE testdb_wl5522;
|
||||
CREATE TABLE testdb_wl5522.t1 (c1 INT ) ENGINE = Innodb;
|
||||
INSERT INTO testdb_wl5522.t1 VALUES (1),(123),(331);
|
||||
SELECT c1 FROM testdb_wl5522.t1;
|
||||
c1
|
||||
1
|
||||
123
|
||||
331
|
||||
FLUSH TABLES testdb_wl5522.t1 FOR EXPORT;
|
||||
SELECT * FROM testdb_wl5522.t1 ORDER BY c1;
|
||||
c1
|
||||
1
|
||||
123
|
||||
331
|
||||
backup: t1
|
||||
UNLOCK TABLES;
|
||||
DROP TABLE testdb_wl5522.t1;
|
||||
CREATE TABLE testdb_wl5522.t1 (c1 INT ) ENGINE = Innodb;
|
||||
ALTER TABLE testdb_wl5522.t1 DISCARD TABLESPACE;
|
||||
restore: t1 .ibd and .cfg files
|
||||
ALTER TABLE testdb_wl5522.t1 IMPORT TABLESPACE;
|
||||
SELECT * FROM testdb_wl5522.t1 ORDER BY c1;
|
||||
c1
|
||||
1
|
||||
123
|
||||
331
|
||||
DROP TABLE testdb_wl5522.t1;
|
||||
CREATE TABLE testdb_wl5522.t1 (
|
||||
col1 BIT(1),
|
||||
col2 BOOLEAN,
|
||||
col3 TINYINT,
|
||||
col4 SMALLINT,
|
||||
col5 MEDIUMINT,
|
||||
col6 INT,
|
||||
col7 BIGINT,
|
||||
col8 FLOAT (14,3) ,
|
||||
col9 DOUBLE (14,3),
|
||||
col10 VARCHAR(20),
|
||||
col11 TEXT ,
|
||||
col12 ENUM('a','b','c'),
|
||||
col13 TEXT,
|
||||
col14 CHAR(20) ,
|
||||
col15 VARBINARY (400) ,
|
||||
col16 BINARY(40),
|
||||
col17 BLOB (400) ,
|
||||
col18 INT NOT NULL PRIMARY KEY,
|
||||
col19 DATE ,
|
||||
col20 DATETIME ,
|
||||
col21 TIMESTAMP ,
|
||||
col22 TIME ,
|
||||
col23 YEAR ) ENGINE = Innodb;
|
||||
CREATE INDEX idx1 ON testdb_wl5522.t1(col18);
|
||||
CREATE INDEX prefix_idx ON testdb_wl5522.t1(col14 (10));
|
||||
CREATE UNIQUE INDEX idx2 ON testdb_wl5522.t1(col12);
|
||||
CREATE UNIQUE INDEX idx3 ON testdb_wl5522.t1(col8);
|
||||
INSERT INTO testdb_wl5522.t1 VALUES
|
||||
(1,1,-128,32767,-8388608,2147483647,-9223372036854775808, 92233720368.222,
|
||||
-92233720368.222,'aaa', + 'aaaaaaaaaa','b','bbbbb','ccccc',
|
||||
REPEAT('d',40),REPEAT('d',40),REPEAT('d',40),1,'1000-01-01',
|
||||
'3000-12-31 23:59:59.99','1990-01-01 00:00:01.00',
|
||||
'01:59:59.00','1901');
|
||||
INSERT INTO testdb_wl5522.t1 VALUES
|
||||
(NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,
|
||||
NULL,NULL,NULL,3,NULL,NULL,NULL,NULL,NULL);
|
||||
INSERT INTO testdb_wl5522.t1 VALUES (NULL,NULL,NULL,NULL,NULL,NULL,NULL,
|
||||
NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
|
||||
ERROR 23000: Column 'col18' cannot be null
|
||||
INSERT INTO testdb_wl5522.t1 VALUES (NULL,NULL,NULL,NULL,NULL,NULL,NULL,
|
||||
NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,NULL,NULL,NULL,NULL);
|
||||
ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
|
||||
FLUSH TABLES testdb_wl5522.t1 WITH READ LOCK;
|
||||
SELECT COUNT(*) FROM testdb_wl5522.t1;
|
||||
COUNT(*)
|
||||
2
|
||||
backup: t1
|
||||
UNLOCK TABLES;
|
||||
DROP TABLE testdb_wl5522.t1;
|
||||
CREATE TABLE testdb_wl5522.t1 (
|
||||
col1 BIT(1),
|
||||
col2 BOOLEAN,
|
||||
col3 TINYINT,
|
||||
col4 SMALLINT,
|
||||
col5 MEDIUMINT,
|
||||
col6 INT,
|
||||
col7 BIGINT,
|
||||
col8 FLOAT (14,3) ,
|
||||
col9 DOUBLE (14,3),
|
||||
col10 VARCHAR(20),
|
||||
col11 TEXT,
|
||||
col12 ENUM('a','b','c'),
|
||||
col13 TEXT,
|
||||
col14 CHAR(20) ,
|
||||
col15 VARBINARY (400) ,
|
||||
col16 BINARY(40),
|
||||
col17 BLOB (400) ,
|
||||
col18 INT NOT NULL PRIMARY KEY,
|
||||
col19 DATE ,
|
||||
col20 DATETIME ,
|
||||
col21 TIMESTAMP ,
|
||||
col22 TIME ,
|
||||
col23 YEAR ) ENGINE = Innodb;
|
||||
CREATE INDEX idx1 ON testdb_wl5522.t1(col18);
|
||||
CREATE INDEX prefix_idx ON testdb_wl5522.t1(col14 (10));
|
||||
CREATE UNIQUE INDEX idx2 ON testdb_wl5522.t1(col12);
|
||||
CREATE UNIQUE INDEX idx3 ON testdb_wl5522.t1(col8);
|
||||
ALTER TABLE testdb_wl5522.t1 DISCARD TABLESPACE;
|
||||
restore: t1 .ibd and .cfg files
|
||||
ALTER TABLE testdb_wl5522.t1 IMPORT TABLESPACE;
|
||||
CHECK TABLE testdb_wl5522.t1;
|
||||
Table Op Msg_type Msg_text
|
||||
testdb_wl5522.t1 check status OK
|
||||
SELECT COUNT(*) FROM testdb_wl5522.t1;
|
||||
COUNT(*)
|
||||
2
|
||||
DROP TABLE testdb_wl5522.t1;
|
||||
SET GLOBAL innodb_file_format='Barracuda';
|
||||
CREATE TABLE testdb_wl5522.t1 (
|
||||
col_1_varbinary VARBINARY (4000) ,
|
||||
col_2_varchar VARCHAR (4000),
|
||||
col_3_text TEXT (4000),
|
||||
col_4_blob BLOB (4000),
|
||||
col_5_text TEXT (4000),
|
||||
col_6_varchar VARCHAR (4000),
|
||||
col_7_binary BINARY (255)
|
||||
) ROW_FORMAT=DYNAMIC ENGINE = Innodb;
|
||||
INSERT INTO testdb_wl5522.t1 VALUES(
|
||||
REPEAT('a', 4000),REPEAT('o', 4000),REPEAT('a', 4000), REPEAT('o', 4000),
|
||||
REPEAT('a', 4000),REPEAT('a', 4000),REPEAT('a', 255));
|
||||
SELECT col_1_varbinary = REPEAT("a", 4000) ,
|
||||
col_2_varchar = REPEAT("o", 4000) ,
|
||||
col_3_text = REPEAT("a", 4000) ,
|
||||
col_4_blob = REPEAT("o", 4000) ,
|
||||
col_5_text = REPEAT("a", 4000) ,
|
||||
col_6_varchar = REPEAT("a", 4000) ,
|
||||
col_7_binary = REPEAT("a", 255)
|
||||
FROM testdb_wl5522.t1;
|
||||
col_1_varbinary = REPEAT("a", 4000) col_2_varchar = REPEAT("o", 4000) col_3_text = REPEAT("a", 4000) col_4_blob = REPEAT("o", 4000) col_5_text = REPEAT("a", 4000) col_6_varchar = REPEAT("a", 4000) col_7_binary = REPEAT("a", 255)
|
||||
1 1 1 1 1 1 1
|
||||
FLUSH TABLES testdb_wl5522.t1 FOR EXPORT;
|
||||
backup: t1
|
||||
UNLOCK TABLES;
|
||||
DROP TABLE testdb_wl5522.t1;
|
||||
CREATE TABLE testdb_wl5522.t1 (
|
||||
col_1_varbinary VARBINARY (4000) ,
|
||||
col_2_varchar VARCHAR (4000),
|
||||
col_3_text TEXT (4000),
|
||||
col_4_blob BLOB (4000),
|
||||
col_5_text TEXT (4000),
|
||||
col_6_varchar VARCHAR (4000),
|
||||
col_7_binary BINARY (255)
|
||||
) ROW_FORMAT=DYNAMIC ENGINE = Innodb;
|
||||
ALTER TABLE testdb_wl5522.t1 DISCARD TABLESPACE;
|
||||
restore: t1 .ibd and .cfg files
|
||||
ALTER TABLE testdb_wl5522.t1 IMPORT TABLESPACE;
|
||||
SELECT col_1_varbinary = REPEAT("a", 4000) ,
|
||||
col_2_varchar = REPEAT("o", 4000) ,
|
||||
col_3_text = REPEAT("a", 4000) ,
|
||||
col_4_blob = REPEAT("o", 4000) ,
|
||||
col_5_text = REPEAT("a", 4000) ,
|
||||
col_6_varchar = REPEAT("a", 4000) ,
|
||||
col_7_binary = REPEAT("a", 255)
|
||||
FROM testdb_wl5522.t1;
|
||||
col_1_varbinary = REPEAT("a", 4000) col_2_varchar = REPEAT("o", 4000) col_3_text = REPEAT("a", 4000) col_4_blob = REPEAT("o", 4000) col_5_text = REPEAT("a", 4000) col_6_varchar = REPEAT("a", 4000) col_7_binary = REPEAT("a", 255)
|
||||
1 1 1 1 1 1 1
|
||||
DROP TABLE testdb_wl5522.t1;
|
||||
CREATE TABLE testdb_wl5522.t1 (
|
||||
col_1_int INT AUTO_INCREMENT,
|
||||
col_2_varchar VARCHAR (20),
|
||||
PRIMARY KEY (col_1_int)) ENGINE = Innodb;
|
||||
INSERT INTO testdb_wl5522.t1 VALUES (1,'a1'),(2,'a2'),(3,'a3');
|
||||
INSERT INTO testdb_wl5522.t1 (col_2_varchar) VALUES ('a4'),('a5'),('a6');
|
||||
SELECT * FROM testdb_wl5522.t1 ORDER BY col_1_int;
|
||||
col_1_int col_2_varchar
|
||||
1 a1
|
||||
2 a2
|
||||
3 a3
|
||||
4 a4
|
||||
5 a5
|
||||
6 a6
|
||||
FLUSH TABLES testdb_wl5522.t1 FOR EXPORT;
|
||||
backup: t1
|
||||
UNLOCK TABLES;
|
||||
DROP TABLE testdb_wl5522.t1;
|
||||
CREATE TABLE testdb_wl5522.t1 (
|
||||
col_1_int INT AUTO_INCREMENT,
|
||||
col_2_varchar VARCHAR (20),
|
||||
PRIMARY KEY (col_1_int)) ENGINE = Innodb;
|
||||
ALTER TABLE testdb_wl5522.t1 DISCARD TABLESPACE;
|
||||
restore: t1 .ibd and .cfg files
|
||||
ALTER TABLE testdb_wl5522.t1 IMPORT TABLESPACE;
|
||||
SELECT * FROM testdb_wl5522.t1 ORDER BY col_1_int;
|
||||
col_1_int col_2_varchar
|
||||
1 a1
|
||||
2 a2
|
||||
3 a3
|
||||
4 a4
|
||||
5 a5
|
||||
6 a6
|
||||
INSERT INTO testdb_wl5522.t1 VALUES (1,'a1');
|
||||
ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
|
||||
INSERT INTO testdb_wl5522.t1(col_2_varchar) VALUES ('a101'),('a102'),('a103');
|
||||
SELECT * FROM testdb_wl5522.t1 ORDER BY col_1_int;
|
||||
col_1_int col_2_varchar
|
||||
1 a1
|
||||
2 a2
|
||||
3 a3
|
||||
4 a4
|
||||
5 a5
|
||||
6 a6
|
||||
7 a101
|
||||
8 a102
|
||||
9 a103
|
||||
ALTER TABLE testdb_wl5522.t1 MODIFY col_1_int BIGINT;
|
||||
SELECT * FROM testdb_wl5522.t1 ORDER BY col_1_int;
|
||||
col_1_int col_2_varchar
|
||||
1 a1
|
||||
2 a2
|
||||
3 a3
|
||||
4 a4
|
||||
5 a5
|
||||
6 a6
|
||||
7 a101
|
||||
8 a102
|
||||
9 a103
|
||||
DROP TABLE testdb_wl5522.t1;
|
||||
CREATE TABLE testdb_wl5522.t1 (
|
||||
col_1_int INT,col_2_varchar VARCHAR (20),
|
||||
PRIMARY KEY (col_2_varchar)) ENGINE = Innodb;
|
||||
CREATE TABLE testdb_wl5522.t1_fk (
|
||||
col_1_int INT,col_2_varchar VARCHAR (20),
|
||||
PRIMARY KEY (col_1_int),
|
||||
FOREIGN KEY (col_2_varchar) REFERENCES testdb_wl5522.t1(col_2_varchar)
|
||||
) ENGINE = Innodb;
|
||||
INSERT INTO testdb_wl5522.t1 VALUES (1,'a1'),(2,'a2'),(3,'a3'),(4,'a4'),(5,'a5');
|
||||
INSERT INTO testdb_wl5522.t1_fk VALUES (1,'a1'),(2,'a2'),(3,'a3');
|
||||
SELECT * FROM testdb_wl5522.t1;
|
||||
col_1_int col_2_varchar
|
||||
1 a1
|
||||
2 a2
|
||||
3 a3
|
||||
4 a4
|
||||
5 a5
|
||||
SELECT * FROM testdb_wl5522.t1_fk;
|
||||
col_1_int col_2_varchar
|
||||
1 a1
|
||||
2 a2
|
||||
3 a3
|
||||
FLUSH TABLES testdb_wl5522.t1,testdb_wl5522.t1_fk FOR EXPORT;
|
||||
backup: t1
|
||||
backup: t1_fk
|
||||
UNLOCK TABLES;
|
||||
DROP TABLE testdb_wl5522.t1_fk,testdb_wl5522.t1;
|
||||
CREATE TABLE testdb_wl5522.t1 (
|
||||
col_1_int INT,col_2_varchar VARCHAR (20),
|
||||
PRIMARY KEY (col_2_varchar)) ENGINE = Innodb;
|
||||
CREATE TABLE testdb_wl5522.t1_fk (
|
||||
col_1_int INT,col_2_varchar VARCHAR (20),
|
||||
PRIMARY KEY (col_1_int),
|
||||
FOREIGN KEY (col_2_varchar) REFERENCES testdb_wl5522.t1(col_2_varchar)
|
||||
) ENGINE = Innodb;
|
||||
SET foreign_key_checks = 0;
|
||||
ALTER TABLE testdb_wl5522.t1_fk DISCARD TABLESPACE;
|
||||
ALTER TABLE testdb_wl5522.t1 DISCARD TABLESPACE;
|
||||
SET foreign_key_checks = 1;
|
||||
restore: t1 .ibd and .cfg files
|
||||
restore: t1_fk .ibd and .cfg files
|
||||
ALTER TABLE testdb_wl5522.t1 IMPORT TABLESPACE;
|
||||
ALTER TABLE testdb_wl5522.t1_fk IMPORT TABLESPACE;
|
||||
SELECT * FROM testdb_wl5522.t1;
|
||||
col_1_int col_2_varchar
|
||||
1 a1
|
||||
2 a2
|
||||
3 a3
|
||||
4 a4
|
||||
5 a5
|
||||
SELECT * FROM testdb_wl5522.t1_fk;
|
||||
col_1_int col_2_varchar
|
||||
1 a1
|
||||
2 a2
|
||||
3 a3
|
||||
INSERT INTO testdb_wl5522.t1_fk VALUES (100,'a100');
|
||||
ERROR 23000: Cannot add or update a child row: a foreign key constraint fails (`testdb_wl5522`.`t1_fk`, CONSTRAINT `t1_fk_ibfk_1` FOREIGN KEY (`col_2_varchar`) REFERENCES `t1` (`col_2_varchar`))
|
||||
SET AUTOCOMMIT = 0;
|
||||
INSERT INTO testdb_wl5522.t1_fk VALUES (4,'a4'),(5,'a5');
|
||||
ROLLBACK;
|
||||
SELECT * FROM testdb_wl5522.t1_fk;
|
||||
col_1_int col_2_varchar
|
||||
1 a1
|
||||
2 a2
|
||||
3 a3
|
||||
DROP TABLE testdb_wl5522.t1_fk,testdb_wl5522.t1;
|
||||
SET AUTOCOMMIT = 1;
|
||||
CREATE TABLE testdb_wl5522.t1 (
|
||||
col_1_int int,col_2_varchar VARCHAR (20),
|
||||
PRIMARY KEY (col_2_varchar)) ENGINE = Innodb;
|
||||
SET AUTOCOMMIT = 0;
|
||||
INSERT INTO testdb_wl5522.t1 VALUES (1,'a1'),(2,'a2');
|
||||
SELECT * FROM testdb_wl5522.t1;
|
||||
col_1_int col_2_varchar
|
||||
1 a1
|
||||
2 a2
|
||||
COMMIT;
|
||||
INSERT INTO testdb_wl5522.t1 VALUES (3,'a3'),(4,'a4');
|
||||
ROLLBACK;
|
||||
INSERT INTO testdb_wl5522.t1 VALUES (5,'a5'),(6,'a6');
|
||||
COMMIT;
|
||||
SELECT * FROM testdb_wl5522.t1 ORDER BY col_1_int;
|
||||
col_1_int col_2_varchar
|
||||
1 a1
|
||||
2 a2
|
||||
5 a5
|
||||
6 a6
|
||||
FLUSH TABLES testdb_wl5522.t1 FOR EXPORT;
|
||||
backup: t1
|
||||
UNLOCK TABLES;
|
||||
DROP TABLE testdb_wl5522.t1;
|
||||
CREATE TABLE testdb_wl5522.t1 (
|
||||
col_1_int int,col_2_varchar VARCHAR (20),
|
||||
PRIMARY KEY (col_2_varchar)) ENGINE = Innodb;
|
||||
ALTER TABLE testdb_wl5522.t1 DISCARD TABLESPACE;
|
||||
SET AUTOCOMMIT = 0;
|
||||
restore: t1 .ibd and .cfg files
|
||||
ALTER TABLE testdb_wl5522.t1 IMPORT TABLESPACE;
|
||||
INSERT INTO testdb_wl5522.t1 VALUES (7,'a7'),(8,'a8');
|
||||
COMMIT;
|
||||
INSERT INTO testdb_wl5522.t1 VALUES (9,'a9'),(10,'a10');
|
||||
ROLLBACK;
|
||||
INSERT INTO testdb_wl5522.t1 VALUES (11,'a11'),(12,'a12');
|
||||
COMMIT;
|
||||
SELECT * FROM testdb_wl5522.t1 ORDER BY col_1_int;
|
||||
col_1_int col_2_varchar
|
||||
1 a1
|
||||
2 a2
|
||||
5 a5
|
||||
6 a6
|
||||
7 a7
|
||||
8 a8
|
||||
11 a11
|
||||
12 a12
|
||||
SET AUTOCOMMIT = 1;
|
||||
DROP TABLE testdb_wl5522.t1;
|
||||
CREATE TABLE testdb_wl5522.t1 ( i int ) ENGINE = Innodb;
|
||||
INSERT INTO testdb_wl5522.t1 VALUES (100),(200),(300);
|
||||
SELECT * FROM testdb_wl5522.t1 ORDER BY i;
|
||||
i
|
||||
100
|
||||
200
|
||||
300
|
||||
FLUSH TABLES testdb_wl5522.t1 FOR EXPORT;
|
||||
backup: t1
|
||||
UNLOCK TABLES;
|
||||
DROP TABLE testdb_wl5522.t1;
|
||||
CREATE TABLE testdb_wl5522.t1 ( i int ) ENGINE = Innodb;
|
||||
ALTER TABLE testdb_wl5522.t1 DISCARD TABLESPACE;
|
||||
restore: t1 .ibd and .cfg files
|
||||
ALTER TABLE testdb_wl5522.t1 IMPORT TABLESPACE;
|
||||
SELECT * FROM testdb_wl5522.t1 ORDER BY i;
|
||||
i
|
||||
100
|
||||
200
|
||||
300
|
||||
SET AUTOCOMMIT = 0;
|
||||
INSERT INTO testdb_wl5522.t1 VALUES (101),(102),(103);
|
||||
COMMIT;
|
||||
SELECT * FROM testdb_wl5522.t1 ORDER BY i;
|
||||
i
|
||||
100
|
||||
101
|
||||
102
|
||||
103
|
||||
200
|
||||
300
|
||||
SET AUTOCOMMIT = 1;
|
||||
DROP TABLE testdb_wl5522.t1;
|
||||
CREATE TABLE testdb_wl5522.t1 ( i int ) ENGINE = Innodb;
|
||||
INSERT INTO testdb_wl5522.t1 VALUES (100),(200),(300);
|
||||
SELECT * FROM testdb_wl5522.t1 ORDER BY i;
|
||||
i
|
||||
100
|
||||
200
|
||||
300
|
||||
FLUSH TABLES testdb_wl5522.t1 FOR EXPORT;
|
||||
backup: t1
|
||||
UNLOCK TABLES;
|
||||
FLUSH TABLES testdb_wl5522.t1 FOR EXPORT;
|
||||
UNLOCK TABLES;
|
||||
DROP TABLE testdb_wl5522.t1;
|
||||
CREATE TABLE testdb_wl5522.t1 ( i bigint) ENGINE = Innodb;
|
||||
ALTER TABLE testdb_wl5522.t1 DISCARD TABLESPACE;
|
||||
restore: t1 .ibd and .cfg files
|
||||
ALTER TABLE testdb_wl5522.t1 IMPORT TABLESPACE;
|
||||
ERROR HY000: Schema mismatch (Column i precise type mismatch.)
|
||||
unlink: t1.ibd
|
||||
unlink: t1.cfg
|
||||
DROP TABLE testdb_wl5522.t1;
|
||||
CREATE TABLE testdb_wl5522.t1 ( i int ) ENGINE = Innodb;
|
||||
ALTER TABLE testdb_wl5522.t1 DISCARD TABLESPACE;
|
||||
restore: t1 .ibd and .cfg files
|
||||
ALTER TABLE testdb_wl5522.t1 IMPORT TABLESPACE;
|
||||
ALTER TABLE testdb_wl5522.t1 IMPORT TABLESPACE;
|
||||
ERROR HY000: Tablespace for table 't1' exists. Please DISCARD the tablespace before IMPORT.
|
||||
SELECT * FROM testdb_wl5522.t1 ORDER BY i;
|
||||
i
|
||||
100
|
||||
200
|
||||
300
|
||||
SET AUTOCOMMIT = 0;
|
||||
INSERT INTO testdb_wl5522.t1 VALUES (101),(102),(103);
|
||||
COMMIT;
|
||||
SELECT * FROM testdb_wl5522.t1 ORDER BY i;
|
||||
i
|
||||
100
|
||||
101
|
||||
102
|
||||
103
|
||||
200
|
||||
300
|
||||
DROP TABLE testdb_wl5522.t1;
|
||||
CREATE TABLE testdb_wl5522.t1 (i int) ENGINE = Innodb;
|
||||
ALTER TABLE testdb_wl5522.t1 DISCARD TABLESPACE;
|
||||
restore: t1 .ibd and .cfg files
|
||||
ALTER TABLE testdb_wl5522.t1 IMPORT TABLESPACE;
|
||||
DROP TABLE testdb_wl5522.t1;
|
||||
SET AUTOCOMMIT = 1;
|
||||
CREATE TABLE testdb_wl5522.t1 (c1 INT ) ENGINE = Innodb;
|
||||
SET AUTOCOMMIT = 0;
|
||||
INSERT INTO testdb_wl5522.t1 VALUES (1),(123),(331);
|
||||
SELECT c1 FROM testdb_wl5522.t1;
|
||||
c1
|
||||
1
|
||||
123
|
||||
331
|
||||
ROLLBACK;
|
||||
FLUSH TABLES testdb_wl5522.t1 FOR EXPORT;
|
||||
backup: t1
|
||||
UNLOCK TABLES;
|
||||
DROP TABLE testdb_wl5522.t1;
|
||||
CREATE TABLE testdb_wl5522.t1 (c1 INT ) ENGINE = Innodb;
|
||||
ALTER TABLE testdb_wl5522.t1 DISCARD TABLESPACE;
|
||||
restore: t1 .ibd and .cfg files
|
||||
ALTER TABLE testdb_wl5522.t1 IMPORT TABLESPACE;
|
||||
SELECT * FROM testdb_wl5522.t1 ORDER BY c1;
|
||||
c1
|
||||
DROP TABLE testdb_wl5522.t1;
|
||||
SET AUTOCOMMIT = 1;
|
||||
CREATE TABLE testdb_wl5522.t1 (col_1 CHAR (255) ,
|
||||
col_2 VARCHAR (255), col_3 VARCHAR (255),
|
||||
col_4 VARCHAR (255),col_5 VARCHAR (255),
|
||||
col_6 text (255), col_7 text (255),
|
||||
col_8 text (255),col_9 text (255),
|
||||
col_10 BLOB (255),col_11 BLOB (255),
|
||||
col_12 BLOB (255), col_13 BLOB (255),
|
||||
col_14 BLOB (255) , col_15 int ) ENGINE = innodb;
|
||||
CREATE INDEX prefix_idx ON testdb_wl5522.t1(
|
||||
col_1 (50),col_2 (50),col_3 (50),
|
||||
col_4 (50),col_5 (50),col_6 (50),
|
||||
col_7 (50),col_8 (50),col_9 (50),
|
||||
col_10 (50),col_11 (50),col_12 (50),
|
||||
col_13(50));
|
||||
INSERT INTO testdb_wl5522.t1 VALUES (
|
||||
REPEAT("col1_00001",10),REPEAT("col2_00001",10),REPEAT("col3_00001",10),
|
||||
REPEAT("col4_00001",10),REPEAT("col5_00001",10),REPEAT("col6_00001",10),
|
||||
REPEAT("col7_00001",10),REPEAT("col8_00001",10),REPEAT("col9_00001",10),
|
||||
REPEAT("col10_00001",10),REPEAT("col11_00001",10),REPEAT("col12_00001",10),
|
||||
REPEAT("col13_00001",10),REPEAT("col14_00001",10),1);
|
||||
SELECT
|
||||
col_1 = REPEAT("col1_00001",10),
|
||||
col_2 = REPEAT("col2_00001",10),
|
||||
col_3 = REPEAT("col3_00001",10),
|
||||
col_4 = REPEAT("col4_00001",10),
|
||||
col_5 = REPEAT("col5_00001",10),
|
||||
col_6 = REPEAT("col6_00001",10),
|
||||
col_7 = REPEAT("col7_00001",10),
|
||||
col_8 = REPEAT("col8_00001",10),
|
||||
col_9 = REPEAT("col9_00001",10),
|
||||
col_10 = REPEAT("col10_00001",10),
|
||||
col_11 = REPEAT("col11_00001",10),
|
||||
col_12 = REPEAT("col12_00001",10),
|
||||
col_13 = REPEAT("col13_00001",10),
|
||||
col_14 = REPEAT("col14_00001",10),
|
||||
col_15
|
||||
FROM testdb_wl5522.t1;
|
||||
col_1 = REPEAT("col1_00001",10) col_2 = REPEAT("col2_00001",10) col_3 = REPEAT("col3_00001",10) col_4 = REPEAT("col4_00001",10) col_5 = REPEAT("col5_00001",10) col_6 = REPEAT("col6_00001",10) col_7 = REPEAT("col7_00001",10) col_8 = REPEAT("col8_00001",10) col_9 = REPEAT("col9_00001",10) col_10 = REPEAT("col10_00001",10) col_11 = REPEAT("col11_00001",10) col_12 = REPEAT("col12_00001",10) col_13 = REPEAT("col13_00001",10) col_14 = REPEAT("col14_00001",10) col_15
|
||||
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
|
||||
FLUSH TABLES testdb_wl5522.t1 FOR EXPORT;
|
||||
backup: t1
|
||||
UNLOCK TABLES;
|
||||
DROP TABLE testdb_wl5522.t1;
|
||||
CREATE TABLE testdb_wl5522.t1 (col_1 CHAR (255) ,
|
||||
col_2 VARCHAR (255), col_3 VARCHAR (255),
|
||||
col_4 VARCHAR (255),col_5 VARCHAR (255),
|
||||
col_6 text (255), col_7 text (255),
|
||||
col_8 text (255),col_9 text (255),
|
||||
col_10 BLOB (255),col_11 BLOB (255),
|
||||
col_12 BLOB (255), col_13 BLOB (255),
|
||||
col_14 BLOB (255) , col_15 int ) ENGINE = innodb;
|
||||
CREATE INDEX prefix_idx ON testdb_wl5522.t1(
|
||||
col_1 (50),col_2 (50),col_3 (50),
|
||||
col_4 (50),col_5 (50),col_6 (50),
|
||||
col_7 (50),col_8 (50),col_9 (50),
|
||||
col_10 (50),col_11 (50),col_12 (50),
|
||||
col_13(50));
|
||||
ALTER TABLE testdb_wl5522.t1 DISCARD TABLESPACE;
|
||||
restore: t1 .ibd and .cfg files
|
||||
ALTER TABLE testdb_wl5522.t1 IMPORT TABLESPACE;
|
||||
SELECT
|
||||
col_1 = REPEAT("col1_00001",10),
|
||||
col_2 = REPEAT("col2_00001",10),
|
||||
col_3 = REPEAT("col3_00001",10),
|
||||
col_4 = REPEAT("col4_00001",10),
|
||||
col_5 = REPEAT("col5_00001",10),
|
||||
col_6 = REPEAT("col6_00001",10),
|
||||
col_7 = REPEAT("col7_00001",10),
|
||||
col_8 = REPEAT("col8_00001",10),
|
||||
col_9 = REPEAT("col9_00001",10),
|
||||
col_10 = REPEAT("col10_00001",10),
|
||||
col_11 = REPEAT("col11_00001",10),
|
||||
col_12 = REPEAT("col12_00001",10),
|
||||
col_13 = REPEAT("col13_00001",10),
|
||||
col_14 = REPEAT("col14_00001",10),
|
||||
col_15
|
||||
FROM testdb_wl5522.t1;
|
||||
col_1 = REPEAT("col1_00001",10) col_2 = REPEAT("col2_00001",10) col_3 = REPEAT("col3_00001",10) col_4 = REPEAT("col4_00001",10) col_5 = REPEAT("col5_00001",10) col_6 = REPEAT("col6_00001",10) col_7 = REPEAT("col7_00001",10) col_8 = REPEAT("col8_00001",10) col_9 = REPEAT("col9_00001",10) col_10 = REPEAT("col10_00001",10) col_11 = REPEAT("col11_00001",10) col_12 = REPEAT("col12_00001",10) col_13 = REPEAT("col13_00001",10) col_14 = REPEAT("col14_00001",10) col_15
|
||||
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
|
||||
DROP TABLE testdb_wl5522.t1;
|
||||
CREATE TABLE testdb_wl5522.t1 (col_1 CHAR (255) ,
|
||||
col_2 VARCHAR (255), col_3 VARCHAR (255),
|
||||
col_4 VARCHAR (255),col_5 VARCHAR (255),
|
||||
col_6 text (255), col_7 text (255),
|
||||
col_8 text (255),col_9 text (255),
|
||||
col_10 BLOB (255),col_11 BLOB (255),
|
||||
col_12 BLOB (255), col_13 BLOB (255),
|
||||
col_14 BLOB (255) , col_15 int ) ENGINE = innodb;
|
||||
CREATE INDEX idx1 ON testdb_wl5522.t1(col_1);
|
||||
CREATE INDEX idx2 ON testdb_wl5522.t1(col_2);
|
||||
CREATE INDEX idx3 ON testdb_wl5522.t1(col_3);
|
||||
CREATE INDEX idx4 ON testdb_wl5522.t1(col_4);
|
||||
CREATE INDEX idx5 ON testdb_wl5522.t1(col_5);
|
||||
CREATE INDEX idx6 ON testdb_wl5522.t1(col_6(255));
|
||||
CREATE INDEX idx7 ON testdb_wl5522.t1(col_7(255));
|
||||
CREATE INDEX idx8 ON testdb_wl5522.t1(col_8(255));
|
||||
CREATE INDEX idx9 ON testdb_wl5522.t1(col_9(255));
|
||||
CREATE INDEX idx10 ON testdb_wl5522.t1(col_10(255));
|
||||
CREATE INDEX idx11 ON testdb_wl5522.t1(col_11(255));
|
||||
CREATE INDEX idx12 ON testdb_wl5522.t1(col_12(255));
|
||||
CREATE INDEX idx13 ON testdb_wl5522.t1(col_13(255));
|
||||
CREATE INDEX idx14 ON testdb_wl5522.t1(col_14(255));
|
||||
INSERT INTO testdb_wl5522.t1 VALUES (
|
||||
REPEAT("col1_00001",10),REPEAT("col2_00001",10),REPEAT("col3_00001",10),
|
||||
REPEAT("col4_00001",10),REPEAT("col5_00001",10),REPEAT("col6_00001",10),
|
||||
REPEAT("col7_00001",10),REPEAT("col8_00001",10),REPEAT("col9_00001",10),
|
||||
REPEAT("col10_00001",10),REPEAT("col11_00001",10),REPEAT("col12_00001",10),
|
||||
REPEAT("col13_00001",10),REPEAT("col14_00001",10),1);
|
||||
SELECT
|
||||
col_1 = REPEAT("col1_00001",10),
|
||||
col_2 = REPEAT("col2_00001",10),
|
||||
col_3 = REPEAT("col3_00001",10),
|
||||
col_4 = REPEAT("col4_00001",10),
|
||||
col_5 = REPEAT("col5_00001",10),
|
||||
col_6 = REPEAT("col6_00001",10),
|
||||
col_7 = REPEAT("col7_00001",10),
|
||||
col_8 = REPEAT("col8_00001",10),
|
||||
col_9 = REPEAT("col9_00001",10),
|
||||
col_10 = REPEAT("col10_00001",10),
|
||||
col_11 = REPEAT("col11_00001",10),
|
||||
col_12 = REPEAT("col12_00001",10),
|
||||
col_13 = REPEAT("col13_00001",10),
|
||||
col_14 = REPEAT("col14_00001",10),
|
||||
col_15
|
||||
FROM testdb_wl5522.t1;
|
||||
col_1 = REPEAT("col1_00001",10) col_2 = REPEAT("col2_00001",10) col_3 = REPEAT("col3_00001",10) col_4 = REPEAT("col4_00001",10) col_5 = REPEAT("col5_00001",10) col_6 = REPEAT("col6_00001",10) col_7 = REPEAT("col7_00001",10) col_8 = REPEAT("col8_00001",10) col_9 = REPEAT("col9_00001",10) col_10 = REPEAT("col10_00001",10) col_11 = REPEAT("col11_00001",10) col_12 = REPEAT("col12_00001",10) col_13 = REPEAT("col13_00001",10) col_14 = REPEAT("col14_00001",10) col_15
|
||||
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
|
||||
FLUSH TABLES testdb_wl5522.t1 FOR EXPORT;
|
||||
backup: t1
|
||||
UNLOCK TABLES;
|
||||
DROP TABLE testdb_wl5522.t1;
|
||||
CREATE TABLE testdb_wl5522.t1 (col_1 CHAR (255) ,
|
||||
col_2 VARCHAR (255), col_3 VARCHAR (255),
|
||||
col_4 VARCHAR (255),col_5 VARCHAR (255),
|
||||
col_6 text (255), col_7 text (255),
|
||||
col_8 text (255),col_9 text (255),
|
||||
col_10 BLOB (255),col_11 BLOB (255),
|
||||
col_12 BLOB (255), col_13 BLOB (255),
|
||||
col_14 BLOB (255) , col_15 int ) ENGINE = innodb;
|
||||
CREATE INDEX idx1 ON testdb_wl5522.t1(col_1);
|
||||
CREATE INDEX idx2 ON testdb_wl5522.t1(col_2);
|
||||
CREATE INDEX idx3 ON testdb_wl5522.t1(col_3);
|
||||
CREATE INDEX idx4 ON testdb_wl5522.t1(col_4);
|
||||
CREATE INDEX idx5 ON testdb_wl5522.t1(col_5);
|
||||
CREATE INDEX idx6 ON testdb_wl5522.t1(col_6(255));
|
||||
CREATE INDEX idx7 ON testdb_wl5522.t1(col_7(255));
|
||||
CREATE INDEX idx8 ON testdb_wl5522.t1(col_8(255));
|
||||
CREATE INDEX idx9 ON testdb_wl5522.t1(col_9(255));
|
||||
CREATE INDEX idx10 ON testdb_wl5522.t1(col_10(255));
|
||||
CREATE INDEX idx11 ON testdb_wl5522.t1(col_11(255));
|
||||
CREATE INDEX idx12 ON testdb_wl5522.t1(col_12(255));
|
||||
CREATE INDEX idx13 ON testdb_wl5522.t1(col_13(255));
|
||||
CREATE INDEX idx14 ON testdb_wl5522.t1(col_14(255));
|
||||
ALTER TABLE testdb_wl5522.t1 DISCARD TABLESPACE;
|
||||
restore: t1 .ibd and .cfg files
|
||||
ALTER TABLE testdb_wl5522.t1 IMPORT TABLESPACE;
|
||||
SELECT
|
||||
col_1 = REPEAT("col1_00001",10),
|
||||
col_2 = REPEAT("col2_00001",10),
|
||||
col_3 = REPEAT("col3_00001",10),
|
||||
col_4 = REPEAT("col4_00001",10),
|
||||
col_5 = REPEAT("col5_00001",10),
|
||||
col_6 = REPEAT("col6_00001",10),
|
||||
col_7 = REPEAT("col7_00001",10),
|
||||
col_8 = REPEAT("col8_00001",10),
|
||||
col_9 = REPEAT("col9_00001",10),
|
||||
col_10 = REPEAT("col10_00001",10),
|
||||
col_11 = REPEAT("col11_00001",10),
|
||||
col_12 = REPEAT("col12_00001",10),
|
||||
col_13 = REPEAT("col13_00001",10),
|
||||
col_14 = REPEAT("col14_00001",10),
|
||||
col_15
|
||||
FROM testdb_wl5522.t1;
|
||||
col_1 = REPEAT("col1_00001",10) col_2 = REPEAT("col2_00001",10) col_3 = REPEAT("col3_00001",10) col_4 = REPEAT("col4_00001",10) col_5 = REPEAT("col5_00001",10) col_6 = REPEAT("col6_00001",10) col_7 = REPEAT("col7_00001",10) col_8 = REPEAT("col8_00001",10) col_9 = REPEAT("col9_00001",10) col_10 = REPEAT("col10_00001",10) col_11 = REPEAT("col11_00001",10) col_12 = REPEAT("col12_00001",10) col_13 = REPEAT("col13_00001",10) col_14 = REPEAT("col14_00001",10) col_15
|
||||
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
|
||||
SET AUTOCOMMIT = 0;
|
||||
INSERT INTO testdb_wl5522.t1(col_15) VALUES (15000),(16000);
|
||||
SELECT col_15 FROM testdb_wl5522.t1 WHERE col_15 > 11000;
|
||||
col_15
|
||||
15000
|
||||
16000
|
||||
ROLLBACK;
|
||||
SELECT col_15 FROM testdb_wl5522.t1 WHERE col_15 > 11000;
|
||||
col_15
|
||||
INSERT INTO testdb_wl5522.t1(col_15) VALUES (15000),(16000);
|
||||
COMMIT;
|
||||
SELECT col_15 FROM testdb_wl5522.t1 WHERE col_15 > 11000;
|
||||
col_15
|
||||
15000
|
||||
16000
|
||||
ALTER TABLE testdb_wl5522.t1 DROP INDEX idx1;
|
||||
ALTER TABLE testdb_wl5522.t1 DROP INDEX idx6;
|
||||
ALTER TABLE testdb_wl5522.t1 DROP INDEX idx10;
|
||||
SELECT
|
||||
col_1 = REPEAT("col1_00001",10),
|
||||
col_2 = REPEAT("col2_00001",10),
|
||||
col_3 = REPEAT("col3_00001",10),
|
||||
col_4 = REPEAT("col4_00001",10),
|
||||
col_5 = REPEAT("col5_00001",10),
|
||||
col_6 = REPEAT("col6_00001",10),
|
||||
col_7 = REPEAT("col7_00001",10),
|
||||
col_8 = REPEAT("col8_00001",10),
|
||||
col_9 = REPEAT("col9_00001",10),
|
||||
col_10 = REPEAT("col10_00001",10),
|
||||
col_11 = REPEAT("col11_00001",10),
|
||||
col_12 = REPEAT("col12_00001",10),
|
||||
col_13 = REPEAT("col13_00001",10),
|
||||
col_14 = REPEAT("col14_00001",10),
|
||||
col_15
|
||||
FROM testdb_wl5522.t1;
|
||||
col_1 = REPEAT("col1_00001",10) col_2 = REPEAT("col2_00001",10) col_3 = REPEAT("col3_00001",10) col_4 = REPEAT("col4_00001",10) col_5 = REPEAT("col5_00001",10) col_6 = REPEAT("col6_00001",10) col_7 = REPEAT("col7_00001",10) col_8 = REPEAT("col8_00001",10) col_9 = REPEAT("col9_00001",10) col_10 = REPEAT("col10_00001",10) col_11 = REPEAT("col11_00001",10) col_12 = REPEAT("col12_00001",10) col_13 = REPEAT("col13_00001",10) col_14 = REPEAT("col14_00001",10) col_15
|
||||
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
|
||||
NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 15000
|
||||
NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 16000
|
||||
ALTER TABLE testdb_wl5522.t1 ADD INDEX idx1 (col_1);
|
||||
ALTER TABLE testdb_wl5522.t1 ADD INDEX idx6 (col_1(255));
|
||||
ALTER TABLE testdb_wl5522.t1 ADD INDEX idx10 (col_10(255));
|
||||
SELECT
|
||||
col_1 = REPEAT("col1_00001",10),
|
||||
col_2 = REPEAT("col2_00001",10),
|
||||
col_3 = REPEAT("col3_00001",10),
|
||||
col_4 = REPEAT("col4_00001",10),
|
||||
col_5 = REPEAT("col5_00001",10),
|
||||
col_6 = REPEAT("col6_00001",10),
|
||||
col_7 = REPEAT("col7_00001",10),
|
||||
col_8 = REPEAT("col8_00001",10),
|
||||
col_9 = REPEAT("col9_00001",10),
|
||||
col_10 = REPEAT("col10_00001",10),
|
||||
col_11 = REPEAT("col11_00001",10),
|
||||
col_12 = REPEAT("col12_00001",10),
|
||||
col_13 = REPEAT("col13_00001",10),
|
||||
col_14 = REPEAT("col14_00001",10),
|
||||
col_15
|
||||
FROM testdb_wl5522.t1;
|
||||
col_1 = REPEAT("col1_00001",10) col_2 = REPEAT("col2_00001",10) col_3 = REPEAT("col3_00001",10) col_4 = REPEAT("col4_00001",10) col_5 = REPEAT("col5_00001",10) col_6 = REPEAT("col6_00001",10) col_7 = REPEAT("col7_00001",10) col_8 = REPEAT("col8_00001",10) col_9 = REPEAT("col9_00001",10) col_10 = REPEAT("col10_00001",10) col_11 = REPEAT("col11_00001",10) col_12 = REPEAT("col12_00001",10) col_13 = REPEAT("col13_00001",10) col_14 = REPEAT("col14_00001",10) col_15
|
||||
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
|
||||
NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 15000
|
||||
NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 16000
|
||||
DROP TABLE testdb_wl5522.t1;
|
||||
SET AUTOCOMMIT = 1;
|
||||
CREATE TABLE testdb_wl5522.t1(col1 bit(1) ,
|
||||
col2 boolean,col3 tinyint , col4 smallint ,
|
||||
col5 mediumint ,col6 int , col7 bigint ,
|
||||
col8 float (14,3) ,col9 double (14,3),
|
||||
col10 VARCHAR(20) CHARACTER SET utf8 ,
|
||||
col11 TEXT CHARACTER SET binary ,
|
||||
col12 ENUM('a','b','c') CHARACTER SET binary,
|
||||
col13 TEXT CHARACTER SET latin1 COLLATE latin1_general_cs ,
|
||||
col14 CHAR(20) , col15 VARBINARY (400),
|
||||
col16 BINARY(40), col17 BLOB (400),
|
||||
col18 int not null primary key,
|
||||
col19 DATE ,col20 DATETIME , col21 TIMESTAMP ,
|
||||
col22 TIME , col23 YEAR ) ENGINE = Innodb;
|
||||
CREATE TABLE testdb_wl5522.trigger_table ( i int ) ENGINE = Innodb;
|
||||
CREATE TRIGGER testdb_wl5522.tri AFTER INSERT ON testdb_wl5522.t1
|
||||
FOR EACH ROW INSERT INTO testdb_wl5522.trigger_table VALUES(NEW.col18);
|
||||
CREATE OR REPLACE VIEW testdb_wl5522.VW1 AS SELECT * FROM testdb_wl5522.t1;
|
||||
CREATE INDEX idx1 ON testdb_wl5522.t1(col18);
|
||||
CREATE INDEX prefix_idx ON testdb_wl5522.t1(col14 (10));
|
||||
CREATE UNIQUE INDEX idx2 ON testdb_wl5522.t1(col12);
|
||||
CREATE UNIQUE INDEX idx3 ON testdb_wl5522.t1(col8);
|
||||
INSERT INTO testdb_wl5522.t1 VALUES (
|
||||
1,1,-128,32767,-8388608,2147483647,-9223372036854775808,92233720368.222,
|
||||
-92233720368.222,'aaa','aaaaaaaaaa','b','bbbbb','ccccc',REPEAT('d',40),
|
||||
REPEAT('d',40),REPEAT('d',40),1,'1000-01-01','3000-12-31 23:59:59.99',
|
||||
'1990-01-01 00:00:01.00','01:59:59.00','1901');
|
||||
INSERT INTO testdb_wl5522.t1 VALUES (
|
||||
NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,
|
||||
NULL,NULL,3,NULL,NULL,NULL,NULL,NULL);
|
||||
INSERT INTO testdb_wl5522.t1 VALUES (
|
||||
NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,
|
||||
NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
|
||||
ERROR 23000: Column 'col18' cannot be null
|
||||
INSERT INTO testdb_wl5522.t1 VALUES (
|
||||
NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,
|
||||
NULL,NULL,1,NULL,NULL,NULL,NULL,NULL);
|
||||
ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
|
||||
SELECT COUNT(*) FROM testdb_wl5522.t1;
|
||||
COUNT(*)
|
||||
2
|
||||
SELECT * FROM testdb_wl5522.trigger_table;
|
||||
i
|
||||
1
|
||||
3
|
||||
SELECT COUNT(*) FROM testdb_wl5522.VW1;
|
||||
COUNT(*)
|
||||
2
|
||||
FLUSH TABLES testdb_wl5522.t1 FOR EXPORT;
|
||||
backup: t1
|
||||
UNLOCK TABLES;
|
||||
DROP TABLE testdb_wl5522.t1;
|
||||
CREATE TABLE testdb_wl5522.t1(col1 bit(1) ,
|
||||
col2 boolean,col3 tinyint , col4 smallint ,
|
||||
col5 mediumint ,col6 int , col7 bigint ,
|
||||
col8 float (14,3) ,col9 double (14,3),
|
||||
col10 VARCHAR(20) CHARACTER SET utf8 ,
|
||||
col11 TEXT CHARACTER SET binary ,
|
||||
col12 ENUM('a','b','c') CHARACTER SET binary,
|
||||
col13 TEXT CHARACTER SET latin1 COLLATE latin1_general_cs ,
|
||||
col14 CHAR(20) , col15 VARBINARY (400),
|
||||
col16 BINARY(40), col17 BLOB (400),
|
||||
col18 int not null primary key,
|
||||
col19 DATE ,col20 DATETIME , col21 TIMESTAMP ,
|
||||
col22 TIME , col23 YEAR ) ENGINE = Innodb;
|
||||
CREATE INDEX idx1 ON testdb_wl5522.t1(col18);
|
||||
CREATE INDEX prefix_idx ON testdb_wl5522.t1(col14 (10));
|
||||
CREATE UNIQUE INDEX idx2 ON testdb_wl5522.t1(col12);
|
||||
CREATE UNIQUE INDEX idx3 ON testdb_wl5522.t1(col8);
|
||||
ALTER TABLE testdb_wl5522.t1 DISCARD TABLESPACE;
|
||||
restore: t1 .ibd and .cfg files
|
||||
ALTER TABLE testdb_wl5522.t1 IMPORT TABLESPACE;
|
||||
SELECT COUNT(*) FROM testdb_wl5522.t1;
|
||||
COUNT(*)
|
||||
2
|
||||
SELECT * FROM testdb_wl5522.trigger_table;
|
||||
i
|
||||
1
|
||||
3
|
||||
SELECT COUNT(*) FROM testdb_wl5522.VW1;
|
||||
COUNT(*)
|
||||
2
|
||||
INSERT INTO testdb_wl5522.t1(col18) VALUES (5);
|
||||
SELECT * FROM testdb_wl5522.trigger_table;
|
||||
i
|
||||
1
|
||||
3
|
||||
UPDATE testdb_wl5522.t1 SET col18=10 WHERE col18=1;
|
||||
SELECT COUNT(*) FROM testdb_wl5522.VW1;
|
||||
COUNT(*)
|
||||
3
|
||||
SELECT COUNT(*) FROM testdb_wl5522.t1 WHERE col18=10;
|
||||
COUNT(*)
|
||||
1
|
||||
ALTER TABLE testdb_wl5522.t1 ADD COLUMN col24 varbinary(40) default null;
|
||||
INSERT INTO testdb_wl5522.t1(col18,col24) VALUES (6,REPEAT('a',10));
|
||||
SELECT col24,col18 FROM testdb_wl5522.t1 WHERE col18 in (6,1,10) ORDER BY col18;
|
||||
col24 col18
|
||||
aaaaaaaaaa 6
|
||||
NULL 10
|
||||
ALTER TABLE testdb_wl5522.t1 DROP INDEX prefix_idx;
|
||||
SELECT col18,col14 FROM testdb_wl5522.t1 WHERE col14 like '_ccc%';
|
||||
col18 col14
|
||||
10 ccccc
|
||||
ALTER TABLE testdb_wl5522.t1 ADD INDEX prefix_idx (col24(10));
|
||||
SELECT col18,col24 FROM testdb_wl5522.t1 WHERE col24 like '_a_a%';
|
||||
col18 col24
|
||||
6 aaaaaaaaaa
|
||||
DROP TABLE testdb_wl5522.t1;
|
||||
DROP DATABASE testdb_wl5522;
|
||||
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: The table .* doesn't have a corresponding tablespace, it was discarded");
|
||||
SET GLOBAL INNODB_FILE_FORMAT=Antelope;
|
||||
SET GLOBAL INNODB_FILE_PER_TABLE=1;
|
580
mysql-test/suite/innodb/r/innodb-wl5522-debug-zip.result
Normal file
580
mysql-test/suite/innodb/r/innodb-wl5522-debug-zip.result
Normal file
@ -0,0 +1,580 @@
|
||||
SET GLOBAL innodb_file_per_table = 1;
|
||||
SELECT @@innodb_file_per_table;
|
||||
@@innodb_file_per_table
|
||||
1
|
||||
SET GLOBAL innodb_file_format = `Barracuda`;
|
||||
SELECT @@innodb_file_format;
|
||||
@@innodb_file_format
|
||||
Barracuda
|
||||
SET SESSION innodb_strict_mode=1;
|
||||
SELECT @@SESSION.innodb_strict_mode;
|
||||
@@SESSION.innodb_strict_mode
|
||||
1
|
||||
DROP DATABASE IF EXISTS test_wl5522;
|
||||
Warnings:
|
||||
Note 1008 Can't drop database 'test_wl5522'; database doesn't exist
|
||||
CREATE DATABASE test_wl5522;
|
||||
CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb
|
||||
ROW_FORMAT=COMPRESSED;
|
||||
INSERT INTO test_wl5522.t1 VALUES (1), (2), (3), (4);
|
||||
FLUSH TABLES test_wl5522.t1 FOR EXPORT;
|
||||
backup: t1
|
||||
UNLOCK TABLES;
|
||||
DROP TABLE test_wl5522.t1;
|
||||
CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb
|
||||
ROW_FORMAT=COMPRESSED;
|
||||
INSERT INTO test_wl5522.t1 VALUES (1);
|
||||
ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
|
||||
SELECT COUNT(*) FROM test_wl5522.t1;
|
||||
ERROR HY000: Tablespace has been discarded for table 't1'
|
||||
restore: t1 .ibd and .cfg files
|
||||
SET SESSION debug_dbug="+d,ib_import_before_commit_crash";
|
||||
SELECT * FROM test_wl5522.t1;
|
||||
ERROR HY000: Tablespace has been discarded for table 't1'
|
||||
ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
|
||||
ERROR HY000: Lost connection to MySQL server during query
|
||||
SET SESSION debug_dbug="-d,ib_import_before_commit_crash";
|
||||
SET SESSION debug_dbug="+d,ib_import_before_checkpoint_crash";
|
||||
SELECT COUNT(*) FROM test_wl5522.t1;
|
||||
ERROR HY000: Tablespace has been discarded for table 't1'
|
||||
ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
|
||||
ERROR HY000: Lost connection to MySQL server during query
|
||||
unlink: t1.ibd
|
||||
unlink: t1.cfg
|
||||
# Restart and reconnect to the server
|
||||
SET SESSION debug_dbug="-d,ib_import_before_checkpoint_crash";
|
||||
DROP TABLE test_wl5522.t1;
|
||||
SET GLOBAL innodb_file_per_table = 1;
|
||||
SELECT @@innodb_file_per_table;
|
||||
@@innodb_file_per_table
|
||||
1
|
||||
SET GLOBAL innodb_file_format = `Barracuda`;
|
||||
SELECT @@innodb_file_format;
|
||||
@@innodb_file_format
|
||||
Barracuda
|
||||
SET SESSION innodb_strict_mode=1;
|
||||
SELECT @@SESSION.innodb_strict_mode;
|
||||
@@SESSION.innodb_strict_mode
|
||||
1
|
||||
CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb
|
||||
ROW_FORMAT=COMPRESSED;
|
||||
ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
|
||||
restore: t1 .ibd and .cfg files
|
||||
ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
|
||||
CHECK TABLE test_wl5522.t1;
|
||||
Table Op Msg_type Msg_text
|
||||
test_wl5522.t1 check status OK
|
||||
SELECT COUNT(*) FROM test_wl5522.t1;
|
||||
COUNT(*)
|
||||
4
|
||||
INSERT INTO test_wl5522.t1 VALUES(400), (500), (600);
|
||||
SELECT * FROM test_wl5522.t1;
|
||||
c1
|
||||
1
|
||||
2
|
||||
3
|
||||
4
|
||||
400
|
||||
500
|
||||
600
|
||||
DROP TABLE test_wl5522.t1;
|
||||
CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb
|
||||
ROW_FORMAT=COMPRESSED;
|
||||
ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
|
||||
SELECT COUNT(*) FROM test_wl5522.t1;
|
||||
ERROR HY000: Tablespace has been discarded for table 't1'
|
||||
restore: t1 .ibd and .cfg files
|
||||
SET SESSION debug_dbug="+d,ib_import_internal_error";
|
||||
ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
|
||||
ERROR HY000: Internal error: While updating the <space, root page number> of index "GEN_CLUST_INDEX" - Generic error
|
||||
SET SESSION debug_dbug="-d,ib_import_internal_error";
|
||||
restore: t1 .ibd and .cfg files
|
||||
ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
|
||||
DROP TABLE test_wl5522.t1;
|
||||
CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb
|
||||
ROW_FORMAT=COMPRESSED;
|
||||
ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
|
||||
SELECT COUNT(*) FROM test_wl5522.t1;
|
||||
ERROR HY000: Tablespace has been discarded for table 't1'
|
||||
restore: t1 .ibd and .cfg files
|
||||
SET SESSION debug_dbug="+d,ib_import_reset_space_and_lsn_failure";
|
||||
ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
|
||||
ERROR HY000: Internal error: Cannot reset LSNs in table '"test_wl5522"."t1"' : Too many concurrent transactions
|
||||
restore: t1 .ibd and .cfg files
|
||||
SET SESSION debug_dbug="-d,ib_import_reset_space_and_lsn_failure";
|
||||
SET SESSION debug_dbug="+d,ib_import_open_tablespace_failure";
|
||||
ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
|
||||
ERROR HY000: Got error 44 'Tablespace not found' from ./test_wl5522/t1.ibd
|
||||
SET SESSION debug_dbug="-d,ib_import_open_tablespace_failure";
|
||||
restore: t1 .ibd and .cfg files
|
||||
SET SESSION debug_dbug="+d,ib_import_check_bitmap_failure";
|
||||
ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
|
||||
ERROR HY000: Incorrect key file for table 't1'; try to repair it
|
||||
SET SESSION debug_dbug="-d,ib_import_check_bitmap_failure";
|
||||
restore: t1 .ibd and .cfg files
|
||||
SET SESSION debug_dbug="+d,ib_import_cluster_root_adjust_failure";
|
||||
ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
|
||||
ERROR HY000: Incorrect key file for table 't1'; try to repair it
|
||||
SET SESSION debug_dbug="-d,ib_import_cluster_root_adjust_failure";
|
||||
restore: t1 .ibd and .cfg files
|
||||
SET SESSION debug_dbug="+d,ib_import_cluster_failure";
|
||||
ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
|
||||
ERROR HY000: Incorrect key file for table 't1'; try to repair it
|
||||
SET SESSION debug_dbug="-d,ib_import_cluster_failure";
|
||||
restore: t1 .ibd and .cfg files
|
||||
SET SESSION debug_dbug="+d,ib_import_sec_root_adjust_failure";
|
||||
ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
|
||||
ERROR HY000: Incorrect key file for table 't1'; try to repair it
|
||||
SET SESSION debug_dbug="-d,ib_import_sec_root_adjust_failure";
|
||||
restore: t1 .ibd and .cfg files
|
||||
SET SESSION debug_dbug="+d,ib_import_set_max_rowid_failure";
|
||||
ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
|
||||
ERROR HY000: Incorrect key file for table 't1'; try to repair it
|
||||
SET SESSION debug_dbug="-d,ib_import_set_max_rowid_failure";
|
||||
unlink: t1.ibd
|
||||
unlink: t1.cfg
|
||||
DROP TABLE test_wl5522.t1;
|
||||
CREATE TABLE test_wl5522.t1 (
|
||||
c1 BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
c2 BIGINT,
|
||||
c3 VARCHAR(2048),
|
||||
c4 VARCHAR(2048),
|
||||
INDEX idx1(c2),
|
||||
INDEX idx2(c3(512)),
|
||||
INDEX idx3(c4(512))) Engine=InnoDB
|
||||
ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=8;
|
||||
SET GLOBAL INNODB_PURGE_STOP_NOW=ON;
|
||||
SET GLOBAL innodb_disable_background_merge=ON;
|
||||
SET GLOBAL innodb_monitor_reset = ibuf_merges;
|
||||
SET GLOBAL innodb_monitor_reset = ibuf_merges_insert;
|
||||
INSERT INTO test_wl5522.t1(c2, c3, c4) VALUES
|
||||
(1, REPEAT('a', 2048), REPEAT('a', 2048)),
|
||||
(2, REPEAT('b', 2048), REPEAT('b', 2048)),
|
||||
(3, REPEAT('c', 2048), REPEAT('c', 2048)),
|
||||
(4, REPEAT('d', 2048), REPEAT('d', 2048));
|
||||
INSERT INTO test_wl5522.t1(c2, c3, c4) SELECT c2, c3, c4 FROM test_wl5522.t1;
|
||||
INSERT INTO test_wl5522.t1(c2, c3, c4) SELECT c2, c3, c4 FROM test_wl5522.t1;
|
||||
INSERT INTO test_wl5522.t1(c2, c3, c4) SELECT c2, c3, c4 FROM test_wl5522.t1;
|
||||
INSERT INTO test_wl5522.t1(c2, c3, c4) SELECT c2, c3, c4 FROM test_wl5522.t1;
|
||||
INSERT INTO test_wl5522.t1(c2, c3, c4) SELECT c2, c3, c4 FROM test_wl5522.t1;
|
||||
DELETE FROM test_wl5522.t1 WHERE c2 = 1;
|
||||
UPDATE test_wl5522.t1 SET c2 = c2 + c1;
|
||||
UPDATE test_wl5522.t1 SET c2 = c2 + c1;
|
||||
UPDATE test_wl5522.t1 SET c2 = c2 + c1;
|
||||
UPDATE test_wl5522.t1 SET c2 = c2 + c1;
|
||||
UPDATE test_wl5522.t1 SET c2 = c2 + c1;
|
||||
UPDATE test_wl5522.t1 SET c2 = c2 + c1;
|
||||
UPDATE test_wl5522.t1 SET c2 = c2 + c1;
|
||||
UPDATE test_wl5522.t1 SET c2 = c2 + c1;
|
||||
UPDATE test_wl5522.t1 SET c2 = c2 + c1;
|
||||
UPDATE test_wl5522.t1 SET c2 = c2 + c1;
|
||||
UPDATE test_wl5522.t1 SET c2 = c2 + c1;
|
||||
UPDATE test_wl5522.t1 SET c2 = c2 + c1;
|
||||
UPDATE test_wl5522.t1 SET c2 = c2 + c1;
|
||||
UPDATE test_wl5522.t1 SET c2 = c2 + c1;
|
||||
UPDATE test_wl5522.t1 SET c2 = c2 + c1;
|
||||
UPDATE test_wl5522.t1 SET c3 = REPEAT("c2", 1024);
|
||||
UPDATE test_wl5522.t1 SET c4 = REPEAT("c4", 1024);
|
||||
SHOW CREATE TABLE test_wl5522.t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`c1` bigint(20) NOT NULL AUTO_INCREMENT,
|
||||
`c2` bigint(20) DEFAULT NULL,
|
||||
`c3` varchar(2048) DEFAULT NULL,
|
||||
`c4` varchar(2048) DEFAULT NULL,
|
||||
PRIMARY KEY (`c1`),
|
||||
KEY `idx1` (`c2`),
|
||||
KEY `idx2` (`c3`(512)),
|
||||
KEY `idx3` (`c4`(512))
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=248 DEFAULT CHARSET=latin1 ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=8
|
||||
SELECT c1, c2 FROM test_wl5522.t1;
|
||||
c1 c2
|
||||
2 32
|
||||
3 48
|
||||
4 64
|
||||
6 92
|
||||
7 108
|
||||
8 124
|
||||
13 197
|
||||
14 213
|
||||
15 229
|
||||
17 257
|
||||
18 273
|
||||
19 289
|
||||
28 422
|
||||
29 438
|
||||
30 454
|
||||
32 482
|
||||
33 498
|
||||
34 514
|
||||
36 542
|
||||
37 558
|
||||
38 574
|
||||
40 602
|
||||
41 618
|
||||
42 634
|
||||
59 887
|
||||
60 903
|
||||
61 919
|
||||
63 947
|
||||
64 963
|
||||
65 979
|
||||
67 1007
|
||||
68 1023
|
||||
69 1039
|
||||
71 1067
|
||||
72 1083
|
||||
73 1099
|
||||
75 1127
|
||||
76 1143
|
||||
77 1159
|
||||
79 1187
|
||||
80 1203
|
||||
81 1219
|
||||
83 1247
|
||||
84 1263
|
||||
85 1279
|
||||
87 1307
|
||||
88 1323
|
||||
89 1339
|
||||
122 1832
|
||||
123 1848
|
||||
124 1864
|
||||
126 1892
|
||||
127 1908
|
||||
128 1924
|
||||
130 1952
|
||||
131 1968
|
||||
132 1984
|
||||
134 2012
|
||||
135 2028
|
||||
136 2044
|
||||
138 2072
|
||||
139 2088
|
||||
140 2104
|
||||
142 2132
|
||||
143 2148
|
||||
144 2164
|
||||
146 2192
|
||||
147 2208
|
||||
148 2224
|
||||
150 2252
|
||||
151 2268
|
||||
152 2284
|
||||
154 2312
|
||||
155 2328
|
||||
156 2344
|
||||
158 2372
|
||||
159 2388
|
||||
160 2404
|
||||
162 2432
|
||||
163 2448
|
||||
164 2464
|
||||
166 2492
|
||||
167 2508
|
||||
168 2524
|
||||
170 2552
|
||||
171 2568
|
||||
172 2584
|
||||
174 2612
|
||||
175 2628
|
||||
176 2644
|
||||
178 2672
|
||||
179 2688
|
||||
180 2704
|
||||
182 2732
|
||||
183 2748
|
||||
184 2764
|
||||
SELECT COUNT(*) FROM test_wl5522.t1;
|
||||
COUNT(*)
|
||||
96
|
||||
SELECT SUM(c2) FROM test_wl5522.t1;
|
||||
SUM(c2)
|
||||
145278
|
||||
SELECT name
|
||||
FROM information_schema.innodb_metrics
|
||||
WHERE name = 'ibuf_merges_insert' AND count = 0;
|
||||
name
|
||||
FLUSH TABLES test_wl5522.t1 FOR EXPORT;
|
||||
backup: t1
|
||||
UNLOCK TABLES;
|
||||
SELECT name
|
||||
FROM information_schema.innodb_metrics
|
||||
WHERE name = 'ibuf_merges' AND count > 0;
|
||||
name
|
||||
ibuf_merges
|
||||
SELECT name
|
||||
FROM information_schema.innodb_metrics
|
||||
WHERE name = 'ibuf_merges_inserts' AND count > 0;
|
||||
name
|
||||
SET GLOBAL innodb_disable_background_merge=OFF;
|
||||
SET GLOBAL INNODB_PURGE_RUN_NOW=ON;
|
||||
DROP TABLE test_wl5522.t1;
|
||||
CREATE TABLE test_wl5522.t1 (
|
||||
c1 BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
c2 BIGINT,
|
||||
c3 VARCHAR(2048),
|
||||
c4 VARCHAR(2048),
|
||||
INDEX idx1(c2),
|
||||
INDEX idx2(c3(512)),
|
||||
INDEX idx3(c4(512))) Engine=InnoDB
|
||||
ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=8;
|
||||
SELECT c1, c2 FROM test_wl5522.t1;
|
||||
c1 c2
|
||||
ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
|
||||
restore: t1 .ibd and .cfg files
|
||||
ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
|
||||
CHECK TABLE test_wl5522.t1;
|
||||
Table Op Msg_type Msg_text
|
||||
test_wl5522.t1 check status OK
|
||||
SELECT c1,c2 FROM test_wl5522.t1;
|
||||
c1 c2
|
||||
2 32
|
||||
3 48
|
||||
4 64
|
||||
6 92
|
||||
7 108
|
||||
8 124
|
||||
13 197
|
||||
14 213
|
||||
15 229
|
||||
17 257
|
||||
18 273
|
||||
19 289
|
||||
28 422
|
||||
29 438
|
||||
30 454
|
||||
32 482
|
||||
33 498
|
||||
34 514
|
||||
36 542
|
||||
37 558
|
||||
38 574
|
||||
40 602
|
||||
41 618
|
||||
42 634
|
||||
59 887
|
||||
60 903
|
||||
61 919
|
||||
63 947
|
||||
64 963
|
||||
65 979
|
||||
67 1007
|
||||
68 1023
|
||||
69 1039
|
||||
71 1067
|
||||
72 1083
|
||||
73 1099
|
||||
75 1127
|
||||
76 1143
|
||||
77 1159
|
||||
79 1187
|
||||
80 1203
|
||||
81 1219
|
||||
83 1247
|
||||
84 1263
|
||||
85 1279
|
||||
87 1307
|
||||
88 1323
|
||||
89 1339
|
||||
122 1832
|
||||
123 1848
|
||||
124 1864
|
||||
126 1892
|
||||
127 1908
|
||||
128 1924
|
||||
130 1952
|
||||
131 1968
|
||||
132 1984
|
||||
134 2012
|
||||
135 2028
|
||||
136 2044
|
||||
138 2072
|
||||
139 2088
|
||||
140 2104
|
||||
142 2132
|
||||
143 2148
|
||||
144 2164
|
||||
146 2192
|
||||
147 2208
|
||||
148 2224
|
||||
150 2252
|
||||
151 2268
|
||||
152 2284
|
||||
154 2312
|
||||
155 2328
|
||||
156 2344
|
||||
158 2372
|
||||
159 2388
|
||||
160 2404
|
||||
162 2432
|
||||
163 2448
|
||||
164 2464
|
||||
166 2492
|
||||
167 2508
|
||||
168 2524
|
||||
170 2552
|
||||
171 2568
|
||||
172 2584
|
||||
174 2612
|
||||
175 2628
|
||||
176 2644
|
||||
178 2672
|
||||
179 2688
|
||||
180 2704
|
||||
182 2732
|
||||
183 2748
|
||||
184 2764
|
||||
SELECT COUNT(*) FROM test_wl5522.t1;
|
||||
COUNT(*)
|
||||
96
|
||||
SELECT SUM(c2) FROM test_wl5522.t1;
|
||||
SUM(c2)
|
||||
145278
|
||||
SHOW CREATE TABLE test_wl5522.t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`c1` bigint(20) NOT NULL AUTO_INCREMENT,
|
||||
`c2` bigint(20) DEFAULT NULL,
|
||||
`c3` varchar(2048) DEFAULT NULL,
|
||||
`c4` varchar(2048) DEFAULT NULL,
|
||||
PRIMARY KEY (`c1`),
|
||||
KEY `idx1` (`c2`),
|
||||
KEY `idx2` (`c3`(512)),
|
||||
KEY `idx3` (`c4`(512))
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=185 DEFAULT CHARSET=latin1 ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=8
|
||||
DROP TABLE test_wl5522.t1;
|
||||
CREATE TABLE test_wl5522.t1 (c1 INT, c2 VARCHAR(1024), c3 BLOB) ENGINE = Innodb
|
||||
ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=4;
|
||||
INSERT INTO test_wl5522.t1 VALUES
|
||||
(100, REPEAT('Karanbir', 899), REPEAT('Ajeeth', 1200));
|
||||
Warnings:
|
||||
Warning 1265 Data truncated for column 'c2' at row 1
|
||||
INSERT INTO test_wl5522.t1 SELECT * FROM test_wl5522.t1;
|
||||
INSERT INTO test_wl5522.t1 SELECT * FROM test_wl5522.t1;
|
||||
INSERT INTO test_wl5522.t1 SELECT * FROM test_wl5522.t1;
|
||||
INSERT INTO test_wl5522.t1 SELECT * FROM test_wl5522.t1;
|
||||
INSERT INTO test_wl5522.t1 SELECT * FROM test_wl5522.t1;
|
||||
INSERT INTO test_wl5522.t1 SELECT * FROM test_wl5522.t1;
|
||||
INSERT INTO test_wl5522.t1 SELECT * FROM test_wl5522.t1;
|
||||
INSERT INTO test_wl5522.t1 SELECT * FROM test_wl5522.t1;
|
||||
SELECT COUNT(*) FROM test_wl5522.t1;
|
||||
COUNT(*)
|
||||
256
|
||||
FLUSH TABLES test_wl5522.t1 FOR EXPORT;
|
||||
backup: t1
|
||||
UNLOCK TABLES;
|
||||
DROP TABLE test_wl5522.t1;
|
||||
CREATE TABLE test_wl5522.t1 (c1 INT, c2 VARCHAR(1024), c3 BLOB) ENGINE = Innodb
|
||||
ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=4;
|
||||
ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
|
||||
SELECT COUNT(*) FROM test_wl5522.t1;
|
||||
ERROR HY000: Tablespace has been discarded for table 't1'
|
||||
restore: t1 .ibd and .cfg files
|
||||
SET SESSION debug_dbug="+d,ib_import_trigger_corruption_1";
|
||||
ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
|
||||
ERROR HY000: Internal error: Cannot reset LSNs in table '"test_wl5522"."t1"' : Data structure corruption
|
||||
SET SESSION debug_dbug="-d,ib_import_trigger_corruption_1";
|
||||
DROP TABLE test_wl5522.t1;
|
||||
unlink: t1.ibd
|
||||
unlink: t1.cfg
|
||||
CREATE TABLE test_wl5522.t1 (c1 INT, c2 VARCHAR(1024), c3 BLOB) ENGINE = Innodb
|
||||
ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=4;
|
||||
ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
|
||||
SELECT COUNT(*) FROM test_wl5522.t1;
|
||||
ERROR HY000: Tablespace has been discarded for table 't1'
|
||||
restore: t1 .ibd and .cfg files
|
||||
SET SESSION debug_dbug="+d,buf_page_is_corrupt_failure";
|
||||
ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
|
||||
SET SESSION debug_dbug="-d,buf_page_is_corrupt_failure";
|
||||
DROP TABLE test_wl5522.t1;
|
||||
unlink: t1.ibd
|
||||
unlink: t1.cfg
|
||||
CREATE TABLE test_wl5522.t1 (c1 INT, c2 VARCHAR(1024), c3 BLOB) ENGINE = Innodb
|
||||
ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=4;
|
||||
ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
|
||||
SELECT COUNT(*) FROM test_wl5522.t1;
|
||||
ERROR HY000: Tablespace has been discarded for table 't1'
|
||||
restore: t1 .ibd and .cfg files
|
||||
SET SESSION debug_dbug="+d,ib_import_trigger_corruption_2";
|
||||
ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
|
||||
ERROR HY000: Index corrupt: Externally stored column(5) has a reference length of 19 in the cluster index "GEN_CLUST_INDEX"
|
||||
SET SESSION debug_dbug="-d,ib_import_trigger_corruption_2";
|
||||
DROP TABLE test_wl5522.t1;
|
||||
unlink: t1.ibd
|
||||
unlink: t1.cfg
|
||||
CREATE TABLE test_wl5522.t1 (c1 INT, c2 VARCHAR(1024), c3 BLOB) ENGINE = Innodb
|
||||
ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=4;
|
||||
ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
|
||||
SELECT COUNT(*) FROM test_wl5522.t1;
|
||||
ERROR HY000: Tablespace has been discarded for table 't1'
|
||||
restore: t1 .ibd and .cfg files
|
||||
SET SESSION debug_dbug="+d,ib_import_trigger_corruption_3";
|
||||
ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
|
||||
ERROR HY000: Incorrect key file for table 't1'; try to repair it
|
||||
SET SESSION debug_dbug="-d,ib_import_trigger_corruption_3";
|
||||
DROP TABLE test_wl5522.t1;
|
||||
unlink: t1.ibd
|
||||
unlink: t1.cfg
|
||||
CREATE TABLE test_wl5522.t1 (c1 INT, c2 VARCHAR(1024), c3 BLOB) ENGINE = Innodb
|
||||
ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=4;
|
||||
ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
|
||||
SELECT COUNT(*) FROM test_wl5522.t1;
|
||||
ERROR HY000: Tablespace has been discarded for table 't1'
|
||||
SET SESSION debug_dbug="+d,ib_import_create_index_failure_1";
|
||||
ALTER TABLE test_wl5522.t1 ADD INDEX idx(c1);
|
||||
Warnings:
|
||||
Warning 1814 Tablespace has been discarded for table 't1'
|
||||
SET SESSION debug_dbug="-d,ib_import_create_index_failure_1";
|
||||
DROP TABLE test_wl5522.t1;
|
||||
unlink: t1.ibd
|
||||
unlink: t1.cfg
|
||||
CREATE TABLE test_wl5522.t1 (c1 INT, c2 VARCHAR(1024), c3 BLOB) ENGINE = Innodb
|
||||
ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=4;
|
||||
ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
|
||||
SELECT COUNT(*) FROM test_wl5522.t1;
|
||||
ERROR HY000: Tablespace has been discarded for table 't1'
|
||||
restore: t1 .ibd and .cfg files
|
||||
SET SESSION debug_dbug="+d,fil_space_create_failure";
|
||||
ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
|
||||
ERROR HY000: Got error 11 'Generic error' from ./test_wl5522/t1.ibd
|
||||
SET SESSION debug_dbug="-d,fil_space_create_failure";
|
||||
DROP TABLE test_wl5522.t1;
|
||||
unlink: t1.ibd
|
||||
unlink: t1.cfg
|
||||
CREATE TABLE test_wl5522.t1 (c1 INT, c2 VARCHAR(1024), c3 BLOB) ENGINE = Innodb
|
||||
ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=4;
|
||||
ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
|
||||
SELECT COUNT(*) FROM test_wl5522.t1;
|
||||
ERROR HY000: Tablespace has been discarded for table 't1'
|
||||
restore: t1 .ibd and .cfg files
|
||||
SET SESSION debug_dbug="+d,dict_tf_to_fsp_flags_failure";
|
||||
ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
|
||||
ERROR HY000: Got error 39 'Data structure corruption' from ./test_wl5522/t1.ibd
|
||||
SET SESSION debug_dbug="-d,dict_tf_to_fsp_flags_failure";
|
||||
DROP TABLE test_wl5522.t1;
|
||||
unlink: t1.ibd
|
||||
unlink: t1.cfg
|
||||
CREATE TABLE test_wl5522.t1 (c1 INT, c2 VARCHAR(1024), c3 BLOB) ENGINE = Innodb
|
||||
ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=4;
|
||||
ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
|
||||
SELECT COUNT(*) FROM test_wl5522.t1;
|
||||
ERROR HY000: Tablespace has been discarded for table 't1'
|
||||
restore: t1 .ibd and .cfg files
|
||||
SET SESSION debug_dbug="+d,fsp_flags_is_valid_failure";
|
||||
ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
|
||||
ERROR HY000: Internal error: Cannot reset LSNs in table '"test_wl5522"."t1"' : Unsupported
|
||||
SET SESSION debug_dbug="-d,fsp_flags_is_valid_failure";
|
||||
DROP TABLE test_wl5522.t1;
|
||||
unlink: t1.ibd
|
||||
unlink: t1.cfg
|
||||
DROP DATABASE test_wl5522;
|
||||
set global innodb_monitor_disable = all;
|
||||
set global innodb_monitor_reset_all = all;
|
||||
set global innodb_monitor_enable = default;
|
||||
set global innodb_monitor_disable = default;
|
||||
set global innodb_monitor_reset = default;
|
||||
set global innodb_monitor_reset_all = default;
|
||||
SET GLOBAL INNODB_FILE_PER_TABLE=1;
|
||||
SET GLOBAL INNODB_FILE_FORMAT=Antelope;
|
||||
SET SESSION innodb_strict_mode=0;
|
925
mysql-test/suite/innodb/r/innodb-wl5522-debug.result
Normal file
925
mysql-test/suite/innodb/r/innodb-wl5522-debug.result
Normal file
@ -0,0 +1,925 @@
|
||||
SET GLOBAL innodb_file_per_table = 1;
|
||||
SELECT @@innodb_file_per_table;
|
||||
@@innodb_file_per_table
|
||||
1
|
||||
DROP DATABASE IF EXISTS test_wl5522;
|
||||
Warnings:
|
||||
Note 1008 Can't drop database 'test_wl5522'; database doesn't exist
|
||||
CREATE DATABASE test_wl5522;
|
||||
SET SESSION debug_dbug="+d,ib_discard_before_commit_crash";
|
||||
CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = InnoDB;
|
||||
INSERT INTO test_wl5522.t1 VALUES(1),(2),(3);
|
||||
ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
|
||||
ERROR HY000: Lost connection to MySQL server during query
|
||||
SET SESSION debug_dbug="-d,ib_discard_before_commit_crash";
|
||||
DROP TABLE test_wl5522.t1;
|
||||
SET GLOBAL innodb_file_per_table = 1;
|
||||
SELECT @@innodb_file_per_table;
|
||||
@@innodb_file_per_table
|
||||
1
|
||||
SET SESSION debug_dbug="+d,ib_discard_after_commit_crash";
|
||||
CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = InnoDB;
|
||||
INSERT INTO test_wl5522.t1 VALUES(1),(2),(3);
|
||||
ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
|
||||
ERROR HY000: Lost connection to MySQL server during query
|
||||
SET SESSION debug_dbug="-d,ib_discard_after_commit_crash";
|
||||
DROP TABLE test_wl5522.t1;
|
||||
SET GLOBAL innodb_file_per_table = 1;
|
||||
SELECT @@innodb_file_per_table;
|
||||
@@innodb_file_per_table
|
||||
1
|
||||
CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb;
|
||||
INSERT INTO test_wl5522.t1 VALUES (1), (2), (3), (4);
|
||||
FLUSH TABLES test_wl5522.t1 FOR EXPORT;
|
||||
backup: t1
|
||||
UNLOCK TABLES;
|
||||
DROP TABLE test_wl5522.t1;
|
||||
CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb;
|
||||
INSERT INTO test_wl5522.t1 VALUES (1);
|
||||
ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
|
||||
SELECT COUNT(*) FROM test_wl5522.t1;
|
||||
ERROR HY000: Tablespace has been discarded for table 't1'
|
||||
restore: t1 .ibd and .cfg files
|
||||
SET SESSION debug_dbug="+d,ib_import_before_commit_crash";
|
||||
SELECT * FROM test_wl5522.t1;
|
||||
ERROR HY000: Tablespace has been discarded for table 't1'
|
||||
ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
|
||||
ERROR HY000: Lost connection to MySQL server during query
|
||||
SET SESSION debug_dbug="-d,ib_import_before_commit_crash";
|
||||
SET SESSION debug_dbug="+d,ib_import_before_checkpoint_crash";
|
||||
SELECT COUNT(*) FROM test_wl5522.t1;
|
||||
ERROR HY000: Tablespace has been discarded for table 't1'
|
||||
ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
|
||||
ERROR HY000: Lost connection to MySQL server during query
|
||||
unlink: t1.ibd
|
||||
unlink: t1.cfg
|
||||
# Restart and reconnect to the server
|
||||
SET SESSION debug_dbug="-d,ib_import_before_checkpoint_crash";
|
||||
DROP TABLE test_wl5522.t1;
|
||||
SET GLOBAL innodb_file_per_table = 1;
|
||||
SELECT @@innodb_file_per_table;
|
||||
@@innodb_file_per_table
|
||||
1
|
||||
CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb;
|
||||
ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
|
||||
restore: t1 .ibd and .cfg files
|
||||
ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
|
||||
CHECK TABLE test_wl5522.t1;
|
||||
Table Op Msg_type Msg_text
|
||||
test_wl5522.t1 check status OK
|
||||
SELECT COUNT(*) FROM test_wl5522.t1;
|
||||
COUNT(*)
|
||||
4
|
||||
INSERT INTO test_wl5522.t1 VALUES(400), (500), (600);
|
||||
SELECT * FROM test_wl5522.t1;
|
||||
c1
|
||||
1
|
||||
2
|
||||
3
|
||||
4
|
||||
400
|
||||
500
|
||||
600
|
||||
DROP TABLE test_wl5522.t1;
|
||||
CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb;
|
||||
INSERT INTO test_wl5522.t1 VALUES (1);
|
||||
SET SESSION debug_dbug="+d,ib_export_io_write_failure_1";
|
||||
FLUSH TABLES test_wl5522.t1 FOR EXPORT;
|
||||
Warnings:
|
||||
Warning 1811 IO Write error: (9, Bad file descriptor) t1.cfg flush() failed
|
||||
Warning 1811 IO Write error: (9, Bad file descriptor) t1.cfg flose() failed
|
||||
UNLOCK TABLES;
|
||||
SET SESSION debug_dbug="-d,ib_export_io_write_failure_1";
|
||||
DROP TABLE test_wl5522.t1;
|
||||
CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb;
|
||||
INSERT INTO test_wl5522.t1 VALUES (1);
|
||||
SET SESSION debug_dbug="+d,ib_export_io_write_failure_2";
|
||||
FLUSH TABLES test_wl5522.t1 FOR EXPORT;
|
||||
Warnings:
|
||||
Warning 1811 IO Write error: (9, Bad file descriptor) t1.cfg flush() failed
|
||||
Warning 1811 IO Write error: (9, Bad file descriptor) t1.cfg flose() failed
|
||||
UNLOCK TABLES;
|
||||
SET SESSION debug_dbug="-d,ib_export_io_write_failure_2";
|
||||
DROP TABLE test_wl5522.t1;
|
||||
CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb;
|
||||
INSERT INTO test_wl5522.t1 VALUES (1);
|
||||
SET SESSION debug_dbug="+d,ib_export_io_write_failure_3";
|
||||
FLUSH TABLES test_wl5522.t1 FOR EXPORT;
|
||||
Warnings:
|
||||
Warning 1811 IO Write error: (9, Bad file descriptor) t1.cfg flush() failed
|
||||
Warning 1811 IO Write error: (9, Bad file descriptor) t1.cfg flose() failed
|
||||
UNLOCK TABLES;
|
||||
SET SESSION debug_dbug="-d,ib_export_io_write_failure_3";
|
||||
DROP TABLE test_wl5522.t1;
|
||||
CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb;
|
||||
INSERT INTO test_wl5522.t1 VALUES (1);
|
||||
SET SESSION debug_dbug="+d,ib_export_io_write_failure_4";
|
||||
FLUSH TABLES test_wl5522.t1 FOR EXPORT;
|
||||
Warnings:
|
||||
Warning 1811 IO Write error: (9, Bad file descriptor) t1.cfg flush() failed
|
||||
Warning 1811 IO Write error: (9, Bad file descriptor) t1.cfg flose() failed
|
||||
UNLOCK TABLES;
|
||||
SET SESSION debug_dbug="-d,ib_export_io_write_failure_4";
|
||||
DROP TABLE test_wl5522.t1;
|
||||
CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb;
|
||||
INSERT INTO test_wl5522.t1 VALUES (1);
|
||||
SET SESSION debug_dbug="+d,ib_export_io_write_failure_5";
|
||||
FLUSH TABLES test_wl5522.t1 FOR EXPORT;
|
||||
Warnings:
|
||||
Warning 1811 IO Write error: (9, Bad file descriptor) t1.cfg flush() failed
|
||||
Warning 1811 IO Write error: (9, Bad file descriptor) t1.cfg flose() failed
|
||||
UNLOCK TABLES;
|
||||
SET SESSION debug_dbug="-d,ib_export_io_write_failure_5";
|
||||
DROP TABLE test_wl5522.t1;
|
||||
CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb;
|
||||
INSERT INTO test_wl5522.t1 VALUES (1);
|
||||
SET SESSION debug_dbug="+d,ib_export_io_write_failure_6";
|
||||
FLUSH TABLES test_wl5522.t1 FOR EXPORT;
|
||||
Warnings:
|
||||
Warning 1811 IO Write error: (9, Bad file descriptor) t1.cfg flush() failed
|
||||
Warning 1811 IO Write error: (9, Bad file descriptor) t1.cfg flose() failed
|
||||
UNLOCK TABLES;
|
||||
SET SESSION debug_dbug="-d,ib_export_io_write_failure_6";
|
||||
DROP TABLE test_wl5522.t1;
|
||||
CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb;
|
||||
INSERT INTO test_wl5522.t1 VALUES (1);
|
||||
SET SESSION debug_dbug="+d,ib_export_io_write_failure_7";
|
||||
FLUSH TABLES test_wl5522.t1 FOR EXPORT;
|
||||
Warnings:
|
||||
Warning 1811 IO Write error: (9, Bad file descriptor) t1.cfg flush() failed
|
||||
Warning 1811 IO Write error: (9, Bad file descriptor) t1.cfg flose() failed
|
||||
UNLOCK TABLES;
|
||||
SET SESSION debug_dbug="-d,ib_export_io_write_failure_7";
|
||||
DROP TABLE test_wl5522.t1;
|
||||
CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb;
|
||||
INSERT INTO test_wl5522.t1 VALUES (1);
|
||||
SET SESSION debug_dbug="+d,ib_export_io_write_failure_8";
|
||||
FLUSH TABLES test_wl5522.t1 FOR EXPORT;
|
||||
Warnings:
|
||||
Warning 1811 IO Write error: (9, Bad file descriptor) t1.cfg flush() failed
|
||||
Warning 1811 IO Write error: (9, Bad file descriptor) t1.cfg flose() failed
|
||||
UNLOCK TABLES;
|
||||
SET SESSION debug_dbug="-d,ib_export_io_write_failure_8";
|
||||
DROP TABLE test_wl5522.t1;
|
||||
CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb;
|
||||
INSERT INTO test_wl5522.t1 VALUES (1);
|
||||
SET SESSION debug_dbug="+d,ib_export_io_write_failure_9";
|
||||
FLUSH TABLES test_wl5522.t1 FOR EXPORT;
|
||||
Warnings:
|
||||
Warning 1811 IO Write error: (9, Bad file descriptor) t1.cfg flush() failed
|
||||
Warning 1811 IO Write error: (9, Bad file descriptor) t1.cfg flose() failed
|
||||
UNLOCK TABLES;
|
||||
SET SESSION debug_dbug="-d,ib_export_io_write_failure_9";
|
||||
DROP TABLE test_wl5522.t1;
|
||||
CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb;
|
||||
INSERT INTO test_wl5522.t1 VALUES (1);
|
||||
SET SESSION debug_dbug="+d,ib_export_io_write_failure_10";
|
||||
FLUSH TABLES test_wl5522.t1 FOR EXPORT;
|
||||
Warnings:
|
||||
Warning 1811 IO Write error: (9, Bad file descriptor) t1.cfg flush() failed
|
||||
Warning 1811 IO Write error: (9, Bad file descriptor) t1.cfg flose() failed
|
||||
UNLOCK TABLES;
|
||||
SET SESSION debug_dbug="-d,ib_export_io_write_failure_10";
|
||||
DROP TABLE test_wl5522.t1;
|
||||
CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb;
|
||||
INSERT INTO test_wl5522.t1 VALUES (1);
|
||||
SET SESSION debug_dbug="+d,ib_export_io_write_failure_11";
|
||||
FLUSH TABLES test_wl5522.t1 FOR EXPORT;
|
||||
Warnings:
|
||||
Warning 1811 IO Write error: (9, Bad file descriptor) t1.cfg flush() failed
|
||||
Warning 1811 IO Write error: (9, Bad file descriptor) t1.cfg flose() failed
|
||||
UNLOCK TABLES;
|
||||
SET SESSION debug_dbug="-d,ib_export_io_write_failure_11";
|
||||
DROP TABLE test_wl5522.t1;
|
||||
CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb;
|
||||
INSERT INTO test_wl5522.t1 VALUES (1);
|
||||
SET SESSION debug_dbug="+d,ib_export_io_write_failure_12";
|
||||
FLUSH TABLES test_wl5522.t1 FOR EXPORT;
|
||||
Warnings:
|
||||
Warning 1811 IO Write error: (9, Bad file descriptor) t1.cfg flush() failed
|
||||
Warning 1811 IO Write error: (9, Bad file descriptor) t1.cfg flose() failed
|
||||
UNLOCK TABLES;
|
||||
SET SESSION debug_dbug="-d,ib_export_io_write_failure_12";
|
||||
DROP TABLE test_wl5522.t1;
|
||||
CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb;
|
||||
INSERT INTO test_wl5522.t1 VALUES (100), (200), (300);
|
||||
SELECT COUNT(*) FROM test_wl5522.t1;
|
||||
COUNT(*)
|
||||
3
|
||||
FLUSH TABLES test_wl5522.t1 FOR EXPORT;
|
||||
backup: t1
|
||||
UNLOCK TABLES;
|
||||
DROP TABLE test_wl5522.t1;
|
||||
CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb;
|
||||
INSERT INTO test_wl5522.t1 VALUES (1);
|
||||
ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
|
||||
SELECT COUNT(*) FROM test_wl5522.t1;
|
||||
ERROR HY000: Tablespace has been discarded for table 't1'
|
||||
SET SESSION debug_dbug="+d,ib_import_io_read_error_1";
|
||||
restore: t1 .cfg file
|
||||
ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
|
||||
ERROR HY000: IO Read error: while reading index fields.
|
||||
SET SESSION debug_dbug="-d,ib_import_io_read_error_1";
|
||||
DROP TABLE test_wl5522.t1;
|
||||
CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb;
|
||||
INSERT INTO test_wl5522.t1 VALUES (1);
|
||||
ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
|
||||
SELECT COUNT(*) FROM test_wl5522.t1;
|
||||
ERROR HY000: Tablespace has been discarded for table 't1'
|
||||
SET SESSION debug_dbug="+d,ib_import_io_read_error_2";
|
||||
restore: t1 .cfg file
|
||||
ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
|
||||
ERROR HY000: IO Read error: while reading index meta-data, expected to read 44 bytes but read only 0 bytes
|
||||
SET SESSION debug_dbug="-d,ib_import_io_read_error_2";
|
||||
DROP TABLE test_wl5522.t1;
|
||||
CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb;
|
||||
INSERT INTO test_wl5522.t1 VALUES (1);
|
||||
ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
|
||||
SELECT COUNT(*) FROM test_wl5522.t1;
|
||||
ERROR HY000: Tablespace has been discarded for table 't1'
|
||||
SET SESSION debug_dbug="+d,ib_import_io_read_error_3";
|
||||
restore: t1 .cfg file
|
||||
ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
|
||||
ERROR HY000: IO Read error: while reading number of indexes.
|
||||
SET SESSION debug_dbug="-d,ib_import_io_read_error_3";
|
||||
DROP TABLE test_wl5522.t1;
|
||||
CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb;
|
||||
INSERT INTO test_wl5522.t1 VALUES (1);
|
||||
ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
|
||||
SELECT COUNT(*) FROM test_wl5522.t1;
|
||||
ERROR HY000: Tablespace has been discarded for table 't1'
|
||||
SET SESSION debug_dbug="+d,ib_import_io_read_error_4";
|
||||
restore: t1 .cfg file
|
||||
ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
|
||||
ERROR HY000: IO Read error: while reading table column meta-data.
|
||||
SET SESSION debug_dbug="-d,ib_import_io_read_error_4";
|
||||
DROP TABLE test_wl5522.t1;
|
||||
CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb;
|
||||
INSERT INTO test_wl5522.t1 VALUES (1);
|
||||
ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
|
||||
SELECT COUNT(*) FROM test_wl5522.t1;
|
||||
ERROR HY000: Tablespace has been discarded for table 't1'
|
||||
SET SESSION debug_dbug="+d,ib_import_io_read_error_5";
|
||||
restore: t1 .cfg file
|
||||
ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
|
||||
ERROR HY000: IO Read error: while reading meta-data export hostname length.
|
||||
SET SESSION debug_dbug="-d,ib_import_io_read_error_5";
|
||||
DROP TABLE test_wl5522.t1;
|
||||
CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb;
|
||||
INSERT INTO test_wl5522.t1 VALUES (1);
|
||||
ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
|
||||
SELECT COUNT(*) FROM test_wl5522.t1;
|
||||
ERROR HY000: Tablespace has been discarded for table 't1'
|
||||
SET SESSION debug_dbug="+d,ib_import_io_read_error_6";
|
||||
restore: t1 .cfg file
|
||||
ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
|
||||
ERROR HY000: IO Read error: while reading meta-data table name length.
|
||||
SET SESSION debug_dbug="-d,ib_import_io_read_error_6";
|
||||
DROP TABLE test_wl5522.t1;
|
||||
CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb;
|
||||
INSERT INTO test_wl5522.t1 VALUES (1);
|
||||
ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
|
||||
SELECT COUNT(*) FROM test_wl5522.t1;
|
||||
ERROR HY000: Tablespace has been discarded for table 't1'
|
||||
SET SESSION debug_dbug="+d,ib_import_io_read_error_7";
|
||||
restore: t1 .cfg file
|
||||
ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
|
||||
ERROR HY000: IO Read error: while reading autoinc value.
|
||||
SET SESSION debug_dbug="-d,ib_import_io_read_error_7";
|
||||
DROP TABLE test_wl5522.t1;
|
||||
CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb;
|
||||
INSERT INTO test_wl5522.t1 VALUES (1);
|
||||
ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
|
||||
SELECT COUNT(*) FROM test_wl5522.t1;
|
||||
ERROR HY000: Tablespace has been discarded for table 't1'
|
||||
SET SESSION debug_dbug="+d,ib_import_io_read_error_8";
|
||||
restore: t1 .cfg file
|
||||
ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
|
||||
ERROR HY000: IO Read error: while reading meta-data header.
|
||||
SET SESSION debug_dbug="-d,ib_import_io_read_error_8";
|
||||
DROP TABLE test_wl5522.t1;
|
||||
CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb;
|
||||
INSERT INTO test_wl5522.t1 VALUES (1);
|
||||
ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
|
||||
SELECT COUNT(*) FROM test_wl5522.t1;
|
||||
ERROR HY000: Tablespace has been discarded for table 't1'
|
||||
SET SESSION debug_dbug="+d,ib_import_io_read_error_9";
|
||||
restore: t1 .cfg file
|
||||
ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
|
||||
ERROR HY000: IO Read error: while reading meta-data version.
|
||||
SET SESSION debug_dbug="-d,ib_import_io_read_error_9";
|
||||
DROP TABLE test_wl5522.t1;
|
||||
CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb;
|
||||
INSERT INTO test_wl5522.t1 VALUES (1);
|
||||
ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
|
||||
SELECT COUNT(*) FROM test_wl5522.t1;
|
||||
ERROR HY000: Tablespace has been discarded for table 't1'
|
||||
SET SESSION debug_dbug="+d,ib_import_string_read_error";
|
||||
restore: t1 .cfg file
|
||||
ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
|
||||
ERROR HY000: IO Read error: while parsing export hostname.
|
||||
SET SESSION debug_dbug="-d,ib_import_string_read_error";
|
||||
DROP TABLE test_wl5522.t1;
|
||||
CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb;
|
||||
INSERT INTO test_wl5522.t1 VALUES (1);
|
||||
ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
|
||||
SELECT COUNT(*) FROM test_wl5522.t1;
|
||||
ERROR HY000: Tablespace has been discarded for table 't1'
|
||||
restore: t1 .ibd and .cfg files
|
||||
SET SESSION debug_dbug="+d,ib_import_OOM_1";
|
||||
ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
|
||||
ERROR HY000: Out of memory; check if mysqld or some other process uses all available memory; if not, you may have to use 'ulimit' to allow mysqld to use more memory or you can add more swap space
|
||||
SET SESSION debug_dbug="-d,ib_import_OOM_1";
|
||||
DROP TABLE test_wl5522.t1;
|
||||
unlink: t1.ibd
|
||||
unlink: t1.cfg
|
||||
CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb;
|
||||
INSERT INTO test_wl5522.t1 VALUES (1);
|
||||
ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
|
||||
SELECT COUNT(*) FROM test_wl5522.t1;
|
||||
ERROR HY000: Tablespace has been discarded for table 't1'
|
||||
restore: t1 .ibd and .cfg files
|
||||
SET SESSION debug_dbug="+d,ib_import_OOM_2";
|
||||
ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
|
||||
ERROR HY000: Out of memory; check if mysqld or some other process uses all available memory; if not, you may have to use 'ulimit' to allow mysqld to use more memory or you can add more swap space
|
||||
SET SESSION debug_dbug="-d,ib_import_OOM_2";
|
||||
DROP TABLE test_wl5522.t1;
|
||||
unlink: t1.ibd
|
||||
unlink: t1.cfg
|
||||
CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb;
|
||||
INSERT INTO test_wl5522.t1 VALUES (1);
|
||||
ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
|
||||
SELECT COUNT(*) FROM test_wl5522.t1;
|
||||
ERROR HY000: Tablespace has been discarded for table 't1'
|
||||
restore: t1 .ibd and .cfg files
|
||||
SET SESSION debug_dbug="+d,ib_import_OOM_4";
|
||||
ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
|
||||
ERROR HY000: Out of memory; check if mysqld or some other process uses all available memory; if not, you may have to use 'ulimit' to allow mysqld to use more memory or you can add more swap space
|
||||
SET SESSION debug_dbug="-d,ib_import_OOM_4";
|
||||
DROP TABLE test_wl5522.t1;
|
||||
unlink: t1.ibd
|
||||
unlink: t1.cfg
|
||||
CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb;
|
||||
INSERT INTO test_wl5522.t1 VALUES (1);
|
||||
ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
|
||||
SELECT COUNT(*) FROM test_wl5522.t1;
|
||||
ERROR HY000: Tablespace has been discarded for table 't1'
|
||||
restore: t1 .ibd and .cfg files
|
||||
SET SESSION debug_dbug="+d,ib_import_OOM_5";
|
||||
ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
|
||||
ERROR HY000: Out of memory; check if mysqld or some other process uses all available memory; if not, you may have to use 'ulimit' to allow mysqld to use more memory or you can add more swap space
|
||||
SET SESSION debug_dbug="-d,ib_import_OOM_5";
|
||||
DROP TABLE test_wl5522.t1;
|
||||
unlink: t1.ibd
|
||||
unlink: t1.cfg
|
||||
CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb;
|
||||
INSERT INTO test_wl5522.t1 VALUES (1);
|
||||
ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
|
||||
SELECT COUNT(*) FROM test_wl5522.t1;
|
||||
ERROR HY000: Tablespace has been discarded for table 't1'
|
||||
restore: t1 .ibd and .cfg files
|
||||
SET SESSION debug_dbug="+d,ib_import_OOM_6";
|
||||
ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
|
||||
ERROR HY000: Out of memory; check if mysqld or some other process uses all available memory; if not, you may have to use 'ulimit' to allow mysqld to use more memory or you can add more swap space
|
||||
SET SESSION debug_dbug="-d,ib_import_OOM_6";
|
||||
DROP TABLE test_wl5522.t1;
|
||||
unlink: t1.ibd
|
||||
unlink: t1.cfg
|
||||
CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb;
|
||||
INSERT INTO test_wl5522.t1 VALUES (1);
|
||||
ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
|
||||
SELECT COUNT(*) FROM test_wl5522.t1;
|
||||
ERROR HY000: Tablespace has been discarded for table 't1'
|
||||
restore: t1 .ibd and .cfg files
|
||||
SET SESSION debug_dbug="+d,ib_import_OOM_7";
|
||||
ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
|
||||
ERROR HY000: Out of memory; check if mysqld or some other process uses all available memory; if not, you may have to use 'ulimit' to allow mysqld to use more memory or you can add more swap space
|
||||
SET SESSION debug_dbug="-d,ib_import_OOM_7";
|
||||
DROP TABLE test_wl5522.t1;
|
||||
unlink: t1.ibd
|
||||
unlink: t1.cfg
|
||||
CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb;
|
||||
INSERT INTO test_wl5522.t1 VALUES (1);
|
||||
ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
|
||||
SELECT COUNT(*) FROM test_wl5522.t1;
|
||||
ERROR HY000: Tablespace has been discarded for table 't1'
|
||||
restore: t1 .ibd and .cfg files
|
||||
SET SESSION debug_dbug="+d,ib_import_OOM_8";
|
||||
ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
|
||||
ERROR HY000: Out of memory; check if mysqld or some other process uses all available memory; if not, you may have to use 'ulimit' to allow mysqld to use more memory or you can add more swap space
|
||||
SET SESSION debug_dbug="-d,ib_import_OOM_8";
|
||||
DROP TABLE test_wl5522.t1;
|
||||
unlink: t1.ibd
|
||||
unlink: t1.cfg
|
||||
CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb;
|
||||
INSERT INTO test_wl5522.t1 VALUES (1);
|
||||
ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
|
||||
SELECT COUNT(*) FROM test_wl5522.t1;
|
||||
ERROR HY000: Tablespace has been discarded for table 't1'
|
||||
restore: t1 .ibd and .cfg files
|
||||
SET SESSION debug_dbug="+d,ib_import_OOM_9";
|
||||
ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
|
||||
ERROR HY000: Out of memory; check if mysqld or some other process uses all available memory; if not, you may have to use 'ulimit' to allow mysqld to use more memory or you can add more swap space
|
||||
SET SESSION debug_dbug="-d,ib_import_OOM_9";
|
||||
DROP TABLE test_wl5522.t1;
|
||||
unlink: t1.ibd
|
||||
unlink: t1.cfg
|
||||
CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb;
|
||||
INSERT INTO test_wl5522.t1 VALUES (1);
|
||||
ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
|
||||
SELECT COUNT(*) FROM test_wl5522.t1;
|
||||
ERROR HY000: Tablespace has been discarded for table 't1'
|
||||
restore: t1 .ibd and .cfg files
|
||||
SET SESSION debug_dbug="+d,ib_import_OOM_10";
|
||||
ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
|
||||
ERROR HY000: Out of memory; check if mysqld or some other process uses all available memory; if not, you may have to use 'ulimit' to allow mysqld to use more memory or you can add more swap space
|
||||
SET SESSION debug_dbug="-d,ib_import_OOM_10";
|
||||
DROP TABLE test_wl5522.t1;
|
||||
unlink: t1.ibd
|
||||
unlink: t1.cfg
|
||||
CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb;
|
||||
ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
|
||||
SELECT COUNT(*) FROM test_wl5522.t1;
|
||||
ERROR HY000: Tablespace has been discarded for table 't1'
|
||||
restore: t1 .ibd and .cfg files
|
||||
SET SESSION debug_dbug="+d,ib_import_internal_error";
|
||||
ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
|
||||
ERROR HY000: Internal error: While updating the <space, root page number> of index "GEN_CLUST_INDEX" - Generic error
|
||||
SET SESSION debug_dbug="-d,ib_import_internal_error";
|
||||
restore: t1 .ibd and .cfg files
|
||||
ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
|
||||
DROP TABLE test_wl5522.t1;
|
||||
CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb;
|
||||
ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
|
||||
SELECT COUNT(*) FROM test_wl5522.t1;
|
||||
ERROR HY000: Tablespace has been discarded for table 't1'
|
||||
restore: t1 .ibd and .cfg files
|
||||
SET SESSION debug_dbug="+d,ib_import_reset_space_and_lsn_failure";
|
||||
ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
|
||||
ERROR HY000: Internal error: Cannot reset LSNs in table '"test_wl5522"."t1"' : Too many concurrent transactions
|
||||
restore: t1 .ibd and .cfg files
|
||||
SET SESSION debug_dbug="-d,ib_import_reset_space_and_lsn_failure";
|
||||
SET SESSION debug_dbug="+d,ib_import_open_tablespace_failure";
|
||||
ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
|
||||
ERROR HY000: Got error 44 'Tablespace not found' from ./test_wl5522/t1.ibd
|
||||
SET SESSION debug_dbug="-d,ib_import_open_tablespace_failure";
|
||||
restore: t1 .ibd and .cfg files
|
||||
SET SESSION debug_dbug="+d,ib_import_check_bitmap_failure";
|
||||
ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
|
||||
ERROR HY000: Incorrect key file for table 't1'; try to repair it
|
||||
SET SESSION debug_dbug="-d,ib_import_check_bitmap_failure";
|
||||
restore: t1 .ibd and .cfg files
|
||||
SET SESSION debug_dbug="+d,ib_import_cluster_root_adjust_failure";
|
||||
ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
|
||||
ERROR HY000: Incorrect key file for table 't1'; try to repair it
|
||||
SET SESSION debug_dbug="-d,ib_import_cluster_root_adjust_failure";
|
||||
restore: t1 .ibd and .cfg files
|
||||
SET SESSION debug_dbug="+d,ib_import_cluster_failure";
|
||||
ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
|
||||
ERROR HY000: Incorrect key file for table 't1'; try to repair it
|
||||
SET SESSION debug_dbug="-d,ib_import_cluster_failure";
|
||||
restore: t1 .ibd and .cfg files
|
||||
SET SESSION debug_dbug="+d,ib_import_sec_root_adjust_failure";
|
||||
ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
|
||||
ERROR HY000: Incorrect key file for table 't1'; try to repair it
|
||||
SET SESSION debug_dbug="-d,ib_import_sec_root_adjust_failure";
|
||||
restore: t1 .ibd and .cfg files
|
||||
SET SESSION debug_dbug="+d,ib_import_set_max_rowid_failure";
|
||||
ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
|
||||
ERROR HY000: Incorrect key file for table 't1'; try to repair it
|
||||
SET SESSION debug_dbug="-d,ib_import_set_max_rowid_failure";
|
||||
unlink: t1.ibd
|
||||
unlink: t1.cfg
|
||||
DROP TABLE test_wl5522.t1;
|
||||
CREATE TABLE test_wl5522.t1 (
|
||||
c1 BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
c2 BIGINT,
|
||||
c3 VARCHAR(2048),
|
||||
c4 VARCHAR(2048),
|
||||
INDEX idx1(c2),
|
||||
INDEX idx2(c3(512)),
|
||||
INDEX idx3(c4(512))) Engine=InnoDB;
|
||||
SET GLOBAL INNODB_PURGE_STOP_NOW=ON;
|
||||
SET GLOBAL innodb_disable_background_merge=ON;
|
||||
SET GLOBAL innodb_monitor_reset = ibuf_merges;
|
||||
SET GLOBAL innodb_monitor_reset = ibuf_merges_insert;
|
||||
INSERT INTO test_wl5522.t1(c2, c3, c4) VALUES
|
||||
(1, REPEAT('a', 2048), REPEAT('a', 2048)),
|
||||
(2, REPEAT('b', 2048), REPEAT('b', 2048)),
|
||||
(3, REPEAT('c', 2048), REPEAT('c', 2048)),
|
||||
(4, REPEAT('d', 2048), REPEAT('d', 2048));
|
||||
INSERT INTO test_wl5522.t1(c2, c3, c4) SELECT c2, c3, c4 FROM test_wl5522.t1;
|
||||
INSERT INTO test_wl5522.t1(c2, c3, c4) SELECT c2, c3, c4 FROM test_wl5522.t1;
|
||||
INSERT INTO test_wl5522.t1(c2, c3, c4) SELECT c2, c3, c4 FROM test_wl5522.t1;
|
||||
INSERT INTO test_wl5522.t1(c2, c3, c4) SELECT c2, c3, c4 FROM test_wl5522.t1;
|
||||
INSERT INTO test_wl5522.t1(c2, c3, c4) SELECT c2, c3, c4 FROM test_wl5522.t1;
|
||||
DELETE FROM test_wl5522.t1 WHERE c2 = 1;
|
||||
UPDATE test_wl5522.t1 SET c2 = c2 + c1;
|
||||
UPDATE test_wl5522.t1 SET c2 = c2 + c1;
|
||||
UPDATE test_wl5522.t1 SET c2 = c2 + c1;
|
||||
UPDATE test_wl5522.t1 SET c2 = c2 + c1;
|
||||
UPDATE test_wl5522.t1 SET c2 = c2 + c1;
|
||||
UPDATE test_wl5522.t1 SET c2 = c2 + c1;
|
||||
UPDATE test_wl5522.t1 SET c2 = c2 + c1;
|
||||
UPDATE test_wl5522.t1 SET c2 = c2 + c1;
|
||||
UPDATE test_wl5522.t1 SET c2 = c2 + c1;
|
||||
UPDATE test_wl5522.t1 SET c2 = c2 + c1;
|
||||
UPDATE test_wl5522.t1 SET c2 = c2 + c1;
|
||||
UPDATE test_wl5522.t1 SET c2 = c2 + c1;
|
||||
UPDATE test_wl5522.t1 SET c2 = c2 + c1;
|
||||
UPDATE test_wl5522.t1 SET c2 = c2 + c1;
|
||||
UPDATE test_wl5522.t1 SET c2 = c2 + c1;
|
||||
UPDATE test_wl5522.t1 SET c3 = REPEAT("c2", 1024);
|
||||
UPDATE test_wl5522.t1 SET c4 = REPEAT("c4", 1024);
|
||||
SHOW CREATE TABLE test_wl5522.t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`c1` bigint(20) NOT NULL AUTO_INCREMENT,
|
||||
`c2` bigint(20) DEFAULT NULL,
|
||||
`c3` varchar(2048) DEFAULT NULL,
|
||||
`c4` varchar(2048) DEFAULT NULL,
|
||||
PRIMARY KEY (`c1`),
|
||||
KEY `idx1` (`c2`),
|
||||
KEY `idx2` (`c3`(512)),
|
||||
KEY `idx3` (`c4`(512))
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=248 DEFAULT CHARSET=latin1
|
||||
SELECT c1, c2 FROM test_wl5522.t1;
|
||||
c1 c2
|
||||
2 32
|
||||
3 48
|
||||
4 64
|
||||
6 92
|
||||
7 108
|
||||
8 124
|
||||
13 197
|
||||
14 213
|
||||
15 229
|
||||
17 257
|
||||
18 273
|
||||
19 289
|
||||
28 422
|
||||
29 438
|
||||
30 454
|
||||
32 482
|
||||
33 498
|
||||
34 514
|
||||
36 542
|
||||
37 558
|
||||
38 574
|
||||
40 602
|
||||
41 618
|
||||
42 634
|
||||
59 887
|
||||
60 903
|
||||
61 919
|
||||
63 947
|
||||
64 963
|
||||
65 979
|
||||
67 1007
|
||||
68 1023
|
||||
69 1039
|
||||
71 1067
|
||||
72 1083
|
||||
73 1099
|
||||
75 1127
|
||||
76 1143
|
||||
77 1159
|
||||
79 1187
|
||||
80 1203
|
||||
81 1219
|
||||
83 1247
|
||||
84 1263
|
||||
85 1279
|
||||
87 1307
|
||||
88 1323
|
||||
89 1339
|
||||
122 1832
|
||||
123 1848
|
||||
124 1864
|
||||
126 1892
|
||||
127 1908
|
||||
128 1924
|
||||
130 1952
|
||||
131 1968
|
||||
132 1984
|
||||
134 2012
|
||||
135 2028
|
||||
136 2044
|
||||
138 2072
|
||||
139 2088
|
||||
140 2104
|
||||
142 2132
|
||||
143 2148
|
||||
144 2164
|
||||
146 2192
|
||||
147 2208
|
||||
148 2224
|
||||
150 2252
|
||||
151 2268
|
||||
152 2284
|
||||
154 2312
|
||||
155 2328
|
||||
156 2344
|
||||
158 2372
|
||||
159 2388
|
||||
160 2404
|
||||
162 2432
|
||||
163 2448
|
||||
164 2464
|
||||
166 2492
|
||||
167 2508
|
||||
168 2524
|
||||
170 2552
|
||||
171 2568
|
||||
172 2584
|
||||
174 2612
|
||||
175 2628
|
||||
176 2644
|
||||
178 2672
|
||||
179 2688
|
||||
180 2704
|
||||
182 2732
|
||||
183 2748
|
||||
184 2764
|
||||
SELECT COUNT(*) FROM test_wl5522.t1;
|
||||
COUNT(*)
|
||||
96
|
||||
SELECT SUM(c2) FROM test_wl5522.t1;
|
||||
SUM(c2)
|
||||
145278
|
||||
SELECT name
|
||||
FROM information_schema.innodb_metrics
|
||||
WHERE name = 'ibuf_merges_insert' AND count = 0;
|
||||
name
|
||||
FLUSH TABLES test_wl5522.t1 FOR EXPORT;
|
||||
backup: t1
|
||||
UNLOCK TABLES;
|
||||
SELECT name
|
||||
FROM information_schema.innodb_metrics
|
||||
WHERE name = 'ibuf_merges' AND count > 0;
|
||||
name
|
||||
ibuf_merges
|
||||
SELECT name
|
||||
FROM information_schema.innodb_metrics
|
||||
WHERE name = 'ibuf_merges_inserts' AND count > 0;
|
||||
name
|
||||
SET GLOBAL innodb_disable_background_merge=OFF;
|
||||
SET GLOBAL INNODB_PURGE_RUN_NOW=ON;
|
||||
DROP TABLE test_wl5522.t1;
|
||||
CREATE TABLE test_wl5522.t1 (
|
||||
c1 BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
c2 BIGINT,
|
||||
c3 VARCHAR(2048),
|
||||
c4 VARCHAR(2048),
|
||||
INDEX idx1(c2),
|
||||
INDEX idx2(c3(512)),
|
||||
INDEX idx3(c4(512))) Engine=InnoDB;
|
||||
SELECT c1, c2 FROM test_wl5522.t1;
|
||||
c1 c2
|
||||
ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
|
||||
restore: t1 .ibd and .cfg files
|
||||
ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
|
||||
CHECK TABLE test_wl5522.t1;
|
||||
Table Op Msg_type Msg_text
|
||||
test_wl5522.t1 check status OK
|
||||
SELECT c1,c2 FROM test_wl5522.t1;
|
||||
c1 c2
|
||||
2 32
|
||||
3 48
|
||||
4 64
|
||||
6 92
|
||||
7 108
|
||||
8 124
|
||||
13 197
|
||||
14 213
|
||||
15 229
|
||||
17 257
|
||||
18 273
|
||||
19 289
|
||||
28 422
|
||||
29 438
|
||||
30 454
|
||||
32 482
|
||||
33 498
|
||||
34 514
|
||||
36 542
|
||||
37 558
|
||||
38 574
|
||||
40 602
|
||||
41 618
|
||||
42 634
|
||||
59 887
|
||||
60 903
|
||||
61 919
|
||||
63 947
|
||||
64 963
|
||||
65 979
|
||||
67 1007
|
||||
68 1023
|
||||
69 1039
|
||||
71 1067
|
||||
72 1083
|
||||
73 1099
|
||||
75 1127
|
||||
76 1143
|
||||
77 1159
|
||||
79 1187
|
||||
80 1203
|
||||
81 1219
|
||||
83 1247
|
||||
84 1263
|
||||
85 1279
|
||||
87 1307
|
||||
88 1323
|
||||
89 1339
|
||||
122 1832
|
||||
123 1848
|
||||
124 1864
|
||||
126 1892
|
||||
127 1908
|
||||
128 1924
|
||||
130 1952
|
||||
131 1968
|
||||
132 1984
|
||||
134 2012
|
||||
135 2028
|
||||
136 2044
|
||||
138 2072
|
||||
139 2088
|
||||
140 2104
|
||||
142 2132
|
||||
143 2148
|
||||
144 2164
|
||||
146 2192
|
||||
147 2208
|
||||
148 2224
|
||||
150 2252
|
||||
151 2268
|
||||
152 2284
|
||||
154 2312
|
||||
155 2328
|
||||
156 2344
|
||||
158 2372
|
||||
159 2388
|
||||
160 2404
|
||||
162 2432
|
||||
163 2448
|
||||
164 2464
|
||||
166 2492
|
||||
167 2508
|
||||
168 2524
|
||||
170 2552
|
||||
171 2568
|
||||
172 2584
|
||||
174 2612
|
||||
175 2628
|
||||
176 2644
|
||||
178 2672
|
||||
179 2688
|
||||
180 2704
|
||||
182 2732
|
||||
183 2748
|
||||
184 2764
|
||||
SELECT COUNT(*) FROM test_wl5522.t1;
|
||||
COUNT(*)
|
||||
96
|
||||
SELECT SUM(c2) FROM test_wl5522.t1;
|
||||
SUM(c2)
|
||||
145278
|
||||
SHOW CREATE TABLE test_wl5522.t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`c1` bigint(20) NOT NULL AUTO_INCREMENT,
|
||||
`c2` bigint(20) DEFAULT NULL,
|
||||
`c3` varchar(2048) DEFAULT NULL,
|
||||
`c4` varchar(2048) DEFAULT NULL,
|
||||
PRIMARY KEY (`c1`),
|
||||
KEY `idx1` (`c2`),
|
||||
KEY `idx2` (`c3`(512)),
|
||||
KEY `idx3` (`c4`(512))
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=185 DEFAULT CHARSET=latin1
|
||||
DROP TABLE test_wl5522.t1;
|
||||
CREATE TABLE test_wl5522.t1 (c1 INT, c2 VARCHAR(1024), c3 BLOB) ENGINE = Innodb;
|
||||
INSERT INTO test_wl5522.t1 VALUES
|
||||
(100, REPEAT('Karanbir', 899), REPEAT('Ajeeth', 1200));
|
||||
Warnings:
|
||||
Warning 1265 Data truncated for column 'c2' at row 1
|
||||
INSERT INTO test_wl5522.t1 SELECT * FROM test_wl5522.t1;
|
||||
INSERT INTO test_wl5522.t1 SELECT * FROM test_wl5522.t1;
|
||||
INSERT INTO test_wl5522.t1 SELECT * FROM test_wl5522.t1;
|
||||
INSERT INTO test_wl5522.t1 SELECT * FROM test_wl5522.t1;
|
||||
INSERT INTO test_wl5522.t1 SELECT * FROM test_wl5522.t1;
|
||||
INSERT INTO test_wl5522.t1 SELECT * FROM test_wl5522.t1;
|
||||
INSERT INTO test_wl5522.t1 SELECT * FROM test_wl5522.t1;
|
||||
INSERT INTO test_wl5522.t1 SELECT * FROM test_wl5522.t1;
|
||||
SELECT COUNT(*) FROM test_wl5522.t1;
|
||||
COUNT(*)
|
||||
256
|
||||
FLUSH TABLES test_wl5522.t1 FOR EXPORT;
|
||||
backup: t1
|
||||
UNLOCK TABLES;
|
||||
DROP TABLE test_wl5522.t1;
|
||||
CREATE TABLE test_wl5522.t1 (c1 INT, c2 VARCHAR(1024), c3 BLOB) ENGINE = Innodb;
|
||||
ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
|
||||
SELECT COUNT(*) FROM test_wl5522.t1;
|
||||
ERROR HY000: Tablespace has been discarded for table 't1'
|
||||
restore: t1 .ibd and .cfg files
|
||||
SET SESSION debug_dbug="+d,ib_import_trigger_corruption_1";
|
||||
ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
|
||||
ERROR HY000: Internal error: Cannot reset LSNs in table '"test_wl5522"."t1"' : Data structure corruption
|
||||
SET SESSION debug_dbug="-d,ib_import_trigger_corruption_1";
|
||||
DROP TABLE test_wl5522.t1;
|
||||
unlink: t1.ibd
|
||||
unlink: t1.cfg
|
||||
CREATE TABLE test_wl5522.t1 (c1 INT, c2 VARCHAR(1024), c3 BLOB) ENGINE = Innodb;
|
||||
ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
|
||||
SELECT COUNT(*) FROM test_wl5522.t1;
|
||||
ERROR HY000: Tablespace has been discarded for table 't1'
|
||||
restore: t1 .ibd and .cfg files
|
||||
SET SESSION debug_dbug="+d,buf_page_is_corrupt_failure";
|
||||
ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
|
||||
ERROR HY000: Internal error: Cannot reset LSNs in table '"test_wl5522"."t1"' : Data structure corruption
|
||||
SET SESSION debug_dbug="-d,buf_page_is_corrupt_failure";
|
||||
DROP TABLE test_wl5522.t1;
|
||||
unlink: t1.ibd
|
||||
unlink: t1.cfg
|
||||
CREATE TABLE test_wl5522.t1 (c1 INT, c2 VARCHAR(1024), c3 BLOB) ENGINE = Innodb;
|
||||
ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
|
||||
SELECT COUNT(*) FROM test_wl5522.t1;
|
||||
ERROR HY000: Tablespace has been discarded for table 't1'
|
||||
restore: t1 .ibd and .cfg files
|
||||
SET SESSION debug_dbug="+d,ib_import_trigger_corruption_2";
|
||||
ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
|
||||
ERROR HY000: Index corrupt: Externally stored column(5) has a reference length of 19 in the cluster index "GEN_CLUST_INDEX"
|
||||
SET SESSION debug_dbug="-d,ib_import_trigger_corruption_2";
|
||||
DROP TABLE test_wl5522.t1;
|
||||
unlink: t1.ibd
|
||||
unlink: t1.cfg
|
||||
CREATE TABLE test_wl5522.t1 (c1 INT, c2 VARCHAR(1024), c3 BLOB) ENGINE = Innodb;
|
||||
ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
|
||||
SELECT COUNT(*) FROM test_wl5522.t1;
|
||||
ERROR HY000: Tablespace has been discarded for table 't1'
|
||||
restore: t1 .ibd and .cfg files
|
||||
SET SESSION debug_dbug="+d,ib_import_trigger_corruption_3";
|
||||
ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
|
||||
ERROR HY000: Incorrect key file for table 't1'; try to repair it
|
||||
SET SESSION debug_dbug="-d,ib_import_trigger_corruption_3";
|
||||
DROP TABLE test_wl5522.t1;
|
||||
unlink: t1.ibd
|
||||
unlink: t1.cfg
|
||||
CREATE TABLE test_wl5522.t1 (c1 INT, c2 VARCHAR(1024), c3 BLOB) ENGINE = Innodb;
|
||||
ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
|
||||
SELECT COUNT(*) FROM test_wl5522.t1;
|
||||
ERROR HY000: Tablespace has been discarded for table 't1'
|
||||
SET SESSION debug_dbug="+d,ib_import_create_index_failure_1";
|
||||
ALTER TABLE test_wl5522.t1 ADD INDEX idx(c1);
|
||||
Warnings:
|
||||
Warning 1814 Tablespace has been discarded for table 't1'
|
||||
SET SESSION debug_dbug="-d,ib_import_create_index_failure_1";
|
||||
DROP TABLE test_wl5522.t1;
|
||||
unlink: t1.ibd
|
||||
unlink: t1.cfg
|
||||
CREATE TABLE test_wl5522.t1 (c1 INT, c2 VARCHAR(1024), c3 BLOB) ENGINE = Innodb;
|
||||
ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
|
||||
SELECT COUNT(*) FROM test_wl5522.t1;
|
||||
ERROR HY000: Tablespace has been discarded for table 't1'
|
||||
restore: t1 .ibd and .cfg files
|
||||
SET SESSION debug_dbug="+d,fil_space_create_failure";
|
||||
ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
|
||||
ERROR HY000: Got error 11 'Generic error' from ./test_wl5522/t1.ibd
|
||||
SET SESSION debug_dbug="-d,fil_space_create_failure";
|
||||
DROP TABLE test_wl5522.t1;
|
||||
unlink: t1.ibd
|
||||
unlink: t1.cfg
|
||||
CREATE TABLE test_wl5522.t1 (c1 INT, c2 VARCHAR(1024), c3 BLOB) ENGINE = Innodb;
|
||||
ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
|
||||
SELECT COUNT(*) FROM test_wl5522.t1;
|
||||
ERROR HY000: Tablespace has been discarded for table 't1'
|
||||
restore: t1 .ibd and .cfg files
|
||||
SET SESSION debug_dbug="+d,dict_tf_to_fsp_flags_failure";
|
||||
ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
|
||||
ERROR HY000: Got error 39 'Data structure corruption' from ./test_wl5522/t1.ibd
|
||||
SET SESSION debug_dbug="-d,dict_tf_to_fsp_flags_failure";
|
||||
DROP TABLE test_wl5522.t1;
|
||||
unlink: t1.ibd
|
||||
unlink: t1.cfg
|
||||
CREATE TABLE test_wl5522.t1 (c1 INT, c2 VARCHAR(1024), c3 BLOB) ENGINE = Innodb;
|
||||
ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
|
||||
SELECT COUNT(*) FROM test_wl5522.t1;
|
||||
ERROR HY000: Tablespace has been discarded for table 't1'
|
||||
restore: t1 .ibd and .cfg files
|
||||
SET SESSION debug_dbug="+d,fsp_flags_is_valid_failure";
|
||||
ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
|
||||
ERROR HY000: Internal error: Cannot reset LSNs in table '"test_wl5522"."t1"' : Unsupported
|
||||
SET SESSION debug_dbug="-d,fsp_flags_is_valid_failure";
|
||||
DROP TABLE test_wl5522.t1;
|
||||
unlink: t1.ibd
|
||||
unlink: t1.cfg
|
||||
DROP DATABASE test_wl5522;
|
||||
set global innodb_monitor_disable = all;
|
||||
set global innodb_monitor_reset_all = all;
|
||||
set global innodb_monitor_enable = default;
|
||||
set global innodb_monitor_disable = default;
|
||||
set global innodb_monitor_reset = default;
|
||||
set global innodb_monitor_reset_all = default;
|
||||
SET GLOBAL INNODB_FILE_PER_TABLE=1;
|
503
mysql-test/suite/innodb/r/innodb-wl5522-zip.result
Normal file
503
mysql-test/suite/innodb/r/innodb-wl5522-zip.result
Normal file
@ -0,0 +1,503 @@
|
||||
DROP TABLE IF EXISTS t1;
|
||||
SET GLOBAL innodb_file_per_table = 1;
|
||||
SELECT @@innodb_file_per_table;
|
||||
@@innodb_file_per_table
|
||||
1
|
||||
SET GLOBAL innodb_file_format = `Barracuda`;
|
||||
SELECT @@innodb_file_format;
|
||||
@@innodb_file_format
|
||||
Barracuda
|
||||
SET SESSION innodb_strict_mode=1;
|
||||
SELECT @@SESSION.innodb_strict_mode;
|
||||
@@SESSION.innodb_strict_mode
|
||||
1
|
||||
CREATE TABLE t1
|
||||
(a INT AUTO_INCREMENT PRIMARY KEY,
|
||||
b char(22),
|
||||
c varchar(255),
|
||||
KEY (b))
|
||||
ENGINE = InnoDB ROW_FORMAT=COMPRESSED ;
|
||||
insert into t1 (b, c) 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;
|
||||
SELECT COUNT(*) FROM t1;
|
||||
COUNT(*)
|
||||
640
|
||||
SELECT * FROM t1 ORDER BY b,a DESC LIMIT 3;
|
||||
a b c
|
||||
819 Apa Filler........
|
||||
814 Apa Filler........
|
||||
809 Apa Filler........
|
||||
SELECT * FROM t1 ORDER BY a DESC LIMIT 3;
|
||||
a b c
|
||||
823 Evolution lsjndofiabsoibeg
|
||||
822 Devotion asdfuihknaskdf
|
||||
821 Cavalry ..asdasdfaeraf
|
||||
t1.frm
|
||||
t1.ibd
|
||||
# Restarting server
|
||||
# Done restarting server
|
||||
FLUSH TABLE t1 FOR EXPORT;
|
||||
# List before copying files
|
||||
t1.cfg
|
||||
t1.frm
|
||||
t1.ibd
|
||||
UNLOCK TABLES;
|
||||
INSERT INTO t1 (b, c) SELECT b,c FROM t1 ORDER BY a;
|
||||
SELECT COUNT(*) FROM t1;
|
||||
COUNT(*)
|
||||
1280
|
||||
SELECT * FROM t1 ORDER BY b,a DESC LIMIT 3;
|
||||
a b c
|
||||
1459 Apa Filler........
|
||||
1454 Apa Filler........
|
||||
1449 Apa Filler........
|
||||
SELECT * FROM t1 ORDER BY a DESC LIMIT 3;
|
||||
a b c
|
||||
1463 Evolution lsjndofiabsoibeg
|
||||
1462 Devotion asdfuihknaskdf
|
||||
1461 Cavalry ..asdasdfaeraf
|
||||
# Restarting server
|
||||
# Done restarting server
|
||||
# List before t1 DISCARD
|
||||
t1.frm
|
||||
t1.ibd
|
||||
ALTER TABLE t1 DISCARD TABLESPACE;
|
||||
# List after t1 DISCARD
|
||||
t1.frm
|
||||
ALTER TABLE t1 IMPORT TABLESPACE;
|
||||
ALTER TABLE t1 ENGINE InnoDB;
|
||||
Warnings:
|
||||
Warning 1478 InnoDB: ROW_FORMAT=COMPRESSED requires innodb_file_format > Antelope.
|
||||
Warning 1478 InnoDB: assuming ROW_FORMAT=COMPACT.
|
||||
SELECT COUNT(*) FROM t1;
|
||||
COUNT(*)
|
||||
640
|
||||
SELECT * FROM t1 ORDER BY b,a DESC LIMIT 3;
|
||||
a b c
|
||||
819 Apa Filler........
|
||||
814 Apa Filler........
|
||||
809 Apa Filler........
|
||||
SELECT * FROM t1 ORDER BY a DESC LIMIT 3;
|
||||
a b c
|
||||
823 Evolution lsjndofiabsoibeg
|
||||
822 Devotion asdfuihknaskdf
|
||||
821 Cavalry ..asdasdfaeraf
|
||||
t1.cfg
|
||||
t1.frm
|
||||
t1.ibd
|
||||
SELECT COUNT(*) FROM t1;
|
||||
COUNT(*)
|
||||
640
|
||||
SELECT * FROM t1 ORDER BY b,a DESC LIMIT 3;
|
||||
a b c
|
||||
819 Apa Filler........
|
||||
814 Apa Filler........
|
||||
809 Apa Filler........
|
||||
SELECT * FROM t1 ORDER BY a DESC LIMIT 3;
|
||||
a b c
|
||||
823 Evolution lsjndofiabsoibeg
|
||||
822 Devotion asdfuihknaskdf
|
||||
821 Cavalry ..asdasdfaeraf
|
||||
DROP TABLE t1;
|
||||
SET GLOBAL innodb_file_per_table = 1;
|
||||
SELECT @@innodb_file_per_table;
|
||||
@@innodb_file_per_table
|
||||
1
|
||||
SET GLOBAL innodb_file_format = `Barracuda`;
|
||||
SELECT @@innodb_file_format;
|
||||
@@innodb_file_format
|
||||
Barracuda
|
||||
SET SESSION innodb_strict_mode=1;
|
||||
SELECT @@SESSION.innodb_strict_mode;
|
||||
@@SESSION.innodb_strict_mode
|
||||
1
|
||||
CREATE TABLE t1(
|
||||
c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
c2 INT) ENGINE=InnoDB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1;
|
||||
INSERT INTO t1(c2) VALUES(1);
|
||||
ALTER TABLE t1 IMPORT TABLESPACE;
|
||||
ERROR HY000: Tablespace for table 't1' exists. Please DISCARD the tablespace before IMPORT.
|
||||
SELECT * FROM t1;
|
||||
c1 c2
|
||||
1 1
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1(
|
||||
c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
c2 INT) ENGINE=InnoDB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=2;
|
||||
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;
|
||||
t1.frm
|
||||
t1.ibd
|
||||
FLUSH TABLES t1 FOR EXPORT;
|
||||
SELECT COUNT(*) FROM t1;
|
||||
COUNT(*)
|
||||
16
|
||||
backup: t1
|
||||
t1.cfg
|
||||
t1.frm
|
||||
t1.ibd
|
||||
UNLOCK TABLES;
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1(
|
||||
c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
c2 INT) ENGINE=InnoDB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=2;
|
||||
ALTER TABLE t1 DISCARD TABLESPACE;
|
||||
SELECT * FROM t1;
|
||||
ERROR HY000: Tablespace has been discarded for table 't1'
|
||||
restore: t1 .ibd and .cfg files
|
||||
t1.cfg
|
||||
t1.frm
|
||||
t1.ibd
|
||||
ALTER TABLE t1 IMPORT TABLESPACE;
|
||||
CHECK TABLE t1;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 check status OK
|
||||
SELECT COUNT(*) FROM t1;
|
||||
COUNT(*)
|
||||
16
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1(
|
||||
c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
c2 INT) ENGINE=InnoDB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=4;
|
||||
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;
|
||||
t1.frm
|
||||
t1.ibd
|
||||
FLUSH TABLES t1 FOR EXPORT;
|
||||
SELECT COUNT(*) FROM t1;
|
||||
COUNT(*)
|
||||
16
|
||||
backup: t1
|
||||
t1.cfg
|
||||
t1.frm
|
||||
t1.ibd
|
||||
UNLOCK TABLES;
|
||||
t1.frm
|
||||
t1.ibd
|
||||
INSERT INTO t1(c2) SELECT c2 FROM t1;
|
||||
INSERT INTO t1(c2) SELECT c2 FROM t1;
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1(
|
||||
c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
c2 INT) ENGINE=InnoDB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=4;
|
||||
ALTER TABLE t1 DISCARD TABLESPACE;
|
||||
SELECT * FROM t1;
|
||||
ERROR HY000: Tablespace has been discarded for table 't1'
|
||||
restore: t1 .ibd and .cfg files
|
||||
t1.cfg
|
||||
t1.frm
|
||||
t1.ibd
|
||||
ALTER TABLE t1 IMPORT TABLESPACE;
|
||||
CHECK TABLE t1;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 check status OK
|
||||
SELECT COUNT(*) FROM t1;
|
||||
COUNT(*)
|
||||
16
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1(
|
||||
c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
c2 INT, INDEX(c2)) ENGINE=InnoDB
|
||||
ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=8;
|
||||
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;
|
||||
FLUSH TABLES t1 FOR EXPORT;
|
||||
SELECT COUNT(*) FROM t1 WHERE c2 = 1;
|
||||
COUNT(*)
|
||||
16
|
||||
backup: t1
|
||||
t1.cfg
|
||||
t1.frm
|
||||
t1.ibd
|
||||
UNLOCK TABLES;
|
||||
INSERT INTO t1(c2) SELECT c2 FROM t1;
|
||||
INSERT INTO t1(c2) SELECT c2 FROM t1;
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1(
|
||||
c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
c2 INT, INDEX(c2)) ENGINE=InnoDB
|
||||
ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=8;
|
||||
ALTER TABLE t1 DISCARD TABLESPACE;
|
||||
SELECT * FROM t1;
|
||||
ERROR HY000: Tablespace has been discarded for table 't1'
|
||||
restore: t1 .ibd and .cfg files
|
||||
ALTER TABLE t1 IMPORT TABLESPACE;
|
||||
CHECK TABLE t1;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 check status OK
|
||||
SELECT COUNT(*) FROM t1 WHERE c2 = 1;
|
||||
COUNT(*)
|
||||
16
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1(
|
||||
c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
c2 INT, INDEX idx(c2)) ENGINE=InnoDB
|
||||
ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=16;
|
||||
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;
|
||||
FLUSH TABLES t1 FOR EXPORT;
|
||||
SELECT COUNT(*) FROM t1 WHERE c2 = 1;
|
||||
COUNT(*)
|
||||
16
|
||||
backup: t1
|
||||
UNLOCK TABLES;
|
||||
INSERT INTO t1(c2) SELECT c2 FROM t1;
|
||||
INSERT INTO t1(c2) SELECT c2 FROM t1;
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1(
|
||||
c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
c2 INT, INDEX x(c2)) ENGINE=InnoDB
|
||||
ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=16;
|
||||
ALTER TABLE t1 DISCARD TABLESPACE;
|
||||
SELECT * FROM t1;
|
||||
ERROR HY000: Tablespace has been discarded for table 't1'
|
||||
restore: t1 .ibd and .cfg files
|
||||
ALTER TABLE t1 IMPORT TABLESPACE;
|
||||
ERROR HY000: Schema mismatch (Index x not found in tablespace meta-data file.)
|
||||
ALTER TABLE t1 DROP INDEX x;
|
||||
Warnings:
|
||||
Warning 1814 Tablespace has been discarded for table 't1'
|
||||
ALTER TABLE t1 ADD INDEX idx(c2);
|
||||
Warnings:
|
||||
Warning 1814 Tablespace has been discarded for table 't1'
|
||||
restore: t1 .ibd and .cfg files
|
||||
ALTER TABLE t1 IMPORT TABLESPACE;
|
||||
CHECK TABLE t1;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 check status OK
|
||||
SELECT * FROM t1;
|
||||
c1 c2
|
||||
1 1
|
||||
2 1
|
||||
3 1
|
||||
4 1
|
||||
6 1
|
||||
7 1
|
||||
8 1
|
||||
9 1
|
||||
13 1
|
||||
14 1
|
||||
15 1
|
||||
16 1
|
||||
17 1
|
||||
18 1
|
||||
19 1
|
||||
20 1
|
||||
unlink: t1.cfg
|
||||
DROP TABLE t1;
|
||||
SET GLOBAL innodb_file_per_table = 0;
|
||||
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;
|
||||
COUNT(*)
|
||||
16
|
||||
SHOW CREATE TABLE t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`c1` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`c2` int(11) DEFAULT NULL,
|
||||
PRIMARY KEY (`c1`)
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=28 DEFAULT CHARSET=latin1
|
||||
FLUSH TABLES t1 FOR EXPORT;
|
||||
Warnings:
|
||||
Warning 1809 Table '"test"."t1"' in system tablespace
|
||||
UNLOCK TABLES;
|
||||
DROP TABLE t1;
|
||||
SET GLOBAL innodb_file_per_table = 1;
|
||||
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;
|
||||
SHOW CREATE TABLE t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`c1` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`c2` int(11) DEFAULT NULL,
|
||||
PRIMARY KEY (`c1`),
|
||||
KEY `idx` (`c2`)
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=59 DEFAULT CHARSET=latin1 ROW_FORMAT=COMPRESSED
|
||||
SELECT * FROM t1;
|
||||
c1 c2
|
||||
1 1
|
||||
2 1
|
||||
3 1
|
||||
4 1
|
||||
6 1
|
||||
7 1
|
||||
8 1
|
||||
9 1
|
||||
13 1
|
||||
14 1
|
||||
15 1
|
||||
16 1
|
||||
17 1
|
||||
18 1
|
||||
19 1
|
||||
20 1
|
||||
28 1
|
||||
29 1
|
||||
30 1
|
||||
31 1
|
||||
32 1
|
||||
33 1
|
||||
34 1
|
||||
35 1
|
||||
36 1
|
||||
37 1
|
||||
38 1
|
||||
39 1
|
||||
40 1
|
||||
41 1
|
||||
42 1
|
||||
43 1
|
||||
FLUSH TABLES t1 FOR EXPORT;
|
||||
backup: t1
|
||||
UNLOCK TABLES;
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1(
|
||||
c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
c2 INT) ENGINE=InnoDB
|
||||
ROW_FORMAT=COMPRESSED;
|
||||
ALTER TABLE t1 DISCARD TABLESPACE;
|
||||
SELECT * FROM t1;
|
||||
ERROR HY000: Tablespace has been discarded for table 't1'
|
||||
restore: t1 .ibd and .cfg files
|
||||
ALTER TABLE t1 IMPORT TABLESPACE;
|
||||
ERROR HY000: Schema mismatch (Number of indexes don't match, table has 1 indexes but the tablespace meta-data file has 2 indexes)
|
||||
unlink: t1.ibd
|
||||
unlink: t1.cfg
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1(
|
||||
c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
c2 INT,
|
||||
c3 INT, INDEX idx(c2)) ENGINE=InnoDB
|
||||
ROW_FORMAT=COMPRESSED;
|
||||
ALTER TABLE t1 DISCARD TABLESPACE;
|
||||
SELECT * FROM t1;
|
||||
ERROR HY000: Tablespace has been discarded for table 't1'
|
||||
restore: t1 .ibd and .cfg files
|
||||
ALTER TABLE t1 IMPORT TABLESPACE;
|
||||
ERROR HY000: Schema mismatch (Number of columns don't match, table has 6 columns but the tablespace meta-data file has 5 columns)
|
||||
unlink: t1.ibd
|
||||
unlink: t1.cfg
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1(
|
||||
c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
c2 BIGINT, INDEX idx(c2)) ENGINE=InnoDB
|
||||
ROW_FORMAT=COMPRESSED;
|
||||
ALTER TABLE t1 DISCARD TABLESPACE;
|
||||
SELECT * FROM t1;
|
||||
ERROR HY000: Tablespace has been discarded for table 't1'
|
||||
restore: t1 .ibd and .cfg files
|
||||
ALTER TABLE t1 IMPORT TABLESPACE;
|
||||
ERROR HY000: Schema mismatch (Column c2 precise type mismatch.)
|
||||
unlink: t1.ibd
|
||||
unlink: t1.cfg
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1(
|
||||
c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
c2 INT, INDEX idx(c2)) ENGINE=InnoDB
|
||||
ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=4;
|
||||
ALTER TABLE t1 DISCARD TABLESPACE;
|
||||
SELECT * FROM t1;
|
||||
ERROR HY000: Tablespace has been discarded for table 't1'
|
||||
restore: t1 .ibd and .cfg files
|
||||
ALTER TABLE t1 IMPORT TABLESPACE;
|
||||
ERROR HY000: Schema mismatch
|
||||
unlink: t1.ibd
|
||||
unlink: t1.cfg
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1(
|
||||
c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
c2 INT, INDEX idx(c2)) ENGINE=InnoDB
|
||||
ROW_FORMAT=COMPRESSED;
|
||||
ALTER TABLE t1 DISCARD TABLESPACE;
|
||||
SELECT * FROM t1;
|
||||
ERROR HY000: Tablespace has been discarded for table 't1'
|
||||
restore: t1 .ibd and .cfg files
|
||||
ALTER TABLE t1 IMPORT TABLESPACE;
|
||||
CHECK TABLE t1;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 check status OK
|
||||
unlink: t1.cfg
|
||||
SHOW CREATE TABLE t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`c1` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`c2` int(11) DEFAULT NULL,
|
||||
PRIMARY KEY (`c1`),
|
||||
KEY `idx` (`c2`)
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=44 DEFAULT CHARSET=latin1 ROW_FORMAT=COMPRESSED
|
||||
SELECT * FROM t1;
|
||||
c1 c2
|
||||
1 1
|
||||
2 1
|
||||
3 1
|
||||
4 1
|
||||
6 1
|
||||
7 1
|
||||
8 1
|
||||
9 1
|
||||
13 1
|
||||
14 1
|
||||
15 1
|
||||
16 1
|
||||
17 1
|
||||
18 1
|
||||
19 1
|
||||
20 1
|
||||
28 1
|
||||
29 1
|
||||
30 1
|
||||
31 1
|
||||
32 1
|
||||
33 1
|
||||
34 1
|
||||
35 1
|
||||
36 1
|
||||
37 1
|
||||
38 1
|
||||
39 1
|
||||
40 1
|
||||
41 1
|
||||
42 1
|
||||
43 1
|
||||
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: The table .* doesn't have a corresponding tablespace, it was discarded");
|
||||
SET GLOBAL INNODB_FILE_FORMAT=Antelope;
|
||||
SET GLOBAL INNODB_FILE_PER_TABLE=1;
|
||||
SET SESSION innodb_strict_mode=0;
|
1033
mysql-test/suite/innodb/r/innodb-wl5522.result
Normal file
1033
mysql-test/suite/innodb/r/innodb-wl5522.result
Normal file
File diff suppressed because it is too large
Load Diff
46
mysql-test/suite/innodb/t/innodb-alter-discard.test
Normal file
46
mysql-test/suite/innodb/t/innodb-alter-discard.test
Normal file
@ -0,0 +1,46 @@
|
||||
#Bug#13955083 ALLOW IN-PLACE DDL OPERATIONS ON MISSING OR DISCARDED TABLESPACES
|
||||
|
||||
--source include/not_embedded.inc
|
||||
--source include/have_innodb.inc
|
||||
|
||||
let $MYSQLD_DATADIR=`select @@datadir`;
|
||||
SET GLOBAL innodb_file_per_table=1;
|
||||
CREATE TABLE t(a INT)ENGINE=InnoDB;
|
||||
|
||||
# Shut down the server
|
||||
-- exec echo "wait" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
-- shutdown_server
|
||||
-- source include/wait_until_disconnected.inc
|
||||
|
||||
# Remove the tablespace file.
|
||||
let IBD=$MYSQLD_DATADIR/test/t.ibd;
|
||||
perl;
|
||||
unlink "$ENV{IBD}" || die "Unable to unlink $ENV{IBD}\n";
|
||||
EOF
|
||||
|
||||
# Restart the server.
|
||||
-- exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
-- enable_reconnect
|
||||
-- source include/wait_until_connected_again.inc
|
||||
|
||||
call mtr.add_suppression("InnoDB: Error: trying to open a table, but could not$");
|
||||
call mtr.add_suppression("MySQL is trying to open a table handle but the \.ibd file for$");
|
||||
call mtr.add_suppression("InnoDB: Table 'test/t'$");
|
||||
call mtr.add_suppression("Could not find a valid tablespace file for");
|
||||
call mtr.add_suppression("InnoDB: Tablespace open failed for '\"test\"\.\"t\"', ignored");
|
||||
call mtr.add_suppression("InnoDB: Failed to find tablespace for table '\"test\"\.\"t\"' in the cache");
|
||||
call mtr.add_suppression("InnoDB: Cannot delete tablespace [0-9]+.*not found");
|
||||
call mtr.add_suppression("Table .*t in the InnoDB data dictionary has tablespace id .*, but tablespace with that id or name does not exist");
|
||||
|
||||
# The ER_NO_SUCH_TABLE is being thrown by ha_innobase::open().
|
||||
# The table does exist, only the tablespace does not exist.
|
||||
--error ER_NO_SUCH_TABLE_IN_ENGINE
|
||||
SELECT * FROM t;
|
||||
|
||||
--error ER_NO_SUCH_TABLE_IN_ENGINE
|
||||
ALTER TABLE t ADD INDEX (a), ALGORITHM=INPLACE;
|
||||
--error ER_NO_SUCH_TABLE
|
||||
ALTER TABLE t1 ADD INDEX (a), ALGORITHM=COPY;
|
||||
|
||||
ALTER TABLE t DISCARD TABLESPACE;
|
||||
DROP TABLE t;
|
73
mysql-test/suite/innodb/t/innodb-bug-14068765.test
Normal file
73
mysql-test/suite/innodb/t/innodb-bug-14068765.test
Normal file
@ -0,0 +1,73 @@
|
||||
-- source include/have_innodb.inc
|
||||
--disable_warnings
|
||||
|
||||
DROP TABLE IF EXISTS t1;
|
||||
--enable_warnings
|
||||
let MYSQLD_DATADIR =`SELECT @@datadir`;
|
||||
let $innodb_file_per_table = `SELECT @@innodb_file_per_table`;
|
||||
let $innodb_file_format = `SELECT @@innodb_file_format`;
|
||||
|
||||
SET GLOBAL innodb_file_per_table = 1;
|
||||
SELECT @@innodb_file_per_table;
|
||||
|
||||
#SET GLOBAL innodb_file_format = `Barracuda`;
|
||||
#SELECT @@innodb_file_format;
|
||||
|
||||
# Export/import on the same instance, with --innodb-file-per-table=1
|
||||
CREATE DATABASE testdb_wl5522;
|
||||
|
||||
CREATE TABLE testdb_wl5522.t1(col1 bit(1) , col2 boolean,col3 tinyint , col4 smallint , col5 mediumint ,col6 int , col7 bigint , col8 float (14,3) ,col9 double (14,3), col10 VARCHAR(20) CHARACTER SET utf8 , col11 TEXT CHARACTER SET binary , col12 ENUM('a','b','c') CHARACTER SET binary ,col13 TEXT CHARACTER SET latin1 COLLATE latin1_general_cs ,col14 CHAR(20) , col15 VARBINARY (400) , col16 BINARY(40), col17 BLOB (400) , col18 int not null primary key,col19 DATE ,col20 DATETIME , col21 TIMESTAMP ,col22 TIME , col23 YEAR ) ENGINE = Innodb;
|
||||
|
||||
|
||||
CREATE INDEX idx1 ON testdb_wl5522.t1(col18);
|
||||
CREATE INDEX prefix_idx ON testdb_wl5522.t1(col14 (10));
|
||||
CREATE UNIQUE INDEX idx2 ON testdb_wl5522.t1(col12);
|
||||
CREATE UNIQUE INDEX idx3 ON testdb_wl5522.t1(col8);
|
||||
|
||||
INSERT INTO testdb_wl5522.t1 VALUES (1,1,-128,32767,-8388608,2147483647,-9223372036854775808, 92233720368.222,-92233720368.222,'aaa', 'aaaaaaaaaa','b','bbbbb','ccccc',REPEAT('d',40),REPEAT('d',40),REPEAT('d',40), 1,'1000-01-01','3000-12-31 23:59:59.99','1990-01-01 00:00:01.00','01:59:59.00','1901');
|
||||
|
||||
INSERT INTO testdb_wl5522.t1 VALUES (NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,NULL,NULL,NULL,NULL);
|
||||
|
||||
--error ER_BAD_NULL_ERROR
|
||||
INSERT INTO testdb_wl5522.t1 VALUES (NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
|
||||
|
||||
--error ER_DUP_ENTRY
|
||||
INSERT INTO testdb_wl5522.t1 VALUES (NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,NULL,NULL,NULL,NULL);
|
||||
|
||||
FLUSH TABLES testdb_wl5522.t1 WITH READ LOCK;
|
||||
SELECT COUNT(*) FROM testdb_wl5522.t1;
|
||||
perl;
|
||||
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
|
||||
ib_backup_tablespaces("testdb_wl5522", "t1");
|
||||
EOF
|
||||
UNLOCK TABLES;
|
||||
|
||||
DROP TABLE testdb_wl5522.t1;
|
||||
|
||||
CREATE TABLE testdb_wl5522.t1(col1 bit(1) , col2 boolean,col3 tinyint , col4 smallint , col5 mediumint ,col6 int , col7 bigint , col8 float (14,3) ,col9 double (14,3), col10 VARCHAR(20) CHARACTER SET utf8 , col11 TEXT CHARACTER SET binary , col12 ENUM('a','b','c') CHARACTER SET binary ,col13 TEXT CHARACTER SET latin1 COLLATE latin1_general_cs ,col14 CHAR(20) , col15 VARBINARY (400) , col16 BINARY(40), col17 BLOB (400) , col18 int not null primary key,col19 DATE ,col20 DATETIME , col21 TIMESTAMP ,col22 TIME , col23 YEAR ) ENGINE = Innodb;
|
||||
|
||||
|
||||
CREATE INDEX idx1 ON testdb_wl5522.t1(col18);
|
||||
CREATE INDEX prefix_idx ON testdb_wl5522.t1(col14 (10));
|
||||
CREATE UNIQUE INDEX idx2 ON testdb_wl5522.t1(col12);
|
||||
CREATE UNIQUE INDEX idx3 ON testdb_wl5522.t1(col8);
|
||||
|
||||
ALTER TABLE testdb_wl5522.t1 DISCARD TABLESPACE;
|
||||
|
||||
perl;
|
||||
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
|
||||
ib_restore_tablespaces("testdb_wl5522", "t1");
|
||||
EOF
|
||||
|
||||
ALTER TABLE testdb_wl5522.t1 IMPORT TABLESPACE;
|
||||
|
||||
CHECK TABLE testdb_wl5522.t1;
|
||||
|
||||
SELECT COUNT(*) FROM testdb_wl5522.t1;
|
||||
|
||||
DROP TABLE testdb_wl5522.t1;
|
||||
|
||||
DROP DATABASE testdb_wl5522;
|
||||
|
||||
eval SET GLOBAL INNODB_FILE_FORMAT=$innodb_file_format;
|
||||
eval SET GLOBAL INNODB_FILE_PER_TABLE=$innodb_file_per_table;
|
52
mysql-test/suite/innodb/t/innodb-bug-14084530.test
Normal file
52
mysql-test/suite/innodb/t/innodb-bug-14084530.test
Normal file
@ -0,0 +1,52 @@
|
||||
-- source include/have_innodb.inc
|
||||
|
||||
--disable_warnings
|
||||
DROP TABLE IF EXISTS t1;
|
||||
--enable_warnings
|
||||
|
||||
let MYSQLD_DATADIR =`SELECT @@datadir`;
|
||||
let $innodb_file_per_table = `SELECT @@innodb_file_per_table`;
|
||||
let $innodb_file_format = `SELECT @@innodb_file_format`;
|
||||
|
||||
SET GLOBAL innodb_file_per_table = 1;
|
||||
SELECT @@innodb_file_per_table;
|
||||
|
||||
SET AUTOCOMMIT = 0;
|
||||
|
||||
# Export/import on the same instance, with --innodb-file-per-table=1
|
||||
CREATE DATABASE testdb_wl5522;
|
||||
CREATE TABLE testdb_wl5522.t1 (c1 int ) engine = Innodb;
|
||||
|
||||
BEGIN;
|
||||
INSERT INTO testdb_wl5522.t1 VALUES (1),(123),(331);
|
||||
ROLLBACK;
|
||||
|
||||
SELECT c1 FROM testdb_wl5522.t1;
|
||||
|
||||
FLUSH TABLES testdb_wl5522.t1 FOR EXPORT;
|
||||
perl;
|
||||
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
|
||||
ib_backup_tablespaces("testdb_wl5522", "t1");
|
||||
EOF
|
||||
UNLOCK TABLES;
|
||||
|
||||
DROP TABLE testdb_wl5522.t1;
|
||||
|
||||
CREATE TABLE testdb_wl5522.t1 (c1 int ) ENGINE = Innodb;
|
||||
ALTER TABLE testdb_wl5522.t1 DISCARD TABLESPACE;
|
||||
|
||||
perl;
|
||||
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
|
||||
ib_discard_tablespaces("testdb_wl5522", "t1");
|
||||
ib_restore_tablespaces("testdb_wl5522", "t1");
|
||||
EOF
|
||||
|
||||
ALTER TABLE testdb_wl5522.t1 IMPORT TABLESPACE;
|
||||
CHECK TABLE testdb_wl5522.t1;
|
||||
SELECT c1 FROM testdb_wl5522.t1;
|
||||
|
||||
SET AUTOCOMMIT = 1;
|
||||
DROP TABLE testdb_wl5522.t1;
|
||||
DROP DATABASE testdb_wl5522;
|
||||
eval SET GLOBAL INNODB_FILE_FORMAT=$innodb_file_format;
|
||||
eval SET GLOBAL INNODB_FILE_PER_TABLE=$innodb_file_per_table;
|
952
mysql-test/suite/innodb/t/innodb-wl5522-1.test
Normal file
952
mysql-test/suite/innodb/t/innodb-wl5522-1.test
Normal file
@ -0,0 +1,952 @@
|
||||
# Not supported in embedded
|
||||
--source include/not_embedded.inc
|
||||
|
||||
-- source include/have_innodb.inc
|
||||
|
||||
--disable_warnings
|
||||
DROP TABLE IF EXISTS t1;
|
||||
--enable_warnings
|
||||
|
||||
let MYSQLD_DATADIR =`SELECT @@datadir`;
|
||||
let $innodb_file_per_table = `SELECT @@innodb_file_per_table`;
|
||||
let $innodb_file_format = `SELECT @@innodb_file_format`;
|
||||
|
||||
SET GLOBAL innodb_file_per_table = 1;
|
||||
SELECT @@innodb_file_per_table;
|
||||
|
||||
SET GLOBAL innodb_file_format = `Barracuda`;
|
||||
SELECT @@innodb_file_format;
|
||||
|
||||
let $MYSQLD_DATADIR = `SELECT @@datadir`;
|
||||
|
||||
# Following testcases are created from JET cases (where import
|
||||
# export instance are differnt server )
|
||||
# Here test will be run on same import and export instance.
|
||||
|
||||
DROP DATABASE IF EXISTS testdb_wl5522;
|
||||
CREATE DATABASE testdb_wl5522;
|
||||
|
||||
# case 1
|
||||
CREATE TABLE testdb_wl5522.t1 (c1 INT ) ENGINE = Innodb;
|
||||
INSERT INTO testdb_wl5522.t1 VALUES (1),(123),(331);
|
||||
SELECT c1 FROM testdb_wl5522.t1;
|
||||
FLUSH TABLES testdb_wl5522.t1 FOR EXPORT;
|
||||
SELECT * FROM testdb_wl5522.t1 ORDER BY c1;
|
||||
|
||||
perl;
|
||||
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
|
||||
ib_backup_tablespaces("testdb_wl5522", "t1");
|
||||
EOF
|
||||
|
||||
UNLOCK TABLES;
|
||||
|
||||
DROP TABLE testdb_wl5522.t1;
|
||||
CREATE TABLE testdb_wl5522.t1 (c1 INT ) ENGINE = Innodb;
|
||||
ALTER TABLE testdb_wl5522.t1 DISCARD TABLESPACE;
|
||||
|
||||
|
||||
perl;
|
||||
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
|
||||
ib_discard_tablespaces("testdb_wl5522", "t1");
|
||||
ib_restore_tablespaces("testdb_wl5522", "t1");
|
||||
EOF
|
||||
|
||||
ALTER TABLE testdb_wl5522.t1 IMPORT TABLESPACE;
|
||||
SELECT * FROM testdb_wl5522.t1 ORDER BY c1;
|
||||
DROP TABLE testdb_wl5522.t1;
|
||||
|
||||
# case 2
|
||||
CREATE TABLE testdb_wl5522.t1 (
|
||||
col1 BIT(1),
|
||||
col2 BOOLEAN,
|
||||
col3 TINYINT,
|
||||
col4 SMALLINT,
|
||||
col5 MEDIUMINT,
|
||||
col6 INT,
|
||||
col7 BIGINT,
|
||||
col8 FLOAT (14,3) ,
|
||||
col9 DOUBLE (14,3),
|
||||
col10 VARCHAR(20),
|
||||
col11 TEXT ,
|
||||
col12 ENUM('a','b','c'),
|
||||
col13 TEXT,
|
||||
col14 CHAR(20) ,
|
||||
col15 VARBINARY (400) ,
|
||||
col16 BINARY(40),
|
||||
col17 BLOB (400) ,
|
||||
col18 INT NOT NULL PRIMARY KEY,
|
||||
col19 DATE ,
|
||||
col20 DATETIME ,
|
||||
col21 TIMESTAMP ,
|
||||
col22 TIME ,
|
||||
col23 YEAR ) ENGINE = Innodb;
|
||||
|
||||
CREATE INDEX idx1 ON testdb_wl5522.t1(col18);
|
||||
CREATE INDEX prefix_idx ON testdb_wl5522.t1(col14 (10));
|
||||
CREATE UNIQUE INDEX idx2 ON testdb_wl5522.t1(col12);
|
||||
CREATE UNIQUE INDEX idx3 ON testdb_wl5522.t1(col8);
|
||||
INSERT INTO testdb_wl5522.t1 VALUES
|
||||
(1,1,-128,32767,-8388608,2147483647,-9223372036854775808, 92233720368.222,
|
||||
-92233720368.222,'aaa', + 'aaaaaaaaaa','b','bbbbb','ccccc',
|
||||
REPEAT('d',40),REPEAT('d',40),REPEAT('d',40),1,'1000-01-01',
|
||||
'3000-12-31 23:59:59.99','1990-01-01 00:00:01.00',
|
||||
'01:59:59.00','1901');
|
||||
INSERT INTO testdb_wl5522.t1 VALUES
|
||||
(NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,
|
||||
NULL,NULL,NULL,3,NULL,NULL,NULL,NULL,NULL);
|
||||
--error 1048
|
||||
INSERT INTO testdb_wl5522.t1 VALUES (NULL,NULL,NULL,NULL,NULL,NULL,NULL,
|
||||
NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
|
||||
--error 1062
|
||||
INSERT INTO testdb_wl5522.t1 VALUES (NULL,NULL,NULL,NULL,NULL,NULL,NULL,
|
||||
NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,NULL,NULL,NULL,NULL);
|
||||
|
||||
FLUSH TABLES testdb_wl5522.t1 WITH READ LOCK;
|
||||
SELECT COUNT(*) FROM testdb_wl5522.t1;
|
||||
|
||||
perl;
|
||||
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
|
||||
ib_backup_tablespaces("testdb_wl5522", "t1");
|
||||
EOF
|
||||
UNLOCK TABLES;
|
||||
|
||||
DROP TABLE testdb_wl5522.t1;
|
||||
|
||||
CREATE TABLE testdb_wl5522.t1 (
|
||||
col1 BIT(1),
|
||||
col2 BOOLEAN,
|
||||
col3 TINYINT,
|
||||
col4 SMALLINT,
|
||||
col5 MEDIUMINT,
|
||||
col6 INT,
|
||||
col7 BIGINT,
|
||||
col8 FLOAT (14,3) ,
|
||||
col9 DOUBLE (14,3),
|
||||
col10 VARCHAR(20),
|
||||
col11 TEXT,
|
||||
col12 ENUM('a','b','c'),
|
||||
col13 TEXT,
|
||||
col14 CHAR(20) ,
|
||||
col15 VARBINARY (400) ,
|
||||
col16 BINARY(40),
|
||||
col17 BLOB (400) ,
|
||||
col18 INT NOT NULL PRIMARY KEY,
|
||||
col19 DATE ,
|
||||
col20 DATETIME ,
|
||||
col21 TIMESTAMP ,
|
||||
col22 TIME ,
|
||||
col23 YEAR ) ENGINE = Innodb;
|
||||
|
||||
CREATE INDEX idx1 ON testdb_wl5522.t1(col18);
|
||||
CREATE INDEX prefix_idx ON testdb_wl5522.t1(col14 (10));
|
||||
CREATE UNIQUE INDEX idx2 ON testdb_wl5522.t1(col12);
|
||||
CREATE UNIQUE INDEX idx3 ON testdb_wl5522.t1(col8);
|
||||
|
||||
ALTER TABLE testdb_wl5522.t1 DISCARD TABLESPACE;
|
||||
|
||||
perl;
|
||||
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
|
||||
ib_discard_tablespaces("testdb_wl5522", "t1");
|
||||
ib_restore_tablespaces("testdb_wl5522", "t1");
|
||||
EOF
|
||||
|
||||
ALTER TABLE testdb_wl5522.t1 IMPORT TABLESPACE;
|
||||
CHECK TABLE testdb_wl5522.t1;
|
||||
|
||||
SELECT COUNT(*) FROM testdb_wl5522.t1;
|
||||
|
||||
DROP TABLE testdb_wl5522.t1;
|
||||
|
||||
|
||||
# case 3 - with blob objects
|
||||
|
||||
SET GLOBAL innodb_file_format='Barracuda';
|
||||
|
||||
CREATE TABLE testdb_wl5522.t1 (
|
||||
col_1_varbinary VARBINARY (4000) ,
|
||||
col_2_varchar VARCHAR (4000),
|
||||
col_3_text TEXT (4000),
|
||||
col_4_blob BLOB (4000),
|
||||
col_5_text TEXT (4000),
|
||||
col_6_varchar VARCHAR (4000),
|
||||
col_7_binary BINARY (255)
|
||||
) ROW_FORMAT=DYNAMIC ENGINE = Innodb;
|
||||
|
||||
INSERT INTO testdb_wl5522.t1 VALUES(
|
||||
REPEAT('a', 4000),REPEAT('o', 4000),REPEAT('a', 4000), REPEAT('o', 4000),
|
||||
REPEAT('a', 4000),REPEAT('a', 4000),REPEAT('a', 255));
|
||||
|
||||
SELECT col_1_varbinary = REPEAT("a", 4000) ,
|
||||
col_2_varchar = REPEAT("o", 4000) ,
|
||||
col_3_text = REPEAT("a", 4000) ,
|
||||
col_4_blob = REPEAT("o", 4000) ,
|
||||
col_5_text = REPEAT("a", 4000) ,
|
||||
col_6_varchar = REPEAT("a", 4000) ,
|
||||
col_7_binary = REPEAT("a", 255)
|
||||
FROM testdb_wl5522.t1;
|
||||
FLUSH TABLES testdb_wl5522.t1 FOR EXPORT;
|
||||
|
||||
perl;
|
||||
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
|
||||
ib_backup_tablespaces("testdb_wl5522", "t1");
|
||||
EOF
|
||||
|
||||
UNLOCK TABLES;
|
||||
|
||||
DROP TABLE testdb_wl5522.t1;
|
||||
|
||||
CREATE TABLE testdb_wl5522.t1 (
|
||||
col_1_varbinary VARBINARY (4000) ,
|
||||
col_2_varchar VARCHAR (4000),
|
||||
col_3_text TEXT (4000),
|
||||
col_4_blob BLOB (4000),
|
||||
col_5_text TEXT (4000),
|
||||
col_6_varchar VARCHAR (4000),
|
||||
col_7_binary BINARY (255)
|
||||
) ROW_FORMAT=DYNAMIC ENGINE = Innodb;
|
||||
|
||||
ALTER TABLE testdb_wl5522.t1 DISCARD TABLESPACE;
|
||||
|
||||
perl;
|
||||
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
|
||||
ib_discard_tablespaces("testdb_wl5522", "t1");
|
||||
ib_restore_tablespaces("testdb_wl5522", "t1");
|
||||
EOF
|
||||
|
||||
ALTER TABLE testdb_wl5522.t1 IMPORT TABLESPACE;
|
||||
|
||||
SELECT col_1_varbinary = REPEAT("a", 4000) ,
|
||||
col_2_varchar = REPEAT("o", 4000) ,
|
||||
col_3_text = REPEAT("a", 4000) ,
|
||||
col_4_blob = REPEAT("o", 4000) ,
|
||||
col_5_text = REPEAT("a", 4000) ,
|
||||
col_6_varchar = REPEAT("a", 4000) ,
|
||||
col_7_binary = REPEAT("a", 255)
|
||||
FROM testdb_wl5522.t1;
|
||||
|
||||
DROP TABLE testdb_wl5522.t1;
|
||||
|
||||
# case 4 - trasportable tablesace with autoincrement
|
||||
CREATE TABLE testdb_wl5522.t1 (
|
||||
col_1_int INT AUTO_INCREMENT,
|
||||
col_2_varchar VARCHAR (20),
|
||||
PRIMARY KEY (col_1_int)) ENGINE = Innodb;
|
||||
|
||||
INSERT INTO testdb_wl5522.t1 VALUES (1,'a1'),(2,'a2'),(3,'a3');
|
||||
INSERT INTO testdb_wl5522.t1 (col_2_varchar) VALUES ('a4'),('a5'),('a6');
|
||||
|
||||
SELECT * FROM testdb_wl5522.t1 ORDER BY col_1_int;
|
||||
FLUSH TABLES testdb_wl5522.t1 FOR EXPORT;
|
||||
|
||||
perl;
|
||||
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
|
||||
ib_backup_tablespaces("testdb_wl5522", "t1");
|
||||
EOF
|
||||
|
||||
UNLOCK TABLES;
|
||||
|
||||
DROP TABLE testdb_wl5522.t1;
|
||||
|
||||
CREATE TABLE testdb_wl5522.t1 (
|
||||
col_1_int INT AUTO_INCREMENT,
|
||||
col_2_varchar VARCHAR (20),
|
||||
PRIMARY KEY (col_1_int)) ENGINE = Innodb;
|
||||
ALTER TABLE testdb_wl5522.t1 DISCARD TABLESPACE;
|
||||
|
||||
|
||||
perl;
|
||||
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
|
||||
ib_discard_tablespaces("testdb_wl5522", "t1");
|
||||
ib_restore_tablespaces("testdb_wl5522", "t1");
|
||||
EOF
|
||||
|
||||
ALTER TABLE testdb_wl5522.t1 IMPORT TABLESPACE;
|
||||
SELECT * FROM testdb_wl5522.t1 ORDER BY col_1_int;
|
||||
|
||||
# error on inserting duplicate value
|
||||
--error 1062
|
||||
INSERT INTO testdb_wl5522.t1 VALUES (1,'a1');
|
||||
# insert new values
|
||||
INSERT INTO testdb_wl5522.t1(col_2_varchar) VALUES ('a101'),('a102'),('a103');
|
||||
SELECT * FROM testdb_wl5522.t1 ORDER BY col_1_int;
|
||||
# check table can be altered
|
||||
ALTER TABLE testdb_wl5522.t1 MODIFY col_1_int BIGINT;
|
||||
SELECT * FROM testdb_wl5522.t1 ORDER BY col_1_int;
|
||||
|
||||
DROP TABLE testdb_wl5522.t1;
|
||||
|
||||
# case 5 - check with primary and foreign key
|
||||
CREATE TABLE testdb_wl5522.t1 (
|
||||
col_1_int INT,col_2_varchar VARCHAR (20),
|
||||
PRIMARY KEY (col_2_varchar)) ENGINE = Innodb;
|
||||
|
||||
CREATE TABLE testdb_wl5522.t1_fk (
|
||||
col_1_int INT,col_2_varchar VARCHAR (20),
|
||||
PRIMARY KEY (col_1_int),
|
||||
FOREIGN KEY (col_2_varchar) REFERENCES testdb_wl5522.t1(col_2_varchar)
|
||||
) ENGINE = Innodb;
|
||||
|
||||
|
||||
INSERT INTO testdb_wl5522.t1 VALUES (1,'a1'),(2,'a2'),(3,'a3'),(4,'a4'),(5,'a5');
|
||||
INSERT INTO testdb_wl5522.t1_fk VALUES (1,'a1'),(2,'a2'),(3,'a3');
|
||||
|
||||
SELECT * FROM testdb_wl5522.t1;
|
||||
SELECT * FROM testdb_wl5522.t1_fk;
|
||||
FLUSH TABLES testdb_wl5522.t1,testdb_wl5522.t1_fk FOR EXPORT;
|
||||
|
||||
perl;
|
||||
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
|
||||
ib_backup_tablespaces("testdb_wl5522", "t1");
|
||||
ib_backup_tablespaces("testdb_wl5522", "t1_fk");
|
||||
EOF
|
||||
|
||||
UNLOCK TABLES;
|
||||
|
||||
DROP TABLE testdb_wl5522.t1_fk,testdb_wl5522.t1;
|
||||
|
||||
CREATE TABLE testdb_wl5522.t1 (
|
||||
col_1_int INT,col_2_varchar VARCHAR (20),
|
||||
PRIMARY KEY (col_2_varchar)) ENGINE = Innodb;
|
||||
|
||||
CREATE TABLE testdb_wl5522.t1_fk (
|
||||
col_1_int INT,col_2_varchar VARCHAR (20),
|
||||
PRIMARY KEY (col_1_int),
|
||||
FOREIGN KEY (col_2_varchar) REFERENCES testdb_wl5522.t1(col_2_varchar)
|
||||
) ENGINE = Innodb;
|
||||
|
||||
# Alter table discrad table is not allowed with foreign_key_checks = 1
|
||||
SET foreign_key_checks = 0;
|
||||
ALTER TABLE testdb_wl5522.t1_fk DISCARD TABLESPACE;
|
||||
ALTER TABLE testdb_wl5522.t1 DISCARD TABLESPACE;
|
||||
SET foreign_key_checks = 1;
|
||||
|
||||
|
||||
perl;
|
||||
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
|
||||
ib_discard_tablespaces("testdb_wl5522", "t1");
|
||||
ib_discard_tablespaces("testdb_wl5522", "t1_fk");
|
||||
ib_restore_tablespaces("testdb_wl5522", "t1");
|
||||
ib_restore_tablespaces("testdb_wl5522", "t1_fk");
|
||||
EOF
|
||||
|
||||
ALTER TABLE testdb_wl5522.t1 IMPORT TABLESPACE;
|
||||
ALTER TABLE testdb_wl5522.t1_fk IMPORT TABLESPACE;
|
||||
SELECT * FROM testdb_wl5522.t1;
|
||||
SELECT * FROM testdb_wl5522.t1_fk;
|
||||
|
||||
# Enter Invalid value: PK-FK relationship violation
|
||||
--error 1452
|
||||
INSERT INTO testdb_wl5522.t1_fk VALUES (100,'a100');
|
||||
|
||||
SET AUTOCOMMIT = 0;
|
||||
INSERT INTO testdb_wl5522.t1_fk VALUES (4,'a4'),(5,'a5');
|
||||
ROLLBACK;
|
||||
SELECT * FROM testdb_wl5522.t1_fk;
|
||||
|
||||
DROP TABLE testdb_wl5522.t1_fk,testdb_wl5522.t1;
|
||||
SET AUTOCOMMIT = 1;
|
||||
|
||||
|
||||
# case 6 - transporatbale tablespace with transactions
|
||||
CREATE TABLE testdb_wl5522.t1 (
|
||||
col_1_int int,col_2_varchar VARCHAR (20),
|
||||
PRIMARY KEY (col_2_varchar)) ENGINE = Innodb;
|
||||
SET AUTOCOMMIT = 0;
|
||||
INSERT INTO testdb_wl5522.t1 VALUES (1,'a1'),(2,'a2');
|
||||
SELECT * FROM testdb_wl5522.t1;
|
||||
COMMIT;
|
||||
INSERT INTO testdb_wl5522.t1 VALUES (3,'a3'),(4,'a4');
|
||||
ROLLBACK;
|
||||
INSERT INTO testdb_wl5522.t1 VALUES (5,'a5'),(6,'a6');
|
||||
COMMIT;
|
||||
SELECT * FROM testdb_wl5522.t1 ORDER BY col_1_int;
|
||||
FLUSH TABLES testdb_wl5522.t1 FOR EXPORT;
|
||||
|
||||
perl;
|
||||
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
|
||||
ib_backup_tablespaces("testdb_wl5522", "t1");
|
||||
EOF
|
||||
|
||||
UNLOCK TABLES;
|
||||
|
||||
DROP TABLE testdb_wl5522.t1;
|
||||
CREATE TABLE testdb_wl5522.t1 (
|
||||
col_1_int int,col_2_varchar VARCHAR (20),
|
||||
PRIMARY KEY (col_2_varchar)) ENGINE = Innodb;
|
||||
ALTER TABLE testdb_wl5522.t1 DISCARD TABLESPACE;
|
||||
SET AUTOCOMMIT = 0;
|
||||
|
||||
perl;
|
||||
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
|
||||
ib_discard_tablespaces("testdb_wl5522", "t1");
|
||||
ib_restore_tablespaces("testdb_wl5522", "t1");
|
||||
EOF
|
||||
|
||||
ALTER TABLE testdb_wl5522.t1 IMPORT TABLESPACE;
|
||||
|
||||
|
||||
INSERT INTO testdb_wl5522.t1 VALUES (7,'a7'),(8,'a8');
|
||||
COMMIT;
|
||||
INSERT INTO testdb_wl5522.t1 VALUES (9,'a9'),(10,'a10');
|
||||
ROLLBACK;
|
||||
INSERT INTO testdb_wl5522.t1 VALUES (11,'a11'),(12,'a12');
|
||||
COMMIT;
|
||||
SELECT * FROM testdb_wl5522.t1 ORDER BY col_1_int;
|
||||
SET AUTOCOMMIT = 1;
|
||||
|
||||
DROP TABLE testdb_wl5522.t1;
|
||||
|
||||
#case 7 - transpotable tablespace with transaction(earlier failed with jet)
|
||||
|
||||
CREATE TABLE testdb_wl5522.t1 ( i int ) ENGINE = Innodb;
|
||||
INSERT INTO testdb_wl5522.t1 VALUES (100),(200),(300);
|
||||
SELECT * FROM testdb_wl5522.t1 ORDER BY i;
|
||||
FLUSH TABLES testdb_wl5522.t1 FOR EXPORT;
|
||||
|
||||
perl;
|
||||
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
|
||||
ib_backup_tablespaces("testdb_wl5522", "t1");
|
||||
EOF
|
||||
|
||||
UNLOCK TABLES;
|
||||
|
||||
DROP TABLE testdb_wl5522.t1;
|
||||
CREATE TABLE testdb_wl5522.t1 ( i int ) ENGINE = Innodb;
|
||||
ALTER TABLE testdb_wl5522.t1 DISCARD TABLESPACE;
|
||||
|
||||
|
||||
perl;
|
||||
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
|
||||
ib_discard_tablespaces("testdb_wl5522", "t1");
|
||||
ib_restore_tablespaces("testdb_wl5522", "t1");
|
||||
EOF
|
||||
|
||||
ALTER TABLE testdb_wl5522.t1 IMPORT TABLESPACE;
|
||||
SELECT * FROM testdb_wl5522.t1 ORDER BY i;
|
||||
SET AUTOCOMMIT = 0;
|
||||
INSERT INTO testdb_wl5522.t1 VALUES (101),(102),(103);
|
||||
COMMIT;
|
||||
SELECT * FROM testdb_wl5522.t1 ORDER BY i;
|
||||
SET AUTOCOMMIT = 1;
|
||||
DROP TABLE testdb_wl5522.t1;
|
||||
|
||||
|
||||
# case 8 - negative cases
|
||||
CREATE TABLE testdb_wl5522.t1 ( i int ) ENGINE = Innodb;
|
||||
INSERT INTO testdb_wl5522.t1 VALUES (100),(200),(300);
|
||||
SELECT * FROM testdb_wl5522.t1 ORDER BY i;
|
||||
FLUSH TABLES testdb_wl5522.t1 FOR EXPORT;
|
||||
|
||||
perl;
|
||||
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
|
||||
ib_backup_tablespaces("testdb_wl5522", "t1");
|
||||
EOF
|
||||
|
||||
UNLOCK TABLES;
|
||||
|
||||
# try if we can flush again
|
||||
FLUSH TABLES testdb_wl5522.t1 FOR EXPORT;
|
||||
UNLOCK TABLES;
|
||||
|
||||
DROP TABLE testdb_wl5522.t1;
|
||||
|
||||
# create table with incorrect schema
|
||||
CREATE TABLE testdb_wl5522.t1 ( i bigint) ENGINE = Innodb;
|
||||
ALTER TABLE testdb_wl5522.t1 DISCARD TABLESPACE;
|
||||
|
||||
perl;
|
||||
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
|
||||
ib_discard_tablespaces("testdb_wl5522", "t1");
|
||||
ib_restore_tablespaces("testdb_wl5522", "t1");
|
||||
EOF
|
||||
|
||||
# error as mismatch in column data type
|
||||
--error ER_TABLE_SCHEMA_MISMATCH
|
||||
ALTER TABLE testdb_wl5522.t1 IMPORT TABLESPACE;
|
||||
|
||||
# explicilty delet idb file before creating table with correct schema
|
||||
perl;
|
||||
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
|
||||
ib_unlink_tablespace("testdb_wl5522", "t1");
|
||||
EOF
|
||||
|
||||
DROP TABLE testdb_wl5522.t1;
|
||||
|
||||
CREATE TABLE testdb_wl5522.t1 ( i int ) ENGINE = Innodb;
|
||||
ALTER TABLE testdb_wl5522.t1 DISCARD TABLESPACE;
|
||||
|
||||
perl;
|
||||
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
|
||||
ib_discard_tablespaces("testdb_wl5522", "t1");
|
||||
ib_restore_tablespaces("testdb_wl5522", "t1");
|
||||
EOF
|
||||
|
||||
# Import should succeed
|
||||
ALTER TABLE testdb_wl5522.t1 IMPORT TABLESPACE;
|
||||
# Try to import twice
|
||||
--error 1813
|
||||
ALTER TABLE testdb_wl5522.t1 IMPORT TABLESPACE;
|
||||
SELECT * FROM testdb_wl5522.t1 ORDER BY i;
|
||||
|
||||
SET AUTOCOMMIT = 0;
|
||||
INSERT INTO testdb_wl5522.t1 VALUES (101),(102),(103);
|
||||
COMMIT;
|
||||
SELECT * FROM testdb_wl5522.t1 ORDER BY i;
|
||||
DROP TABLE testdb_wl5522.t1;
|
||||
CREATE TABLE testdb_wl5522.t1 (i int) ENGINE = Innodb;
|
||||
ALTER TABLE testdb_wl5522.t1 DISCARD TABLESPACE;
|
||||
# do not delete ibt file and try to import
|
||||
perl;
|
||||
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
|
||||
ib_restore_tablespaces("testdb_wl5522", "t1");
|
||||
EOF
|
||||
#--error 1000
|
||||
ALTER TABLE testdb_wl5522.t1 IMPORT TABLESPACE;
|
||||
DROP TABLE testdb_wl5522.t1;
|
||||
SET AUTOCOMMIT = 1;
|
||||
|
||||
|
||||
# case 9 - empty table import
|
||||
CREATE TABLE testdb_wl5522.t1 (c1 INT ) ENGINE = Innodb;
|
||||
SET AUTOCOMMIT = 0;
|
||||
INSERT INTO testdb_wl5522.t1 VALUES (1),(123),(331);
|
||||
SELECT c1 FROM testdb_wl5522.t1;
|
||||
ROLLBACK;
|
||||
FLUSH TABLES testdb_wl5522.t1 FOR EXPORT;
|
||||
|
||||
perl;
|
||||
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
|
||||
ib_backup_tablespaces("testdb_wl5522", "t1");
|
||||
EOF
|
||||
|
||||
UNLOCK TABLES;
|
||||
|
||||
DROP TABLE testdb_wl5522.t1;
|
||||
CREATE TABLE testdb_wl5522.t1 (c1 INT ) ENGINE = Innodb;
|
||||
ALTER TABLE testdb_wl5522.t1 DISCARD TABLESPACE;
|
||||
|
||||
|
||||
perl;
|
||||
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
|
||||
ib_discard_tablespaces("testdb_wl5522", "t1");
|
||||
ib_restore_tablespaces("testdb_wl5522", "t1");
|
||||
EOF
|
||||
|
||||
ALTER TABLE testdb_wl5522.t1 IMPORT TABLESPACE;
|
||||
SELECT * FROM testdb_wl5522.t1 ORDER BY c1;
|
||||
DROP TABLE testdb_wl5522.t1;
|
||||
SET AUTOCOMMIT = 1;
|
||||
|
||||
# case 10 - tt with prefix index
|
||||
|
||||
CREATE TABLE testdb_wl5522.t1 (col_1 CHAR (255) ,
|
||||
col_2 VARCHAR (255), col_3 VARCHAR (255),
|
||||
col_4 VARCHAR (255),col_5 VARCHAR (255),
|
||||
col_6 text (255), col_7 text (255),
|
||||
col_8 text (255),col_9 text (255),
|
||||
col_10 BLOB (255),col_11 BLOB (255),
|
||||
col_12 BLOB (255), col_13 BLOB (255),
|
||||
col_14 BLOB (255) , col_15 int ) ENGINE = innodb;
|
||||
|
||||
CREATE INDEX prefix_idx ON testdb_wl5522.t1(
|
||||
col_1 (50),col_2 (50),col_3 (50),
|
||||
col_4 (50),col_5 (50),col_6 (50),
|
||||
col_7 (50),col_8 (50),col_9 (50),
|
||||
col_10 (50),col_11 (50),col_12 (50),
|
||||
col_13(50));
|
||||
|
||||
INSERT INTO testdb_wl5522.t1 VALUES (
|
||||
REPEAT("col1_00001",10),REPEAT("col2_00001",10),REPEAT("col3_00001",10),
|
||||
REPEAT("col4_00001",10),REPEAT("col5_00001",10),REPEAT("col6_00001",10),
|
||||
REPEAT("col7_00001",10),REPEAT("col8_00001",10),REPEAT("col9_00001",10),
|
||||
REPEAT("col10_00001",10),REPEAT("col11_00001",10),REPEAT("col12_00001",10),
|
||||
REPEAT("col13_00001",10),REPEAT("col14_00001",10),1);
|
||||
|
||||
SELECT
|
||||
col_1 = REPEAT("col1_00001",10),
|
||||
col_2 = REPEAT("col2_00001",10),
|
||||
col_3 = REPEAT("col3_00001",10),
|
||||
col_4 = REPEAT("col4_00001",10),
|
||||
col_5 = REPEAT("col5_00001",10),
|
||||
col_6 = REPEAT("col6_00001",10),
|
||||
col_7 = REPEAT("col7_00001",10),
|
||||
col_8 = REPEAT("col8_00001",10),
|
||||
col_9 = REPEAT("col9_00001",10),
|
||||
col_10 = REPEAT("col10_00001",10),
|
||||
col_11 = REPEAT("col11_00001",10),
|
||||
col_12 = REPEAT("col12_00001",10),
|
||||
col_13 = REPEAT("col13_00001",10),
|
||||
col_14 = REPEAT("col14_00001",10),
|
||||
col_15
|
||||
FROM testdb_wl5522.t1;
|
||||
|
||||
FLUSH TABLES testdb_wl5522.t1 FOR EXPORT;
|
||||
|
||||
perl;
|
||||
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
|
||||
ib_backup_tablespaces("testdb_wl5522", "t1");
|
||||
EOF
|
||||
|
||||
UNLOCK TABLES;
|
||||
|
||||
DROP TABLE testdb_wl5522.t1;
|
||||
|
||||
CREATE TABLE testdb_wl5522.t1 (col_1 CHAR (255) ,
|
||||
col_2 VARCHAR (255), col_3 VARCHAR (255),
|
||||
col_4 VARCHAR (255),col_5 VARCHAR (255),
|
||||
col_6 text (255), col_7 text (255),
|
||||
col_8 text (255),col_9 text (255),
|
||||
col_10 BLOB (255),col_11 BLOB (255),
|
||||
col_12 BLOB (255), col_13 BLOB (255),
|
||||
col_14 BLOB (255) , col_15 int ) ENGINE = innodb;
|
||||
|
||||
CREATE INDEX prefix_idx ON testdb_wl5522.t1(
|
||||
col_1 (50),col_2 (50),col_3 (50),
|
||||
col_4 (50),col_5 (50),col_6 (50),
|
||||
col_7 (50),col_8 (50),col_9 (50),
|
||||
col_10 (50),col_11 (50),col_12 (50),
|
||||
col_13(50));
|
||||
|
||||
|
||||
ALTER TABLE testdb_wl5522.t1 DISCARD TABLESPACE;
|
||||
|
||||
|
||||
perl;
|
||||
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
|
||||
ib_discard_tablespaces("testdb_wl5522", "t1");
|
||||
ib_restore_tablespaces("testdb_wl5522", "t1");
|
||||
EOF
|
||||
|
||||
ALTER TABLE testdb_wl5522.t1 IMPORT TABLESPACE;
|
||||
|
||||
|
||||
SELECT
|
||||
col_1 = REPEAT("col1_00001",10),
|
||||
col_2 = REPEAT("col2_00001",10),
|
||||
col_3 = REPEAT("col3_00001",10),
|
||||
col_4 = REPEAT("col4_00001",10),
|
||||
col_5 = REPEAT("col5_00001",10),
|
||||
col_6 = REPEAT("col6_00001",10),
|
||||
col_7 = REPEAT("col7_00001",10),
|
||||
col_8 = REPEAT("col8_00001",10),
|
||||
col_9 = REPEAT("col9_00001",10),
|
||||
col_10 = REPEAT("col10_00001",10),
|
||||
col_11 = REPEAT("col11_00001",10),
|
||||
col_12 = REPEAT("col12_00001",10),
|
||||
col_13 = REPEAT("col13_00001",10),
|
||||
col_14 = REPEAT("col14_00001",10),
|
||||
col_15
|
||||
FROM testdb_wl5522.t1;
|
||||
|
||||
DROP TABLE testdb_wl5522.t1;
|
||||
|
||||
|
||||
# case 11 - tt with secondary index
|
||||
|
||||
CREATE TABLE testdb_wl5522.t1 (col_1 CHAR (255) ,
|
||||
col_2 VARCHAR (255), col_3 VARCHAR (255),
|
||||
col_4 VARCHAR (255),col_5 VARCHAR (255),
|
||||
col_6 text (255), col_7 text (255),
|
||||
col_8 text (255),col_9 text (255),
|
||||
col_10 BLOB (255),col_11 BLOB (255),
|
||||
col_12 BLOB (255), col_13 BLOB (255),
|
||||
col_14 BLOB (255) , col_15 int ) ENGINE = innodb;
|
||||
|
||||
CREATE INDEX idx1 ON testdb_wl5522.t1(col_1);
|
||||
CREATE INDEX idx2 ON testdb_wl5522.t1(col_2);
|
||||
CREATE INDEX idx3 ON testdb_wl5522.t1(col_3);
|
||||
CREATE INDEX idx4 ON testdb_wl5522.t1(col_4);
|
||||
CREATE INDEX idx5 ON testdb_wl5522.t1(col_5);
|
||||
CREATE INDEX idx6 ON testdb_wl5522.t1(col_6(255));
|
||||
CREATE INDEX idx7 ON testdb_wl5522.t1(col_7(255));
|
||||
CREATE INDEX idx8 ON testdb_wl5522.t1(col_8(255));
|
||||
CREATE INDEX idx9 ON testdb_wl5522.t1(col_9(255));
|
||||
CREATE INDEX idx10 ON testdb_wl5522.t1(col_10(255));
|
||||
CREATE INDEX idx11 ON testdb_wl5522.t1(col_11(255));
|
||||
CREATE INDEX idx12 ON testdb_wl5522.t1(col_12(255));
|
||||
CREATE INDEX idx13 ON testdb_wl5522.t1(col_13(255));
|
||||
CREATE INDEX idx14 ON testdb_wl5522.t1(col_14(255));
|
||||
|
||||
INSERT INTO testdb_wl5522.t1 VALUES (
|
||||
REPEAT("col1_00001",10),REPEAT("col2_00001",10),REPEAT("col3_00001",10),
|
||||
REPEAT("col4_00001",10),REPEAT("col5_00001",10),REPEAT("col6_00001",10),
|
||||
REPEAT("col7_00001",10),REPEAT("col8_00001",10),REPEAT("col9_00001",10),
|
||||
REPEAT("col10_00001",10),REPEAT("col11_00001",10),REPEAT("col12_00001",10),
|
||||
REPEAT("col13_00001",10),REPEAT("col14_00001",10),1);
|
||||
|
||||
SELECT
|
||||
col_1 = REPEAT("col1_00001",10),
|
||||
col_2 = REPEAT("col2_00001",10),
|
||||
col_3 = REPEAT("col3_00001",10),
|
||||
col_4 = REPEAT("col4_00001",10),
|
||||
col_5 = REPEAT("col5_00001",10),
|
||||
col_6 = REPEAT("col6_00001",10),
|
||||
col_7 = REPEAT("col7_00001",10),
|
||||
col_8 = REPEAT("col8_00001",10),
|
||||
col_9 = REPEAT("col9_00001",10),
|
||||
col_10 = REPEAT("col10_00001",10),
|
||||
col_11 = REPEAT("col11_00001",10),
|
||||
col_12 = REPEAT("col12_00001",10),
|
||||
col_13 = REPEAT("col13_00001",10),
|
||||
col_14 = REPEAT("col14_00001",10),
|
||||
col_15
|
||||
FROM testdb_wl5522.t1;
|
||||
|
||||
FLUSH TABLES testdb_wl5522.t1 FOR EXPORT;
|
||||
|
||||
perl;
|
||||
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
|
||||
ib_backup_tablespaces("testdb_wl5522", "t1");
|
||||
EOF
|
||||
|
||||
UNLOCK TABLES;
|
||||
|
||||
DROP TABLE testdb_wl5522.t1;
|
||||
|
||||
CREATE TABLE testdb_wl5522.t1 (col_1 CHAR (255) ,
|
||||
col_2 VARCHAR (255), col_3 VARCHAR (255),
|
||||
col_4 VARCHAR (255),col_5 VARCHAR (255),
|
||||
col_6 text (255), col_7 text (255),
|
||||
col_8 text (255),col_9 text (255),
|
||||
col_10 BLOB (255),col_11 BLOB (255),
|
||||
col_12 BLOB (255), col_13 BLOB (255),
|
||||
col_14 BLOB (255) , col_15 int ) ENGINE = innodb;
|
||||
|
||||
CREATE INDEX idx1 ON testdb_wl5522.t1(col_1);
|
||||
CREATE INDEX idx2 ON testdb_wl5522.t1(col_2);
|
||||
CREATE INDEX idx3 ON testdb_wl5522.t1(col_3);
|
||||
CREATE INDEX idx4 ON testdb_wl5522.t1(col_4);
|
||||
CREATE INDEX idx5 ON testdb_wl5522.t1(col_5);
|
||||
CREATE INDEX idx6 ON testdb_wl5522.t1(col_6(255));
|
||||
CREATE INDEX idx7 ON testdb_wl5522.t1(col_7(255));
|
||||
CREATE INDEX idx8 ON testdb_wl5522.t1(col_8(255));
|
||||
CREATE INDEX idx9 ON testdb_wl5522.t1(col_9(255));
|
||||
CREATE INDEX idx10 ON testdb_wl5522.t1(col_10(255));
|
||||
CREATE INDEX idx11 ON testdb_wl5522.t1(col_11(255));
|
||||
CREATE INDEX idx12 ON testdb_wl5522.t1(col_12(255));
|
||||
CREATE INDEX idx13 ON testdb_wl5522.t1(col_13(255));
|
||||
CREATE INDEX idx14 ON testdb_wl5522.t1(col_14(255));
|
||||
|
||||
ALTER TABLE testdb_wl5522.t1 DISCARD TABLESPACE;
|
||||
|
||||
|
||||
perl;
|
||||
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
|
||||
ib_discard_tablespaces("testdb_wl5522", "t1");
|
||||
ib_restore_tablespaces("testdb_wl5522", "t1");
|
||||
EOF
|
||||
|
||||
ALTER TABLE testdb_wl5522.t1 IMPORT TABLESPACE;
|
||||
|
||||
SELECT
|
||||
col_1 = REPEAT("col1_00001",10),
|
||||
col_2 = REPEAT("col2_00001",10),
|
||||
col_3 = REPEAT("col3_00001",10),
|
||||
col_4 = REPEAT("col4_00001",10),
|
||||
col_5 = REPEAT("col5_00001",10),
|
||||
col_6 = REPEAT("col6_00001",10),
|
||||
col_7 = REPEAT("col7_00001",10),
|
||||
col_8 = REPEAT("col8_00001",10),
|
||||
col_9 = REPEAT("col9_00001",10),
|
||||
col_10 = REPEAT("col10_00001",10),
|
||||
col_11 = REPEAT("col11_00001",10),
|
||||
col_12 = REPEAT("col12_00001",10),
|
||||
col_13 = REPEAT("col13_00001",10),
|
||||
col_14 = REPEAT("col14_00001",10),
|
||||
col_15
|
||||
FROM testdb_wl5522.t1;
|
||||
|
||||
# perform transaction on impoted table
|
||||
SET AUTOCOMMIT = 0;
|
||||
INSERT INTO testdb_wl5522.t1(col_15) VALUES (15000),(16000);
|
||||
SELECT col_15 FROM testdb_wl5522.t1 WHERE col_15 > 11000;
|
||||
ROLLBACK;
|
||||
SELECT col_15 FROM testdb_wl5522.t1 WHERE col_15 > 11000;
|
||||
INSERT INTO testdb_wl5522.t1(col_15) VALUES (15000),(16000);
|
||||
COMMIT;
|
||||
SELECT col_15 FROM testdb_wl5522.t1 WHERE col_15 > 11000;
|
||||
# dml
|
||||
ALTER TABLE testdb_wl5522.t1 DROP INDEX idx1;
|
||||
ALTER TABLE testdb_wl5522.t1 DROP INDEX idx6;
|
||||
ALTER TABLE testdb_wl5522.t1 DROP INDEX idx10;
|
||||
|
||||
SELECT
|
||||
col_1 = REPEAT("col1_00001",10),
|
||||
col_2 = REPEAT("col2_00001",10),
|
||||
col_3 = REPEAT("col3_00001",10),
|
||||
col_4 = REPEAT("col4_00001",10),
|
||||
col_5 = REPEAT("col5_00001",10),
|
||||
col_6 = REPEAT("col6_00001",10),
|
||||
col_7 = REPEAT("col7_00001",10),
|
||||
col_8 = REPEAT("col8_00001",10),
|
||||
col_9 = REPEAT("col9_00001",10),
|
||||
col_10 = REPEAT("col10_00001",10),
|
||||
col_11 = REPEAT("col11_00001",10),
|
||||
col_12 = REPEAT("col12_00001",10),
|
||||
col_13 = REPEAT("col13_00001",10),
|
||||
col_14 = REPEAT("col14_00001",10),
|
||||
col_15
|
||||
FROM testdb_wl5522.t1;
|
||||
|
||||
ALTER TABLE testdb_wl5522.t1 ADD INDEX idx1 (col_1);
|
||||
ALTER TABLE testdb_wl5522.t1 ADD INDEX idx6 (col_1(255));
|
||||
ALTER TABLE testdb_wl5522.t1 ADD INDEX idx10 (col_10(255));
|
||||
|
||||
|
||||
SELECT
|
||||
col_1 = REPEAT("col1_00001",10),
|
||||
col_2 = REPEAT("col2_00001",10),
|
||||
col_3 = REPEAT("col3_00001",10),
|
||||
col_4 = REPEAT("col4_00001",10),
|
||||
col_5 = REPEAT("col5_00001",10),
|
||||
col_6 = REPEAT("col6_00001",10),
|
||||
col_7 = REPEAT("col7_00001",10),
|
||||
col_8 = REPEAT("col8_00001",10),
|
||||
col_9 = REPEAT("col9_00001",10),
|
||||
col_10 = REPEAT("col10_00001",10),
|
||||
col_11 = REPEAT("col11_00001",10),
|
||||
col_12 = REPEAT("col12_00001",10),
|
||||
col_13 = REPEAT("col13_00001",10),
|
||||
col_14 = REPEAT("col14_00001",10),
|
||||
col_15
|
||||
FROM testdb_wl5522.t1;
|
||||
|
||||
DROP TABLE testdb_wl5522.t1;
|
||||
SET AUTOCOMMIT = 1;
|
||||
|
||||
# case 12 - tt with trigger / view
|
||||
|
||||
CREATE TABLE testdb_wl5522.t1(col1 bit(1) ,
|
||||
col2 boolean,col3 tinyint , col4 smallint ,
|
||||
col5 mediumint ,col6 int , col7 bigint ,
|
||||
col8 float (14,3) ,col9 double (14,3),
|
||||
col10 VARCHAR(20) CHARACTER SET utf8 ,
|
||||
col11 TEXT CHARACTER SET binary ,
|
||||
col12 ENUM('a','b','c') CHARACTER SET binary,
|
||||
col13 TEXT CHARACTER SET latin1 COLLATE latin1_general_cs ,
|
||||
col14 CHAR(20) , col15 VARBINARY (400),
|
||||
col16 BINARY(40), col17 BLOB (400),
|
||||
col18 int not null primary key,
|
||||
col19 DATE ,col20 DATETIME , col21 TIMESTAMP ,
|
||||
col22 TIME , col23 YEAR ) ENGINE = Innodb;
|
||||
|
||||
# table for trigger action
|
||||
CREATE TABLE testdb_wl5522.trigger_table ( i int ) ENGINE = Innodb;
|
||||
# define trigger
|
||||
CREATE TRIGGER testdb_wl5522.tri AFTER INSERT ON testdb_wl5522.t1
|
||||
FOR EACH ROW INSERT INTO testdb_wl5522.trigger_table VALUES(NEW.col18);
|
||||
# define view
|
||||
CREATE OR REPLACE VIEW testdb_wl5522.VW1 AS SELECT * FROM testdb_wl5522.t1;
|
||||
|
||||
CREATE INDEX idx1 ON testdb_wl5522.t1(col18);
|
||||
CREATE INDEX prefix_idx ON testdb_wl5522.t1(col14 (10));
|
||||
CREATE UNIQUE INDEX idx2 ON testdb_wl5522.t1(col12);
|
||||
CREATE UNIQUE INDEX idx3 ON testdb_wl5522.t1(col8);
|
||||
|
||||
|
||||
INSERT INTO testdb_wl5522.t1 VALUES (
|
||||
1,1,-128,32767,-8388608,2147483647,-9223372036854775808,92233720368.222,
|
||||
-92233720368.222,'aaa','aaaaaaaaaa','b','bbbbb','ccccc',REPEAT('d',40),
|
||||
REPEAT('d',40),REPEAT('d',40),1,'1000-01-01','3000-12-31 23:59:59.99',
|
||||
'1990-01-01 00:00:01.00','01:59:59.00','1901');
|
||||
|
||||
INSERT INTO testdb_wl5522.t1 VALUES (
|
||||
NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,
|
||||
NULL,NULL,3,NULL,NULL,NULL,NULL,NULL);
|
||||
|
||||
|
||||
--error 1048
|
||||
INSERT INTO testdb_wl5522.t1 VALUES (
|
||||
NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,
|
||||
NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
|
||||
|
||||
--error 1062
|
||||
INSERT INTO testdb_wl5522.t1 VALUES (
|
||||
NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,
|
||||
NULL,NULL,1,NULL,NULL,NULL,NULL,NULL);
|
||||
|
||||
SELECT COUNT(*) FROM testdb_wl5522.t1;
|
||||
SELECT * FROM testdb_wl5522.trigger_table;
|
||||
SELECT COUNT(*) FROM testdb_wl5522.VW1;
|
||||
FLUSH TABLES testdb_wl5522.t1 FOR EXPORT;
|
||||
|
||||
perl;
|
||||
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
|
||||
ib_backup_tablespaces("testdb_wl5522", "t1");
|
||||
EOF
|
||||
|
||||
UNLOCK TABLES;
|
||||
|
||||
# trigger is also dropped when table is dropped
|
||||
DROP TABLE testdb_wl5522.t1;
|
||||
|
||||
CREATE TABLE testdb_wl5522.t1(col1 bit(1) ,
|
||||
col2 boolean,col3 tinyint , col4 smallint ,
|
||||
col5 mediumint ,col6 int , col7 bigint ,
|
||||
col8 float (14,3) ,col9 double (14,3),
|
||||
col10 VARCHAR(20) CHARACTER SET utf8 ,
|
||||
col11 TEXT CHARACTER SET binary ,
|
||||
col12 ENUM('a','b','c') CHARACTER SET binary,
|
||||
col13 TEXT CHARACTER SET latin1 COLLATE latin1_general_cs ,
|
||||
col14 CHAR(20) , col15 VARBINARY (400),
|
||||
col16 BINARY(40), col17 BLOB (400),
|
||||
col18 int not null primary key,
|
||||
col19 DATE ,col20 DATETIME , col21 TIMESTAMP ,
|
||||
col22 TIME , col23 YEAR ) ENGINE = Innodb;
|
||||
|
||||
CREATE INDEX idx1 ON testdb_wl5522.t1(col18);
|
||||
CREATE INDEX prefix_idx ON testdb_wl5522.t1(col14 (10));
|
||||
CREATE UNIQUE INDEX idx2 ON testdb_wl5522.t1(col12);
|
||||
CREATE UNIQUE INDEX idx3 ON testdb_wl5522.t1(col8);
|
||||
|
||||
|
||||
ALTER TABLE testdb_wl5522.t1 DISCARD TABLESPACE;
|
||||
|
||||
|
||||
perl;
|
||||
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
|
||||
ib_discard_tablespaces("testdb_wl5522", "t1");
|
||||
ib_restore_tablespaces("testdb_wl5522", "t1");
|
||||
EOF
|
||||
|
||||
ALTER TABLE testdb_wl5522.t1 IMPORT TABLESPACE;
|
||||
|
||||
SELECT COUNT(*) FROM testdb_wl5522.t1;
|
||||
SELECT * FROM testdb_wl5522.trigger_table;
|
||||
SELECT COUNT(*) FROM testdb_wl5522.VW1;
|
||||
|
||||
# trigger table is not updated as trigger got dropped
|
||||
INSERT INTO testdb_wl5522.t1(col18) VALUES (5);
|
||||
# validate data in table not updated
|
||||
SELECT * FROM testdb_wl5522.trigger_table;
|
||||
|
||||
UPDATE testdb_wl5522.t1 SET col18=10 WHERE col18=1;
|
||||
|
||||
# view shows updated data
|
||||
SELECT COUNT(*) FROM testdb_wl5522.VW1;
|
||||
|
||||
SELECT COUNT(*) FROM testdb_wl5522.t1 WHERE col18=10;
|
||||
ALTER TABLE testdb_wl5522.t1 ADD COLUMN col24 varbinary(40) default null;
|
||||
INSERT INTO testdb_wl5522.t1(col18,col24) VALUES (6,REPEAT('a',10));
|
||||
SELECT col24,col18 FROM testdb_wl5522.t1 WHERE col18 in (6,1,10) ORDER BY col18;
|
||||
ALTER TABLE testdb_wl5522.t1 DROP INDEX prefix_idx;
|
||||
SELECT col18,col14 FROM testdb_wl5522.t1 WHERE col14 like '_ccc%';
|
||||
ALTER TABLE testdb_wl5522.t1 ADD INDEX prefix_idx (col24(10));
|
||||
SELECT col18,col24 FROM testdb_wl5522.t1 WHERE col24 like '_a_a%';
|
||||
|
||||
DROP TABLE testdb_wl5522.t1;
|
||||
|
||||
DROP DATABASE testdb_wl5522;
|
||||
|
||||
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: The table .* doesn't have a corresponding tablespace, it was discarded");
|
||||
|
||||
# cleanup
|
||||
--remove_file $MYSQLTEST_VARDIR/tmp/t1.cfg
|
||||
--remove_file $MYSQLTEST_VARDIR/tmp/t1.ibd
|
||||
--remove_file $MYSQLTEST_VARDIR/tmp/t1_fk.cfg
|
||||
--remove_file $MYSQLTEST_VARDIR/tmp/t1_fk.ibd
|
||||
|
||||
eval SET GLOBAL INNODB_FILE_FORMAT=$innodb_file_format;
|
||||
eval SET GLOBAL INNODB_FILE_PER_TABLE=$innodb_file_per_table;
|
758
mysql-test/suite/innodb/t/innodb-wl5522-debug-zip.test
Normal file
758
mysql-test/suite/innodb/t/innodb-wl5522-debug-zip.test
Normal file
@ -0,0 +1,758 @@
|
||||
# Not supported in embedded
|
||||
--source include/not_embedded.inc
|
||||
|
||||
# This test case needs to crash the server. Needs a debug server.
|
||||
--source include/have_debug.inc
|
||||
|
||||
# Don't test this under valgrind, memory leaks will occur.
|
||||
--source include/not_valgrind.inc
|
||||
|
||||
# Avoid CrashReporter popup on Mac
|
||||
--source include/not_crashrep.inc
|
||||
|
||||
-- source include/have_innodb.inc
|
||||
|
||||
# compressed table in tests are with sizes KEY_BLOCK_SIZE 1,2,4,8,16
|
||||
# Table creatation fails if KEY_BLOCK_SIZE > innodb-page-size,so
|
||||
# allow test to run only when innodb-page-size=16
|
||||
--source include/have_innodb_16k.inc
|
||||
|
||||
|
||||
let MYSQLD_DATADIR =`SELECT @@datadir`;
|
||||
let $innodb_file_per_table = `SELECT @@innodb_file_per_table`;
|
||||
let $innodb_file_format = `SELECT @@innodb_file_format`;
|
||||
let $innodb_strict_mode_orig=`select @@session.innodb_strict_mode`;
|
||||
let $pathfix=/: '.*test_wl5522.*t1.ibd'/: 'test_wl5522\\t1.ibd'/;
|
||||
|
||||
SET GLOBAL innodb_file_per_table = 1;
|
||||
SELECT @@innodb_file_per_table;
|
||||
|
||||
SET GLOBAL innodb_file_format = `Barracuda`;
|
||||
SELECT @@innodb_file_format;
|
||||
|
||||
SET SESSION innodb_strict_mode=1;
|
||||
SELECT @@SESSION.innodb_strict_mode;
|
||||
|
||||
|
||||
|
||||
DROP DATABASE IF EXISTS test_wl5522;
|
||||
CREATE DATABASE test_wl5522;
|
||||
|
||||
# Create the table that we will use for crash recovery (during IMPORT)
|
||||
CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb
|
||||
ROW_FORMAT=COMPRESSED;
|
||||
INSERT INTO test_wl5522.t1 VALUES (1), (2), (3), (4);
|
||||
|
||||
--replace_regex /, .*\).*t1.cfg/, Bad file descriptor) t1.cfg/
|
||||
|
||||
FLUSH TABLES test_wl5522.t1 FOR EXPORT;
|
||||
|
||||
perl;
|
||||
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
|
||||
ib_backup_tablespaces("test_wl5522", "t1");
|
||||
EOF
|
||||
UNLOCK TABLES;
|
||||
|
||||
DROP TABLE test_wl5522.t1;
|
||||
|
||||
CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb
|
||||
ROW_FORMAT=COMPRESSED;
|
||||
INSERT INTO test_wl5522.t1 VALUES (1);
|
||||
|
||||
ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
|
||||
|
||||
perl;
|
||||
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
|
||||
ib_discard_tablespaces("test_wl5522", "t1");
|
||||
EOF
|
||||
|
||||
--error ER_TABLESPACE_DISCARDED
|
||||
SELECT COUNT(*) FROM test_wl5522.t1;
|
||||
|
||||
# Restore files
|
||||
perl;
|
||||
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
|
||||
ib_restore_tablespaces("test_wl5522", "t1");
|
||||
EOF
|
||||
|
||||
##### Before commit crash
|
||||
SET SESSION debug_dbug="+d,ib_import_before_commit_crash";
|
||||
|
||||
--error ER_TABLESPACE_DISCARDED
|
||||
SELECT * FROM test_wl5522.t1;
|
||||
|
||||
# Write file to make mysql-test-run.pl start up the server again
|
||||
--exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
|
||||
# Execute the statement that causes the crash
|
||||
--error 2013
|
||||
ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
|
||||
|
||||
--enable_reconnect
|
||||
--source include/wait_until_connected_again.inc
|
||||
--disable_reconnect
|
||||
|
||||
SET SESSION debug_dbug="-d,ib_import_before_commit_crash";
|
||||
#### Before commit crash
|
||||
|
||||
# Check that the DD is consistent after recovery
|
||||
|
||||
##### Before checkpoint crash
|
||||
SET SESSION debug_dbug="+d,ib_import_before_checkpoint_crash";
|
||||
|
||||
--error ER_TABLESPACE_DISCARDED
|
||||
SELECT COUNT(*) FROM test_wl5522.t1;
|
||||
|
||||
# Don't start up the server right away.
|
||||
--exec echo "wait" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
|
||||
# Execute the statement that causes the crash
|
||||
--error 2013
|
||||
ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
|
||||
|
||||
# After the above test the results are non-deterministic,
|
||||
# delete the old tablespace files and drop the table,
|
||||
# recreate the table and do a proper import.
|
||||
-- source include/wait_until_disconnected.inc
|
||||
perl;
|
||||
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
|
||||
ib_unlink_tablespace("test_wl5522", "t1");
|
||||
EOF
|
||||
|
||||
--echo # Restart and reconnect to the server
|
||||
--enable_reconnect
|
||||
--exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
--source include/wait_until_connected_again.inc
|
||||
--disable_reconnect
|
||||
|
||||
SET SESSION debug_dbug="-d,ib_import_before_checkpoint_crash";
|
||||
#### Before checkpoint crash
|
||||
|
||||
# After the above test the results are non-deterministic, recreate the table
|
||||
# and do a proper import.
|
||||
|
||||
DROP TABLE test_wl5522.t1;
|
||||
|
||||
SET GLOBAL innodb_file_per_table = 1;
|
||||
SELECT @@innodb_file_per_table;
|
||||
|
||||
SET GLOBAL innodb_file_format = `Barracuda`;
|
||||
SELECT @@innodb_file_format;
|
||||
|
||||
SET SESSION innodb_strict_mode=1;
|
||||
SELECT @@SESSION.innodb_strict_mode;
|
||||
|
||||
CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb
|
||||
ROW_FORMAT=COMPRESSED;
|
||||
|
||||
ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
|
||||
|
||||
perl;
|
||||
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
|
||||
ib_restore_tablespaces("test_wl5522", "t1");
|
||||
EOF
|
||||
|
||||
ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
|
||||
CHECK TABLE test_wl5522.t1;
|
||||
|
||||
SELECT COUNT(*) FROM test_wl5522.t1;
|
||||
|
||||
INSERT INTO test_wl5522.t1 VALUES(400), (500), (600);
|
||||
|
||||
SELECT * FROM test_wl5522.t1;
|
||||
|
||||
DROP TABLE test_wl5522.t1;
|
||||
|
||||
# Test handling of internal failure error
|
||||
CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb
|
||||
ROW_FORMAT=COMPRESSED;
|
||||
|
||||
ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
|
||||
|
||||
--error ER_TABLESPACE_DISCARDED
|
||||
SELECT COUNT(*) FROM test_wl5522.t1;
|
||||
|
||||
# Restore files
|
||||
perl;
|
||||
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
|
||||
ib_restore_tablespaces("test_wl5522", "t1");
|
||||
EOF
|
||||
|
||||
# Test failure after reset of space id and LSN in the tablespace
|
||||
SET SESSION debug_dbug="+d,ib_import_internal_error";
|
||||
|
||||
--replace_regex /'.*t1.cfg'/'t1.cfg'/
|
||||
|
||||
--error ER_INTERNAL_ERROR
|
||||
ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
|
||||
|
||||
SET SESSION debug_dbug="-d,ib_import_internal_error";
|
||||
|
||||
# Restore files
|
||||
perl;
|
||||
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
|
||||
ib_restore_tablespaces("test_wl5522", "t1");
|
||||
EOF
|
||||
|
||||
ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
|
||||
|
||||
DROP TABLE test_wl5522.t1;
|
||||
|
||||
|
||||
# Test failure after reset of space id and LSN in the tablespace
|
||||
CREATE TABLE test_wl5522.t1 (c1 INT) ENGINE = Innodb
|
||||
ROW_FORMAT=COMPRESSED;
|
||||
|
||||
ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
|
||||
|
||||
--error ER_TABLESPACE_DISCARDED
|
||||
SELECT COUNT(*) FROM test_wl5522.t1;
|
||||
|
||||
# Restore files
|
||||
perl;
|
||||
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
|
||||
ib_restore_tablespaces("test_wl5522", "t1");
|
||||
EOF
|
||||
|
||||
# Test failure after reset of space id and LSN in the tablespace
|
||||
SET SESSION debug_dbug="+d,ib_import_reset_space_and_lsn_failure";
|
||||
|
||||
--replace_regex /'.*t1.cfg'/'t1.cfg'/
|
||||
|
||||
--error ER_INTERNAL_ERROR
|
||||
ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
|
||||
|
||||
# Restore files
|
||||
perl;
|
||||
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
|
||||
ib_restore_tablespaces("test_wl5522", "t1");
|
||||
EOF
|
||||
|
||||
SET SESSION debug_dbug="-d,ib_import_reset_space_and_lsn_failure";
|
||||
|
||||
# Test failure after attempting a tablespace open
|
||||
SET SESSION debug_dbug="+d,ib_import_open_tablespace_failure";
|
||||
|
||||
--replace_regex /file: '.*t1.ibd'/'t1.ibd'/
|
||||
|
||||
--error ER_GET_ERRMSG
|
||||
ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
|
||||
|
||||
SET SESSION debug_dbug="-d,ib_import_open_tablespace_failure";
|
||||
|
||||
# Restore files
|
||||
perl;
|
||||
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
|
||||
ib_restore_tablespaces("test_wl5522", "t1");
|
||||
EOF
|
||||
|
||||
# Test failure after ibuf check
|
||||
SET SESSION debug_dbug="+d,ib_import_check_bitmap_failure";
|
||||
|
||||
# Need proper mapping of error codes :-(
|
||||
--error ER_NOT_KEYFILE
|
||||
ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
|
||||
|
||||
SET SESSION debug_dbug="-d,ib_import_check_bitmap_failure";
|
||||
|
||||
# Restore files
|
||||
perl;
|
||||
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
|
||||
ib_restore_tablespaces("test_wl5522", "t1");
|
||||
EOF
|
||||
|
||||
# Test failure after adjusting the cluster index root page
|
||||
SET SESSION debug_dbug="+d,ib_import_cluster_root_adjust_failure";
|
||||
|
||||
--error ER_NOT_KEYFILE
|
||||
ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
|
||||
|
||||
SET SESSION debug_dbug="-d,ib_import_cluster_root_adjust_failure";
|
||||
|
||||
# Restore files
|
||||
perl;
|
||||
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
|
||||
ib_restore_tablespaces("test_wl5522", "t1");
|
||||
EOF
|
||||
|
||||
# Test failure after importing the cluster index
|
||||
SET SESSION debug_dbug="+d,ib_import_cluster_failure";
|
||||
|
||||
--error ER_NOT_KEYFILE
|
||||
ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
|
||||
|
||||
SET SESSION debug_dbug="-d,ib_import_cluster_failure";
|
||||
|
||||
# Restore files
|
||||
perl;
|
||||
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
|
||||
ib_restore_tablespaces("test_wl5522", "t1");
|
||||
EOF
|
||||
|
||||
# Test failure after importing the secondary index(es)
|
||||
SET SESSION debug_dbug="+d,ib_import_sec_root_adjust_failure";
|
||||
|
||||
--error ER_NOT_KEYFILE
|
||||
ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
|
||||
|
||||
SET SESSION debug_dbug="-d,ib_import_sec_root_adjust_failure";
|
||||
|
||||
# Restore files
|
||||
perl;
|
||||
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
|
||||
ib_restore_tablespaces("test_wl5522", "t1");
|
||||
EOF
|
||||
|
||||
# Test failure after importing the cluster index
|
||||
SET SESSION debug_dbug="+d,ib_import_set_max_rowid_failure";
|
||||
|
||||
--error ER_NOT_KEYFILE
|
||||
ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
|
||||
|
||||
SET SESSION debug_dbug="-d,ib_import_set_max_rowid_failure";
|
||||
|
||||
# Left over from the failed IMPORT
|
||||
perl;
|
||||
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
|
||||
ib_unlink_tablespace("test_wl5522", "t1");
|
||||
EOF
|
||||
|
||||
DROP TABLE test_wl5522.t1;
|
||||
|
||||
--disable_query_log
|
||||
# Enable metrics for the counters we are going to use
|
||||
set global innodb_monitor_enable = purge_stop_count;
|
||||
set global innodb_monitor_enable = purge_resume_count;
|
||||
set global innodb_monitor_enable = ibuf_merges;
|
||||
set global innodb_monitor_enable = ibuf_merges_insert;
|
||||
--enable_query_log
|
||||
|
||||
#
|
||||
# Create a large table with delete marked records, disable purge during
|
||||
# the update so that we can test the IMPORT purge code.
|
||||
#
|
||||
CREATE TABLE test_wl5522.t1 (
|
||||
c1 BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
c2 BIGINT,
|
||||
c3 VARCHAR(2048),
|
||||
c4 VARCHAR(2048),
|
||||
INDEX idx1(c2),
|
||||
INDEX idx2(c3(512)),
|
||||
INDEX idx3(c4(512))) Engine=InnoDB
|
||||
ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=8;
|
||||
|
||||
# Stop purge so that it doesn't remove the delete marked entries.
|
||||
SET GLOBAL INNODB_PURGE_STOP_NOW=ON;
|
||||
|
||||
# Disable change buffer merge from the master thread, additionally
|
||||
# enable aggressive flushing so that more changes are buffered.
|
||||
SET GLOBAL innodb_disable_background_merge=ON;
|
||||
SET GLOBAL innodb_monitor_reset = ibuf_merges;
|
||||
SET GLOBAL innodb_monitor_reset = ibuf_merges_insert;
|
||||
|
||||
INSERT INTO test_wl5522.t1(c2, c3, c4) VALUES
|
||||
(1, REPEAT('a', 2048), REPEAT('a', 2048)),
|
||||
(2, REPEAT('b', 2048), REPEAT('b', 2048)),
|
||||
(3, REPEAT('c', 2048), REPEAT('c', 2048)),
|
||||
(4, REPEAT('d', 2048), REPEAT('d', 2048));
|
||||
|
||||
INSERT INTO test_wl5522.t1(c2, c3, c4) SELECT c2, c3, c4 FROM test_wl5522.t1;
|
||||
INSERT INTO test_wl5522.t1(c2, c3, c4) SELECT c2, c3, c4 FROM test_wl5522.t1;
|
||||
INSERT INTO test_wl5522.t1(c2, c3, c4) SELECT c2, c3, c4 FROM test_wl5522.t1;
|
||||
INSERT INTO test_wl5522.t1(c2, c3, c4) SELECT c2, c3, c4 FROM test_wl5522.t1;
|
||||
INSERT INTO test_wl5522.t1(c2, c3, c4) SELECT c2, c3, c4 FROM test_wl5522.t1;
|
||||
|
||||
DELETE FROM test_wl5522.t1 WHERE c2 = 1;
|
||||
|
||||
UPDATE test_wl5522.t1 SET c2 = c2 + c1;
|
||||
UPDATE test_wl5522.t1 SET c2 = c2 + c1;
|
||||
UPDATE test_wl5522.t1 SET c2 = c2 + c1;
|
||||
UPDATE test_wl5522.t1 SET c2 = c2 + c1;
|
||||
UPDATE test_wl5522.t1 SET c2 = c2 + c1;
|
||||
UPDATE test_wl5522.t1 SET c2 = c2 + c1;
|
||||
UPDATE test_wl5522.t1 SET c2 = c2 + c1;
|
||||
UPDATE test_wl5522.t1 SET c2 = c2 + c1;
|
||||
UPDATE test_wl5522.t1 SET c2 = c2 + c1;
|
||||
UPDATE test_wl5522.t1 SET c2 = c2 + c1;
|
||||
UPDATE test_wl5522.t1 SET c2 = c2 + c1;
|
||||
UPDATE test_wl5522.t1 SET c2 = c2 + c1;
|
||||
UPDATE test_wl5522.t1 SET c2 = c2 + c1;
|
||||
UPDATE test_wl5522.t1 SET c2 = c2 + c1;
|
||||
UPDATE test_wl5522.t1 SET c2 = c2 + c1;
|
||||
UPDATE test_wl5522.t1 SET c3 = REPEAT("c2", 1024);
|
||||
UPDATE test_wl5522.t1 SET c4 = REPEAT("c4", 1024);
|
||||
|
||||
SHOW CREATE TABLE test_wl5522.t1;
|
||||
|
||||
SELECT c1, c2 FROM test_wl5522.t1;
|
||||
SELECT COUNT(*) FROM test_wl5522.t1;
|
||||
SELECT SUM(c2) FROM test_wl5522.t1;
|
||||
|
||||
SELECT name
|
||||
FROM information_schema.innodb_metrics
|
||||
WHERE name = 'ibuf_merges_insert' AND count = 0;
|
||||
|
||||
FLUSH TABLES test_wl5522.t1 FOR EXPORT;
|
||||
|
||||
perl;
|
||||
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
|
||||
ib_backup_tablespaces("test_wl5522", "t1");
|
||||
EOF
|
||||
|
||||
UNLOCK TABLES;
|
||||
|
||||
SELECT name
|
||||
FROM information_schema.innodb_metrics
|
||||
WHERE name = 'ibuf_merges' AND count > 0;
|
||||
|
||||
SELECT name
|
||||
FROM information_schema.innodb_metrics
|
||||
WHERE name = 'ibuf_merges_inserts' AND count > 0;
|
||||
|
||||
SET GLOBAL innodb_disable_background_merge=OFF;
|
||||
|
||||
# Enable normal operation
|
||||
SET GLOBAL INNODB_PURGE_RUN_NOW=ON;
|
||||
|
||||
DROP TABLE test_wl5522.t1;
|
||||
|
||||
CREATE TABLE test_wl5522.t1 (
|
||||
c1 BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
c2 BIGINT,
|
||||
c3 VARCHAR(2048),
|
||||
c4 VARCHAR(2048),
|
||||
INDEX idx1(c2),
|
||||
INDEX idx2(c3(512)),
|
||||
INDEX idx3(c4(512))) Engine=InnoDB
|
||||
ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=8;
|
||||
|
||||
SELECT c1, c2 FROM test_wl5522.t1;
|
||||
|
||||
ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
|
||||
|
||||
perl;
|
||||
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
|
||||
ib_restore_tablespaces("test_wl5522", "t1");
|
||||
EOF
|
||||
|
||||
ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
|
||||
CHECK TABLE test_wl5522.t1;
|
||||
|
||||
SELECT c1,c2 FROM test_wl5522.t1;
|
||||
SELECT COUNT(*) FROM test_wl5522.t1;
|
||||
SELECT SUM(c2) FROM test_wl5522.t1;
|
||||
|
||||
SHOW CREATE TABLE test_wl5522.t1;
|
||||
|
||||
DROP TABLE test_wl5522.t1;
|
||||
|
||||
####
|
||||
# Create a table and save the tablespace and .cfg file, we need to create
|
||||
# a Btree that has several levels
|
||||
CREATE TABLE test_wl5522.t1 (c1 INT, c2 VARCHAR(1024), c3 BLOB) ENGINE = Innodb
|
||||
ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=4;
|
||||
|
||||
INSERT INTO test_wl5522.t1 VALUES
|
||||
(100, REPEAT('Karanbir', 899), REPEAT('Ajeeth', 1200));
|
||||
|
||||
INSERT INTO test_wl5522.t1 SELECT * FROM test_wl5522.t1;
|
||||
INSERT INTO test_wl5522.t1 SELECT * FROM test_wl5522.t1;
|
||||
INSERT INTO test_wl5522.t1 SELECT * FROM test_wl5522.t1;
|
||||
INSERT INTO test_wl5522.t1 SELECT * FROM test_wl5522.t1;
|
||||
INSERT INTO test_wl5522.t1 SELECT * FROM test_wl5522.t1;
|
||||
INSERT INTO test_wl5522.t1 SELECT * FROM test_wl5522.t1;
|
||||
INSERT INTO test_wl5522.t1 SELECT * FROM test_wl5522.t1;
|
||||
INSERT INTO test_wl5522.t1 SELECT * FROM test_wl5522.t1;
|
||||
SELECT COUNT(*) FROM test_wl5522.t1;
|
||||
FLUSH TABLES test_wl5522.t1 FOR EXPORT;
|
||||
|
||||
perl;
|
||||
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
|
||||
ib_backup_tablespaces("test_wl5522", "t1");
|
||||
EOF
|
||||
|
||||
UNLOCK TABLES;
|
||||
|
||||
DROP TABLE test_wl5522.t1;
|
||||
|
||||
CREATE TABLE test_wl5522.t1 (c1 INT, c2 VARCHAR(1024), c3 BLOB) ENGINE = Innodb
|
||||
ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=4;
|
||||
|
||||
ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
|
||||
|
||||
--error ER_TABLESPACE_DISCARDED
|
||||
SELECT COUNT(*) FROM test_wl5522.t1;
|
||||
|
||||
# Restore files
|
||||
perl;
|
||||
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
|
||||
ib_restore_tablespaces("test_wl5522", "t1");
|
||||
EOF
|
||||
|
||||
SET SESSION debug_dbug="+d,ib_import_trigger_corruption_1";
|
||||
|
||||
--replace_regex /'.*t1.cfg'/'t1.cfg'/
|
||||
|
||||
--error ER_INTERNAL_ERROR
|
||||
ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
|
||||
|
||||
SET SESSION debug_dbug="-d,ib_import_trigger_corruption_1";
|
||||
|
||||
DROP TABLE test_wl5522.t1;
|
||||
|
||||
perl;
|
||||
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
|
||||
ib_unlink_tablespace("test_wl5522", "t1");
|
||||
EOF
|
||||
|
||||
#
|
||||
|
||||
CREATE TABLE test_wl5522.t1 (c1 INT, c2 VARCHAR(1024), c3 BLOB) ENGINE = Innodb
|
||||
ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=4;
|
||||
|
||||
ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
|
||||
|
||||
--error ER_TABLESPACE_DISCARDED
|
||||
SELECT COUNT(*) FROM test_wl5522.t1;
|
||||
|
||||
# Restore files
|
||||
perl;
|
||||
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
|
||||
ib_restore_tablespaces("test_wl5522", "t1");
|
||||
EOF
|
||||
|
||||
SET SESSION debug_dbug="+d,buf_page_is_corrupt_failure";
|
||||
|
||||
--replace_regex /'.*t1.cfg'/'t1.cfg'/
|
||||
|
||||
# Following alter is not failing
|
||||
#--error ER_INTERNAL_ERROR
|
||||
ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
|
||||
|
||||
SET SESSION debug_dbug="-d,buf_page_is_corrupt_failure";
|
||||
|
||||
DROP TABLE test_wl5522.t1;
|
||||
|
||||
perl;
|
||||
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
|
||||
ib_unlink_tablespace("test_wl5522", "t1");
|
||||
EOF
|
||||
|
||||
CREATE TABLE test_wl5522.t1 (c1 INT, c2 VARCHAR(1024), c3 BLOB) ENGINE = Innodb
|
||||
ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=4;
|
||||
|
||||
ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
|
||||
|
||||
--error ER_TABLESPACE_DISCARDED
|
||||
SELECT COUNT(*) FROM test_wl5522.t1;
|
||||
|
||||
# Restore files
|
||||
perl;
|
||||
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
|
||||
ib_restore_tablespaces("test_wl5522", "t1");
|
||||
EOF
|
||||
|
||||
SET SESSION debug_dbug="+d,ib_import_trigger_corruption_2";
|
||||
|
||||
--replace_regex $pathfix
|
||||
|
||||
--error ER_INNODB_INDEX_CORRUPT
|
||||
ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
|
||||
|
||||
SET SESSION debug_dbug="-d,ib_import_trigger_corruption_2";
|
||||
|
||||
DROP TABLE test_wl5522.t1;
|
||||
|
||||
perl;
|
||||
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
|
||||
ib_unlink_tablespace("test_wl5522", "t1");
|
||||
EOF
|
||||
|
||||
CREATE TABLE test_wl5522.t1 (c1 INT, c2 VARCHAR(1024), c3 BLOB) ENGINE = Innodb
|
||||
ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=4;
|
||||
|
||||
ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
|
||||
|
||||
--error ER_TABLESPACE_DISCARDED
|
||||
SELECT COUNT(*) FROM test_wl5522.t1;
|
||||
|
||||
# Restore files
|
||||
perl;
|
||||
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
|
||||
ib_restore_tablespaces("test_wl5522", "t1");
|
||||
EOF
|
||||
|
||||
SET SESSION debug_dbug="+d,ib_import_trigger_corruption_3";
|
||||
|
||||
--replace_regex /'.*t1.cfg'/'t1.cfg'/
|
||||
|
||||
--error ER_NOT_KEYFILE
|
||||
ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
|
||||
|
||||
SET SESSION debug_dbug="-d,ib_import_trigger_corruption_3";
|
||||
|
||||
DROP TABLE test_wl5522.t1;
|
||||
|
||||
perl;
|
||||
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
|
||||
ib_unlink_tablespace("test_wl5522", "t1");
|
||||
EOF
|
||||
|
||||
CREATE TABLE test_wl5522.t1 (c1 INT, c2 VARCHAR(1024), c3 BLOB) ENGINE = Innodb
|
||||
ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=4;
|
||||
|
||||
ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
|
||||
|
||||
--error ER_TABLESPACE_DISCARDED
|
||||
SELECT COUNT(*) FROM test_wl5522.t1;
|
||||
|
||||
SET SESSION debug_dbug="+d,ib_import_create_index_failure_1";
|
||||
|
||||
ALTER TABLE test_wl5522.t1 ADD INDEX idx(c1);
|
||||
|
||||
SET SESSION debug_dbug="-d,ib_import_create_index_failure_1";
|
||||
|
||||
DROP TABLE test_wl5522.t1;
|
||||
|
||||
perl;
|
||||
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
|
||||
ib_unlink_tablespace("test_wl5522", "t1");
|
||||
EOF
|
||||
|
||||
#
|
||||
|
||||
CREATE TABLE test_wl5522.t1 (c1 INT, c2 VARCHAR(1024), c3 BLOB) ENGINE = Innodb
|
||||
ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=4;
|
||||
|
||||
ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
|
||||
|
||||
--error ER_TABLESPACE_DISCARDED
|
||||
SELECT COUNT(*) FROM test_wl5522.t1;
|
||||
|
||||
# Restore files
|
||||
perl;
|
||||
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
|
||||
ib_restore_tablespaces("test_wl5522", "t1");
|
||||
EOF
|
||||
|
||||
SET SESSION debug_dbug="+d,fil_space_create_failure";
|
||||
|
||||
--replace_regex $pathfix
|
||||
|
||||
--error ER_GET_ERRMSG
|
||||
ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
|
||||
|
||||
SET SESSION debug_dbug="-d,fil_space_create_failure";
|
||||
|
||||
DROP TABLE test_wl5522.t1;
|
||||
|
||||
perl;
|
||||
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
|
||||
ib_unlink_tablespace("test_wl5522", "t1");
|
||||
EOF
|
||||
|
||||
#
|
||||
|
||||
CREATE TABLE test_wl5522.t1 (c1 INT, c2 VARCHAR(1024), c3 BLOB) ENGINE = Innodb
|
||||
ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=4;
|
||||
|
||||
ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
|
||||
|
||||
--error ER_TABLESPACE_DISCARDED
|
||||
SELECT COUNT(*) FROM test_wl5522.t1;
|
||||
|
||||
# Restore files
|
||||
perl;
|
||||
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
|
||||
ib_restore_tablespaces("test_wl5522", "t1");
|
||||
EOF
|
||||
|
||||
SET SESSION debug_dbug="+d,dict_tf_to_fsp_flags_failure";
|
||||
|
||||
--replace_regex $pathfix
|
||||
|
||||
--error ER_GET_ERRMSG
|
||||
ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
|
||||
|
||||
SET SESSION debug_dbug="-d,dict_tf_to_fsp_flags_failure";
|
||||
|
||||
DROP TABLE test_wl5522.t1;
|
||||
|
||||
perl;
|
||||
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
|
||||
ib_unlink_tablespace("test_wl5522", "t1");
|
||||
EOF
|
||||
|
||||
#
|
||||
|
||||
CREATE TABLE test_wl5522.t1 (c1 INT, c2 VARCHAR(1024), c3 BLOB) ENGINE = Innodb
|
||||
ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=4;
|
||||
|
||||
ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE;
|
||||
|
||||
--error ER_TABLESPACE_DISCARDED
|
||||
SELECT COUNT(*) FROM test_wl5522.t1;
|
||||
|
||||
# Restore files
|
||||
perl;
|
||||
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
|
||||
ib_restore_tablespaces("test_wl5522", "t1");
|
||||
EOF
|
||||
|
||||
SET SESSION debug_dbug="+d,fsp_flags_is_valid_failure";
|
||||
|
||||
--replace_regex /'.*t1.cfg'/'t1.cfg'/
|
||||
|
||||
--error ER_INTERNAL_ERROR
|
||||
ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
|
||||
|
||||
SET SESSION debug_dbug="-d,fsp_flags_is_valid_failure";
|
||||
|
||||
DROP TABLE test_wl5522.t1;
|
||||
|
||||
perl;
|
||||
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
|
||||
ib_unlink_tablespace("test_wl5522", "t1");
|
||||
EOF
|
||||
|
||||
|
||||
DROP DATABASE test_wl5522;
|
||||
|
||||
set global innodb_monitor_disable = all;
|
||||
set global innodb_monitor_reset_all = all;
|
||||
|
||||
-- disable_warnings
|
||||
set global innodb_monitor_enable = default;
|
||||
set global innodb_monitor_disable = default;
|
||||
set global innodb_monitor_reset = default;
|
||||
set global innodb_monitor_reset_all = default;
|
||||
-- enable_warnings
|
||||
|
||||
--disable_query_log
|
||||
call mtr.add_suppression("'Resource temporarily unavailable'");
|
||||
call mtr.add_suppression("Monitor ibuf_merges is already enabled");
|
||||
call mtr.add_suppression("Monitor ibuf_merges_insert is already enabled");
|
||||
call mtr.add_suppression("Got error -1 when reading table '.*'");
|
||||
call mtr.add_suppression("InnoDB: Table '.*' tablespace is set as discarded.");
|
||||
call mtr.add_suppression("InnoDB: Tablespace '.*' exists in the cache.*");
|
||||
call mtr.add_suppression("InnoDB: Freeing existing tablespace '.*' entry from the cache with id.*");
|
||||
call mtr.add_suppression("InnoDB: The table .* doesn't have a corresponding tablespace, it was discarded");
|
||||
call mtr.add_suppression(".*There was an error writing to the meta data file.*");
|
||||
call mtr.add_suppression("InnoDB: Trying to import a tablespace, but could not open the tablespace file");
|
||||
call mtr.add_suppression("Unsupported tablespace format");
|
||||
call mtr.add_suppression("Error in page .* of index \"GEN_CLUST_INDEX\" of table \"test_wl5522\".\"t1\"");
|
||||
call mtr.add_suppression("Page is marked as free");
|
||||
call mtr.add_suppression("t1.ibd: Page .* at offset .* looks corrupted");
|
||||
call mtr.add_suppression("but tablespace with that id or name does not exist");
|
||||
call mtr.add_suppression("Failed to find tablespace for table '\"test_wl5522\".\"t1\"' in the cache");
|
||||
call mtr.add_suppression("Could not find a valid tablespace file for 'test_wl5522.*t1'");
|
||||
--enable_query_log
|
||||
|
||||
#cleanup
|
||||
--remove_file $MYSQLTEST_VARDIR/tmp/t1.cfg
|
||||
--remove_file $MYSQLTEST_VARDIR/tmp/t1.ibd
|
||||
|
||||
eval SET GLOBAL INNODB_FILE_PER_TABLE=$innodb_file_per_table;
|
||||
eval SET GLOBAL INNODB_FILE_FORMAT=$innodb_file_format;
|
||||
eval SET SESSION innodb_strict_mode=$innodb_strict_mode_orig;
|
||||
|
1494
mysql-test/suite/innodb/t/innodb-wl5522-debug.test
Normal file
1494
mysql-test/suite/innodb/t/innodb-wl5522-debug.test
Normal file
File diff suppressed because it is too large
Load Diff
544
mysql-test/suite/innodb/t/innodb-wl5522-zip.test
Normal file
544
mysql-test/suite/innodb/t/innodb-wl5522-zip.test
Normal file
@ -0,0 +1,544 @@
|
||||
# Not supported in embedded
|
||||
--source include/not_embedded.inc
|
||||
|
||||
-- source include/have_innodb.inc
|
||||
# compressed table in tests are with sizes KEY_BLOCK_SIZE 1,2,4,8,16
|
||||
# Table creatation fails if KEY_BLOCK_SIZE > innodb-page-size,so
|
||||
# allow test to run only when innodb-page-size=16
|
||||
--source include/have_innodb_16k.inc
|
||||
|
||||
--disable_warnings
|
||||
DROP TABLE IF EXISTS t1;
|
||||
--enable_warnings
|
||||
|
||||
let $innodb_file_per_table = `SELECT @@innodb_file_per_table`;
|
||||
let $innodb_file_format = `SELECT @@innodb_file_format`;
|
||||
let $innodb_strict_mode_orig=`select @@session.innodb_strict_mode`;
|
||||
|
||||
SET GLOBAL innodb_file_per_table = 1;
|
||||
SELECT @@innodb_file_per_table;
|
||||
|
||||
SET GLOBAL innodb_file_format = `Barracuda`;
|
||||
SELECT @@innodb_file_format;
|
||||
|
||||
SET SESSION innodb_strict_mode=1;
|
||||
SELECT @@SESSION.innodb_strict_mode;
|
||||
|
||||
let $MYSQLD_TMPDIR = `SELECT @@tmpdir`;
|
||||
let $MYSQLD_DATADIR = `SELECT @@datadir`;
|
||||
|
||||
CREATE TABLE t1
|
||||
(a INT AUTO_INCREMENT PRIMARY KEY,
|
||||
b char(22),
|
||||
c varchar(255),
|
||||
KEY (b))
|
||||
ENGINE = InnoDB ROW_FORMAT=COMPRESSED ;
|
||||
|
||||
insert into t1 (b, c) 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;
|
||||
SELECT COUNT(*) FROM t1;
|
||||
SELECT * FROM t1 ORDER BY b,a DESC LIMIT 3;
|
||||
SELECT * FROM t1 ORDER BY a DESC LIMIT 3;
|
||||
--list_files $MYSQLD_DATADIR/test
|
||||
--echo # Restarting server
|
||||
-- source include/restart_mysqld.inc
|
||||
--echo # Done restarting server
|
||||
FLUSH TABLE t1 FOR EXPORT;
|
||||
--echo # List before copying files
|
||||
--list_files $MYSQLD_DATADIR/test
|
||||
--copy_file $MYSQLD_DATADIR/test/t1.cfg $MYSQLD_TMPDIR/t1.cfg
|
||||
--copy_file $MYSQLD_DATADIR/test/t1.ibd $MYSQLD_TMPDIR/t1.ibd
|
||||
UNLOCK TABLES;
|
||||
INSERT INTO t1 (b, c) SELECT b,c FROM t1 ORDER BY a;
|
||||
SELECT COUNT(*) FROM t1;
|
||||
SELECT * FROM t1 ORDER BY b,a DESC LIMIT 3;
|
||||
SELECT * FROM t1 ORDER BY a DESC LIMIT 3;
|
||||
--echo # Restarting server
|
||||
-- source include/restart_mysqld.inc
|
||||
--echo # Done restarting server
|
||||
--echo # List before t1 DISCARD
|
||||
--list_files $MYSQLD_DATADIR/test
|
||||
ALTER TABLE t1 DISCARD TABLESPACE;
|
||||
--echo # List after t1 DISCARD
|
||||
--list_files $MYSQLD_DATADIR/test
|
||||
--copy_file $MYSQLD_TMPDIR/t1.cfg $MYSQLD_DATADIR/test/t1.cfg
|
||||
--copy_file $MYSQLD_TMPDIR/t1.ibd $MYSQLD_DATADIR/test/t1.ibd
|
||||
ALTER TABLE t1 IMPORT TABLESPACE;
|
||||
ALTER TABLE t1 ENGINE InnoDB;
|
||||
SELECT COUNT(*) FROM t1;
|
||||
SELECT * FROM t1 ORDER BY b,a DESC LIMIT 3;
|
||||
SELECT * FROM t1 ORDER BY a DESC LIMIT 3;
|
||||
--list_files $MYSQLD_DATADIR/test
|
||||
SELECT COUNT(*) FROM t1;
|
||||
SELECT * FROM t1 ORDER BY b,a DESC LIMIT 3;
|
||||
SELECT * FROM t1 ORDER BY a DESC LIMIT 3;
|
||||
DROP TABLE t1;
|
||||
--remove_file $MYSQLD_TMPDIR/t1.cfg
|
||||
--remove_file $MYSQLD_TMPDIR/t1.ibd
|
||||
|
||||
SET GLOBAL innodb_file_per_table = 1;
|
||||
SELECT @@innodb_file_per_table;
|
||||
|
||||
SET GLOBAL innodb_file_format = `Barracuda`;
|
||||
SELECT @@innodb_file_format;
|
||||
|
||||
# restore session variable
|
||||
SET SESSION innodb_strict_mode=1;
|
||||
SELECT @@SESSION.innodb_strict_mode;
|
||||
|
||||
let MYSQLD_DATADIR =`SELECT @@datadir`;
|
||||
|
||||
# Try importing when tablespace already exists
|
||||
CREATE TABLE t1(
|
||||
c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
c2 INT) ENGINE=InnoDB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1;
|
||||
|
||||
INSERT INTO t1(c2) VALUES(1);
|
||||
--error ER_TABLESPACE_EXISTS
|
||||
ALTER TABLE t1 IMPORT TABLESPACE;
|
||||
SELECT * FROM t1;
|
||||
DROP TABLE t1;
|
||||
|
||||
# Export/import on the same instance, with --innodb-file-per-table=1
|
||||
CREATE TABLE t1(
|
||||
c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
c2 INT) ENGINE=InnoDB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=2;
|
||||
|
||||
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;
|
||||
|
||||
--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");
|
||||
EOF
|
||||
|
||||
--list_files $MYSQLD_DATADIR/test
|
||||
|
||||
UNLOCK TABLES;
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
CREATE TABLE t1(
|
||||
c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
c2 INT) ENGINE=InnoDB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=2;
|
||||
|
||||
ALTER TABLE t1 DISCARD TABLESPACE;
|
||||
--error ER_TABLESPACE_DISCARDED
|
||||
SELECT * FROM t1;
|
||||
|
||||
perl;
|
||||
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
|
||||
ib_discard_tablespaces("test", "t1");
|
||||
ib_restore_tablespaces("test", "t1");
|
||||
EOF
|
||||
|
||||
--list_files $MYSQLD_DATADIR/test
|
||||
|
||||
ALTER TABLE t1 IMPORT TABLESPACE;
|
||||
CHECK TABLE t1;
|
||||
|
||||
SELECT COUNT(*) FROM t1;
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
# Export/import on the same instance, with --innodb-file-per-table=1
|
||||
# Insert some more records to move the LSN forward and then drop the
|
||||
# table and restore
|
||||
CREATE TABLE t1(
|
||||
c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
c2 INT) ENGINE=InnoDB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=4;
|
||||
|
||||
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;
|
||||
|
||||
--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");
|
||||
EOF
|
||||
--list_files $MYSQLD_DATADIR/test
|
||||
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(
|
||||
c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
c2 INT) ENGINE=InnoDB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=4;
|
||||
|
||||
ALTER TABLE t1 DISCARD TABLESPACE;
|
||||
--error ER_TABLESPACE_DISCARDED
|
||||
SELECT * FROM t1;
|
||||
|
||||
perl;
|
||||
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
|
||||
ib_discard_tablespaces("test", "t1");
|
||||
ib_restore_tablespaces("test", "t1");
|
||||
EOF
|
||||
|
||||
--list_files $MYSQLD_DATADIR/test
|
||||
|
||||
ALTER TABLE t1 IMPORT TABLESPACE;
|
||||
CHECK TABLE t1;
|
||||
|
||||
SELECT COUNT(*) FROM t1;
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
# Export/import on the same instance, with --innodb-file-per-table=1
|
||||
# Insert some more records to move the LSN forward and then drop the
|
||||
# table and restore, this time the table has a secondary index too.
|
||||
CREATE TABLE t1(
|
||||
c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
c2 INT, INDEX(c2)) ENGINE=InnoDB
|
||||
ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=8;
|
||||
|
||||
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;
|
||||
|
||||
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");
|
||||
EOF
|
||||
--list_files $MYSQLD_DATADIR/test
|
||||
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(
|
||||
c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
c2 INT, INDEX(c2)) ENGINE=InnoDB
|
||||
ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=8;
|
||||
|
||||
ALTER TABLE t1 DISCARD TABLESPACE;
|
||||
--error ER_TABLESPACE_DISCARDED
|
||||
SELECT * FROM t1;
|
||||
|
||||
perl;
|
||||
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
|
||||
ib_discard_tablespaces("test", "t1");
|
||||
ib_restore_tablespaces("test", "t1");
|
||||
EOF
|
||||
|
||||
ALTER TABLE t1 IMPORT TABLESPACE;
|
||||
CHECK TABLE t1;
|
||||
|
||||
SELECT COUNT(*) FROM t1 WHERE c2 = 1;
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
# Export/import on the same instance, with --innodb-file-per-table=1
|
||||
# Insert some more records to move the LSN forward and then drop the
|
||||
# table and restore, this time the table has a secondary index too.
|
||||
# Rename the index on the create so that the IMPORT fails, drop index
|
||||
# Create with proper name and then do an IMPORT.
|
||||
CREATE TABLE t1(
|
||||
c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
c2 INT, INDEX idx(c2)) ENGINE=InnoDB
|
||||
ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=16;
|
||||
|
||||
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;
|
||||
|
||||
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");
|
||||
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(
|
||||
c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
c2 INT, INDEX x(c2)) ENGINE=InnoDB
|
||||
ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=16;
|
||||
|
||||
ALTER TABLE t1 DISCARD TABLESPACE;
|
||||
--error ER_TABLESPACE_DISCARDED
|
||||
SELECT * FROM t1;
|
||||
|
||||
perl;
|
||||
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
|
||||
ib_discard_tablespaces("test", "t1");
|
||||
ib_restore_tablespaces("test", "t1");
|
||||
EOF
|
||||
|
||||
# This is really a name mismatch error, need better error codes.
|
||||
-- error ER_TABLE_SCHEMA_MISMATCH
|
||||
ALTER TABLE t1 IMPORT TABLESPACE;
|
||||
|
||||
ALTER TABLE t1 DROP INDEX x;
|
||||
ALTER TABLE t1 ADD INDEX idx(c2);
|
||||
|
||||
perl;
|
||||
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
|
||||
ib_restore_tablespaces("test", "t1");
|
||||
EOF
|
||||
|
||||
ALTER TABLE t1 IMPORT TABLESPACE;
|
||||
CHECK TABLE t1;
|
||||
|
||||
SELECT * FROM t1;
|
||||
|
||||
perl;
|
||||
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
|
||||
ib_cleanup("test", "t1");
|
||||
EOF
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
#
|
||||
# Export/import on the same instance, with --innodb-file-per-table=0
|
||||
# This should fail because it is not supported
|
||||
SET GLOBAL innodb_file_per_table = 0;
|
||||
|
||||
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;
|
||||
|
||||
SHOW CREATE TABLE t1;
|
||||
|
||||
# This should fail, InnoDB should return a warning
|
||||
FLUSH TABLES t1 FOR EXPORT;
|
||||
|
||||
UNLOCK TABLES;
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
#
|
||||
# Tests that check for schema mismatch during IMPORT
|
||||
#
|
||||
|
||||
SET GLOBAL innodb_file_per_table = 1;
|
||||
|
||||
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;
|
||||
|
||||
SHOW CREATE TABLE t1;
|
||||
SELECT * FROM t1;
|
||||
|
||||
FLUSH TABLES t1 FOR EXPORT;
|
||||
|
||||
perl;
|
||||
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
|
||||
ib_backup_tablespaces("test", "t1");
|
||||
EOF
|
||||
|
||||
UNLOCK TABLES;
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
# Table without the secondary index
|
||||
CREATE TABLE t1(
|
||||
c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
c2 INT) ENGINE=InnoDB
|
||||
ROW_FORMAT=COMPRESSED;
|
||||
|
||||
ALTER TABLE t1 DISCARD TABLESPACE;
|
||||
--error ER_TABLESPACE_DISCARDED
|
||||
SELECT * FROM t1;
|
||||
|
||||
perl;
|
||||
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
|
||||
ib_discard_tablespaces("test", "t1");
|
||||
ib_restore_tablespaces("test", "t1");
|
||||
EOF
|
||||
|
||||
# This should fail because of a missing secondary index
|
||||
-- error ER_TABLE_SCHEMA_MISMATCH
|
||||
ALTER TABLE t1 IMPORT TABLESPACE;
|
||||
|
||||
perl;
|
||||
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
|
||||
ib_unlink_tablespace("test", "t1");
|
||||
EOF
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
# Table with an additional column
|
||||
CREATE TABLE t1(
|
||||
c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
c2 INT,
|
||||
c3 INT, INDEX idx(c2)) ENGINE=InnoDB
|
||||
ROW_FORMAT=COMPRESSED;
|
||||
|
||||
ALTER TABLE t1 DISCARD TABLESPACE;
|
||||
--error ER_TABLESPACE_DISCARDED
|
||||
SELECT * FROM t1;
|
||||
|
||||
perl;
|
||||
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
|
||||
ib_discard_tablespaces("test", "t1");
|
||||
ib_restore_tablespaces("test", "t1");
|
||||
EOF
|
||||
|
||||
# This should fail because the table has an additional column
|
||||
-- error ER_TABLE_SCHEMA_MISMATCH
|
||||
ALTER TABLE t1 IMPORT TABLESPACE;
|
||||
|
||||
perl;
|
||||
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
|
||||
ib_unlink_tablespace("test", "t1");
|
||||
EOF
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
# Change the column type of c2
|
||||
CREATE TABLE t1(
|
||||
c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
c2 BIGINT, INDEX idx(c2)) ENGINE=InnoDB
|
||||
ROW_FORMAT=COMPRESSED;
|
||||
|
||||
ALTER TABLE t1 DISCARD TABLESPACE;
|
||||
--error ER_TABLESPACE_DISCARDED
|
||||
SELECT * FROM t1;
|
||||
|
||||
perl;
|
||||
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
|
||||
ib_discard_tablespaces("test", "t1");
|
||||
ib_restore_tablespaces("test", "t1");
|
||||
EOF
|
||||
|
||||
# This should fail because c2 is now a BIGINT and not INT
|
||||
-- error ER_TABLE_SCHEMA_MISMATCH
|
||||
ALTER TABLE t1 IMPORT TABLESPACE;
|
||||
|
||||
perl;
|
||||
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
|
||||
ib_unlink_tablespace("test", "t1");
|
||||
EOF
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
# This should fail because KEY_BLOCK_SIZE is different
|
||||
CREATE TABLE t1(
|
||||
c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
c2 INT, INDEX idx(c2)) ENGINE=InnoDB
|
||||
ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=4;
|
||||
|
||||
ALTER TABLE t1 DISCARD TABLESPACE;
|
||||
--error ER_TABLESPACE_DISCARDED
|
||||
SELECT * FROM t1;
|
||||
|
||||
perl;
|
||||
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
|
||||
ib_discard_tablespaces("test", "t1");
|
||||
ib_restore_tablespaces("test", "t1");
|
||||
EOF
|
||||
|
||||
# This should fail because is KEY_BLOCK_SIZE=4
|
||||
# but KEY_BLOCK_SIZE=8 is exported table
|
||||
# Need better error message for following
|
||||
--replace_regex /\(.*\)//
|
||||
-- error ER_TABLE_SCHEMA_MISMATCH
|
||||
ALTER TABLE t1 IMPORT TABLESPACE;
|
||||
|
||||
perl;
|
||||
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
|
||||
ib_unlink_tablespace("test", "t1");
|
||||
EOF
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
|
||||
# This should be OK.
|
||||
CREATE TABLE t1(
|
||||
c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
c2 INT, INDEX idx(c2)) ENGINE=InnoDB
|
||||
ROW_FORMAT=COMPRESSED;
|
||||
|
||||
ALTER TABLE t1 DISCARD TABLESPACE;
|
||||
--error ER_TABLESPACE_DISCARDED
|
||||
SELECT * FROM t1;
|
||||
|
||||
perl;
|
||||
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
|
||||
ib_discard_tablespaces("test", "t1");
|
||||
ib_restore_tablespaces("test", "t1");
|
||||
EOF
|
||||
|
||||
ALTER TABLE t1 IMPORT TABLESPACE;
|
||||
CHECK TABLE t1;
|
||||
|
||||
perl;
|
||||
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
|
||||
ib_cleanup("test", "t1");
|
||||
EOF
|
||||
|
||||
SHOW CREATE TABLE t1;
|
||||
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: The table .* doesn't have a corresponding tablespace, it was discarded");
|
||||
|
||||
# cleanup
|
||||
--remove_file $MYSQLTEST_VARDIR/tmp/t1.cfg
|
||||
--remove_file $MYSQLTEST_VARDIR/tmp/t1.ibd
|
||||
|
||||
eval SET GLOBAL INNODB_FILE_FORMAT=$innodb_file_format;
|
||||
eval SET GLOBAL INNODB_FILE_PER_TABLE=$innodb_file_per_table;
|
||||
eval SET SESSION innodb_strict_mode=$innodb_strict_mode_orig;
|
884
mysql-test/suite/innodb/t/innodb-wl5522.test
Normal file
884
mysql-test/suite/innodb/t/innodb-wl5522.test
Normal file
@ -0,0 +1,884 @@
|
||||
# Not supported in embedded
|
||||
--source include/not_embedded.inc
|
||||
|
||||
-- source include/have_innodb.inc
|
||||
|
||||
--disable_warnings
|
||||
DROP TABLE IF EXISTS t1;
|
||||
--enable_warnings
|
||||
|
||||
let $innodb_file_per_table = `SELECT @@innodb_file_per_table`;
|
||||
let $innodb_file_format = `SELECT @@innodb_file_format`;
|
||||
|
||||
SET GLOBAL innodb_file_per_table = 1;
|
||||
SELECT @@innodb_file_per_table;
|
||||
|
||||
SET GLOBAL innodb_file_format = `Barracuda`;
|
||||
SELECT @@innodb_file_format;
|
||||
|
||||
let $MYSQLD_TMPDIR = `SELECT @@tmpdir`;
|
||||
let $MYSQLD_DATADIR = `SELECT @@datadir`;
|
||||
|
||||
CREATE TABLE t1
|
||||
(a INT AUTO_INCREMENT PRIMARY KEY,
|
||||
b char(22),
|
||||
c varchar(255),
|
||||
KEY (b))
|
||||
ENGINE = InnoDB;
|
||||
|
||||
insert into t1 (b, c) 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;
|
||||
SELECT COUNT(*) FROM t1;
|
||||
SELECT * FROM t1 ORDER BY b,a DESC LIMIT 3;
|
||||
SELECT * FROM t1 ORDER BY a DESC LIMIT 3;
|
||||
--list_files $MYSQLD_DATADIR/test
|
||||
--echo # Restarting server
|
||||
-- source include/restart_mysqld.inc
|
||||
--echo # Done restarting server
|
||||
FLUSH TABLE t1 FOR EXPORT;
|
||||
--echo # List before copying files
|
||||
--list_files $MYSQLD_DATADIR/test
|
||||
--copy_file $MYSQLD_DATADIR/test/t1.cfg $MYSQLD_TMPDIR/t1.cfg
|
||||
--copy_file $MYSQLD_DATADIR/test/t1.ibd $MYSQLD_TMPDIR/t1.ibd
|
||||
UNLOCK TABLES;
|
||||
INSERT INTO t1 (b, c) SELECT b,c FROM t1 ORDER BY a;
|
||||
SELECT COUNT(*) FROM t1;
|
||||
SELECT * FROM t1 ORDER BY b,a DESC LIMIT 3;
|
||||
SELECT * FROM t1 ORDER BY a DESC LIMIT 3;
|
||||
--echo # Restarting server
|
||||
-- source include/restart_mysqld.inc
|
||||
--echo # Done restarting server
|
||||
--echo # List before t1 DISCARD
|
||||
--list_files $MYSQLD_DATADIR/test
|
||||
ALTER TABLE t1 DISCARD TABLESPACE;
|
||||
--echo # List after t1 DISCARD
|
||||
--list_files $MYSQLD_DATADIR/test
|
||||
--copy_file $MYSQLD_TMPDIR/t1.cfg $MYSQLD_DATADIR/test/t1.cfg
|
||||
--copy_file $MYSQLD_TMPDIR/t1.ibd $MYSQLD_DATADIR/test/t1.ibd
|
||||
ALTER TABLE t1 IMPORT TABLESPACE;
|
||||
ALTER TABLE t1 ENGINE InnoDB;
|
||||
SELECT COUNT(*) FROM t1;
|
||||
SELECT * FROM t1 ORDER BY b,a DESC LIMIT 3;
|
||||
SELECT * FROM t1 ORDER BY a DESC LIMIT 3;
|
||||
--list_files $MYSQLD_DATADIR/test
|
||||
SELECT COUNT(*) FROM t1;
|
||||
SELECT * FROM t1 ORDER BY b,a DESC LIMIT 3;
|
||||
SELECT * FROM t1 ORDER BY a DESC LIMIT 3;
|
||||
DROP TABLE t1;
|
||||
|
||||
--remove_file $MYSQLD_TMPDIR/t1.cfg
|
||||
--remove_file $MYSQLD_TMPDIR/t1.ibd
|
||||
|
||||
SET GLOBAL innodb_file_per_table = 1;
|
||||
SELECT @@innodb_file_per_table;
|
||||
|
||||
SET GLOBAL innodb_file_format = `Barracuda`;
|
||||
SELECT @@innodb_file_format;
|
||||
|
||||
let MYSQLD_DATADIR =`SELECT @@datadir`;
|
||||
|
||||
# Try importing when tablespace already exists
|
||||
CREATE TABLE t1(
|
||||
c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
c2 INT) ENGINE=InnoDB;
|
||||
|
||||
INSERT INTO t1(c2) VALUES(1);
|
||||
--error ER_TABLESPACE_EXISTS
|
||||
ALTER TABLE t1 IMPORT TABLESPACE;
|
||||
SELECT * FROM t1;
|
||||
DROP TABLE t1;
|
||||
|
||||
# Export/import on the same instance, with --innodb-file-per-table=1
|
||||
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;
|
||||
|
||||
--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");
|
||||
EOF
|
||||
|
||||
--list_files $MYSQLD_DATADIR/test
|
||||
|
||||
UNLOCK TABLES;
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
CREATE TABLE t1(
|
||||
c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
c2 INT) ENGINE=InnoDB;
|
||||
|
||||
ALTER TABLE t1 DISCARD TABLESPACE;
|
||||
--error ER_TABLESPACE_DISCARDED
|
||||
SELECT * FROM t1;
|
||||
|
||||
perl;
|
||||
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
|
||||
ib_discard_tablespaces("test", "t1");
|
||||
ib_restore_tablespaces("test", "t1");
|
||||
EOF
|
||||
|
||||
--list_files $MYSQLD_DATADIR/test
|
||||
|
||||
ALTER TABLE t1 IMPORT TABLESPACE;
|
||||
CHECK TABLE t1;
|
||||
|
||||
SELECT COUNT(*) FROM t1;
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
# Export/import on the same instance, with --innodb-file-per-table=1
|
||||
# Insert some more records to move the LSN forward and then drop the
|
||||
# table and restore
|
||||
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;
|
||||
|
||||
--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");
|
||||
EOF
|
||||
--list_files $MYSQLD_DATADIR/test
|
||||
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(
|
||||
c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
c2 INT) ENGINE=InnoDB;
|
||||
|
||||
ALTER TABLE t1 DISCARD TABLESPACE;
|
||||
--error ER_TABLESPACE_DISCARDED
|
||||
SELECT * FROM t1;
|
||||
|
||||
perl;
|
||||
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
|
||||
ib_discard_tablespaces("test", "t1");
|
||||
ib_restore_tablespaces("test", "t1");
|
||||
EOF
|
||||
|
||||
--list_files $MYSQLD_DATADIR/test
|
||||
|
||||
ALTER TABLE t1 IMPORT TABLESPACE;
|
||||
CHECK TABLE t1;
|
||||
|
||||
SELECT COUNT(*) FROM t1;
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
# Export/import on the same instance, with --innodb-file-per-table=1
|
||||
# Insert some more records to move the LSN forward and then drop the
|
||||
# table and restore, this time the table has a secondary index too.
|
||||
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;
|
||||
|
||||
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");
|
||||
EOF
|
||||
--list_files $MYSQLD_DATADIR/test
|
||||
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(
|
||||
c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
c2 INT, INDEX(c2)) ENGINE=InnoDB;
|
||||
|
||||
ALTER TABLE t1 DISCARD TABLESPACE;
|
||||
--error ER_TABLESPACE_DISCARDED
|
||||
SELECT * FROM t1;
|
||||
|
||||
perl;
|
||||
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
|
||||
ib_discard_tablespaces("test", "t1");
|
||||
ib_restore_tablespaces("test", "t1");
|
||||
EOF
|
||||
|
||||
ALTER TABLE t1 IMPORT TABLESPACE;
|
||||
CHECK TABLE t1;
|
||||
|
||||
SELECT COUNT(*) FROM t1 WHERE c2 = 1;
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
# Export/import on the same instance, with --innodb-file-per-table=1
|
||||
# Insert some more records to move the LSN forward and then drop the
|
||||
# table and restore, this time the table has a secondary index too.
|
||||
# Rename the index on the create so that the IMPORT fails, drop index
|
||||
# Create with proper name and then do an IMPORT.
|
||||
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;
|
||||
|
||||
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");
|
||||
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(
|
||||
c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
c2 INT, INDEX x(c2)) ENGINE=InnoDB;
|
||||
|
||||
ALTER TABLE t1 DISCARD TABLESPACE;
|
||||
--error ER_TABLESPACE_DISCARDED
|
||||
SELECT * FROM t1;
|
||||
|
||||
perl;
|
||||
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
|
||||
ib_discard_tablespaces("test", "t1");
|
||||
ib_restore_tablespaces("test", "t1");
|
||||
EOF
|
||||
|
||||
# This is really a name mismatch error, need better error codes.
|
||||
-- error ER_TABLE_SCHEMA_MISMATCH
|
||||
ALTER TABLE t1 IMPORT TABLESPACE;
|
||||
|
||||
ALTER TABLE t1 DROP INDEX x;
|
||||
ALTER TABLE t1 ADD INDEX idx(c2);
|
||||
|
||||
perl;
|
||||
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
|
||||
ib_restore_tablespaces("test", "t1");
|
||||
EOF
|
||||
|
||||
ALTER TABLE t1 IMPORT TABLESPACE;
|
||||
CHECK TABLE t1;
|
||||
|
||||
SELECT * FROM t1;
|
||||
|
||||
perl;
|
||||
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
|
||||
ib_cleanup("test", "t1");
|
||||
EOF
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
#
|
||||
# Export/import on the same instance, with --innodb-file-per-table=0
|
||||
# This should fail because it is not supported
|
||||
SET GLOBAL innodb_file_per_table = 0;
|
||||
|
||||
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;
|
||||
|
||||
SHOW CREATE TABLE t1;
|
||||
|
||||
# This should fail, InnoDB should return a warning
|
||||
FLUSH TABLES t1 FOR EXPORT;
|
||||
|
||||
UNLOCK TABLES;
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
#
|
||||
# Tests that check for schema mismatch during IMPORT
|
||||
#
|
||||
|
||||
SET GLOBAL innodb_file_per_table = 1;
|
||||
|
||||
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;
|
||||
|
||||
SHOW CREATE TABLE t1;
|
||||
SELECT * FROM t1;
|
||||
|
||||
FLUSH TABLES t1 FOR EXPORT;
|
||||
|
||||
perl;
|
||||
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
|
||||
ib_backup_tablespaces("test", "t1");
|
||||
EOF
|
||||
|
||||
UNLOCK TABLES;
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
# Table without the secondary index
|
||||
CREATE TABLE t1(
|
||||
c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
c2 INT) ENGINE=InnoDB;
|
||||
|
||||
ALTER TABLE t1 DISCARD TABLESPACE;
|
||||
--error ER_TABLESPACE_DISCARDED
|
||||
SELECT * FROM t1;
|
||||
|
||||
perl;
|
||||
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
|
||||
ib_discard_tablespaces("test", "t1");
|
||||
ib_restore_tablespaces("test", "t1");
|
||||
EOF
|
||||
|
||||
# This should fail because of a missing secondary index
|
||||
-- error ER_TABLE_SCHEMA_MISMATCH
|
||||
ALTER TABLE t1 IMPORT TABLESPACE;
|
||||
|
||||
perl;
|
||||
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
|
||||
ib_unlink_tablespace("test", "t1");
|
||||
EOF
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
# Table with an additional column
|
||||
CREATE TABLE t1(
|
||||
c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
c2 INT,
|
||||
c3 INT, INDEX idx(c2)) ENGINE=InnoDB;
|
||||
|
||||
ALTER TABLE t1 DISCARD TABLESPACE;
|
||||
--error ER_TABLESPACE_DISCARDED
|
||||
SELECT * FROM t1;
|
||||
|
||||
perl;
|
||||
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
|
||||
ib_discard_tablespaces("test", "t1");
|
||||
ib_restore_tablespaces("test", "t1");
|
||||
EOF
|
||||
|
||||
# This should fail because the table has an additional column
|
||||
-- error ER_TABLE_SCHEMA_MISMATCH
|
||||
ALTER TABLE t1 IMPORT TABLESPACE;
|
||||
|
||||
perl;
|
||||
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
|
||||
ib_unlink_tablespace("test", "t1");
|
||||
EOF
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
# Change the column type of c2
|
||||
CREATE TABLE t1(
|
||||
c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
c2 BIGINT, INDEX idx(c2)) ENGINE=InnoDB;
|
||||
|
||||
ALTER TABLE t1 DISCARD TABLESPACE;
|
||||
--error ER_TABLESPACE_DISCARDED
|
||||
SELECT * FROM t1;
|
||||
|
||||
perl;
|
||||
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
|
||||
ib_discard_tablespaces("test", "t1");
|
||||
ib_restore_tablespaces("test", "t1");
|
||||
EOF
|
||||
|
||||
# This should fail because c2 is now a BIGINT and not INT
|
||||
-- error ER_TABLE_SCHEMA_MISMATCH
|
||||
ALTER TABLE t1 IMPORT TABLESPACE;
|
||||
|
||||
perl;
|
||||
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
|
||||
ib_unlink_tablespace("test", "t1");
|
||||
EOF
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
# This should be OK.
|
||||
CREATE TABLE t1(
|
||||
c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
c2 INT, INDEX idx(c2)) ENGINE=InnoDB;
|
||||
|
||||
ALTER TABLE t1 DISCARD TABLESPACE;
|
||||
--error ER_TABLESPACE_DISCARDED
|
||||
SELECT * FROM t1;
|
||||
|
||||
perl;
|
||||
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
|
||||
ib_discard_tablespaces("test", "t1");
|
||||
ib_restore_tablespaces("test", "t1");
|
||||
EOF
|
||||
|
||||
ALTER TABLE t1 IMPORT TABLESPACE;
|
||||
CHECK TABLE t1;
|
||||
|
||||
perl;
|
||||
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
|
||||
ib_cleanup("test", "t1");
|
||||
EOF
|
||||
|
||||
SHOW CREATE TABLE t1;
|
||||
SELECT * FROM t1;
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
#
|
||||
# Row format tests [EXPORT REDUNDANT - IMPORT COMPACT & DYNAMIC]
|
||||
#
|
||||
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;
|
||||
|
||||
SHOW CREATE TABLE t1;
|
||||
SELECT * FROM t1;
|
||||
|
||||
FLUSH TABLES t1 FOR EXPORT;
|
||||
|
||||
perl;
|
||||
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
|
||||
ib_backup_tablespaces("test", "t1");
|
||||
EOF
|
||||
|
||||
UNLOCK TABLES;
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
CREATE TABLE t1(
|
||||
c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
c2 INT, INDEX idx(c2)) ENGINE=InnoDB ROW_FORMAT=REDUNDANT;
|
||||
|
||||
ALTER TABLE t1 DISCARD TABLESPACE;
|
||||
--error ER_TABLESPACE_DISCARDED
|
||||
SELECT * FROM t1;
|
||||
|
||||
perl;
|
||||
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
|
||||
ib_discard_tablespaces("test", "t1");
|
||||
ib_restore_tablespaces("test", "t1");
|
||||
EOF
|
||||
|
||||
ALTER TABLE t1 IMPORT TABLESPACE;
|
||||
CHECK TABLE t1;
|
||||
|
||||
perl;
|
||||
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
|
||||
ib_cleanup("test", "t1");
|
||||
EOF
|
||||
|
||||
SHOW CREATE TABLE t1;
|
||||
SELECT * FROM t1;
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
CREATE TABLE t1(
|
||||
c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
c2 INT, INDEX idx(c2)) ENGINE=InnoDB ROW_FORMAT=COMPACT;
|
||||
|
||||
ALTER TABLE t1 DISCARD TABLESPACE;
|
||||
--error ER_TABLESPACE_DISCARDED
|
||||
SELECT * FROM t1;
|
||||
|
||||
perl;
|
||||
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
|
||||
ib_discard_tablespaces("test", "t1");
|
||||
ib_restore_tablespaces("test", "t1");
|
||||
EOF
|
||||
|
||||
--error ER_TABLE_SCHEMA_MISMATCH
|
||||
ALTER TABLE t1 IMPORT TABLESPACE;
|
||||
|
||||
perl;
|
||||
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
|
||||
ib_unlink_tablespace("test", "t1");
|
||||
EOF
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
CREATE TABLE t1(
|
||||
c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
c2 INT, INDEX idx(c2)) ENGINE=InnoDB ROW_FORMAT=DYNAMIC;
|
||||
|
||||
ALTER TABLE t1 DISCARD TABLESPACE;
|
||||
--error ER_TABLESPACE_DISCARDED
|
||||
SELECT * FROM t1;
|
||||
|
||||
perl;
|
||||
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
|
||||
ib_discard_tablespaces("test", "t1");
|
||||
ib_restore_tablespaces("test", "t1");
|
||||
EOF
|
||||
|
||||
--error ER_TABLE_SCHEMA_MISMATCH
|
||||
ALTER TABLE t1 IMPORT TABLESPACE;
|
||||
|
||||
perl;
|
||||
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
|
||||
ib_unlink_tablespace("test", "t1");
|
||||
EOF
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
# This should be OK.
|
||||
CREATE TABLE t1(
|
||||
c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
c2 INT, INDEX idx(c2)) ENGINE=InnoDB ROW_FORMAT=REDUNDANT;
|
||||
|
||||
ALTER TABLE t1 DISCARD TABLESPACE;
|
||||
--error ER_TABLESPACE_DISCARDED
|
||||
SELECT * FROM t1;
|
||||
|
||||
perl;
|
||||
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
|
||||
ib_discard_tablespaces("test", "t1");
|
||||
ib_restore_tablespaces("test", "t1");
|
||||
EOF
|
||||
|
||||
ALTER TABLE t1 IMPORT TABLESPACE;
|
||||
|
||||
perl;
|
||||
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
|
||||
ib_cleanup("test", "t1");
|
||||
EOF
|
||||
|
||||
SHOW CREATE TABLE t1;
|
||||
SELECT * FROM t1;
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
#
|
||||
# Row format tests [EXPORT COMPACT - IMPORT REDUNDANT & DYNAMIC]
|
||||
#
|
||||
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;
|
||||
|
||||
SHOW CREATE TABLE t1;
|
||||
SELECT * FROM t1;
|
||||
|
||||
FLUSH TABLES t1 FOR EXPORT;
|
||||
|
||||
perl;
|
||||
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
|
||||
ib_backup_tablespaces("test", "t1");
|
||||
EOF
|
||||
|
||||
UNLOCK TABLES;
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
CREATE TABLE t1(
|
||||
c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
c2 INT, INDEX idx(c2)) ENGINE=InnoDB ROW_FORMAT=COMPACT;
|
||||
|
||||
ALTER TABLE t1 DISCARD TABLESPACE;
|
||||
--error ER_TABLESPACE_DISCARDED
|
||||
SELECT * FROM t1;
|
||||
|
||||
perl;
|
||||
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
|
||||
ib_discard_tablespaces("test", "t1");
|
||||
ib_restore_tablespaces("test", "t1");
|
||||
EOF
|
||||
|
||||
ALTER TABLE t1 IMPORT TABLESPACE;
|
||||
CHECK TABLE t1;
|
||||
|
||||
perl;
|
||||
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
|
||||
ib_cleanup("test", "t1");
|
||||
EOF
|
||||
|
||||
SHOW CREATE TABLE t1;
|
||||
SELECT * FROM t1;
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
CREATE TABLE t1(
|
||||
c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
c2 INT, INDEX idx(c2)) ENGINE=InnoDB ROW_FORMAT=REDUNDANT;
|
||||
|
||||
ALTER TABLE t1 DISCARD TABLESPACE;
|
||||
--error ER_TABLESPACE_DISCARDED
|
||||
SELECT * FROM t1;
|
||||
|
||||
perl;
|
||||
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
|
||||
ib_discard_tablespaces("test", "t1");
|
||||
ib_restore_tablespaces("test", "t1");
|
||||
EOF
|
||||
|
||||
--error ER_TABLE_SCHEMA_MISMATCH
|
||||
ALTER TABLE t1 IMPORT TABLESPACE;
|
||||
|
||||
perl;
|
||||
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
|
||||
ib_unlink_tablespace("test", "t1");
|
||||
EOF
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
CREATE TABLE t1(
|
||||
c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
c2 INT, INDEX idx(c2)) ENGINE=InnoDB ROW_FORMAT=DYNAMIC;
|
||||
|
||||
ALTER TABLE t1 DISCARD TABLESPACE;
|
||||
--error ER_TABLESPACE_DISCARDED
|
||||
SELECT * FROM t1;
|
||||
|
||||
perl;
|
||||
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
|
||||
ib_discard_tablespaces("test", "t1");
|
||||
ib_restore_tablespaces("test", "t1");
|
||||
EOF
|
||||
|
||||
--error ER_TABLE_SCHEMA_MISMATCH
|
||||
ALTER TABLE t1 IMPORT TABLESPACE;
|
||||
|
||||
perl;
|
||||
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
|
||||
ib_unlink_tablespace("test", "t1");
|
||||
EOF
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
# This should be OK.
|
||||
CREATE TABLE t1(
|
||||
c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
c2 INT, INDEX idx(c2)) ENGINE=InnoDB ROW_FORMAT=COMPACT;
|
||||
|
||||
ALTER TABLE t1 DISCARD TABLESPACE;
|
||||
--error ER_TABLESPACE_DISCARDED
|
||||
SELECT * FROM t1;
|
||||
|
||||
perl;
|
||||
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
|
||||
ib_discard_tablespaces("test", "t1");
|
||||
ib_restore_tablespaces("test", "t1");
|
||||
EOF
|
||||
|
||||
ALTER TABLE t1 IMPORT TABLESPACE;
|
||||
CHECK TABLE t1;
|
||||
|
||||
perl;
|
||||
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
|
||||
ib_cleanup("test", "t1");
|
||||
EOF
|
||||
|
||||
SHOW CREATE TABLE t1;
|
||||
SELECT * FROM t1;
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
#
|
||||
# Row format tests [EXPORT DYNAMIC- IMPORT REDUNDANT & DYNAMIC]
|
||||
#
|
||||
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;
|
||||
|
||||
SHOW CREATE TABLE t1;
|
||||
SELECT * FROM t1;
|
||||
|
||||
FLUSH TABLES t1 FOR EXPORT;
|
||||
|
||||
perl;
|
||||
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
|
||||
ib_backup_tablespaces("test", "t1");
|
||||
EOF
|
||||
|
||||
UNLOCK TABLES;
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
CREATE TABLE t1(
|
||||
c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
c2 INT, INDEX idx(c2)) ENGINE=InnoDB ROW_FORMAT=DYNAMIC;
|
||||
|
||||
ALTER TABLE t1 DISCARD TABLESPACE;
|
||||
--error ER_TABLESPACE_DISCARDED
|
||||
SELECT * FROM t1;
|
||||
|
||||
perl;
|
||||
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
|
||||
ib_discard_tablespaces("test", "t1");
|
||||
ib_restore_tablespaces("test", "t1");
|
||||
EOF
|
||||
|
||||
ALTER TABLE t1 IMPORT TABLESPACE;
|
||||
CHECK TABLE t1;
|
||||
|
||||
perl;
|
||||
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
|
||||
ib_cleanup("test", "t1");
|
||||
EOF
|
||||
|
||||
SHOW CREATE TABLE t1;
|
||||
SELECT * FROM t1;
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
CREATE TABLE t1(
|
||||
c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
c2 INT, INDEX idx(c2)) ENGINE=InnoDB ROW_FORMAT=COMPACT;
|
||||
|
||||
ALTER TABLE t1 DISCARD TABLESPACE;
|
||||
--error ER_TABLESPACE_DISCARDED
|
||||
SELECT * FROM t1;
|
||||
|
||||
perl;
|
||||
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
|
||||
ib_discard_tablespaces("test", "t1");
|
||||
ib_restore_tablespaces("test", "t1");
|
||||
EOF
|
||||
|
||||
--error ER_TABLE_SCHEMA_MISMATCH
|
||||
ALTER TABLE t1 IMPORT TABLESPACE;
|
||||
|
||||
perl;
|
||||
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
|
||||
ib_unlink_tablespace("test", "t1");
|
||||
EOF
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
CREATE TABLE t1(
|
||||
c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
c2 INT, INDEX idx(c2)) ENGINE=InnoDB ROW_FORMAT=REDUNDANT;
|
||||
|
||||
ALTER TABLE t1 DISCARD TABLESPACE;
|
||||
--error ER_TABLESPACE_DISCARDED
|
||||
SELECT * FROM t1;
|
||||
|
||||
perl;
|
||||
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
|
||||
ib_discard_tablespaces("test", "t1");
|
||||
ib_restore_tablespaces("test", "t1");
|
||||
EOF
|
||||
|
||||
--error ER_TABLE_SCHEMA_MISMATCH
|
||||
ALTER TABLE t1 IMPORT TABLESPACE;
|
||||
|
||||
perl;
|
||||
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
|
||||
ib_unlink_tablespace("test", "t1");
|
||||
EOF
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
# This should be OK.
|
||||
CREATE TABLE t1(
|
||||
c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
c2 INT, INDEX idx(c2)) ENGINE=InnoDB ROW_FORMAT=DYNAMIC;
|
||||
|
||||
ALTER TABLE t1 DISCARD TABLESPACE;
|
||||
--error ER_TABLESPACE_DISCARDED
|
||||
SELECT * FROM t1;
|
||||
|
||||
perl;
|
||||
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
|
||||
ib_discard_tablespaces("test", "t1");
|
||||
ib_restore_tablespaces("test", "t1");
|
||||
EOF
|
||||
|
||||
ALTER TABLE t1 IMPORT TABLESPACE;
|
||||
CHECK TABLE t1;
|
||||
|
||||
perl;
|
||||
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
|
||||
ib_cleanup("test", "t1");
|
||||
EOF
|
||||
|
||||
SHOW CREATE TABLE t1;
|
||||
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: The table .* doesn't have a corresponding tablespace, it was discarded");
|
||||
|
||||
# cleanup
|
||||
--remove_file $MYSQLTEST_VARDIR/tmp/t1.cfg
|
||||
--remove_file $MYSQLTEST_VARDIR/tmp/t1.ibd
|
||||
|
||||
eval SET GLOBAL INNODB_FILE_FORMAT=$innodb_file_format;
|
||||
eval SET GLOBAL INNODB_FILE_PER_TABLE=$innodb_file_per_table;
|
Reference in New Issue
Block a user