MySQL 8.0.40
Source Code Documentation
|
Functor that is called for each physical page that is read from the tablespace file. More...
Public Member Functions | |
AbstractCallback (trx_t *trx) | |
Constructor. More... | |
~AbstractCallback () override | |
Free any extent descriptor instance. More... | |
dberr_t | init (os_offset_t file_size, const buf_block_t *block) override 1 |
Determine the page size to use for traversing the tablespace. More... | |
bool | is_compressed_table () const 1 |
Public Member Functions inherited from PageCallback | |
PageCallback () | |
Default constructor. More... | |
virtual | ~PageCallback () 1=default |
virtual dberr_t | operator() (os_offset_t offset, buf_block_t *block) 1=0 |
Called for every page in the tablespace. More... | |
void | set_file (const char *filename, pfs_os_file_t file) 1 |
Set the name of the physical file and the file handle that is used to open it for the file that is being iterated over. More... | |
virtual space_id_t | get_space_id () const 1=0 |
virtual ulint | get_space_flags () const 1=0 |
void | set_page_size (const buf_frame_t *page) 1 |
Set the tablespace table size. More... | |
const page_size_t & | get_page_size () const |
The compressed page size. More... | |
PageCallback (PageCallback &&)=delete | |
PageCallback (const PageCallback &)=delete | |
PageCallback & | operator= (const PageCallback &)=delete |
Protected Member Functions | |
buf_frame_t * | get_frame (buf_block_t *block) const 1 |
Get the data page depending on the table type, compressed or not. More... | |
dberr_t | periodic_check () 1 |
Check for session interrupt. More... | |
const xdes_t * | xdes (ulint page_no, const page_t *page) const 1 |
Get the physical offset of the extent descriptor within the page. More... | |
dberr_t | set_current_xdes (page_no_t page_no, const page_t *page) 1 |
Set the current page directory (xdes). More... | |
bool | is_root_page (const page_t *page) const 1 |
bool | is_free (page_no_t page_no) const 1 |
Check if the page is marked as free in the extent descriptor. More... | |
Protected Attributes | |
trx_t * | m_trx |
Covering transaction. More... | |
space_id_t | m_space |
Space id of the file being iterated over. More... | |
page_no_t | m_free_limit |
Minimum page number for which the free list has not been initialized: the pages >= this limit are, by definition, 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 the file. More... | |
page_no_t | m_size |
Current size of the space in pages. More... | |
xdes_t * | m_xdes |
Current extent descriptor page. More... | |
page_no_t | m_xdes_page_no |
Physical page offset in the file of the extent descriptor. More... | |
uint32_t | m_space_flags |
Flags value read from the header page. More... | |
uint32_t | m_table_flags |
Derived from m_space_flags and row format type, the row format type is determined from the page header. More... | |
Additional Inherited Members | |
Public Attributes inherited from PageCallback | |
page_size_t | m_page_size |
The tablespace page size. More... | |
pfs_os_file_t | m_file |
File handle to the tablespace. More... | |
const char * | m_filepath |
Physical file path. More... | |
Functor that is called for each physical page that is read from the tablespace file.
|
inline |
Constructor.
trx | covering transaction |
|
inlineoverride |
Free any extent descriptor instance.
|
inlineprotected |
Get the data page depending on the table type, compressed or not.
block | block read from disk |
the | buffer frame |
|
overridevirtual |
Determine the page size to use for traversing the tablespace.
file_size | size of the tablespace file in bytes |
block | contents of the first page in the tablespace file. |
DB_SUCCESS | or error code. |
Implements PageCallback.
|
inline |
|
inlineprotected |
Check if the page is marked as free in the extent descriptor.
page_no | page number to check in the extent descriptor. |
|
inlineprotected |
|
inlineprotected |
Check for session interrupt.
If required we could even flush to disk here every N pages.
DB_SUCCESS | or error code |
|
inlineprotected |
Set the current page directory (xdes).
If the extent descriptor is marked as free then free the current extent descriptor and set it to 0. This implies that all pages that are covered by this extent descriptor are also freed.
page_no | offset of page within the file |
page | page contents |
Get the physical offset of the extent descriptor within the page.
page_no | page number of the extent descriptor |
page | contents of the page containing the extent descriptor. |
|
protected |
Minimum page number for which the free list has not been initialized: the pages >= this limit are, by definition, 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 the file.
|
protected |
Current size of the space in pages.
|
protected |
Space id of the file being iterated over.
|
protected |
Flags value read from the header page.
|
protected |
Derived from m_space_flags and row format type, the row format type is determined from the page header.
|
protected |
Covering transaction.
|
protected |
Current extent descriptor page.
|
protected |
Physical page offset in the file of the extent descriptor.