[MDEV-32128] wrong table name in innodb's "row too big" errors Created: 2023-09-07  Updated: 2024-01-13  Resolved: 2023-09-09

Status: Closed
Project: MariaDB Server
Component/s: Storage Engine - InnoDB
Affects Version/s: 10.4, 10.5, 10.6, 10.10, 10.11, 11.0, 11.1
Fix Version/s: 10.4.32, 10.5.23, 10.6.16, 10.10.7, 10.11.6, 11.0.4, 11.1.3

Type: Bug Priority: Major
Reporter: Sergei Golubchik Assignee: Sergei Golubchik
Resolution: Fixed Votes: 0
Labels: None


 Description   

Error log contains

2023-09-07 23:01:37 4 [ERROR] InnoDB: Cannot add field `f32` in table `mysqld.1`.`#sql-temptable-60cc-4-f` because after adding it, the row size is 8187 which is greater than maximum allowed size (8126 bytes) for a record on index leaf page.

instead of

2023-09-07 23:01:37 4 [ERROR] InnoDB: Cannot add field `f32` in table `test`.`t1` because after adding it, the row size is 8187 which is greater than maximum allowed size (8126 bytes) for a record on index leaf page.



 Comments   
Comment by Marko Mäkelä [ 2023-09-08 ]

Looks good to me. However, if MDEV-22168 is implemented, it would be nice to be able to identify the partition. Partition names are part of the InnoDB table name, but not the SQL layer table name.

Comment by Sergei Golubchik [ 2023-09-08 ]

Partition names don't matter in this context as all partitions have the same table structure. That is when any partition violates the InnoDB restriction the whole table needs to be created differently.

Actually, no. If one can create different partitions using different InnoDB page size, then, indeed, the error might apply only to a specific partition, and then the partition name would be meaningful to know too

Comment by Michael Widenius [ 2023-10-23 ]

InnoDB page size cannot be changed after MariaDB bootstrap. All partitions has the same page size.

Generated at Thu Feb 08 10:29:02 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.