Comments - Miising FILE_FORMAT column in INNODB_SYS_TABLES

3 years, 10 months ago Marko Mäkelä

INFORMATION_SCHEMA.INNODB_SYS_TABLES is a hard-coded view that is provided to the InnoDB internal data dictionary table SYS_TABLES that resides in the system tablespace. The column FILE_FORMAT does not have any direct counterpart in SYS_TABLES.

The configuration parameters innodb_file_format and innodb_large_prefix were deprecated in MariaDB 10.2.2 when the InnoDB changes from MySQL 5.7.9 were merged. The motivation for the deprecation and removal was that originally these parameters were introduced to supposedly allow downgrading to older versions than MySQL 5.5. To make matters worse, the default values of these parameters caused the files to remain in the backward-compatible format. Only MySQL 5.7 and MariaDB 10.2 would change the defaults to sane values and deprecate these useless parameters. (The predecessors of MySQL 5.5 were already EOL at that point, and besides, we do not really support downgrades.)

Those 2 deprecated parameters were removed in MariaDB 10.3, but they were put back later in MDEV-18399, because the sane defaults were explicitly specified in commonly used configuration files.

I do not think that it makes sense to carry the column in INNODB_SYS_TABLES.

Note: In MariaDB 10.3 and MariaDB 10.4, InnoDB file formats were extended by MDEV-11369 and MDEV-15562. You can disable those format changes by

SET GLOBAL innodb_instant_alter_column_allowed=never;

which was implemented in MDEV-20590.

 
Content reproduced on this site is the property of its respective owners, and this content is not reviewed in advance by MariaDB. The views, information and opinions expressed by this content do not necessarily represent those of MariaDB or any other party.