146 std::string &
table, std::string &partition,
bool &is_tmp);
160void get_partition(
const std::string &partition,
bool convert,
161 std::string &part, std::string &sub_part);
172 const std::string &partition,
bool is_tmp,
bool convert,
270 return (out <<
"[space=" <<
id.m_space_id <<
",index=" <<
id.m_index_id
302#ifndef UNIV_HOTBACKUP
307#define TEMP_FILE_PREFIX "#sql"
308#define TEMP_FILE_PREFIX_LENGTH 4
309#define TEMP_FILE_PREFIX_INNODB "#sql-ib"
311#define TEMP_TABLE_PREFIX "#sql"
312#define TEMP_TABLE_PATH_PREFIX "/" TEMP_TABLE_PREFIX
314#if defined UNIV_DEBUG || defined UNIV_IBUF_DEBUG
326 "SPATIAL_STATUS_MASK < REC_VERSION_56_MAX_INDEX_COL_LEN");
uint32_t space_id_t
Tablespace identifier.
Definition: api0api.h:50
Definition: partition.h:50
Globally unique index identifier.
Definition: dict0types.h:222
space_index_t m_index_id
Index identifier within the tablespace.
Definition: dict0types.h:262
space_id_t m_space_id
Tablespace identifier.
Definition: dict0types.h:260
uint64_t conv_to_int() const
Convert an index_id to a 64 bit integer.
Definition: dict0types.h:246
index_id_t(space_id_t space_id, space_index_t index_id)
Constructor.
Definition: dict0types.h:227
bool is_ibuf() const
Check if the index belongs to the insert buffer.
Definition: dict0types.h:254
bool operator==(const index_id_t &other) const
Compare this to another index identifier.
Definition: dict0types.h:240
bool operator<(const index_id_t &other) const
Compare this to another index identifier.
Definition: dict0types.h:233
ib_id_t space_index_t
Index identifier (unique within a tablespace).
Definition: dict0types.h:219
spatial_status_t
whether a col is used in spatial index or regular index Note: the spatial status is part of persisten...
Definition: dict0types.h:331
@ SPATIAL_MIXED
Used in both spatial index and regular index.
Definition: dict0types.h:339
@ SPATIAL_NONE
Not used in gis index.
Definition: dict0types.h:336
@ SPATIAL_UNKNOWN
Definition: dict0types.h:333
@ SPATIAL_ONLY
Only used in spatial index.
Definition: dict0types.h:342
uint ibuf_debug
Flag to control insert buffer debugging.
Definition: ibuf0ibuf.cc:206
constexpr uint64_t DICT_IBUF_ID_MIN
Definition: dict0types.h:214
std::ostream & operator<<(std::ostream &out, const index_id_t &id)
Display an index identifier.
Definition: dict0types.h:269
constexpr uint32_t SPATIAL_STATUS_MASK
Mask to encode/decode spatial status.
Definition: dict0types.h:323
constexpr uint32_t DICT_HDR_PAGE_NO
Definition: dict0types.h:210
ib_mutex_t DictSysMutex
Definition: dict0types.h:303
dict_err_ignore_t
Error to ignore when we load table dictionary into memory.
Definition: dict0types.h:279
@ DICT_ERR_IGNORE_INDEX_ROOT
ignore error if index root page is FIL_NULL or incorrect value
Definition: dict0types.h:281
@ DICT_ERR_IGNORE_NONE
no error to ignore
Definition: dict0types.h:280
@ DICT_ERR_IGNORE_CORRUPT
skip corrupted indexes
Definition: dict0types.h:283
@ DICT_ERR_IGNORE_ALL
ignore all errors
Definition: dict0types.h:292
@ DICT_ERR_IGNORE_RECOVER_LOCK
Used when recovering table locks for resurrected transactions.
Definition: dict0types.h:286
@ DICT_ERR_IGNORE_FK_NOKEY
ignore error if any foreign key is missing
Definition: dict0types.h:284
ib_id_t table_id_t
Table or partition identifier (unique within an InnoDB instance).
Definition: dict0types.h:217
ib_quiesce_t
Quiescing states for flushing tables to disk.
Definition: dict0types.h:296
@ QUIESCE_NONE
Definition: dict0types.h:297
@ QUIESCE_START
Initialise, prepare to start.
Definition: dict0types.h:298
@ QUIESCE_COMPLETE
All done.
Definition: dict0types.h:299
constexpr uint32_t SPATIAL_STATUS_SHIFT
Shift for spatial status.
Definition: dict0types.h:320
constexpr uint32_t DICT_HDR_SPACE
Definition: dict0types.h:209
constexpr uint32_t FSP_DICT_HDR_PAGE_NO
data dictionary header page, in tablespace 0
Definition: fsp0types.h:173
Insert buffer global types.
#define IBUF_SPACE_ID
Definition: ibuf0types.h:37
Common definition between mysql server & client.
#define NAME_LEN
Definition: mysql_com.h:66
#define NAME_CHAR_LEN
Field/table name length.
Definition: mysql_com.h:59
static PFS_engine_table_share_proxy table
Definition: pfs.cc:60
The version of the current data dictionary table definitions.
Definition: dictionary_client.h:42
Innodb data dictionary name.
Definition: dict0dd.cc:7158
void build_table(const std::string &schema, const std::string &table, const std::string &partition, bool is_tmp, bool convert, std::string &dict_name)
Definition: dict0dd.cc:7395
std::function< void(std::string &)> Convert_Func
Name string conversion callback.
Definition: dict0types.h:121
constexpr char PART_SEPARATOR[]
Partition separator in dictionary table name and file name.
Definition: dict0types.h:64
constexpr char SUB_PART_SEPARATOR[]
Sub-Partition separator in dictionary table name and file name.
Definition: dict0types.h:70
constexpr size_t PART_SEPARATOR_LEN
Partition separator length excluding terminating NULL.
Definition: dict0types.h:67
void get_table(const std::string &dict_name, std::string &schema, std::string &table)
Get schema and table name from dictionary table name.
Definition: dict0dd.cc:7295
bool is_partition(const std::string &dict_name)
Check if it is a table partition.
Definition: dict0dd.cc:7290
constexpr size_t MAX_TABLE_CHAR_LEN
The maximum length in characters for table name.
Definition: dict0types.h:103
constexpr size_t MAX_DB_CHAR_LEN
The maximum length in characters for database name.
Definition: dict0types.h:90
void rebuild_space(const std::string &dict_name, std::string &space_name)
Definition: dict0dd.cc:7662
bool match_partition(const std::string &dict_name, const dd::Partition *dd_part)
Check if dd partition matches with innodb dictionary table name.
Definition: dict0dd.cc:7561
void build_partition(const dd::Partition *dd_part, std::string &partition)
Build partition string from dd object.
Definition: dict0dd.cc:7531
constexpr char ALT_SUB_PART_SEPARATOR[]
Alternative sub-partition separator from 8.0.17 and older versions.
Definition: dict0types.h:79
constexpr size_t SUB_PART_SEPARATOR_LEN
Sub-Partition separator length excluding terminating NULL.
Definition: dict0types.h:73
constexpr size_t MAX_TABLE_UTF8MB3_LEN
The maximum length in bytes that a table name can occupy when stored in UTF8MB3, including the termin...
Definition: dict0types.h:98
constexpr char ALT_PART_SEPARATOR[]
Alternative partition separator from 8.0.17 and older versions.
Definition: dict0types.h:76
void rebuild(std::string &dict_name)
Rebuild table name to convert from 5.7 format to 8.0.
Definition: dict0dd.cc:7691
constexpr size_t MAX_SPACE_NAME_LEN
Maximum space name length.
Definition: dict0types.h:116
constexpr size_t SCHEMA_SEPARATOR_LEN
Definition: dict0types.h:83
constexpr char SCHEMA_SEPARATOR[]
Schema separator is forward slash irrespective of platform.
Definition: dict0types.h:82
void file_to_table(std::string &name, bool quiet)
Conversion function to change for system to file name cs.
Definition: dict0dd.cc:7159
constexpr size_t TMP_POSTFIX_LEN
Definition: dict0types.h:112
void convert_to_space(std::string &dict_name)
Definition: dict0dd.cc:7637
void get_partition(const std::string &partition, bool convert, std::string &part, std::string &sub_part)
Get partition and sub-partition name from partition string.
Definition: dict0dd.cc:7357
constexpr size_t MAX_DB_UTF8MB3_LEN
The maximum length in bytes that a database name can occupy when stored in UTF8MB3,...
Definition: dict0types.h:87
constexpr char TMP_POSTFIX[]
Postfix for a table name which is being altered.
Definition: dict0types.h:111
void build_57_partition(const dd::Partition *dd_part, std::string &partition)
Build 5.7 style partition string from dd object.
Definition: dict0dd.cc:7542
void table_to_file(std::string &name)
Conversion function to change for file name to system cs.
Definition: dict0dd.cc:7168
Record manager global types.
constexpr uint32_t REC_VERSION_56_MAX_INDEX_COL_LEN
Maximum indexed field length for tables that have atomic BLOBs.
Definition: rem0types.h:71
case opt name
Definition: sslopt-case.h:32
Data structure for newly added virtual column in a table.
Definition: dict0mem.h:834
Data structure for a column in a table.
Definition: dict0mem.h:488
Data structure for a field in an index.
Definition: dict0mem.h:894
Data structure for a foreign key constraint; an example: FOREIGN KEY (A, B) REFERENCES TABLE2 (C,...
Definition: dict0mem.h:1665
Data structure for an index.
Definition: dict0mem.h:1045
Definition: dict0dict.h:1004
Data structure for a database table.
Definition: dict0mem.h:1908
Data structure for a virtual column in a table.
Definition: dict0mem.h:814
Definition: dict0crea.h:147
Definition: dict0crea.h:111
uint64_t ib_id_t
The generic InnoDB system object identifier data type.
Definition: univ.i:442
#define ut_ad(EXPR)
Debug assertion.
Definition: ut0dbg.h:68