50typedef std::deque<const char *, ut::allocator<const char *>>
dict_names_t;
120 const std::string *prev_table =
nullptr);
137 const char **col_names,
139 bool check_recursive,
193 return (lhs->
id < rhs->
id);
uint32_t space_id_t
Tablespace identifier.
Definition: api0api.h:51
The index tree general types.
dberr_t
Definition: db0err.h:39
const rec_t * dict_startscan_system(btr_pcur_t *pcur, mtr_t *mtr, dict_system_id_t system_id)
This function opens a system table, and return the first record.
Definition: dict0load.cc:262
std::deque< const char *, ut::allocator< const char * > > dict_names_t
A stack of table names related through foreign key constraints.
Definition: dict0load.h:50
dberr_t dict_load_foreigns(const char *table_name, const char **col_names, bool check_recursive, bool check_charsets, dict_err_ignore_t ignore_err, dict_names_t &fk_tables)
Loads foreign key constraints where the table is either the foreign key holder or where the table is ...
Definition: dict0load.cc:2913
std::set< fil_space_t *, space_compare > missing_sys_tblsp_t
Definition: dict0load.h:201
void dict_get_and_save_space_name(dict_table_t *table)
Make sure the tablespace name is saved in dict_table_t if the table uses a general tablespace.
Definition: dict0load.cc:2140
dict_table_info_t
Status bit for dict_process_sys_tables_rec_and_mtr_commit()
Definition: dict0load.h:69
@ DICT_TABLE_LOAD_FROM_RECORD
Directly populate a dict_table_t structure with information from a SYS_TABLES record.
Definition: dict0load.h:70
@ DICT_TABLE_LOAD_FROM_CACHE
Check first whether dict_table_t is in the cache, if so, return it.
Definition: dict0load.h:73
void dict_load_tablespace(dict_table_t *table, dict_err_ignore_t ignore_err)
Opens a tablespace for dict_load_table_one()
Definition: dict0load.cc:2221
char * dict_get_first_table_name_in_db(const char *name)
Finds the first table name in the given database.
Definition: dict0load.cc:158
dict_system_id_t
enum that defines all system table IDs.
Definition: dict0load.h:53
@ SYS_VIRTUAL
Definition: dict0load.h:62
@ SYS_INDEXES
Definition: dict0load.h:55
@ SYS_FOREIGN_COLS
Definition: dict0load.h:59
@ SYS_NUM_SYSTEM_TABLES
Definition: dict0load.h:65
@ SYS_FOREIGN
Definition: dict0load.h:58
@ SYS_TABLESPACES
Definition: dict0load.h:60
@ SYS_FIELDS
Definition: dict0load.h:57
@ SYS_DATAFILES
Definition: dict0load.h:61
@ SYS_TABLES
Definition: dict0load.h:54
@ SYS_COLUMNS
Definition: dict0load.h:56
void dict_load_sys_table(dict_table_t *table)
This function is called when the database is booted.
Definition: dict0load.cc:2595
missing_sys_tblsp_t missing_spaces
Definition: dict0load.cc:93
bool has_discarded_tablespaces
This bool denotes if we found a Table or Partition with discarded Tablespace during load of SYS_TABLE...
Definition: dict0load.cc:99
void dict_save_data_dir_path(dict_table_t *table, char *filepath)
Using the table->heap, copy the null-terminated filepath into table->data_dir_path.
Definition: dict0load.cc:2076
const rec_t * dict_getnext_system(btr_pcur_t *pcur, mtr_t *mtr)
This function get the next system table record as we scan the table.
Definition: dict0load.cc:287
char * dict_get_first_path(ulint space_id)
Get the first filepath from SYS_DATAFILES for a given space_id.
Definition: dict0load.cc:992
void dict_load_tablespaces_for_upgrade()
Load all tablespaces during upgrade.
Definition: dict0load.cc:3069
void dict_get_and_save_data_dir_path(dict_table_t *table, bool dict_mutex_own)
Make sure the data_dir_path is saved in dict_table_t if DATA DIRECTORY was used.
Definition: dict0load.cc:2112
const char * SYSTEM_TABLE_NAME[]
Following are the InnoDB system tables.
Definition: dict0load.cc:70
const char * dict_process_sys_tablespaces(mem_heap_t *heap, const rec_t *rec, space_id_t *space, const char **name, uint32_t *flags)
This function parses a SYS_TABLESPACES record, extracts necessary information from the record and ret...
Definition: dict0load.cc:928
dict_table_t * dict_load_table(const char *name, bool cached, dict_err_ignore_t ignore_err, const std::string *prev_table=nullptr)
Loads a table definition and also all its index definitions, and also the cluster definition if the t...
Definition: dict0load.cc:2178
Data dictionary global types.
dict_err_ignore_t
Error to ignore when we load table dictionary into memory.
Definition: dict0types.h:294
The low-level file system.
static int flags[50]
Definition: hp_test1.cc:40
static const char * filepath
Definition: myisamlog.cc:94
const char * table_name
Definition: rules_table_service.cc:56
byte rec_t
Definition: rem0types.h:41
case opt name
Definition: sslopt-case.h:33
Definition: btr0pcur.h:99
Data structure for a database table.
Definition: dict0mem.h:1909
Tablespace or log data space.
Definition: fil0fil.h:236
space_id_t id
Tablespace ID.
Definition: fil0fil.h:332
The info structure stored at the beginning of a heap block.
Definition: mem0mem.h:302
Mini-transaction handle and buffer.
Definition: mtr0mtr.h:177
Definition: dict0load.h:191
bool operator()(const fil_space_t *lhs, const fil_space_t *rhs) const
Definition: dict0load.h:192
Transaction system global type definitions.
Version control for database, common definitions, and include files.
unsigned long int ulint
Definition: univ.i:406
Utilities for byte operations.
Dynamic memory allocation routines and custom allocators specifically crafted to support memory instr...
static double cached
Definition: xcom_statistics.cc:101