#
# Bug#36169 create innodb compressed table with too large row size crashed
# http://bugs.mysql.com/36169
#

-- source include/have_innodb_plugin.inc

let $file_format=`select @@innodb_file_format`;
let $file_per_table=`select @@innodb_file_per_table`;
SET GLOBAL innodb_file_format='Barracuda';
SET GLOBAL innodb_file_per_table=ON;

#
# The following is copied from http://bugs.mysql.com/36169
# (http://bugs.mysql.com/file.php?id=9121)
# Probably it can be simplified but that is not obvious.
#

# we care only that the following SQL commands do produce errors
# as expected and do not crash the server
-- disable_query_log
-- disable_result_log

# Generating 10 tables
# Creating a table with 94 columns and 24 indexes
DROP TABLE IF EXISTS `table0`;
set innodb_strict_mode=on;
--error ER_TOO_BIG_ROWSIZE
CREATE TABLE IF NOT EXISTS `table0`
(`col0` BOOL,
`col1` BOOL,
`col2` TINYINT,
`col3` DATE,
`col4` TIME,
`col5` SET ('test1','test2','test3'),
`col6` TIME,
`col7` TEXT,
`col8` DECIMAL,
`col9` SET ('test1','test2','test3'),
`col10` FLOAT,
`col11` DOUBLE PRECISION,
`col12` ENUM ('test1','test2','test3'),
`col13` TINYBLOB,
`col14` YEAR,
`col15` SET ('test1','test2','test3'),
`col16` NUMERIC,
`col17` NUMERIC,
`col18` BLOB,
`col19` DATETIME,
`col20` DOUBLE PRECISION,
`col21` DECIMAL,
`col22` DATETIME,
`col23` NUMERIC,
`col24` NUMERIC,
`col25` LONGTEXT,
`col26` TINYBLOB,
`col27` TIME,
`col28` TINYBLOB,
`col29` ENUM ('test1','test2','test3'),
`col30` SMALLINT,
`col31` REAL,
`col32` FLOAT,
`col33` CHAR (175),
`col34` TINYTEXT,
`col35` TINYTEXT,
`col36` TINYBLOB,
`col37` TINYBLOB,
`col38` TINYTEXT,
`col39` MEDIUMBLOB,
`col40` TIMESTAMP,
`col41` DOUBLE,
`col42` SMALLINT,
`col43` LONGBLOB,
`col44` VARCHAR (80),
`col45` MEDIUMTEXT,
`col46` NUMERIC,
`col47` BIGINT,
`col48` DATE,
`col49` TINYBLOB,
`col50` DATE,
`col51` BOOL,
`col52` MEDIUMINT,
`col53` FLOAT,
`col54` TINYBLOB,
`col55` LONGTEXT,
`col56` SMALLINT,
`col57` ENUM ('test1','test2','test3'),
`col58` DATETIME,
`col59` MEDIUMTEXT,
`col60` VARCHAR (232),
`col61` NUMERIC,
`col62` YEAR,
`col63` SMALLINT,
`col64` TIMESTAMP,
`col65` BLOB,
`col66` LONGBLOB,
`col67` INT,
`col68` LONGTEXT,
`col69` ENUM ('test1','test2','test3'),
`col70` INT,
`col71` TIME,
`col72` TIMESTAMP,
`col73` TIMESTAMP,
`col74` VARCHAR (170),
`col75` SET ('test1','test2','test3'),
`col76` TINYBLOB,
`col77` BIGINT,
`col78` NUMERIC,
`col79` DATETIME,
`col80` YEAR,
`col81` NUMERIC,
`col82` LONGBLOB,
`col83` TEXT,
`col84` CHAR (83),
`col85` DECIMAL,
`col86` FLOAT,
`col87` INT,
`col88` VARCHAR (145),
`col89` DATE,
`col90` DECIMAL,
`col91` DECIMAL,
`col92` MEDIUMBLOB,
`col93` TIME,
KEY `idx0` (`col69`,`col90`,`col8`),
KEY `idx1` (`col60`),
KEY `idx2` (`col60`,`col70`,`col74`),
KEY `idx3` (`col22`,`col32`,`col72`,`col30`),
KEY `idx4` (`col29`),
KEY `idx5` (`col19`,`col45`(143)),
KEY `idx6` (`col46`,`col48`,`col5`,`col39`(118)),
KEY `idx7` (`col48`,`col61`),
KEY `idx8` (`col93`),
KEY `idx9` (`col31`),
KEY `idx10` (`col30`,`col21`),
KEY `idx11` (`col67`),
KEY `idx12` (`col44`,`col6`,`col8`,`col38`(226)),
KEY `idx13` (`col71`,`col41`,`col15`,`col49`(88)),
KEY `idx14` (`col78`),
KEY `idx15` (`col63`,`col67`,`col64`),
KEY `idx16` (`col17`,`col86`),
KEY `idx17` (`col77`,`col56`,`col10`,`col55`(24)),
KEY `idx18` (`col62`),
KEY `idx19` (`col31`,`col57`,`col56`,`col53`),
KEY `idx20` (`col46`),
KEY `idx21` (`col83`(54)),
KEY `idx22` (`col51`,`col7`(120)),
KEY `idx23` (`col7`(163),`col31`,`col71`,`col14`)
)engine=innodb ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1;

# Creating a table with 10 columns and 32 indexes
DROP TABLE IF EXISTS `table1`;
--error ER_TOO_BIG_ROWSIZE
CREATE TABLE IF NOT EXISTS `table1`
(`col0` CHAR (113),
`col1` FLOAT,
`col2` BIGINT,
`col3` DECIMAL,
`col4` BLOB,
`col5` LONGTEXT,
`col6` SET ('test1','test2','test3'),
`col7` BIGINT,
`col8` BIGINT,
`col9` TINYBLOB,
KEY `idx0` (`col5`(101),`col7`,`col8`),
KEY `idx1` (`col8`),
KEY `idx2` (`col4`(177),`col9`(126),`col6`,`col3`),
KEY `idx3` (`col5`(160)),
KEY `idx4` (`col9`(242)),
KEY `idx5` (`col4`(139),`col2`,`col3`),
KEY `idx6` (`col7`),
KEY `idx7` (`col6`,`col2`,`col0`,`col3`),
KEY `idx8` (`col9`(66)),
KEY `idx9` (`col5`(253)),
KEY `idx10` (`col1`,`col7`,`col2`),
KEY `idx11` (`col9`(242),`col0`,`col8`,`col5`(163)),
KEY `idx12` (`col8`),
KEY `idx13` (`col0`,`col9`(37)),
KEY `idx14` (`col0`),
KEY `idx15` (`col5`(111)),
KEY `idx16` (`col8`,`col0`,`col5`(13)),
KEY `idx17` (`col4`(139)),
KEY `idx18` (`col5`(189),`col2`,`col3`,`col9`(136)),
KEY `idx19` (`col0`,`col3`,`col1`,`col8`),
KEY `idx20` (`col8`),
KEY `idx21` (`col0`,`col7`,`col9`(227),`col3`),
KEY `idx22` (`col0`),
KEY `idx23` (`col2`),
KEY `idx24` (`col3`),
KEY `idx25` (`col2`,`col3`),
KEY `idx26` (`col0`),
KEY `idx27` (`col5`(254)),
KEY `idx28` (`col3`),
KEY `idx29` (`col3`),
KEY `idx30` (`col7`,`col3`,`col0`,`col4`(220)),
KEY `idx31` (`col4`(1),`col0`)
)engine=innodb ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1;

# Creating a table with 141 columns and 18 indexes
DROP TABLE IF EXISTS `table2`;
--error ER_TOO_BIG_ROWSIZE
CREATE TABLE IF NOT EXISTS `table2`
(`col0` BOOL,
`col1` MEDIUMINT,
`col2` VARCHAR (209),
`col3` MEDIUMBLOB,
`col4` CHAR (13),
`col5` DOUBLE,
`col6` TINYTEXT,
`col7` REAL,
`col8` SMALLINT,
`col9` BLOB,
`col10` TINYINT,
`col11` DECIMAL,
`col12` BLOB,
`col13` DECIMAL,
`col14` LONGBLOB,
`col15` SMALLINT,
`col16` LONGBLOB,
`col17` TINYTEXT,
`col18` FLOAT,
`col19` CHAR (78),
`col20` MEDIUMTEXT,
`col21` SET ('test1','test2','test3'),
`col22` MEDIUMINT,
`col23` INT,
`col24` MEDIUMBLOB,
`col25` ENUM ('test1','test2','test3'),
`col26` TINYBLOB,
`col27` VARCHAR (116),
`col28` TIMESTAMP,
`col29` BLOB,
`col30` SMALLINT,
`col31` DOUBLE PRECISION,
`col32` DECIMAL,
`col33` DECIMAL,
`col34` TEXT,
`col35` MEDIUMINT,
`col36` MEDIUMINT,
`col37` BIGINT,
`col38` VARCHAR (253),
`col39` TINYBLOB,
`col40` MEDIUMBLOB,
`col41` BIGINT,
`col42` DOUBLE,
`col43` TEXT,
`col44` BLOB,
`col45` TIME,
`col46` MEDIUMINT,
`col47` DOUBLE PRECISION,
`col48` SET ('test1','test2','test3'),
`col49` DOUBLE PRECISION,
`col50` VARCHAR (97),
`col51` TEXT,
`col52` NUMERIC,
`col53` ENUM ('test1','test2','test3'),
`col54` MEDIUMTEXT,
`col55` MEDIUMINT,
`col56` DATETIME,
`col57` DATETIME,
`col58` MEDIUMTEXT,
`col59` CHAR (244),
`col60` LONGBLOB,
`col61` MEDIUMBLOB,
`col62` DOUBLE,
`col63` SMALLINT,
`col64` BOOL,
`col65` SMALLINT,
`col66` VARCHAR (212),
`col67` TIME,
`col68` REAL,
`col69` BOOL,
`col70` BIGINT,
`col71` DATE,
`col72` TINYINT,
`col73` ENUM ('test1','test2','test3'),
`col74` DATE,
`col75` TIME,
`col76` DATETIME,
`col77` BOOL,
`col78` TINYTEXT,
`col79` MEDIUMINT,
`col80` NUMERIC,
`col81` LONGTEXT,
`col82` SET ('test1','test2','test3'),
`col83` DOUBLE PRECISION,
`col84` NUMERIC,
`col85` VARCHAR (184),
`col86` DOUBLE PRECISION,
`col87` MEDIUMTEXT,
`col88` MEDIUMBLOB,
`col89` BOOL,
`col90` SMALLINT,
`col91` TINYINT,
`col92` ENUM ('test1','test2','test3'),
`col93` BOOL,
`col94` TIMESTAMP,
`col95` BOOL,
`col96` MEDIUMTEXT,
`col97` DECIMAL,
`col98` BOOL,
`col99` DECIMAL,
`col100` MEDIUMINT,
`col101` DOUBLE PRECISION,
`col102` TINYINT,
`col103` BOOL,
`col104` MEDIUMINT,
`col105` DECIMAL,
`col106` NUMERIC,
`col107` TIMESTAMP,
`col108` MEDIUMBLOB,
`col109` TINYBLOB,
`col110` SET ('test1','test2','test3'),
`col111` YEAR,
`col112` TIMESTAMP,
`col113` CHAR (201),
`col114` BOOL,
`col115` TINYINT,
`col116` DOUBLE,
`col117` TINYINT,
`col118` TIMESTAMP,
`col119` SET ('test1','test2','test3'),
`col120` SMALLINT,
`col121` TINYBLOB,
`col122` TIMESTAMP,
`col123` BLOB,
`col124` DATE,
`col125` SMALLINT,
`col126` ENUM ('test1','test2','test3'),
`col127` MEDIUMBLOB,
`col128` DOUBLE PRECISION,
`col129` REAL,
`col130` VARCHAR (159),
`col131` MEDIUMBLOB,
`col132` BIGINT,
`col133` INT,
`col134` SET ('test1','test2','test3'),
`col135` CHAR (198),
`col136` SET ('test1','test2','test3'),
`col137` MEDIUMTEXT,
`col138` SMALLINT,
`col139` BLOB,
`col140` LONGBLOB,
KEY `idx0` (`col14`(139),`col24`(208),`col38`,`col35`),
KEY `idx1` (`col48`,`col118`,`col29`(131),`col100`),
KEY `idx2` (`col86`,`col67`,`col43`(175)),
KEY `idx3` (`col19`),
KEY `idx4` (`col40`(220),`col67`),
KEY `idx5` (`col99`,`col56`),
KEY `idx6` (`col68`,`col28`,`col137`(157)),
KEY `idx7` (`col51`(160),`col99`,`col45`,`col39`(9)),
KEY `idx8` (`col15`,`col52`,`col90`,`col94`),
KEY `idx9` (`col24`(3),`col139`(248),`col108`(118),`col41`),
KEY `idx10` (`col36`,`col92`,`col114`),
KEY `idx11` (`col115`,`col9`(116)),
KEY `idx12` (`col130`,`col93`,`col134`),
KEY `idx13` (`col123`(65)),
KEY `idx14` (`col44`(90),`col86`,`col119`),
KEY `idx15` (`col69`),
KEY `idx16` (`col132`,`col81`(118),`col18`),
KEY `idx17` (`col24`(250),`col7`,`col92`,`col45`)
)engine=innodb ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1;

# Creating a table with 199 columns and 1 indexes
DROP TABLE IF EXISTS `table3`;
--error ER_TOO_BIG_ROWSIZE
CREATE TABLE IF NOT EXISTS `table3`
(`col0` SMALLINT,
`col1` SET ('test1','test2','test3'),
`col2` TINYTEXT,
`col3` DOUBLE,
`col4` NUMERIC,
`col5` DATE,
`col6` BIGINT,
`col7` DOUBLE,
`col8` TEXT,
`col9` INT,
`col10` REAL,
`col11` TINYINT,
`col12` NUMERIC,
`col13` NUMERIC,
`col14` TIME,
`col15` DOUBLE,
`col16` REAL,
`col17` MEDIUMBLOB,
`col18` YEAR,
`col19` TINYTEXT,
`col20` YEAR,
`col21` CHAR (250),
`col22` TINYINT,
`col23` TINYINT,
`col24` SMALLINT,
`col25` DATETIME,
`col26` MEDIUMINT,
`col27` LONGBLOB,
`col28` VARCHAR (106),
`col29` FLOAT,
`col30` MEDIUMTEXT,
`col31` TINYBLOB,
`col32` BIGINT,
`col33` YEAR,
`col34` REAL,
`col35` MEDIUMBLOB,
`col36` LONGTEXT,
`col37` LONGBLOB,
`col38` BIGINT,
`col39` FLOAT,
`col40` TIME,
`col41` DATETIME,
`col42` BOOL,
`col43` BIGINT,
`col44` SMALLINT,
`col45` TIME,
`col46` DOUBLE PRECISION,
`col47` TIME,
`col48` TINYTEXT,
`col49` DOUBLE PRECISION,
`col50` BIGINT,
`col51` NUMERIC,
`col52` TINYBLOB,
`col53` DATE,
`col54` DECIMAL,
`col55` SMALLINT,
`col56` TINYTEXT,
`col57` ENUM ('test1','test2','test3'),
`col58` YEAR,
`col59` TIME,
`col60` TINYINT,
`col61` DECIMAL,
`col62` DOUBLE,
`col63` DATE,
`col64` LONGTEXT,
`col65` DOUBLE,
`col66` VARCHAR (88),
`col67` MEDIUMTEXT,
`col68` DATE,
`col69` MEDIUMINT,
`col70` DECIMAL,
`col71` MEDIUMTEXT,
`col72` LONGTEXT,
`col73` REAL,
`col74` DOUBLE,
`col75` TIME,
`col76` DATE,
`col77` DECIMAL,
`col78` MEDIUMBLOB,
`col79` NUMERIC,
`col80` BIGINT,
`col81` YEAR,
`col82` SMALLINT,
`col83` MEDIUMINT,
`col84` TINYINT,
`col85` MEDIUMBLOB,
`col86` TIME,
`col87` MEDIUMBLOB,
`col88` LONGTEXT,
`col89` BOOL,
`col90` BLOB,
`col91` LONGBLOB,
`col92` YEAR,
`col93` BLOB,
`col94` INT,
`col95` TINYTEXT,
`col96` TINYINT,
`col97` DECIMAL,
`col98` ENUM ('test1','test2','test3'),
`col99` MEDIUMINT,
`col100` TINYINT,
`col101` MEDIUMBLOB,
`col102` TINYINT,
`col103` SET ('test1','test2','test3'),
`col104` TIMESTAMP,
`col105` TEXT,
`col106` DATETIME,
`col107` MEDIUMTEXT,
`col108` CHAR (220),
`col109` TIME,
`col110` VARCHAR (131),
`col111` DECIMAL,
`col112` FLOAT,
`col113` SMALLINT,
`col114` BIGINT,
`col115` LONGBLOB,
`col116` SET ('test1','test2','test3'),
`col117` ENUM ('test1','test2','test3'),
`col118` BLOB,
`col119` MEDIUMTEXT,
`col120` SET ('test1','test2','test3'),
`col121` DATETIME,
`col122` FLOAT,
`col123` VARCHAR (242),
`col124` YEAR,
`col125` MEDIUMBLOB,
`col126` TIME,
`col127` BOOL,
`col128` TINYBLOB,
`col129` DOUBLE,
`col130` TINYINT,
`col131` BIGINT,
`col132` SMALLINT,
`col133` INT,
`col134` DOUBLE PRECISION,
`col135` MEDIUMBLOB,
`col136` SET ('test1','test2','test3'),
`col137` TINYTEXT,
`col138` DOUBLE PRECISION,
`col139` NUMERIC,
`col140` BLOB,
`col141` SET ('test1','test2','test3'),
`col142` INT,
`col143` VARCHAR (26),
`col144` BLOB,
`col145` REAL,
`col146` SET ('test1','test2','test3'),
`col147` LONGBLOB,
`col148` TEXT,
`col149` BLOB,
`col150` CHAR (189),
`col151` LONGTEXT,
`col152` INT,
`col153` FLOAT,
`col154` LONGTEXT,
`col155` DATE,
`col156` LONGBLOB,
`col157` TINYBLOB,
`col158` REAL,
`col159` DATE,
`col160` TIME,
`col161` YEAR,
`col162` DOUBLE,
`col163` VARCHAR (90),
`col164` FLOAT,
`col165` NUMERIC,
`col166` ENUM ('test1','test2','test3'),
`col167` DOUBLE PRECISION,
`col168` DOUBLE PRECISION,
`col169` TINYBLOB,
`col170` TIME,
`col171` SMALLINT,
`col172` TINYTEXT,
`col173` SMALLINT,
`col174` DOUBLE,
`col175` VARCHAR (14),
`col176` VARCHAR (90),
`col177` REAL,
`col178` MEDIUMINT,
`col179` TINYBLOB,
`col180` FLOAT,
`col181` TIMESTAMP,
`col182` REAL,
`col183` DOUBLE PRECISION,
`col184` BIGINT,
`col185` INT,
`col186` MEDIUMTEXT,
`col187` TIME,
`col188` FLOAT,
`col189` TIME,
`col190` INT,
`col191` FLOAT,
`col192` MEDIUMINT,
`col193` TINYINT,
`col194` MEDIUMTEXT,
`col195` DATE,
`col196` TIME,
`col197` YEAR,
`col198` CHAR (206),
KEY `idx0` (`col39`,`col23`)
)engine=innodb ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1;

# Creating a table with 133 columns and 16 indexes
DROP TABLE IF EXISTS `table4`;
--error ER_TOO_BIG_ROWSIZE
CREATE TABLE IF NOT EXISTS `table4`
(`col0` VARCHAR (60),
`col1` NUMERIC,
`col2` LONGTEXT,
`col3` MEDIUMTEXT,
`col4` LONGTEXT,
`col5` LONGBLOB,
`col6` LONGBLOB,
`col7` DATETIME,
`col8` TINYTEXT,
`col9` BLOB,
`col10` BOOL,
`col11` BIGINT,
`col12` TEXT,
`col13` VARCHAR (213),
`col14` TINYBLOB,
`col15` BOOL,
`col16` MEDIUMTEXT,
`col17` DOUBLE,
`col18` TEXT,
`col19` BLOB,
`col20` SET ('test1','test2','test3'),
`col21` TINYINT,
`col22` DATETIME,
`col23` TINYINT,
`col24` ENUM ('test1','test2','test3'),
`col25` REAL,
`col26` BOOL,
`col27` FLOAT,
`col28` LONGBLOB,
`col29` DATETIME,
`col30` FLOAT,
`col31` SET ('test1','test2','test3'),
`col32` LONGBLOB,
`col33` NUMERIC,
`col34` YEAR,
`col35` VARCHAR (146),
`col36` BIGINT,
`col37` DATETIME,
`col38` DATE,
`col39` SET ('test1','test2','test3'),
`col40` CHAR (112),
`col41` FLOAT,
`col42` YEAR,
`col43` TIME,
`col44` DOUBLE,
`col45` NUMERIC,
`col46` FLOAT,
`col47` DECIMAL,
`col48` BIGINT,
`col49` DECIMAL,
`col50` YEAR,
`col51` MEDIUMTEXT,
`col52` LONGBLOB,
`col53` SET ('test1','test2','test3'),
`col54` BLOB,
`col55` FLOAT,
`col56` REAL,
`col57` REAL,
`col58` TEXT,
`col59` MEDIUMBLOB,
`col60` INT,
`col61` INT,
`col62` DATE,
`col63` TEXT,
`col64` DATE,
`col65` ENUM ('test1','test2','test3'),
`col66` DOUBLE PRECISION,
`col67` TINYTEXT,
`col68` TINYBLOB,
`col69` FLOAT,
`col70` BLOB,
`col71` DATETIME,
`col72` DOUBLE,
`col73` LONGTEXT,
`col74` TIME,
`col75` DATETIME,
`col76` VARCHAR (122),
`col77` MEDIUMTEXT,
`col78` MEDIUMTEXT,
`col79` BOOL,
`col80` LONGTEXT,
`col81` TINYTEXT,
`col82` NUMERIC,
`col83` DOUBLE PRECISION,
`col84` DATE,
`col85` YEAR,
`col86` BLOB,
`col87` TINYTEXT,
`col88` DOUBLE PRECISION,
`col89` MEDIUMINT,
`col90` MEDIUMTEXT,
`col91` NUMERIC,
`col92` DATETIME,
`col93` NUMERIC,
`col94` SET ('test1','test2','test3'),
`col95` TINYTEXT,
`col96` SET ('test1','test2','test3'),
`col97` YEAR,
`col98` MEDIUMINT,
`col99` TEXT,
`col100` TEXT,
`col101` TIME,
`col102` VARCHAR (225),
`col103` TINYTEXT,
`col104` TEXT,
`col105` MEDIUMTEXT,
`col106` TINYINT,
`col107` TEXT,
`col108` LONGBLOB,
`col109` LONGTEXT,
`col110` TINYTEXT,
`col111` CHAR (56),
`col112` YEAR,
`col113` ENUM ('test1','test2','test3'),
`col114` TINYBLOB,
`col115` DATETIME,
`col116` DATE,
`col117` TIME,
`col118` MEDIUMTEXT,
`col119` DOUBLE PRECISION,
`col120` FLOAT,
`col121` TIMESTAMP,
`col122` MEDIUMINT,
`col123` YEAR,
`col124` DATE,
`col125` TEXT,
`col126` FLOAT,
`col127` TINYTEXT,
`col128` BOOL,
`col129` NUMERIC,
`col130` TIMESTAMP,
`col131` INT,
`col132` MEDIUMBLOB,
KEY `idx0` (`col130`),
KEY `idx1` (`col30`,`col55`,`col19`(31)),
KEY `idx2` (`col104`(186)),
KEY `idx3` (`col131`),
KEY `idx4` (`col64`,`col93`,`col2`(11)),
KEY `idx5` (`col34`,`col121`,`col22`),
KEY `idx6` (`col33`,`col55`,`col83`),
KEY `idx7` (`col17`,`col87`(245),`col99`(17)),
KEY `idx8` (`col65`,`col120`),
KEY `idx9` (`col82`),
KEY `idx10` (`col9`(72)),
KEY `idx11` (`col88`),
KEY `idx12` (`col128`,`col9`(200),`col71`,`col66`),
KEY `idx13` (`col77`(126)),
KEY `idx14` (`col105`(26),`col13`,`col117`),
KEY `idx15` (`col4`(246),`col130`,`col115`,`col3`(141))
)engine=innodb ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1;

# Creating a table with 176 columns and 13 indexes
DROP TABLE IF EXISTS `table5`;
--error ER_TOO_BIG_ROWSIZE
CREATE TABLE IF NOT EXISTS `table5`
(`col0` MEDIUMTEXT,
`col1` VARCHAR (90),
`col2` TINYTEXT,
`col3` TIME,
`col4` BOOL,
`col5` TINYTEXT,
`col6` BOOL,
`col7` TIMESTAMP,
`col8` TINYBLOB,
`col9` TINYINT,
`col10` YEAR,
`col11` SET ('test1','test2','test3'),
`col12` TEXT,
`col13` CHAR (248),
`col14` BIGINT,
`col15` TEXT,
`col16` TINYINT,
`col17` NUMERIC,
`col18` SET ('test1','test2','test3'),
`col19` LONGBLOB,
`col20` FLOAT,
`col21` INT,
`col22` TEXT,
`col23` BOOL,
`col24` DECIMAL,
`col25` DOUBLE PRECISION,
`col26` FLOAT,
`col27` TINYBLOB,
`col28` NUMERIC,
`col29` MEDIUMBLOB,
`col30` DATE,
`col31` LONGTEXT,
`col32` DATE,
`col33` FLOAT,
`col34` BIGINT,
`col35` TINYTEXT,
`col36` MEDIUMTEXT,
`col37` TIME,
`col38` INT,
`col39` TINYINT,
`col40` SET ('test1','test2','test3'),
`col41` CHAR (130),
`col42` SMALLINT,
`col43` INT,
`col44` MEDIUMTEXT,
`col45` VARCHAR (126),
`col46` INT,
`col47` DOUBLE PRECISION,
`col48` BIGINT,
`col49` MEDIUMTEXT,
`col50` TINYBLOB,
`col51` MEDIUMINT,
`col52` TEXT,
`col53` VARCHAR (208),
`col54` VARCHAR (207),
`col55` NUMERIC,
`col56` DATETIME,
`col57` ENUM ('test1','test2','test3'),
`col58` NUMERIC,
`col59` TINYBLOB,
`col60` VARCHAR (73),
`col61` MEDIUMTEXT,
`col62` TINYBLOB,
`col63` DATETIME,
`col64` NUMERIC,
`col65` MEDIUMINT,
`col66` DATETIME,
`col67` NUMERIC,
`col68` TINYINT,
`col69` VARCHAR (58),
`col70` DECIMAL,
`col71` MEDIUMTEXT,
`col72` DATE,
`col73` TIME,
`col74` DOUBLE PRECISION,
`col75` DECIMAL,
`col76` MEDIUMBLOB,
`col77` REAL,
`col78` YEAR,
`col79` YEAR,
`col80` LONGBLOB,
`col81` BLOB,
`col82` BIGINT,
`col83` ENUM ('test1','test2','test3'),
`col84` NUMERIC,
`col85` SET ('test1','test2','test3'),
`col86` MEDIUMTEXT,
`col87` LONGBLOB,
`col88` TIME,
`col89` ENUM ('test1','test2','test3'),
`col90` DECIMAL,
`col91` FLOAT,
`col92` DATETIME,
`col93` TINYTEXT,
`col94` TIMESTAMP,
`col95` TIMESTAMP,
`col96` TEXT,
`col97` REAL,
`col98` VARCHAR (198),
`col99` TIME,
`col100` TINYINT,
`col101` BIGINT,
`col102` LONGBLOB,
`col103` LONGBLOB,
`col104` MEDIUMINT,
`col105` MEDIUMTEXT,
`col106` TIMESTAMP,
`col107` SMALLINT,
`col108` NUMERIC,
`col109` DECIMAL,
`col110` FLOAT,
`col111` DECIMAL,
`col112` REAL,
`col113` TINYTEXT,
`col114` FLOAT,
`col115` VARCHAR (7),
`col116` LONGTEXT,
`col117` DATE,
`col118` BIGINT,
`col119` TEXT,
`col120` BIGINT,
`col121` BLOB,
`col122` CHAR (110),
`col123` NUMERIC,
`col124` MEDIUMBLOB,
`col125` NUMERIC,
`col126` NUMERIC,
`col127` BOOL,
`col128` TIME,
`col129` TINYBLOB,
`col130` TINYBLOB,
`col131` DATE,
`col132` INT,
`col133` VARCHAR (123),
`col134` CHAR (238),
`col135` VARCHAR (225),
`col136` LONGTEXT,
`col137` LONGBLOB,
`col138` REAL,
`col139` TINYBLOB,
`col140` DATETIME,
`col141` TINYTEXT,
`col142` LONGBLOB,
`col143` BIGINT,
`col144` VARCHAR (236),
`col145` TEXT,
`col146` YEAR,
`col147` DECIMAL,
`col148` TEXT,
`col149` MEDIUMBLOB,
`col150` TINYINT,
`col151` BOOL,
`col152` VARCHAR (72),
`col153` INT,
`col154` VARCHAR (165),
`col155` TINYINT,
`col156` MEDIUMTEXT,
`col157` DOUBLE PRECISION,
`col158` TIME,
`col159` MEDIUMBLOB,
`col160` LONGBLOB,
`col161` DATETIME,
`col162` DOUBLE PRECISION,
`col163` BLOB,
`col164` ENUM ('test1','test2','test3'),
`col165` TIMESTAMP,
`col166` DATE,
`col167` TINYBLOB,
`col168` TINYBLOB,
`col169` LONGBLOB,
`col170` DATETIME,
`col171` BIGINT,
`col172` VARCHAR (30),
`col173` LONGTEXT,
`col174` TIME,
`col175` FLOAT,
KEY `idx0` (`col16`,`col156`(139),`col97`,`col120`),
KEY `idx1` (`col24`,`col0`(108)),
KEY `idx2` (`col117`,`col173`(34),`col132`,`col82`),
KEY `idx3` (`col2`(86)),
KEY `idx4` (`col2`(43)),
KEY `idx5` (`col83`,`col35`(87),`col111`),
KEY `idx6` (`col6`,`col134`,`col92`),
KEY `idx7` (`col56`),
KEY `idx8` (`col30`,`col53`,`col129`(66)),
KEY `idx9` (`col53`,`col113`(211),`col32`,`col15`(75)),
KEY `idx10` (`col34`),
KEY `idx11` (`col126`),
KEY `idx12` (`col24`)
)engine=innodb ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1;

