Details
-
Task
-
Status: Closed (View Workflow)
-
Blocker
-
Resolution: Fixed
Description
InnoDB allocates a tablespace name that is more or less a copy of the internal table name, and it does not use that for anything useful. There used to be a hash table of tablespace names (fil_system->name_hash), but it had been removed already in MDEV-12266 (10.3.6).
A consistency check for fil_space_t::name is causing recovery failures in MDEV-25180 (Atomic ALTER TABLE). So, we'd better remove that field altogether.
Attachments
Issue Links
- blocks
-
MDEV-25180 Atomic ALTER TABLE
-
- Closed
-
- causes
-
MDEV-25524 AddressSanitizer: heap-use-after-free in fil0fil.cc:2074 in fil_space_t::rename(char const*, bool, bool)
-
- Closed
-
- is blocked by
-
MDEV-12266 Reduce the number of InnoDB tablespace lookups
-
- Closed
-
- relates to
-
MDEV-30119 INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION.NAME is NULL for undo tablespaces
-
- Closed
-
-
MDEV-32983 path separator near ib_buffer_pool incorrect
-
- Closed
-
wlad, you suggested that it is OK to simplify code and use the forward slash on Microsoft Windows. So, as part of this simplification, we would remove os_normalize_path() and instead add some Windows-specific code that will treat some occurrences of the backslash in the same way as we would treat a forward slash.
This change will break compatibility on Microsoft Windows in two ways:
Here is an example of what would start to fail (with double escaping, as needed in a .test file):
Apparently, forward slashes are not allowed in path names that start with the characters that precede the string Volume. (Jira does not allow me to write the backslashes outside a code block.)
File names like E:/share/test/t.ibd or \\server\share/test/t.ibd will work just fine.