MySQL 8.4.2
Source Code Documentation
Header Constants (moved from fsp0fsp.c)

Classes

struct  xdes_mem_t
 
struct  fsp_header_mem_t
 In-memory representation of the fsp_header_t file structure. More...
 

Typedefs

typedef byte fsp_header_t
 
typedef byte xdes_t
 

Functions

bool xdes_state_is_valid (ulint state)
 Check if the state of extent descriptor is valid. More...
 
std::ostream & operator<< (std::ostream &out, const xdes_mem_t &obj)
 
std::ostream & operator<< (std::ostream &out, const fsp_header_mem_t &obj)
 

Variables

std::vector< space_id_tflag_mismatch_spaces
 
constexpr uint32_t FSP_HEADER_OFFSET = FIL_PAGE_DATA
 Offset of the space header within a file page. More...
 
constexpr uint32_t FSP_SDI_HEADER_LEN = 8
 The number of bytes required to store SDI root page number(4) and SDI version(4) at Page 0. More...
 
constexpr uint32_t FSP_SPACE_ID = 0
 space id More...
 
constexpr uint32_t FSP_NOT_USED = 4
 this field contained a value up to which we know that the modifications in the database have been flushed to the file space; not used now More...
 
constexpr uint32_t FSP_SIZE = 8
 Current size of the space in pages. More...
 
constexpr uint32_t FSP_FREE_LIMIT = 12
 Minimum page number for which the free list has not been initialized: the pages >= this limit are, bydefinition, free; note that in a single-table tablespace where size < 64 pages, this number is 64, i.e.,we have initialized the space about the first extent, but have not physically allocated those pages to thefile. More...
 
constexpr uint32_t FSP_SPACE_FLAGS = 16
 fsp_space_t.flags, similar to dict_table_t::flags More...
 
constexpr uint32_t FSP_FRAG_N_USED = 20
 number of used pages in the FSP_FREE_FRAG list More...
 
constexpr uint32_t FSP_FREE = 24
 list of free extents More...
 
constexpr uint32_t FSP_FREE_FRAG = 24 + FLST_BASE_NODE_SIZE
 list of partially free extents not belonging to any segment More...
 
constexpr uint32_t FSP_FULL_FRAG = 24 + 2 * FLST_BASE_NODE_SIZE
 list of full extents not belonging to any segment More...
 
constexpr uint32_t FSP_SEG_ID = 24 + 3 * FLST_BASE_NODE_SIZE
 8 bytes which give the first unused segment id More...
 
constexpr uint32_t FSP_SEG_INODES_FULL = 32 + 3 * FLST_BASE_NODE_SIZE
 list of pages containing segment headers, where all the segment inode slots are reserved More...
 
constexpr uint32_t FSP_SEG_INODES_FREE = 32 + 4 * FLST_BASE_NODE_SIZE
 list of pages containing segment headers, where not all the segment header slots are reserved More...
 
constexpr uint32_t FSP_HEADER_SIZE = 32 + 5 * FLST_BASE_NODE_SIZE
 
constexpr uint32_t FSP_FREE_ADD = 4
 This many free extents are added to the free list from above FSP_FREE_LIMIT at a time. More...
 

Detailed Description

Typedef Documentation

◆ fsp_header_t

typedef byte fsp_header_t

◆ xdes_t

typedef byte xdes_t

Function Documentation

◆ operator<<() [1/2]

std::ostream & operator<< ( std::ostream &  out,
const fsp_header_mem_t obj 
)
inline

◆ operator<<() [2/2]

std::ostream & operator<< ( std::ostream &  out,
const xdes_mem_t obj 
)
inline

◆ xdes_state_is_valid()

bool xdes_state_is_valid ( ulint  state)

Check if the state of extent descriptor is valid.

Parameters
[in]statethe extent descriptor state
Returns
true if state is valid, false otherwise

Variable Documentation

◆ flag_mismatch_spaces

std::vector<space_id_t> flag_mismatch_spaces
extern

◆ FSP_FRAG_N_USED

constexpr uint32_t FSP_FRAG_N_USED = 20
constexpr

number of used pages in the FSP_FREE_FRAG list

◆ FSP_FREE

constexpr uint32_t FSP_FREE = 24
constexpr

list of free extents

◆ FSP_FREE_ADD

constexpr uint32_t FSP_FREE_ADD = 4
constexpr

This many free extents are added to the free list from above FSP_FREE_LIMIT at a time.

◆ FSP_FREE_FRAG

constexpr uint32_t FSP_FREE_FRAG = 24 + FLST_BASE_NODE_SIZE
constexpr

list of partially free extents not belonging to any segment

◆ FSP_FREE_LIMIT

constexpr uint32_t FSP_FREE_LIMIT = 12
constexpr

Minimum page number for which the free list has not been initialized: the pages >= this limit are, bydefinition, free; note that in a single-table tablespace where size < 64 pages, this number is 64, i.e.,we have initialized the space about the first extent, but have not physically allocated those pages to thefile.

◆ FSP_FULL_FRAG

constexpr uint32_t FSP_FULL_FRAG = 24 + 2 * FLST_BASE_NODE_SIZE
constexpr

list of full extents not belonging to any segment

◆ FSP_HEADER_OFFSET

constexpr uint32_t FSP_HEADER_OFFSET = FIL_PAGE_DATA
constexpr

Offset of the space header within a file page.

◆ FSP_HEADER_SIZE

constexpr uint32_t FSP_HEADER_SIZE = 32 + 5 * FLST_BASE_NODE_SIZE
constexpr

◆ FSP_NOT_USED

constexpr uint32_t FSP_NOT_USED = 4
constexpr

this field contained a value up to which we know that the modifications in the database have been flushed to the file space; not used now

◆ FSP_SDI_HEADER_LEN

constexpr uint32_t FSP_SDI_HEADER_LEN = 8
constexpr

The number of bytes required to store SDI root page number(4) and SDI version(4) at Page 0.

◆ FSP_SEG_ID

constexpr uint32_t FSP_SEG_ID = 24 + 3 * FLST_BASE_NODE_SIZE
constexpr

8 bytes which give the first unused segment id

◆ FSP_SEG_INODES_FREE

constexpr uint32_t FSP_SEG_INODES_FREE = 32 + 4 * FLST_BASE_NODE_SIZE
constexpr

list of pages containing segment headers, where not all the segment header slots are reserved

◆ FSP_SEG_INODES_FULL

constexpr uint32_t FSP_SEG_INODES_FULL = 32 + 3 * FLST_BASE_NODE_SIZE
constexpr

list of pages containing segment headers, where all the segment inode slots are reserved

◆ FSP_SIZE

constexpr uint32_t FSP_SIZE = 8
constexpr

Current size of the space in pages.

◆ FSP_SPACE_FLAGS

constexpr uint32_t FSP_SPACE_FLAGS = 16
constexpr

fsp_space_t.flags, similar to dict_table_t::flags

◆ FSP_SPACE_ID

constexpr uint32_t FSP_SPACE_ID = 0
constexpr

space id