mirror of
https://github.com/MariaDB/server.git
synced 2025-01-16 03:52:35 +01:00
cf552f5886
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.
fil_space_t::name was more or less a copy of dict_table_t::name
(except for some special cases), and it was not being used for
anything useful.
There used to be a name_hash, but it had been removed already in
commit a75dbfd718
(MDEV-12266).
We will also remove os_normalize_path(), OS_PATH_SEPARATOR,
OS_PATH_SEPATOR_ALT. On Microsoft Windows, we will treat \ and /
roughly in the same way. The intention is that for per-table
tablespaces, the filenames will always follow the pattern
prefix/databasename/tablename.ibd. (Any \ in the prefix must not
be converted.)
ut_basename_noext(): Remove (unused function).
read_link_file(): Replaces RemoteDatafile::read_link_file().
We will ensure that the last two path component separators are
forward slashes (converting up to 2 trailing backslashes on
Microsoft Windows), so that everywhere else we can
assume that data file names end in "/databasename/tablename.ibd".
Note: On Microsoft Windows, path names that start with \\?\ must
not contain / as path component separators. Previously, such paths
did work in the DATA DIRECTORY argument of InnoDB tables.
Reviewed by: Vladislav Vaintroub
24 lines
900 B
C
24 lines
900 B
C
#pragma once
|
|
#include "my_dbug.h"
|
|
#ifndef DBUG_OFF
|
|
char *dbug_mariabackup_get_val(const char *event, fil_space_t::name_type key);
|
|
/*
|
|
In debug mode, execute SQL statement that was passed via environment.
|
|
To use this facility, you need to
|
|
|
|
1. Add code DBUG_EXECUTE_MARIABACKUP_EVENT("my_event_name", key););
|
|
to the code. key is usually a table name
|
|
2. Set environment variable my_event_name_$key SQL statement you want to execute
|
|
when event occurs, in DBUG_EXECUTE_IF from above.
|
|
In mtr , you can set environment via 'let' statement (do not use $ as the first char
|
|
for the variable)
|
|
3. start mariabackup with --dbug=+d,debug_mariabackup_events
|
|
*/
|
|
#define DBUG_EXECUTE_FOR_KEY(EVENT, KEY, CODE) \
|
|
DBUG_EXECUTE_IF("mariabackup_inject_code", \
|
|
{ char *dbug_val= dbug_mariabackup_get_val(EVENT, KEY); \
|
|
if (dbug_val) CODE })
|
|
#else
|
|
#define DBUG_EXECUTE_FOR_KEY(EVENT, KEY, CODE)
|
|
#endif
|
|
|