MySQL 8.0.40
Source Code Documentation
mem_block_info_t Struct Reference

The info structure stored at the beginning of a heap block. More...

#include <mem0mem.h>

Public Member Functions

 UT_LIST_NODE_T (mem_block_t) list
 This contains pointers to next and prev in the list. More...
 
 UT_LIST_BASE_NODE_T_EXTERN (mem_block_t, list) base
 In the first block of the list this is the base node of the list of blocks; in subsequent blocks this is undefined. More...
 

Public Attributes

uint64_t magic_n
 Magic number for debugging. More...
 
char file_name [16]
 File name where the mem heap was created. More...
 
ulint line
 Line number where the mem heap was created. More...
 
ulint len
 Physical length of this block in bytes. More...
 
ulint total_size
 Physical length in bytes of all blocks in the heap. More...
 
ulint type
 Type of heap: MEM_HEAP_DYNAMIC, or MEM_HEAP_BUF possibly ORed to MEM_HEAP_BTR_SEARCH. More...
 
ulint free
 Offset in bytes of the first free position for user data in the block. More...
 
ulint start
 The value of the struct field 'free' at the creation of the block. More...
 
std::atomic< buf_block_t * > * free_block_ptr
 
buf_block_tbuf_block
 

Detailed Description

The info structure stored at the beginning of a heap block.

Member Function Documentation

◆ UT_LIST_BASE_NODE_T_EXTERN()

mem_block_info_t::UT_LIST_BASE_NODE_T_EXTERN ( mem_block_t  ,
list   
)

In the first block of the list this is the base node of the list of blocks; in subsequent blocks this is undefined.

◆ UT_LIST_NODE_T()

mem_block_info_t::UT_LIST_NODE_T ( mem_block_t  )

This contains pointers to next and prev in the list.

The first block allocated to the heap is also the first block in this list, though it also contains the base node of the list.

Member Data Documentation

◆ buf_block

buf_block_t* mem_block_info_t::buf_block

◆ file_name

char mem_block_info_t::file_name[16]

File name where the mem heap was created.

◆ free

ulint mem_block_info_t::free

Offset in bytes of the first free position for user data in the block.

◆ free_block_ptr

std::atomic<buf_block_t *>* mem_block_info_t::free_block_ptr

◆ len

ulint mem_block_info_t::len

Physical length of this block in bytes.

◆ line

ulint mem_block_info_t::line

Line number where the mem heap was created.

◆ magic_n

uint64_t mem_block_info_t::magic_n

Magic number for debugging.

◆ start

ulint mem_block_info_t::start

The value of the struct field 'free' at the creation of the block.

◆ total_size

ulint mem_block_info_t::total_size

Physical length in bytes of all blocks in the heap.

This is defined only in the base node and is set to ULINT_UNDEFINED in others.

◆ type

ulint mem_block_info_t::type

Type of heap: MEM_HEAP_DYNAMIC, or MEM_HEAP_BUF possibly ORed to MEM_HEAP_BTR_SEARCH.


The documentation for this struct was generated from the following file: