MySQL 8.0.39
Source Code Documentation
|
Innodb interface for modified page archive. More...
Go to the source code of this file.
Classes | |
class | Page_Arch_Client_Ctx |
Dirty page archiver client context. More... | |
Typedefs | |
using | Page_Arch_Cbk = int(void *ctx, byte *buff, uint num_pages) |
Callback for retrieving archived page IDs. More... | |
using | Page_Wait_Flush_Archiver_Cbk = std::function< bool(void)> |
Callback function to check if we need to wait for flush archiver to flush more blocks. More... | |
Variables | |
constexpr uint | ARCH_PAGE_FILE_NUM_RESET_PAGE = 1 |
Archived page header file size (RESET Page) in number of blocks. More... | |
constexpr uint | ARCH_PAGE_FILE_HDR_SIZE |
Archived file header size. More... | |
constexpr uint | ARCH_PAGE_NUM_BLKS = 32 |
Number of memory blocks. More... | |
constexpr uint | ARCH_PAGE_FILE_VERSION = 1 |
Archived file format version. More... | |
uint | ARCH_PAGE_FILE_CAPACITY |
Archived page file default size in number of blocks. More... | |
uint | ARCH_PAGE_FILE_DATA_CAPACITY |
Archived page data file size (without header) in number of blocks. More... | |
constexpr uint | ARCH_PAGE_RESET_THRESHOLD |
Threshold for page archive reset. More... | |
Page Archive doublewrite buffer file name prefix and constant length | |
parameters. | |
constexpr char | ARCH_DBLWR_DIR [] = "ib_dblwr" |
Archive doublewrite buffer directory prefix. More... | |
constexpr char | ARCH_DBLWR_FILE [] = "dblwr_" |
Archive doublewrite buffer file prefix. More... | |
constexpr char | ARCH_PAGE_GROUP_ACTIVE_FILE_NAME [] = "active" |
File name for the active file which indicates whether a group is active or not. More... | |
constexpr uint | ARCH_DBLWR_NUM_FILES = 1 |
Archive doublewrite buffer number of files. More... | |
constexpr uint | ARCH_DBLWR_FILE_CAPACITY = 3 |
Archive doublewrite buffer file capacity in no. More... | |
Archive block header elements | |
constexpr uint | ARCH_PAGE_BLK_HEADER_VERSION_OFFSET = 0 |
Block Header: Version is in first 1 byte. More... | |
constexpr uint | ARCH_PAGE_BLK_HEADER_TYPE_OFFSET = 1 |
Block Header: Block Type is in next 1 byte. More... | |
constexpr uint | ARCH_PAGE_BLK_HEADER_CHECKSUM_OFFSET = 2 |
Block Header: Checksum is in next 4 bytes. More... | |
constexpr uint | ARCH_PAGE_BLK_HEADER_DATA_LEN_OFFSET = 6 |
Block Header: Data length is in next 2 bytes. More... | |
constexpr uint | ARCH_PAGE_BLK_HEADER_STOP_LSN_OFFSET = 8 |
Block Header: Stop LSN is in next 8 bytes. More... | |
constexpr uint | ARCH_PAGE_BLK_HEADER_RESET_LSN_OFFSET = 16 |
Block Header: Reset LSN is in next 8 bytes. More... | |
constexpr uint | ARCH_PAGE_BLK_HEADER_NUMBER_OFFSET = 24 |
Block Header: Block number is in next 8 bytes. More... | |
constexpr uint | ARCH_PAGE_BLK_HEADER_LENGTH = 32 |
Block Header: Total length. More... | |
Page Archive reset block elements size. | |
constexpr uint | ARCH_PAGE_FILE_HEADER_RESET_LSN_SIZE = 8 |
Serialized Reset ID: Reset LSN total size. More... | |
constexpr uint | ARCH_PAGE_FILE_HEADER_RESET_BLOCK_NUM_SIZE = 2 |
Serialized Reset ID: Reset block number size. More... | |
constexpr uint | ARCH_PAGE_FILE_HEADER_RESET_BLOCK_OFFSET_SIZE = 2 |
Serialized Reset ID: Reset block offset size. More... | |
constexpr uint | ARCH_PAGE_FILE_HEADER_RESET_POS_SIZE |
Serialized Reset ID: Reset position total size. More... | |
Page Archive data block elements | |
constexpr uint | ARCH_BLK_SPCE_ID_OFFSET = 0 |
Serialized page ID: tablespace ID in First 4 bytes. More... | |
constexpr uint | ARCH_BLK_PAGE_NO_OFFSET = 4 |
Serialized page ID: Page number in next 4 bytes. More... | |
constexpr uint | ARCH_BLK_PAGE_ID_SIZE = 8 |
Serialized page ID: Total length. More... | |
Innodb interface for modified page archive.
using Page_Arch_Cbk = int(void *ctx, byte *buff, uint num_pages) |
Callback for retrieving archived page IDs.
[in] | ctx | context passed by caller |
[in] | buff | buffer with page IDs |
[in] | num_pages | number of page IDs in buffer |
using Page_Wait_Flush_Archiver_Cbk = std::function<bool(void)> |
Callback function to check if we need to wait for flush archiver to flush more blocks.
|
constexpr |
Serialized page ID: Total length.
|
constexpr |
Serialized page ID: Page number in next 4 bytes.
|
constexpr |
Serialized page ID: tablespace ID in First 4 bytes.
|
constexpr |
Archive doublewrite buffer directory prefix.
|
constexpr |
Archive doublewrite buffer file prefix.
|
constexpr |
Archive doublewrite buffer file capacity in no.
of blocks
|
constexpr |
Archive doublewrite buffer number of files.
|
constexpr |
Block Header: Checksum is in next 4 bytes.
|
constexpr |
Block Header: Data length is in next 2 bytes.
|
constexpr |
Block Header: Total length.
Keep header length in multiple of ARCH_BLK_PAGE_ID_SIZE
|
constexpr |
Block Header: Block number is in next 8 bytes.
|
constexpr |
Block Header: Reset LSN is in next 8 bytes.
|
constexpr |
Block Header: Stop LSN is in next 8 bytes.
|
constexpr |
Block Header: Block Type is in next 1 byte.
|
constexpr |
Block Header: Version is in first 1 byte.
|
extern |
Archived page file default size in number of blocks.
|
extern |
Archived page data file size (without header) in number of blocks.
|
constexpr |
Archived file header size.
No file header for this version.
|
constexpr |
Serialized Reset ID: Reset block number size.
|
constexpr |
Serialized Reset ID: Reset block offset size.
|
constexpr |
Serialized Reset ID: Reset LSN total size.
|
constexpr |
Serialized Reset ID: Reset position total size.
|
constexpr |
Archived page header file size (RESET Page) in number of blocks.
|
constexpr |
Archived file format version.
|
constexpr |
File name for the active file which indicates whether a group is active or not.
|
constexpr |
Number of memory blocks.
|
constexpr |
Threshold for page archive reset.
Attach to current reset if the number of tracked pages between the reset request and the current reset is less than this threshold as we allow only one reset per data block.