[MDEV-32230] ROW_FORMAT column in I_S.INNODB_SYS_TABLESPACES is NULL for innodb_checksum_algorithm=full_crc32 tablespaces Created: 2023-09-22 Updated: 2023-10-07 Resolved: 2023-10-07 |
|
| Status: | Closed |
| Project: | MariaDB Server |
| Component/s: | Documentation, Information Schema |
| Affects Version/s: | 10.4, 10.5, 10.6, 10.7, 10.8, 10.9, 10.10, 10.11, 11.0, 11.1, 11.2, 11.3 |
| Fix Version/s: | N/A |
| Type: | Bug | Priority: | Major |
| Reporter: | Richard Stracke | Assignee: | Ian Gilfillan |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Issue Links: |
|
||||||||||||||||
| Description |
|
ROW_FORMAT column is NULL in information_schema.innodb_sys_tablespaces starting from 10.6. Should be documented I think it is related to "Remove SYS_TABLESPACES and SYS_DATAFILES" It should be documented, that the value of column ROW_FORMAT in information_schema.innodb_sys_tablespaces is always "NULL" in 10.6
|
| Comments |
| Comment by Sergei Golubchik [ 2023-09-23 ] | |||||||||
|
what do you mean "ROW_FORMAT in NULL" and "ROW_FORMAT is every NULL" ? | |||||||||
| Comment by Richard Stracke [ 2023-09-25 ] | |||||||||
|
I changed the text to make it more clearly. | |||||||||
| Comment by Marko Mäkelä [ 2023-09-27 ] | |||||||||
|
The original motivation for encoding ROW_FORMAT in the tablespace flags was to avoid trouble when downgrading from the InnoDB Plugin for MySQL 5.1 to the built-in MySQL 5.1 that would not recognize ROW_FORMAT=DYNAMIC or ROW_FORMAT=COMPRESSED. At least starting with MariaDB Server 10.3, we have a better way of detecting the compatibility of a table: opening and examining the clustered index root page (page 3 in the .ibd file). MariaDB Server 10.3 would nicely refuse to open a table where I tried the following in MariaDB Server 10.4:
The ROW_FORMAT of the system tables (in the mysql schema) will be reported as either Dynamic or NULL depending on how I invoke the test:
| |||||||||
| Comment by Ian Gilfillan [ 2023-10-03 ] | |||||||||
|
ROW_FORMAT is not always NULL in 10.6: On 10.6.15:
The documentation on https://mariadb.com/kb/en/information-schema-innodb_sys_tables-table/ appears to be correct, so I'm unclear what needs to be updated. | |||||||||
| Comment by Marko Mäkelä [ 2023-10-04 ] | |||||||||
|
The innodb_checksum_algorithm=full_crc32 is not available for ROW_FORMAT=COMPRESSED tables. At the time we implemented the full_crc32 format, I did not want to introduce a new ROW_FORMAT=COMPRESSED file format. Those tables originally used the zlib Adler32, which was working fine. I just realized that the current default (which is the only option after | |||||||||
| Comment by Marko Mäkelä [ 2023-10-04 ] | |||||||||
|
greenman, this bug is about INFORMATION_SCHEMA.INNODB_SYS_TABLESPACES and not INFORMATION_SCHEMA.INNODB_SYS_TABLES. The last 3 columns are kind of "virtual", probably derived from FLAG, except SPACE_TYPE, which is derived from SPACE. |