Details
-
Bug
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Not a Bug
-
10.2.6, 10.2(EOL)
-
None
Description
The following table can be created in MariaDB 10.1.22:
CREATE TABLE `a10` (
|
`id` int(11) NOT NULL,
|
`v1` varchar(10) DEFAULT NULL,
|
`v2` varchar(10) DEFAULT NULL,
|
[...]
|
`v728` varchar(10) DEFAULT NULL,
|
`v729` varchar(10) DEFAULT NULL,
|
PRIMARY KEY (`id`)
|
) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=COMPACT;
|
With MariaDB 10.2.6 this fails with
ERROR 1118 (42000) at line 2: Row size too large (> 8126). Changing some columns to TEXT or BLOB or using ROW_FORMAT=DYNAMIC or ROW_FORMAT=COMPRESSED may help. In current row format, BLOB prefix of 768 bytes is stored inline.
|
When removing one of the VARCHAR(10) lines creating the table succeeds.
When using ROW_FORMAT=COMPRESSED and innodb_file_format=Baracuda instead of Antelope creating the table still fails, now with
ERROR 1118 (42000) at line 2: Row size too large (> 8126). Changing some columns to TEXT or BLOB may help. In current row format, BLOB prefix of 0 bytes is stored inline.
|
Again, when removing one of the VARCHAR(10) columns the CREATE succeeds.
With MariaDB 10.1.22 and ROW_FORMAT=COMPACT the CREATE even succeeds with 1000 VARCHAR(10) columns.
I assume that this difference is caused by our switch from XtraDB to InnoDB, as I ran into this with MySQL 5.6 earlier: https://bugs.mysql.com/bug.php?id=76793
I reported