Details
-
Task
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Fixed
Description
The InnoDB internal tables SYS_TABLESPACES and SYS_DATAFILES as well as the INFORMATION_SCHEMA views INNODB_SYS_TABLESPACES and INNODB_SYS_DATAFILES were introduced in MySQL 5.6 for no good reason when the InnoDB support for the DATA DIRECTORY table attribute was introduced. The file system should be the authoritative source of information on data files. Storing information about file system paths in the file system (symlinks, or even the .isl files that were unfortunately chosen as the solution) is sufficient. If information is additionally stored in some hidden tables inside the InnoDB system tablespace, everything unnecessarily becomes more complicated, because more copies of data mean more opportunity for the copies to be out of sync, and because modifying the data in the system tablespace in the desired way might not be possible at all without modifying the InnoDB source code. So, the copy in the system tablespace basically is a redundant, non-authoritative source of information.
For compatibility with older versions, we might want to preserve the INFORMATION_SCHEMA views, but make them reflect the fil_system cache.
Attachments
Issue Links
- blocks
-
MDEV-11633 Make the InnoDB system tablespace optional
- Open
-
MDEV-11655 Transactional data dictionary
- Open
-
MDEV-21801 Upstream bug #71725: after upgrading from 5.5, existing tables not present in INNODB_SYS_TABLESPACES
- Closed
- relates to
-
MDEV-11383 AliSQL: [Feature] Issue#29: ADD INFORMATION_SCHEMA.INNODB_RSEG TABLE TO DISPLAY THE ROLLBACK INFORMATION
- Closed
-
MDEV-23705 Assertion `table->data_dir_path || !space' failed in row_drop_table_for_mysql on TRUNCATE after DISCARD TABLESPACE
- Closed
-
MDEV-27886 innodb temporay tablespace files are not shown correctly
- Closed
-
MDEV-32230 ROW_FORMAT column in I_S.INNODB_SYS_TABLESPACES is NULL for innodb_checksum_algorithm=full_crc32 tablespaces
- Closed
-
MDEV-14418 Failing assertion: table->data_dir_path in row0mysql.cc line 4038
- Confirmed
-
MDEV-17380 innodb_flush_neighbors=ON should be ignored on SSD
- Closed
-
MDEV-20802 System tablespace is not listed in information_schema.INNODB_SYS_TABLESPACES
- Closed
-
MDEV-29518 ERROR: AddressSanitizer: heap-use-after-free around fil_space_t::name() storage/innobase/fil/fil0fil.cc:3182
- Closed