|  | MySQL 9.5.0
    Source Code Documentation | 
Data dictionary memory object creation. More...
| Functions | |
| const char * | dict_add_col_name (const char *col_names, ulint cols, const char *name, mem_heap_t *heap) | 
| NOTE: The functions in this file should only use functions from other files in library.  More... | |
| void | dict_mem_table_free (dict_table_t *table) | 
| Free a table memory object.  More... | |
| static bool | dict_mem_table_is_system (const std::string name) | 
| Determines if a table is a system table.  More... | |
| dict_table_t * | dict_mem_table_create (const char *name, space_id_t space, ulint n_cols, ulint n_v_cols, ulint n_m_v_cols, uint32_t flags, uint32_t flags2, uint32_t n_drop_cols) | 
| Creates a table memory object.  More... | |
| dict_index_t * | dict_mem_index_create (const char *table_name, const char *index_name, ulint space, ulint type, ulint n_fields) | 
| Creates an index memory object.  More... | |
| void | dict_mem_table_add_col (dict_table_t *table, mem_heap_t *heap, const char *name, ulint mtype, ulint prtype, ulint len, bool is_visible, uint32_t phy_pos, row_version_t v_added, row_version_t v_dropped) | 
| Adds a column definition to a table.  More... | |
| void | dict_mem_fill_column_struct (dict_col_t *column, ulint col_pos, ulint mtype, ulint prtype, ulint col_len, bool is_visible, uint32_t phy_pos, row_version_t v_added, row_version_t v_dropped) | 
| This function populates a dict_col_t memory structure with supplied information.  More... | |
| Variables | |
| static std::string | innobase_system_databases [] | 
| System databases.  More... | |
Data dictionary memory object creation.
Created 1/8/1996 Heikki Tuuri
| const char * dict_add_col_name | ( | const char * | col_names, | 
| ulint | cols, | ||
| const char * | name, | ||
| mem_heap_t * | heap | ||
| ) | 
NOTE: The functions in this file should only use functions from other files in library.
Append 'name' to 'col_names'.
The code in this file is used to make a library for external tools. Append 'name' to 'col_names'.
| col_names | in: existing column names, or NULL | 
| cols | in: number of existing columns | 
| name | in: new column name | 
| heap | in: heap | 
| void dict_mem_fill_column_struct | ( | dict_col_t * | column, | 
| ulint | col_pos, | ||
| ulint | mtype, | ||
| ulint | prtype, | ||
| ulint | col_len, | ||
| bool | is_visible, | ||
| uint32_t | phy_pos, | ||
| row_version_t | v_added, | ||
| row_version_t | v_dropped | ||
| ) | 
This function populates a dict_col_t memory structure with supplied information.
| [out] | column | column struct to be filled | 
| [in] | col_pos | column position | 
| [in] | mtype | main data type | 
| [in] | prtype | precise type | 
| [in] | col_len | column length | 
| [in] | is_visible | true if column is visible | 
| [in] | phy_pos | position of col in physical record | 
| [in] | v_added | table row version when col was added INSTANTly | 
| [in] | v_dropped | table row version when col was dropped INSTANTly | 
| dict_index_t * dict_mem_index_create | ( | const char * | table_name, | 
| const char * | index_name, | ||
| ulint | space, | ||
| ulint | type, | ||
| ulint | n_fields | ||
| ) | 
Creates an index memory object.
| table_name | in: table name | 
| index_name | in: index name | 
| space | in: space where the index tree is placed, ignored if the index is of the clustered type | 
| type | in: DICT_UNIQUE, DICT_CLUSTERED, ... ORed | 
| n_fields | in: number of fields | 
| void dict_mem_table_add_col | ( | dict_table_t * | table, | 
| mem_heap_t * | heap, | ||
| const char * | name, | ||
| ulint | mtype, | ||
| ulint | prtype, | ||
| ulint | len, | ||
| bool | is_visible, | ||
| uint32_t | phy_pos = UINT32_UNDEFINED, | ||
| row_version_t | v_added = INVALID_ROW_VERSION, | ||
| row_version_t | v_dropped = INVALID_ROW_VERSION | ||
| ) | 
Adds a column definition to a table.
| [in] | table | table | 
| [in] | heap | temporary memory heap, or NULL | 
| [in] | name | column name, or NULL | 
| [in] | mtype | main datatype | 
| [in] | prtype | precise type | 
| [in] | len | length of column | 
| [in] | is_visible | true if column is visible | 
| [in] | phy_pos | position of col in physical record | 
| [in] | v_added | table row version when col was added INSTANTly | 
| [in] | v_dropped | table_row version when col was dropped INSTANTly | 
| dict_table_t * dict_mem_table_create | ( | const char * | name, | 
| space_id_t | space, | ||
| ulint | n_cols, | ||
| ulint | n_v_cols, | ||
| ulint | n_m_v_cols, | ||
| uint32_t | flags, | ||
| uint32_t | flags2, | ||
| uint32_t | n_drop_cols = 0 | ||
| ) | 
Creates a table memory object.
| [in] | name | table name | 
| [in] | space | space where the clustered index of the table is placed | 
| [in] | n_cols | total number of columns including virtual and non-virtual columns | 
| [in] | n_v_cols | number of virtual columns | 
| [in] | n_m_v_cols | number of multi-value virtual columns | 
| [in] | flags | table flags | 
| [in] | flags2 | table flags2 | 
| [in] | n_drop_cols | Number of INSTANT drop cols | 
| void dict_mem_table_free | ( | dict_table_t * | table | ) | 
Free a table memory object.
in: table
| table | in: table | 
| 
 | static | 
Determines if a table is a system table.
| [in] | name | table_name | 
| 
 | static | 
System databases.