mariadb/mysql-test/innodb_bug36169.test
marko ace10f32a0 branches/innodb+: Merge revisions 2986:3152 from branches/zip:
------------------------------------------------------------------------
  r3036 | marko | 2008-11-12 12:34:30 +0200 (Wed, 12 Nov 2008) | 4 lines

  branches/zip: dtuple_validate(): When UNIV_DEBUG_VALGRIND is defined,
  rely solely on the UNIV_MEM_ASSERT_RW() check and disable the for loop
  that would only cause additional noise.
  ------------------------------------------------------------------------
  r3037 | marko | 2008-11-12 13:52:57 +0200 (Wed, 12 Nov 2008) | 6 lines

  branches/zip: row_vers_impl_x_locked_off_kernel(): Remove compilation
  warnings about prev_trx_id and vers_del being possibly uninitialized,
  by handling the case prev_version == NULL in a single if block.

  rb://45 approved by Inaam Rana.
  ------------------------------------------------------------------------
  r3131 | michael | 2008-11-17 14:56:56 +0200 (Mon, 17 Nov 2008) | 9 lines

  branches/zip:

  rb://53

  Improve innodb_supports_xa system variable handling and
  reduces the number of retrievals of the value from MySQL.

  Approved by: Marko, over IM
  ------------------------------------------------------------------------
  r3132 | michael | 2008-11-17 16:02:01 +0200 (Mon, 17 Nov 2008) | 5 lines

  branches/zip: rb://53

  Final version of rb://53, fixes the styling of a comment, makes
  the definition and the declaration of thd_supports_xa() identical commentwise.
  ------------------------------------------------------------------------
  r3141 | marko | 2008-11-19 16:39:55 +0200 (Wed, 19 Nov 2008) | 1 line

  branches/zip: buf_LRU_free_block(): Clarify the function comment.
  ------------------------------------------------------------------------
  r3144 | marko | 2008-11-20 11:39:49 +0200 (Thu, 20 Nov 2008) | 2 lines

  branches/zip: rec_get_nth_field_offs_old(): Add UNIV_UNLIKELY hints
  to assertion-like tests.
  ------------------------------------------------------------------------
  r3145 | marko | 2008-11-20 12:22:40 +0200 (Thu, 20 Nov 2008) | 20 lines

  branches/zip: Always check for "row too large" when executing SQL to create
  an index or table.  We have to skip this check when loading table definitions
  from the data dictionary, because we could otherwise refuse to load old
  tables (even uncompressed ones).  This addresses Issue #119.

  The first "row too large" check was implemented in MySQL 5.0.3
  to address MySQL Bug #5682.  In the InnoDB Plugin 1.0.2, a more
  accurate check was implemented in innodb_strict_mode.  We now
  make the check unconditional.

  dict_create_index_step(): Pass strict=TRUE to dict_index_add_to_cache().

  trx_is_strict(), thd_is_strict(): Remove.

  innodb-zip.test: Test in innodb_strict_mode=OFF.

  innodb_bug36169.test: Ensure that none of the tables can be created.

  rb://56 approved by Sunny Bains.
  ------------------------------------------------------------------------
  r3148 | marko | 2008-11-20 13:27:27 +0200 (Thu, 20 Nov 2008) | 3 lines

  branches/zip: rec_print_old(), rec_print_comp(): Dump each field in a
  separate line, so that the dumps can be read and compared more easily.
  ------------------------------------------------------------------------
2008-11-20 11:53:53 +00:00

1155 lines
25 KiB
Text

#
# Bug#36169 create innodb compressed table with too large row size crashed
# http://bugs.mysql.com/36169
#
-- source include/have_innodb.inc
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`;
--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;