Description:
Verifying bug #66738 I found that innochecksum does not work with compressed tables
How to repeat:
1. Start server with options: --innodb_file_per_table --innodb_file_format=barracuda
(you can use test case from bug #66738)
2. Connect to MySQL CLI and run:
mysql> CREATE TABLE t1(id INT AUTO_INCREMENT PRIMARY KEY, msg VARCHAR(255)) ENGINE=INNODB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=4;
Query OK, 0 rows affected (0.60 sec)
mysql> CREATE TABLE t2(id INT AUTO_INCREMENT PRIMARY KEY, msg VARCHAR(255)) ENGINE=INNODB ;
Query OK, 0 rows affected (0.49 sec)
mysql> flush tables;
Query OK, 0 rows affected (0.01 sec)
3. Run innochecksum on both tables.
Version 5.5.29:
[sveta@delly mysql-test]$ ../extra/innochecksum -v var/mysqld.1/data/test/t1.ibd
file var/mysqld.1/data/test/t1.ibd = 65536 bytes (4 pages)...
checking pages in range 0 to 3
page 0 invalid (fails log sequence number check)
[sveta@delly mysql-test]$ ../extra/innochecksum -v var/mysqld.1/data/test/t2.ibd
file var/mysqld.1/data/test/t2.ibd = 98304 bytes (6 pages)...
checking pages in range 0 to 5
Version 5.7.0:
[sveta@delly mysql-test]$ ../extra/innochecksum -v var/mysqld.1/data/test/t1.ibd
InnoDB offline file checksum utility.
120912 1:44:29 InnoDB: CPU supports crc32 instructions
Variables (--variable-name=value)
and boolean options {FALSE|TRUE} Value (after reading options)
--------------------------------- ----------------------------------------
verbose TRUE
debug FALSE
count FALSE
start-page 0
end-page 0
page 0
Error; This file contains compressed pages
[sveta@delly mysql-test]$ ../extra/innochecksum -v var/mysqld.1/data/test/t2.ibd
InnoDB offline file checksum utility.
120912 1:44:34 InnoDB: CPU supports crc32 instructions
Variables (--variable-name=value)
and boolean options {FALSE|TRUE} Value (after reading options)
--------------------------------- ----------------------------------------
verbose TRUE
debug FALSE
count FALSE
start-page 0
end-page 0
page 0
file var/mysqld.1/data/test/t2.ibd = 98304 bytes (6 pages)...
InnoChecksum; checking pages in range 0 to 5