#include "univ.i"
#include "mtr0mtr.h"
#include "mtr0log.h"
#include "ut0byte.h"
#include "buf0buf.h"
#include "fsp0fsp.h"
#include "dict0dict.h"
#include "dict0boot.ic"
Go to the source code of this file.
Defines | |
#define | DICT_HDR_SPACE 0 |
#define | DICT_HDR_PAGE_NO FSP_DICT_HDR_PAGE_NO |
#define | DICT_TABLES_ID 1 |
#define | DICT_COLUMNS_ID 2 |
#define | DICT_INDEXES_ID 3 |
#define | DICT_FIELDS_ID 4 |
#define | DICT_TABLE_IDS_ID 5 |
#define | DICT_HDR_FIRST_ID 10 |
#define | DICT_IBUF_ID_MIN 0xFFFFFFFF00000000ULL |
#define | DICT_HDR FSEG_PAGE_DATA |
#define | DICT_HDR_ROW_ID 0 |
#define | DICT_HDR_TABLE_ID 8 |
#define | DICT_HDR_INDEX_ID 16 |
#define | DICT_HDR_MAX_SPACE_ID 24 |
#define | DICT_HDR_MIX_ID_LOW 28 |
#define | DICT_HDR_TABLES 32 |
#define | DICT_HDR_TABLE_IDS 36 |
#define | DICT_HDR_COLUMNS 40 |
#define | DICT_HDR_INDEXES 44 |
#define | DICT_HDR_FIELDS 48 |
#define | DICT_HDR_FSEG_HEADER 56 |
#define | DICT_SYS_INDEXES_PAGE_NO_FIELD 8 |
#define | DICT_SYS_INDEXES_SPACE_NO_FIELD 7 |
#define | DICT_SYS_INDEXES_TYPE_FIELD 6 |
#define | DICT_SYS_INDEXES_NAME_FIELD 4 |
#define | DICT_HDR_ROW_ID_WRITE_MARGIN 256 |
Typedefs | |
typedef byte | dict_hdr_t |
Functions | |
UNIV_INTERN dict_hdr_t * | dict_hdr_get (mtr_t *mtr) |
UNIV_INTERN void | dict_hdr_get_new_id (table_id_t *table_id, index_id_t *index_id, ulint *space_id) |
UNIV_INLINE row_id_t | dict_sys_get_new_row_id (void) |
UNIV_INLINE row_id_t | dict_sys_read_row_id (const byte *field) |
UNIV_INLINE void | dict_sys_write_row_id (byte *field, row_id_t row_id) |
UNIV_INTERN void | dict_boot (void) |
UNIV_INTERN void | dict_create (void) |
UNIV_INTERN void dict_boot | ( | void | ) |
Initializes the data dictionary memory structures when the database is started. This function is also called when the data dictionary is created.
Definition at line 247 of file dict0boot.cc.
References DICT_CLUSTERED, DICT_UNIQUE, dict_index_struct::id, dict_table_struct::id, mach_read_from_8(), mem_heap_create, mem_heap_empty(), mem_heap_free, MLOG_4BYTES, mtr_commit(), mtr_read_ulint(), mtr_start(), dict_sys_struct::mutex, dict_sys_struct::row_id, dict_sys_struct::sys_columns, dict_sys_struct::sys_fields, dict_sys_struct::sys_indexes, dict_sys_struct::sys_tables, ut_a, and ut_uint64_align_up().
UNIV_INTERN void dict_create | ( | void | ) |
Creates and initializes the data dictionary at the database creation.
Definition at line 473 of file dict0boot.cc.
References mtr_commit(), and mtr_start().
UNIV_INTERN dict_hdr_t* dict_hdr_get | ( | mtr_t * | mtr | ) |
Gets a pointer to the dictionary header and x-latches its page.
Gets a pointer to the dictionary header and x-latches its page.
mtr | in: mtr |
Definition at line 48 of file dict0boot.cc.
References buf_page_get.
UNIV_INTERN void dict_hdr_get_new_id | ( | table_id_t * | table_id, |
index_id_t * | index_id, | ||
ulint * | space_id | ||
) |
Returns a new table, index, or space id. out: space id (not assigned if NULL)
Returns a new table, index, or space id.
table_id | out: table id (not assigned if NULL) |
index_id | out: index id (not assigned if NULL) |
space_id | out: space id (not assigned if NULL) |
Definition at line 68 of file dict0boot.cc.
References mach_read_from_8(), MLOG_4BYTES, mlog_write_ulint(), mlog_write_ull(), mtr_commit(), mtr_read_ulint(), and mtr_start().
UNIV_INLINE row_id_t dict_sys_get_new_row_id | ( | void | ) |
Returns a new row id.
UNIV_INLINE row_id_t dict_sys_read_row_id | ( | const byte * | field | ) |
Reads a row id from a record or other 6-byte stored form.
UNIV_INLINE void dict_sys_write_row_id | ( | byte * | field, |
row_id_t | row_id | ||
) |
Writes a row id to a record or other 6-byte stored form. in: row id
field | in: record field |