[MDEV-25312] Remove fil_space_t::name and related code Created: 2021-03-31 Updated: 2023-12-11 Resolved: 2021-04-08 |
|
| Status: | Closed |
| Project: | MariaDB Server |
| Component/s: | Storage Engine - InnoDB |
| Fix Version/s: | 10.6.0 |
| Type: | Task | Priority: | Blocker |
| Reporter: | Marko Mäkelä | Assignee: | Marko Mäkelä |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | performance | ||
| Issue Links: |
|
||||||||||||||||||||||||||||||||
| 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 A consistency check for fil_space_t::name is causing recovery failures in |
| Comments |
| Comment by Marko Mäkelä [ 2021-04-07 ] | ||
|
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. | ||
| Comment by Vladislav Vaintroub [ 2021-04-07 ] | ||
|
Looks fine |