config root man

Current Path : /home/usr.opt/mysql57/mysql-test/suite/innodb/r/

FreeBSD hs32.drive.ne.jp 9.1-RELEASE FreeBSD 9.1-RELEASE #1: Wed Jan 14 12:18:08 JST 2015 root@hs32.drive.ne.jp:/sys/amd64/compile/hs32 amd64
Upload File :
Current File : //home/usr.opt/mysql57/mysql-test/suite/innodb/r/table_compress.result

#
# Test support for the COMPRESSION syntax on any system by
# making InnoDB ignore the actual Punch Hole and setting the
# file system punch hole size (block_size or compression unit)
# to half the UNIV_PAGE_SIZE so that punch hole seems to work
# even though no space on the FS is being released.
#
SET DEFAULT_STORAGE_ENGINE=InnoDB;
SET GLOBAL innodb_file_per_table = ON;
SELECT @@innodb_file_per_table;
@@innodb_file_per_table
1
CREATE TABLESPACE s1 ADD DATAFILE 's1.ibd';
#
# Try to create a table with ZLib compression with strict mode OFF.
# If there is an error about Punch Hole not supported, make InnoDB
# think that Punch Hole is working but actually ignore the calls.
#
SET SESSION innodb_strict_mode = OFF;
SELECT @@innodb_strict_mode;
@@innodb_strict_mode
0
CREATE TABLE t1(c1 INT PRIMARY KEY) COMPRESSION="ZLIB";
DROP TABLE t1;
#
# Test acceptable DDL with innodb_strict_mode=ON.
#
SET SESSION innodb_strict_mode = ON;
SELECT @@innodb_strict_mode;
@@innodb_strict_mode
1
CREATE TABLE t1(c1 INT PRIMARY KEY) COMPRESSION="ZLIB";
SHOW CREATE TABLE t1;
Table	Create Table
t1	CREATE TABLE `t1` (
  `c1` int(11) NOT NULL,
  PRIMARY KEY (`c1`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMPRESSION='ZLIB'
INSERT INTO t1 VALUES(1),(2),(3),(4);
FLUSH TABLES t1 WITH READ LOCK;
UNLOCK TABLES;
SELECT * FROM t1;
c1
1
2
3
4
CREATE TABLE t2(c1 INT PRIMARY KEY) COMPRESSION="LZ4";
SHOW CREATE TABLE t2;
Table	Create Table
t2	CREATE TABLE `t2` (
  `c1` int(11) NOT NULL,
  PRIMARY KEY (`c1`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMPRESSION='LZ4'
INSERT INTO t2 VALUES(1),(2),(3),(4);
FLUSH TABLES t2 WITH READ LOCK;
UNLOCK TABLES;
SELECT * FROM t2;
c1
1
2
3
4
SELECT TABLE_NAME, CREATE_OPTIONS FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 't1' OR TABLE_NAME = 't2' ORDER BY TABLE_NAME;
TABLE_NAME	CREATE_OPTIONS
t1	COMPRESSION="ZLIB"
t2	COMPRESSION="LZ4"
SELECT NAME,ROW_FORMAT,SPACE_TYPE FROM INFORMATION_SCHEMA.INNODB_SYS_TABLESPACES WHERE NAME LIKE 'test/t%' ORDER BY NAME;
NAME	ROW_FORMAT	SPACE_TYPE
test/t1	Dynamic	Single
test/t2	Dynamic	Single
#
# Bug#21687636 COMPRESSION COLUMN IN INNODB_SYS_TABLESPACES IS NOT CORRECT
#
# restart
SET GLOBAL innodb_file_per_table = ON;
SET SESSION innodb_strict_mode = ON;
SHOW CREATE TABLE t1;
Table	Create Table
t1	CREATE TABLE `t1` (
  `c1` int(11) NOT NULL,
  PRIMARY KEY (`c1`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMPRESSION='ZLIB'
SHOW CREATE TABLE t2;
Table	Create Table
t2	CREATE TABLE `t2` (
  `c1` int(11) NOT NULL,
  PRIMARY KEY (`c1`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMPRESSION='LZ4'
#
# Bug#21557723 Create table from the SHOW CREATE TABLE output
#
DROP TABLE t1, t2;
CREATE TABLE `t1` (
  `c1` int(11) NOT NULL,
  PRIMARY KEY (`c1`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMPRESSION='ZLIB';
CREATE TABLE `t2` (
  `c1` int(11) NOT NULL,
  PRIMARY KEY (`c1`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMPRESSION='LZ4';
SHOW CREATE TABLE t1;
Table	Create Table
t1	CREATE TABLE `t1` (
  `c1` int(11) NOT NULL,
  PRIMARY KEY (`c1`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMPRESSION='ZLIB'
SHOW CREATE TABLE t2;
Table	Create Table
t2	CREATE TABLE `t2` (
  `c1` int(11) NOT NULL,
  PRIMARY KEY (`c1`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMPRESSION='LZ4'
SELECT TABLE_NAME, CREATE_OPTIONS FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 't1' OR TABLE_NAME = 't2' ORDER BY TABLE_NAME;
TABLE_NAME	CREATE_OPTIONS
t1	COMPRESSION="ZLIB"
t2	COMPRESSION="LZ4"
SELECT NAME,ROW_FORMAT,SPACE_TYPE FROM INFORMATION_SCHEMA.INNODB_SYS_TABLESPACES WHERE NAME LIKE 'test/t%' ORDER BY NAME;
NAME	ROW_FORMAT	SPACE_TYPE
test/t1	Dynamic	Single
test/t2	Dynamic	Single
INSERT INTO t1 VALUES(1),(2),(3),(4);
FLUSH TABLES t1 WITH READ LOCK;
UNLOCK TABLES;
SELECT * FROM t1;
c1
1
2
3
4
INSERT INTO t2 VALUES(1),(2),(3),(4);
FLUSH TABLES t2 WITH READ LOCK;
UNLOCK TABLES;
SELECT * FROM t2;
c1
1
2
3
4
DROP TABLE t2;
#
# Create a second table using CREATE TABLE LIKE and CREATE TABLE AS SELECT *
# starting with a table that really has Page Compression
#
CREATE TABLE t2 LIKE t1;
INSERT INTO t2 SELECT * FROM t1;
CREATE TABLE t3 AS SELECT * FROM t1;
CREATE DATABASE test2;
CREATE TABLE test2.t2 LIKE t1;
INSERT INTO test2.t2 SELECT * FROM t1;
CREATE TABLE test2.t3 AS SELECT * FROM t1;
SELECT TABLE_SCHEMA, TABLE_NAME, CREATE_OPTIONS FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_NAME = 't2' OR TABLE_NAME = 't3' ORDER BY TABLE_SCHEMA, TABLE_NAME;
TABLE_SCHEMA	TABLE_NAME	CREATE_OPTIONS
test	t2	COMPRESSION="ZLIB"
test	t3	
test2	t2	COMPRESSION="ZLIB"
test2	t3	
SELECT NAME,ROW_FORMAT,SPACE_TYPE FROM INFORMATION_SCHEMA.INNODB_SYS_TABLESPACES
WHERE NAME LIKE 'test%/t%' ORDER BY NAME;
NAME	ROW_FORMAT	SPACE_TYPE
test/t1	Dynamic	Single
test/t2	Dynamic	Single
test/t3	Dynamic	Single
test2/t2	Dynamic	Single
test2/t3	Dynamic	Single
SHOW CREATE TABLE t2;
Table	Create Table
t2	CREATE TABLE `t2` (
  `c1` int(11) NOT NULL,
  PRIMARY KEY (`c1`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMPRESSION='ZLIB'
SHOW CREATE TABLE t3;
Table	Create Table
t3	CREATE TABLE `t3` (
  `c1` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1
SHOW CREATE TABLE test2.t2;
Table	Create Table
t2	CREATE TABLE `t2` (
  `c1` int(11) NOT NULL,
  PRIMARY KEY (`c1`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMPRESSION='ZLIB'
SHOW CREATE TABLE test2.t3;
Table	Create Table
t3	CREATE TABLE `t3` (
  `c1` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1
DROP TABLE t2;
DROP TABLE t3;
DROP TABLE test2.t2;
DROP TABLE test2.t3;
DROP DATABASE test2;
#
# Change compression with ALTER TABLE
#
ALTER TABLE t1 COMPRESSION='';
INSERT INTO t1 VALUES(5);
FLUSH TABLES t1 WITH READ LOCK;
UNLOCK TABLES;
SHOW CREATE TABLE t1;
Table	Create Table
t1	CREATE TABLE `t1` (
  `c1` int(11) NOT NULL,
  PRIMARY KEY (`c1`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
SELECT TABLE_NAME, CREATE_OPTIONS FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 't1';
TABLE_NAME	CREATE_OPTIONS
t1	
SELECT NAME,ROW_FORMAT,SPACE_TYPE FROM INFORMATION_SCHEMA.INNODB_SYS_TABLESPACES WHERE NAME = 'test/t1';
NAME	ROW_FORMAT	SPACE_TYPE
test/t1	Dynamic	Single
ALTER TABLE t1 COMPRESSION='LZ4';
INSERT INTO t1 VALUES(6);
FLUSH TABLES t1 WITH READ LOCK;
UNLOCK TABLES;
SHOW CREATE TABLE t1;
Table	Create Table
t1	CREATE TABLE `t1` (
  `c1` int(11) NOT NULL,
  PRIMARY KEY (`c1`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMPRESSION='LZ4'
SELECT TABLE_NAME, CREATE_OPTIONS FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 't1';
TABLE_NAME	CREATE_OPTIONS
t1	COMPRESSION="LZ4"
SELECT NAME,ROW_FORMAT,SPACE_TYPE FROM INFORMATION_SCHEMA.INNODB_SYS_TABLESPACES WHERE NAME = 'test/t1';
NAME	ROW_FORMAT	SPACE_TYPE
test/t1	Dynamic	Single
ALTER TABLE t1 COMPRESSION='NONE';
INSERT INTO t1 VALUES(7);
FLUSH TABLES t1 WITH READ LOCK;
UNLOCK TABLES;
SHOW CREATE TABLE t1;
Table	Create Table
t1	CREATE TABLE `t1` (
  `c1` int(11) NOT NULL,
  PRIMARY KEY (`c1`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMPRESSION='NONE'
SELECT TABLE_NAME, CREATE_OPTIONS FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 't1';
TABLE_NAME	CREATE_OPTIONS
t1	COMPRESSION="NONE"
SELECT NAME,ROW_FORMAT,SPACE_TYPE FROM INFORMATION_SCHEMA.INNODB_SYS_TABLESPACES WHERE NAME = 'test/t1';
NAME	ROW_FORMAT	SPACE_TYPE
test/t1	Dynamic	Single
OPTIMIZE TABLE t1;
Table	Op	Msg_type	Msg_text
test.t1	optimize	note	Table does not support optimize, doing recreate + analyze instead
test.t1	optimize	status	OK
SHOW CREATE TABLE t1;
Table	Create Table
t1	CREATE TABLE `t1` (
  `c1` int(11) NOT NULL,
  PRIMARY KEY (`c1`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMPRESSION='NONE'
SELECT TABLE_NAME, CREATE_OPTIONS FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 't1';
TABLE_NAME	CREATE_OPTIONS
t1	COMPRESSION="NONE"
SELECT NAME,ROW_FORMAT,SPACE_TYPE FROM INFORMATION_SCHEMA.INNODB_SYS_TABLESPACES WHERE NAME = 'test/t1';
NAME	ROW_FORMAT	SPACE_TYPE
test/t1	Dynamic	Single
DROP TABLE t1;
#
# Test various BAD DDL with innodb_strict_mode=ON.
#
CREATE TABLE t1(c1 INT PRIMARY KEY) COMPRESSION="zlibX";
ERROR HY000: Table storage engine for 't1' doesn't have this option
SHOW WARNINGS;
Level	Code	Message
Warning	1112	InnoDB: Unsupported compression algorithm 'zlibX'
Error	1031	Table storage engine for 't1' doesn't have this option
SHOW CREATE TABLE t1;
ERROR 42S02: Table 'test.t1' doesn't exist
#
# Check for too long string
#
SET @long_str = REPEAT('ZLIB', 32768);
SET @s = CONCAT('CREATE TABLE t1(c1 INT) ENGINE=InnoDB, COMPRESSION="', @long_str, '"');
PREPARE stmt from @s;
EXECUTE stmt;
ERROR HY000: String 'ZLIBZLIBZLIBZLIBZLIBZLIBZLIBZLIBZLIBZLIBZLIBZLIBZLIBZLIBZLIBZLIBZLIBZL' is too long for COMPRESSION (should be no longer than 2048)
SHOW WARNINGS;
Level	Code	Message
Error	1470	String 'ZLIBZLIBZLIBZLIBZLIBZLIBZLIBZLIBZLIBZLIBZLIBZLIBZLIBZLIBZLIBZLIBZLIBZL' is too long for COMPRESSION (should be no longer than 2048)
DEALLOCATE PREPARE stmt;
SHOW CREATE TABLE t1;
ERROR 42S02: Table 'test.t1' doesn't exist
#
# Compression cannot be used with ROW_FORMAT=COMPRESSED, TEMPORARY
# or Shared tablespaces, either general or system.
#
# CREATE TABLE: COMPRESSION + TEMPORARY
CREATE TEMPORARY TABLE t1(c1 INT PRIMARY KEY) COMPRESSION="ZLIB";
ERROR HY000: Table storage engine for 't1' doesn't have this option
SHOW WARNINGS;
Level	Code	Message
Warning	138	InnoDB: Page Compression is not supported for temporary tables
Error	1031	Table storage engine for 't1' doesn't have this option
# CREATE TABLE: COMPRESSION + TABLESPACE
CREATE TABLE t1(c1 INT PRIMARY KEY) COMPRESSION="ZLIB" TABLESPACE=s1;
ERROR HY000: Table storage engine for 't1' doesn't have this option
SHOW WARNINGS;
Level	Code	Message
Warning	138	InnoDB: Page Compression is not supported for shared general tablespaces
Error	1031	Table storage engine for 't1' doesn't have this option
# CREATE TABLE: COMPRESSION + TABLESPACE=innodb_system
CREATE TABLE t1(c1 INT PRIMARY KEY) COMPRESSION="ZLIB" TABLESPACE=innodb_system;
ERROR HY000: Table storage engine for 't1' doesn't have this option
SHOW WARNINGS;
Level	Code	Message
Warning	138	InnoDB: Page Compression is not supported for the system tablespace
Error	1031	Table storage engine for 't1' doesn't have this option
# CREATE TABLE: COMPRESSION + TABLESPACE=innodb_temporary
CREATE TABLE t1(c1 INT PRIMARY KEY) COMPRESSION="ZLIB" TABLESPACE=innodb_temporary;
ERROR HY000: InnoDB: Tablespace `innodb_temporary` can only contain TEMPORARY tables.
SHOW WARNINGS;
Level	Code	Message
Error	1478	InnoDB: Tablespace `innodb_temporary` can only contain TEMPORARY tables.
Error	1031	Table storage engine for 't1' doesn't have this option
# CREATE TABLE: COMPRESSION + TEMPORARY + TABLESPACE=innodb_temporary
CREATE TEMPORARY TABLE t1(c1 INT PRIMARY KEY) COMPRESSION="ZLIB" TABLESPACE=innodb_temporary;
ERROR HY000: Table storage engine for 't1' doesn't have this option
SHOW WARNINGS;
Level	Code	Message
Warning	138	InnoDB: Page Compression is not supported for temporary tables
Error	1031	Table storage engine for 't1' doesn't have this option
# CREATE TABLE: COMPRESSION + implicit System Tablespace
SET GLOBAL INNODB_FILE_PER_TABLE = OFF;
CREATE TABLE t1(C1 INT) ENGINE=InnoDB COMPRESSION="zlib";
ERROR HY000: Table storage engine for 't1' doesn't have this option
SHOW WARNINGS;
Level	Code	Message
Warning	138	InnoDB: Page Compression is not supported for the system tablespace
Error	1031	Table storage engine for 't1' doesn't have this option
CREATE TABLE t1(C1 INT) ENGINE=InnoDB COMPRESSION="blah";
ERROR HY000: Table storage engine for 't1' doesn't have this option
SHOW WARNINGS;
Level	Code	Message
Warning	1112	InnoDB: Unsupported compression algorithm 'blah'
Error	1031	Table storage engine for 't1' doesn't have this option
SET GLOBAL INNODB_FILE_PER_TABLE = ON;
# CREATE TABLE: COMPRESSION + ROW_FORMAT=COMPRESSED
CREATE TABLE t1(c1 INT PRIMARY KEY) COMPRESSION="ZLIB" ROW_FORMAT=COMPRESSED;
ERROR HY000: Table storage engine for 't1' doesn't have this option
SHOW WARNINGS;
Level	Code	Message
Warning	1112	InnoDB: Page Compression is not supported with row_format=compressed or key_block_size > 0
Error	1031	Table storage engine for 't1' doesn't have this option
# CREATE TABLE: COMPRESSION + KEY_BLOCK_SIZE
CREATE TABLE t1(c1 INT PRIMARY KEY) COMPRESSION="ZLIB" KEY_BLOCK_SIZE=2;
ERROR HY000: Table storage engine for 't1' doesn't have this option
SHOW WARNINGS;
Level	Code	Message
Warning	1112	InnoDB: Page Compression is not supported with row_format=compressed or key_block_size > 0
Error	1031	Table storage engine for 't1' doesn't have this option
# ALTER TABLE: implicit COMPRESSION + TABLESPACE
CREATE TABLE t1(c1 INT PRIMARY KEY) COMPRESSION="ZLIB";
ALTER TABLE t1 TABLESPACE=s1;
ERROR HY000: Table storage engine 'InnoDB' does not support the create option 'COMPRESSION'
SHOW WARNINGS;
Level	Code	Message
Warning	138	InnoDB: Page Compression is not supported for shared general tablespaces
Error	1478	Table storage engine 'InnoDB' does not support the create option 'COMPRESSION'
# ALTER TABLE: COMPRESSION + TABLESPACE
ALTER TABLE t1 COMPRESSION="LZ4" TABLESPACE=s1;
ERROR HY000: Table storage engine 'InnoDB' does not support the create option 'COMPRESSION'
SHOW WARNINGS;
Level	Code	Message
Warning	138	InnoDB: Page Compression is not supported for shared general tablespaces
Error	1478	Table storage engine 'InnoDB' does not support the create option 'COMPRESSION'
# ALTER TABLE: implicit COMPRESSION + ROW_FORMAT=COMPRESSED
ALTER TABLE t1 ROW_FORMAT=COMPRESSED;
ERROR HY000: Table storage engine 'InnoDB' does not support the create option 'COMPRESSION'
SHOW WARNINGS;
Level	Code	Message
Warning	1112	InnoDB: Page Compression is not supported with row_format=compressed or key_block_size > 0
Error	1478	Table storage engine 'InnoDB' does not support the create option 'COMPRESSION'
# ALTER TABLE: COMPRESSION + ROW_FORMAT=COMPRESSED
ALTER TABLE t1 COMPRESSION="ZLIB" ROW_FORMAT=COMPRESSED;
ERROR HY000: Table storage engine 'InnoDB' does not support the create option 'COMPRESSION'
SHOW WARNINGS;
Level	Code	Message
Warning	1112	InnoDB: Page Compression is not supported with row_format=compressed or key_block_size > 0
Error	1478	Table storage engine 'InnoDB' does not support the create option 'COMPRESSION'
# ALTER TABLE: COMPRESSION + KEY_BLOCK_SIZE
ALTER TABLE t1 COMPRESSION="ZLIB" KEY_BLOCK_SIZE=2;
ERROR HY000: Table storage engine 'InnoDB' does not support the create option 'COMPRESSION'
SHOW WARNINGS;
Level	Code	Message
Warning	1112	InnoDB: Page Compression is not supported with row_format=compressed or key_block_size > 0
Error	1478	Table storage engine 'InnoDB' does not support the create option 'COMPRESSION'
# ALTER TABLE: COMPRESSION='abcdefghijklmnopqrstuvwxyz'
ALTER TABLE t1 COMPRESSION='abcdefghijklmnopqrstuvwxyz';
ERROR HY000: Table storage engine 'InnoDB' does not support the create option 'COMPRESSION'
SHOW WARNINGS;
Level	Code	Message
Warning	1112	InnoDB: Unsupported compression algorithm 'abcdefghijklmnopqrstuvwxyz'
Error	1478	Table storage engine 'InnoDB' does not support the create option 'COMPRESSION'
DROP TABLE t1;
#
# Test the bad combinations above with innodb_strict_mode=OFF.
#
SET SESSION innodb_strict_mode = OFF;
SELECT @@innodb_strict_mode;
@@innodb_strict_mode
0
CREATE TABLE t1(c1 INT PRIMARY KEY) COMPRESSION="zlibX";
Warnings:
Warning	1112	InnoDB: Unsupported compression algorithm 'zlibX'
SHOW WARNINGS;
Level	Code	Message
Warning	1112	InnoDB: Unsupported compression algorithm 'zlibX'
SHOW CREATE TABLE t1;
Table	Create Table
t1	CREATE TABLE `t1` (
  `c1` int(11) NOT NULL,
  PRIMARY KEY (`c1`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMPRESSION='zlibX'
SELECT TABLE_NAME, CREATE_OPTIONS FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 't1';
TABLE_NAME	CREATE_OPTIONS
t1	COMPRESSION="zlibX"
SELECT NAME, ROW_FORMAT, SPACE_TYPE FROM INFORMATION_SCHEMA.INNODB_SYS_TABLESPACES WHERE NAME = 'test/t1';
NAME	ROW_FORMAT	SPACE_TYPE
test/t1	Dynamic	Single
DROP TABLE t1;
#
# Check for too long string
#
SET @long_str = REPEAT('ZLIB', 32768);
SET @s = CONCAT('CREATE TABLE t1(c1 INT) ENGINE=InnoDB, COMPRESSION="', @long_str, '"');
PREPARE stmt from @s;
EXECUTE stmt;
ERROR HY000: String 'ZLIBZLIBZLIBZLIBZLIBZLIBZLIBZLIBZLIBZLIBZLIBZLIBZLIBZLIBZLIBZLIBZLIBZL' is too long for COMPRESSION (should be no longer than 2048)
SHOW WARNINGS;
Level	Code	Message
Error	1470	String 'ZLIBZLIBZLIBZLIBZLIBZLIBZLIBZLIBZLIBZLIBZLIBZLIBZLIBZLIBZLIBZLIBZLIBZL' is too long for COMPRESSION (should be no longer than 2048)
DEALLOCATE PREPARE stmt;
SHOW CREATE TABLE t1;
ERROR 42S02: Table 'test.t1' doesn't exist
#
# Compression cannot be used with ROW_FORMAT=COMPRESSED, TEMPORARY
# or Shared tablespaces, either general or system.
#
# CREATE TABLE: COMPRESSION + TEMPORARY
CREATE TEMPORARY TABLE t1(c1 INT PRIMARY KEY) COMPRESSION="ZLIB";
ERROR 42000: Table 't1' uses an extension that doesn't exist in this MySQL version
SHOW WARNINGS;
Level	Code	Message
Warning	138	InnoDB: Page Compression is not supported for temporary tables
Warning	138	InnoDB: Compression not supported for temporary tables
Error	1112	Table 't1' uses an extension that doesn't exist in this MySQL version
# CREATE TABLE: COMPRESSION + TABLESPACE
CREATE TABLE t1(c1 INT PRIMARY KEY) COMPRESSION="ZLIB" TABLESPACE=s1;
ERROR HY000: Table storage engine for 't1' doesn't have this option
SHOW WARNINGS;
Level	Code	Message
Warning	138	InnoDB: Page Compression is not supported for shared general tablespaces
Error	1031	Table storage engine for 't1' doesn't have this option
# CREATE TABLE: COMPRESSION + TABLESPACE=innodb_system
CREATE TABLE t1(c1 INT PRIMARY KEY) COMPRESSION="ZLIB" TABLESPACE=innodb_system;
ERROR HY000: Table storage engine for 't1' doesn't have this option
SHOW WARNINGS;
Level	Code	Message
Warning	138	InnoDB: Page Compression is not supported for the system tablespace
Error	1031	Table storage engine for 't1' doesn't have this option
# CREATE TABLE: COMPRESSION + TABLESPACE=innodb_temporary
CREATE TABLE t1(c1 INT PRIMARY KEY) COMPRESSION="ZLIB" TABLESPACE=innodb_temporary;
ERROR HY000: InnoDB: Tablespace `innodb_temporary` can only contain TEMPORARY tables.
SHOW WARNINGS;
Level	Code	Message
Error	1478	InnoDB: Tablespace `innodb_temporary` can only contain TEMPORARY tables.
Error	1031	Table storage engine for 't1' doesn't have this option
# CREATE TABLE: COMPRESSION + TEMPORARY + TABLESPACE=innodb_temporary
CREATE TEMPORARY TABLE t1(c1 INT PRIMARY KEY) COMPRESSION="ZLIB" TABLESPACE=innodb_temporary;
ERROR HY000: Table storage engine for 't1' doesn't have this option
SHOW WARNINGS;
Level	Code	Message
Warning	138	InnoDB: Page Compression is not supported for temporary tables
Error	1031	Table storage engine for 't1' doesn't have this option
# CREATE TABLE: COMPRESSION + implicit System Tablespace
SET GLOBAL INNODB_FILE_PER_TABLE = OFF;
CREATE TABLE t1(C1 INT) ENGINE=InnoDB COMPRESSION="zlib";
ERROR 42000: Table 't1' uses an extension that doesn't exist in this MySQL version
SHOW WARNINGS;
Level	Code	Message
Warning	138	InnoDB: Page Compression is not supported for the system tablespace
Warning	138	InnoDB: Compression not supported for shared tablespaces
Error	1112	Table 't1' uses an extension that doesn't exist in this MySQL version
CREATE TABLE t1(C1 INT) ENGINE=InnoDB COMPRESSION="blah";
ERROR 42000: Table 't1' uses an extension that doesn't exist in this MySQL version
SHOW WARNINGS;
Level	Code	Message
Warning	1112	InnoDB: Unsupported compression algorithm 'blah'
Warning	138	InnoDB: Compression not supported for shared tablespaces
Error	1112	Table 't1' uses an extension that doesn't exist in this MySQL version
SET GLOBAL INNODB_FILE_PER_TABLE = ON;
# CREATE TABLE: COMPRESSION + ROW_FORMAT=COMPRESSED
CREATE TABLE t1(c1 INT PRIMARY KEY) COMPRESSION="ZLIB" ROW_FORMAT=COMPRESSED;
Warnings:
Warning	1112	InnoDB: Page Compression is not supported with row_format=compressed or key_block_size > 0
SHOW WARNINGS;
Level	Code	Message
Warning	1112	InnoDB: Page Compression is not supported with row_format=compressed or key_block_size > 0
SHOW CREATE TABLE t1;
Table	Create Table
t1	CREATE TABLE `t1` (
  `c1` int(11) NOT NULL,
  PRIMARY KEY (`c1`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=COMPRESSED COMPRESSION='ZLIB'
SELECT TABLE_NAME, CREATE_OPTIONS FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 't1';
TABLE_NAME	CREATE_OPTIONS
t1	row_format=COMPRESSED COMPRESSION="ZLIB"
SELECT NAME,ROW_FORMAT,SPACE_TYPE FROM INFORMATION_SCHEMA.INNODB_SYS_TABLESPACES WHERE NAME = 'test/t1';
NAME	ROW_FORMAT	SPACE_TYPE
test/t1	Compressed	Single
INSERT INTO t1 VALUES(1),(2),(3),(4);
FLUSH TABLES t1 WITH READ LOCK;
UNLOCK TABLES;
SELECT * FROM t1;
c1
1
2
3
4
DROP TABLE t1;
# CREATE TABLE: COMPRESSION + KEY_BLOCK_SIZE
CREATE TABLE t1(c1 INT PRIMARY KEY) COMPRESSION="ZLIB" KEY_BLOCK_SIZE=2;
Warnings:
Warning	1112	InnoDB: Page Compression is not supported with row_format=compressed or key_block_size > 0
SHOW WARNINGS;
Level	Code	Message
Warning	1112	InnoDB: Page Compression is not supported with row_format=compressed or key_block_size > 0
SHOW CREATE TABLE t1;
Table	Create Table
t1	CREATE TABLE `t1` (
  `c1` int(11) NOT NULL,
  PRIMARY KEY (`c1`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 KEY_BLOCK_SIZE=2 COMPRESSION='ZLIB'
SELECT TABLE_NAME, CREATE_OPTIONS FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 't1';
TABLE_NAME	CREATE_OPTIONS
t1	KEY_BLOCK_SIZE=2 COMPRESSION="ZLIB"
SELECT NAME,ROW_FORMAT,SPACE_TYPE FROM INFORMATION_SCHEMA.INNODB_SYS_TABLESPACES WHERE NAME = 'test/t1';
NAME	ROW_FORMAT	SPACE_TYPE
test/t1	Compressed	Single
INSERT INTO t1 VALUES(1),(2),(3),(4);
FLUSH TABLES t1 WITH READ LOCK;
UNLOCK TABLES;
SELECT * FROM t1;
c1
1
2
3
4
DROP TABLE t1;
# ALTER TABLE: implicit COMPRESSION + TABLESPACE
CREATE TABLE t1(c1 INT PRIMARY KEY) COMPRESSION="ZLIB";
ALTER TABLE t1 TABLESPACE=s1;
ERROR HY000: Table storage engine 'InnoDB' does not support the create option 'COMPRESSION'
SHOW WARNINGS;
Level	Code	Message
Warning	138	InnoDB: Page Compression is not supported for shared general tablespaces
Error	1478	Table storage engine 'InnoDB' does not support the create option 'COMPRESSION'
# ALTER TABLE: COMPRESSION + TABLESPACE
ALTER TABLE t1 COMPRESSION="LZ4" TABLESPACE=s1;
ERROR HY000: Table storage engine 'InnoDB' does not support the create option 'COMPRESSION'
SHOW WARNINGS;
Level	Code	Message
Warning	138	InnoDB: Page Compression is not supported for shared general tablespaces
Error	1478	Table storage engine 'InnoDB' does not support the create option 'COMPRESSION'
# ALTER TABLE: implicit COMPRESSION + ROW_FORMAT=COMPRESSED
ALTER TABLE t1 ROW_FORMAT=COMPRESSED;
Warnings:
Warning	1112	InnoDB: Page Compression is not supported with row_format=compressed or key_block_size > 0
SHOW WARNINGS;
Level	Code	Message
Warning	1112	InnoDB: Page Compression is not supported with row_format=compressed or key_block_size > 0
SHOW CREATE TABLE t1;
Table	Create Table
t1	CREATE TABLE `t1` (
  `c1` int(11) NOT NULL,
  PRIMARY KEY (`c1`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=COMPRESSED COMPRESSION='ZLIB'
SELECT TABLE_NAME, CREATE_OPTIONS FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 't1';
TABLE_NAME	CREATE_OPTIONS
t1	row_format=COMPRESSED COMPRESSION="ZLIB"
SELECT NAME, ROW_FORMAT, SPACE_TYPE FROM INFORMATION_SCHEMA.INNODB_SYS_TABLESPACES WHERE NAME = 'test/t1';
NAME	ROW_FORMAT	SPACE_TYPE
test/t1	Compressed	Single
# ALTER TABLE: COMPRESSION + ROW_FORMAT=COMPRESSED
ALTER TABLE t1 COMPRESSION="ZLIB" ROW_FORMAT=COMPRESSED;
Warnings:
Warning	1112	InnoDB: Page Compression is not supported with row_format=compressed or key_block_size > 0
SHOW WARNINGS;
Level	Code	Message
Warning	1112	InnoDB: Page Compression is not supported with row_format=compressed or key_block_size > 0
SHOW CREATE TABLE t1;
Table	Create Table
t1	CREATE TABLE `t1` (
  `c1` int(11) NOT NULL,
  PRIMARY KEY (`c1`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=COMPRESSED COMPRESSION='ZLIB'
SELECT TABLE_NAME, CREATE_OPTIONS FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 't1';
TABLE_NAME	CREATE_OPTIONS
t1	row_format=COMPRESSED COMPRESSION="ZLIB"
SELECT NAME, ROW_FORMAT, SPACE_TYPE FROM INFORMATION_SCHEMA.INNODB_SYS_TABLESPACES WHERE NAME = 'test/t1';
NAME	ROW_FORMAT	SPACE_TYPE
test/t1	Compressed	Single
# ALTER TABLE: COMPRESSION + KEY_BLOCK_SIZE
ALTER TABLE t1 COMPRESSION="ZLIB" KEY_BLOCK_SIZE=2;
Warnings:
Warning	1112	InnoDB: Page Compression is not supported with row_format=compressed or key_block_size > 0
SHOW WARNINGS;
Level	Code	Message
Warning	1112	InnoDB: Page Compression is not supported with row_format=compressed or key_block_size > 0
SHOW CREATE TABLE t1;
Table	Create Table
t1	CREATE TABLE `t1` (
  `c1` int(11) NOT NULL,
  PRIMARY KEY (`c1`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=2 COMPRESSION='ZLIB'
SELECT TABLE_NAME, CREATE_OPTIONS FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 't1';
TABLE_NAME	CREATE_OPTIONS
t1	row_format=COMPRESSED KEY_BLOCK_SIZE=2 COMPRESSION="ZLIB"
SELECT NAME, ROW_FORMAT, SPACE_TYPE FROM INFORMATION_SCHEMA.INNODB_SYS_TABLESPACES WHERE NAME = 'test/t1';
NAME	ROW_FORMAT	SPACE_TYPE
test/t1	Compressed	Single
# ALTER TABLE: COMPRESSION='abcdefghijklmnopqrstuvwxyz'
ALTER TABLE t1 COMPRESSION='abcdefghijklmnopqrstuvwxyz';
Warnings:
Warning	1112	InnoDB: Unsupported compression algorithm 'abcdefghijklmnopqrstuvwxyz'
SHOW WARNINGS;
Level	Code	Message
Warning	1112	InnoDB: Unsupported compression algorithm 'abcdefghijklmnopqrstuvwxyz'
SHOW CREATE TABLE t1;
Table	Create Table
t1	CREATE TABLE `t1` (
  `c1` int(11) NOT NULL,
  PRIMARY KEY (`c1`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=2 COMPRESSION='abcdefghijklmnopqrstuvwxyz'
SELECT TABLE_NAME, CREATE_OPTIONS FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 't1';
TABLE_NAME	CREATE_OPTIONS
t1	row_format=COMPRESSED KEY_BLOCK_SIZE=2 COMPRESSION="abcdefg"
SELECT NAME,ROW_FORMAT,SPACE_TYPE FROM INFORMATION_SCHEMA.INNODB_SYS_TABLESPACES WHERE NAME = 'test/t1';
NAME	ROW_FORMAT	SPACE_TYPE
test/t1	Compressed	Single
DROP TABLE t1;
#
# Cleanup
#
DROP TABLESPACE s1;
SET GLOBAL INNODB_FILE_PER_TABLE=1;
SET GLOBAL INNODB_FILE_PER_TABLE=1;
SET DEBUG='-d,ignore_punch_hole';
SET DEBUG='-d,ignore_punch_hole_size';

Man Man