# Creating a table with 179 columns and 46 indexes
DROP TABLE IF EXISTS `table6`;
-- error ER_TOO_BIG_ROWSIZE
--error ER_TOO_BIG_ROWSIZE
CREATE TABLE IF NOT EXISTS `table6`
(`col0` ENUM ('test1','test2','test3'),
`col1` MEDIUMBLOB,
`col2` MEDIUMBLOB,
`col3` DATETIME,
`col4` DATE,
`col5` YEAR,
`col6` REAL,
`col7` NUMERIC,
`col8` MEDIUMBLOB,
`col9` TEXT,
`col10` TIMESTAMP,
`col11` DOUBLE,
`col12` DOUBLE,
`col13` SMALLINT,
`col14` TIMESTAMP,
`col15` DECIMAL,
`col16` DATE,
`col17` TEXT,
`col18` LONGBLOB,
`col19` BIGINT,
`col20` FLOAT,
`col21` DATETIME,
`col22` TINYINT,
`col23` MEDIUMBLOB,
`col24` SET ('test1','test2','test3'),
`col25` TIME,
`col26` TEXT,
`col27` LONGTEXT,
`col28` BIGINT,
`col29` REAL,
`col30` YEAR,
`col31` MEDIUMBLOB,
`col32` MEDIUMINT,
`col33` FLOAT,
`col34` TEXT,
`col35` DATE,
`col36` TIMESTAMP,
`col37` REAL,
`col38` BLOB,
`col39` BLOB,
`col40` BLOB,
`col41` TINYBLOB,
`col42` INT,
`col43` TINYINT,
`col44` REAL,
`col45` BIGINT,
`col46` TIMESTAMP,
`col47` BLOB,
`col48` ENUM ('test1','test2','test3'),
`col49` BOOL,
`col50` CHAR (109),
`col51` DOUBLE,
`col52` DOUBLE PRECISION,
`col53` ENUM ('test1','test2','test3'),
`col54` FLOAT,
`col55` DOUBLE PRECISION,
`col56` CHAR (166),
`col57` TEXT,
`col58` TIME,
`col59` DECIMAL,
`col60` TEXT,
`col61` ENUM ('test1','test2','test3'),
`col62` LONGTEXT,
`col63` YEAR,
`col64` DOUBLE,
`col65` CHAR (87),
`col66` DATE,
`col67` BOOL,
`col68` MEDIUMBLOB,
`col69` DATETIME,
`col70` DECIMAL,
`col71` TIME,
`col72` REAL,
`col73` LONGTEXT,
`col74` BLOB,
`col75` REAL,
`col76` INT,
`col77` INT,
`col78` FLOAT,
`col79` DOUBLE,
`col80` MEDIUMINT,
`col81` ENUM ('test1','test2','test3'),
`col82` VARCHAR (221),
`col83` BIGINT,
`col84` TINYINT,
`col85` BIGINT,
`col86` FLOAT,
`col87` MEDIUMBLOB,
`col88` CHAR (126),
`col89` MEDIUMBLOB,
`col90` DATETIME,
`col91` TINYINT,
`col92` DOUBLE,
`col93` NUMERIC,
`col94` DATE,
`col95` BLOB,
`col96` DATETIME,
`col97` TIME,
`col98` LONGBLOB,
`col99` INT,
`col100` SET ('test1','test2','test3'),
`col101` TINYBLOB,
`col102` INT,
`col103` MEDIUMBLOB,
`col104` MEDIUMTEXT,
`col105` FLOAT,
`col106` TINYBLOB,
`col107` VARCHAR (26),
`col108` TINYINT,
`col109` TIME,
`col110` TINYBLOB,
`col111` LONGBLOB,
`col112` TINYTEXT,
`col113` FLOAT,
`col114` TINYINT,
`col115` NUMERIC,
`col116` TIME,
`col117` SET ('test1','test2','test3'),
`col118` DATE,
`col119` SMALLINT,
`col120` BLOB,
`col121` TINYTEXT,
`col122` REAL,
`col123` YEAR,
`col124` REAL,
`col125` BOOL,
`col126` BLOB,
`col127` REAL,
`col128` MEDIUMBLOB,
`col129` TIMESTAMP,
`col130` LONGBLOB,
`col131` MEDIUMBLOB,
`col132` YEAR,
`col133` YEAR,
`col134` INT,
`col135` MEDIUMINT,
`col136` MEDIUMINT,
`col137` TINYTEXT,
`col138` TINYBLOB,
`col139` BLOB,
`col140` SET ('test1','test2','test3'),
`col141` ENUM ('test1','test2','test3'),
`col142` ENUM ('test1','test2','test3'),
`col143` TINYTEXT,
`col144` DATETIME,
`col145` TEXT,
`col146` DOUBLE PRECISION,
`col147` DECIMAL,
`col148` MEDIUMTEXT,
`col149` TINYTEXT,
`col150` SET ('test1','test2','test3'),
`col151` MEDIUMTEXT,
`col152` CHAR (126),
`col153` DOUBLE,
`col154` CHAR (243),
`col155` SET ('test1','test2','test3'),
`col156` SET ('test1','test2','test3'),
`col157` DATETIME,
`col158` DOUBLE,
`col159` NUMERIC,
`col160` DECIMAL,
`col161` FLOAT,
`col162` LONGBLOB,
`col163` LONGTEXT,
`col164` INT,
`col165` TIME,
`col166` CHAR (27),
`col167` VARCHAR (63),
`col168` TEXT,
`col169` TINYBLOB,
`col170` TINYBLOB,
`col171` ENUM ('test1','test2','test3'),
`col172` INT,
`col173` TIME,
`col174` DECIMAL,
`col175` DOUBLE,
`col176` MEDIUMBLOB,
`col177` LONGBLOB,
`col178` CHAR (43),
KEY `idx0` (`col131`(219)),
KEY `idx1` (`col67`,`col122`,`col59`,`col87`(33)),
KEY `idx2` (`col83`,`col42`,`col57`(152)),
KEY `idx3` (`col106`(124)),
KEY `idx4` (`col173`,`col80`,`col165`,`col89`(78)),
KEY `idx5` (`col174`,`col145`(108),`col23`(228),`col141`),
KEY `idx6` (`col157`,`col140`),
KEY `idx7` (`col130`(188),`col15`),
KEY `idx8` (`col52`),
KEY `idx9` (`col144`),
KEY `idx10` (`col155`),
KEY `idx11` (`col62`(230),`col1`(109)),
KEY `idx12` (`col151`(24),`col95`(85)),
KEY `idx13` (`col114`),
KEY `idx14` (`col42`,`col98`(56),`col146`),
KEY `idx15` (`col147`,`col39`(254),`col35`),
KEY `idx16` (`col79`),
KEY `idx17` (`col65`),
KEY `idx18` (`col149`(165),`col168`(119),`col32`,`col117`),
KEY `idx19` (`col64`),
KEY `idx20` (`col93`),
KEY `idx21` (`col64`,`col113`,`col104`(182)),
KEY `idx22` (`col52`,`col111`(189)),
KEY `idx23` (`col45`),
KEY `idx24` (`col154`,`col107`,`col110`(159)),
KEY `idx25` (`col149`(1),`col87`(131)),
KEY `idx26` (`col58`,`col115`,`col63`),
KEY `idx27` (`col95`(9),`col0`,`col87`(113)),
KEY `idx28` (`col92`,`col130`(1)),
KEY `idx29` (`col151`(129),`col137`(254),`col13`),
KEY `idx30` (`col49`),
KEY `idx31` (`col28`),
KEY `idx32` (`col83`,`col146`),
KEY `idx33` (`col155`,`col90`,`col17`(245)),
KEY `idx34` (`col174`,`col169`(44),`col107`),
KEY `idx35` (`col113`),
KEY `idx36` (`col52`),
KEY `idx37` (`col16`,`col120`(190)),
KEY `idx38` (`col28`),
KEY `idx39` (`col131`(165)),
KEY `idx40` (`col135`,`col26`(86)),
KEY `idx41` (`col69`,`col94`),
KEY `idx42` (`col105`,`col151`(38),`col97`),
KEY `idx43` (`col88`),
KEY `idx44` (`col176`(100),`col42`,`col73`(189),`col94`),
KEY `idx45` (`col2`(27),`col27`(116))
)engine=innodb ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1;

DROP TABLE IF EXISTS table0;
DROP TABLE IF EXISTS table1;
DROP TABLE IF EXISTS table2;
DROP TABLE IF EXISTS table3;
DROP TABLE IF EXISTS table4;
DROP TABLE IF EXISTS table5;
DROP TABLE IF EXISTS table6;

EVAL SET GLOBAL innodb_file_format=$file_format;
EVAL SET GLOBAL innodb_file_per_table=$file_per_table;
