12 changed files with 244 additions and 105 deletions
-
20cmake/install_macros.cmake
-
50mysql-test/main/cte_nonrecursive.result
-
36mysql-test/main/cte_nonrecursive.test
-
13mysql-test/suite/encryption/r/encryption_key_corruption.result
-
6mysql-test/suite/encryption/t/encryption_key_corruption.combinations
-
1mysql-test/suite/encryption/t/encryption_key_corruption.opt
-
44mysql-test/suite/encryption/t/encryption_key_corruption.test
-
57sql/sql_cte.cc
-
84storage/innobase/fil/fil0crypt.cc
-
8storage/innobase/include/fil0crypt.h
-
28storage/innobase/row/row0import.cc
-
2win/upgrade_wizard/upgradeDlg.cpp
@ -0,0 +1,13 @@ |
|||||
|
call mtr.add_suppression("InnoDB: .*: Page 0 at offset 0 looks corrupted"); |
||||
|
call mtr.add_suppression("Index for table 'dst' is corrupt; try to repair it"); |
||||
|
call mtr.add_suppression("Page for tablespace .* is index page with id .* but that index is not found from configuration file"); |
||||
|
CREATE TABLE src (pk INT PRIMARY KEY, value INT) ENGINE=INNODB; |
||||
|
INSERT INTO src VALUES (1, 1), (2, 2), (3, 3); |
||||
|
FLUSH TABLES src FOR EXPORT; |
||||
|
UNLOCK TABLES; |
||||
|
DROP TABLE src; |
||||
|
CREATE TABLE dst (pk INT PRIMARY KEY, value INT) ENGINE=INNODB; |
||||
|
ALTER TABLE dst DISCARD TABLESPACE; |
||||
|
ALTER TABLE dst IMPORT TABLESPACE; |
||||
|
ERROR HY000: Index for table 'dst' is corrupt; try to repair it |
||||
|
DROP TABLE dst; |
||||
@ -0,0 +1,6 @@ |
|||||
|
[crc32] |
||||
|
innodb-checksum-algorithm=crc32 |
||||
|
[none] |
||||
|
innodb-checksum-algorithm=none |
||||
|
[innodb] |
||||
|
innodb-checksum-algorithm=innodb |
||||
@ -0,0 +1 @@ |
|||||
|
--innodb-encrypt-tables=1 |
||||
@ -0,0 +1,44 @@ |
|||||
|
--source include/have_innodb.inc |
||||
|
--source include/have_example_key_management_plugin.inc |
||||
|
|
||||
|
call mtr.add_suppression("InnoDB: .*: Page 0 at offset 0 looks corrupted"); |
||||
|
call mtr.add_suppression("Index for table 'dst' is corrupt; try to repair it"); |
||||
|
call mtr.add_suppression("Page for tablespace .* is index page with id .* but that index is not found from configuration file"); |
||||
|
|
||||
|
let MYSQLD_DATADIR = `SELECT @@datadir`; |
||||
|
|
||||
|
|
||||
|
CREATE TABLE src (pk INT PRIMARY KEY, value INT) ENGINE=INNODB; |
||||
|
INSERT INTO src VALUES (1, 1), (2, 2), (3, 3); |
||||
|
|
||||
|
FLUSH TABLES src FOR EXPORT; |
||||
|
|
||||
|
--copy_file $MYSQLD_DATADIR/test/src.ibd $MYSQLD_DATADIR/test/tmp.ibd |
||||
|
--copy_file $MYSQLD_DATADIR/test/src.cfg $MYSQLD_DATADIR/test/tmp.cfg |
||||
|
|
||||
|
perl; |
||||
|
use strict; |
||||
|
die unless open(FILE, "+<$ENV{MYSQLD_DATADIR}/test/tmp.ibd"); |
||||
|
binmode FILE; |
||||
|
die unless seek(FILE, 3 * 16384 + 26, 0); |
||||
|
print FILE pack("N", 0x00000000); |
||||
|
close(FILE); |
||||
|
EOF |
||||
|
|
||||
|
UNLOCK TABLES; |
||||
|
|
||||
|
DROP TABLE src; |
||||
|
|
||||
|
CREATE TABLE dst (pk INT PRIMARY KEY, value INT) ENGINE=INNODB; |
||||
|
ALTER TABLE dst DISCARD TABLESPACE; |
||||
|
|
||||
|
--copy_file $MYSQLD_DATADIR/test/tmp.ibd $MYSQLD_DATADIR/test/dst.ibd |
||||
|
--copy_file $MYSQLD_DATADIR/test/tmp.cfg $MYSQLD_DATADIR/test/dst.cfg |
||||
|
|
||||
|
--error ER_NOT_KEYFILE |
||||
|
ALTER TABLE dst IMPORT TABLESPACE; |
||||
|
|
||||
|
DROP TABLE dst; |
||||
|
|
||||
|
--remove_file $MYSQLD_DATADIR/test/tmp.ibd |
||||
|
--remove_file $MYSQLD_DATADIR/test/tmp.cfg |
||||
Write
Preview
Loading…
Cancel
Save
Reference in new issue