![]() |
MySQL 8.0.43
Source Code Documentation
|
Public Member Functions | |
| PageConverter (row_import *cfg, trx_t *trx) 1 | |
| Constructor. More... | |
| ~PageConverter () 1 override | |
| space_id_t | get_space_id () const 1 override |
| ulint | get_space_flags () const 1 override |
| dberr_t | operator() (os_offset_t offset, buf_block_t *block) override 1 |
| Called for every page in the tablespace. More... | |
Public Member Functions inherited from AbstractCallback | |
| 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 |
| 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... | |
| 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 |
Private Types | |
| enum | import_page_status_t { IMPORT_PAGE_STATUS_OK , IMPORT_PAGE_STATUS_ALL_ZERO , IMPORT_PAGE_STATUS_CORRUPTED } |
| Status returned by PageConverter::validate() More... | |
Private Member Functions | |
| dberr_t | update_page (buf_block_t *block, ulint &page_type) 1 |
| Update the page, set the space id, max trx id and index id. More... | |
| bool | trigger_corruption () 1 |
| dberr_t | update_index_page (buf_block_t *block) 1 |
| Update the space, index id, trx id. More... | |
| dberr_t | update_records (buf_block_t *block) 1 |
| Update the BLOB references and write UNDO log entries for rows that can't be purged optimistically. More... | |
| import_page_status_t | validate (os_offset_t offset, buf_block_t *block) 1 |
| Validate the page, check for corruption. More... | |
| dberr_t | update_header (buf_block_t *block) 1 |
| Validate the space flags and update tablespace header page. More... | |
| dberr_t | adjust_cluster_index_blob_column (rec_t *rec, const ulint *offsets, ulint i) 1 |
| Adjust the BLOB reference for a single column that is externally stored. More... | |
| dberr_t | adjust_cluster_index_blob_columns (rec_t *rec, const ulint *offsets) 1 |
| Adjusts the BLOB reference in the clustered index row for all externally stored columns. More... | |
| dberr_t | adjust_cluster_index_blob_ref (rec_t *rec, const ulint *offsets) 1 |
| In the clustered index, adjist the BLOB pointers as needed. More... | |
| bool | purge () 1 |
| Purge delete-marked records, only if it is possible to do so without re-organising the B+tree. More... | |
| dberr_t | adjust_cluster_record (const dict_index_t *index, rec_t *rec, const ulint *offsets) 1 |
| Adjust the BLOB references and sys fields for the current record. More... | |
| row_index_t * | find_index (space_index_t id) 1 |
| Find an index with the matching id. More... | |
Private Attributes | |
| row_import * | m_cfg |
| Config for table that is being imported. More... | |
| row_index_t * | m_index |
| Current index whose pages are being imported. More... | |
| lsn_t | m_current_lsn |
| Current system LSN. More... | |
| page_zip_des_t * | m_page_zip_ptr |
| Alias for m_page_zip, only set for compressed pages. More... | |
| RecIterator | m_rec_iter |
| Iterator over records in a block. More... | |
| ulint | m_offsets_ [REC_OFFS_NORMAL_SIZE] |
| Record offset. More... | |
| ulint * | m_offsets |
| Pointer to m_offsets_. More... | |
| mem_heap_t * | m_heap |
| Memory heap for the record offsets. More... | |
| dict_index_t * | m_cluster_index |
| Cluster index instance. 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... | |
Protected Member Functions inherited from AbstractCallback | |
| 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 inherited from AbstractCallback | |
| 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... | |
|
private |
| PageConverter::PageConverter | ( | row_import * | cfg, |
| trx_t * | trx | ||
| ) |
Constructor.
| cfg | config of table being imported. |
| trx | transaction covering the import |
|
inlineoverride |
|
private |
Adjust the BLOB reference for a single column that is externally stored.
| rec | record to update |
| offsets | column offsets for the record |
| i | column ordinal value |
|
private |
Adjusts the BLOB reference in the clustered index row for all externally stored columns.
| rec | record to update |
| offsets | column offsets for the record |
In the clustered index, adjist the BLOB pointers as needed.
In the clustered index, adjust BLOB pointers as needed.
Also update the BLOB reference, write the new space id.
| rec | record to update |
| offsets | column offsets for the record |
|
private |
Adjust the BLOB references and sys fields for the current record.
| index | the index being converted |
| rec | record to update |
| offsets | column offsets for the record |
|
inlineprivate |
Find an index with the matching id.
|
inlineoverridevirtual |
| the | space flags of the tablespace being iterated over |
Implements PageCallback.
|
inlineoverridevirtual |
| the | server space id of the tablespace being iterated over |
Implements PageCallback.
|
overridevirtual |
Called for every page in the tablespace.
If the page was not updated then its state must be set to BUF_PAGE_NOT_USED.
| offset | physical offset within the file |
| block | block read from file, note it is not from the buffer pool |
| DB_SUCCESS | or error code. |
Implements PageCallback.
|
private |
Purge delete-marked records, only if it is possible to do so without re-organising the B+tree.
|
inlineprivate |
|
private |
Validate the space flags and update tablespace header page.
| block | block read from file, not from the buffer pool. |
| DB_SUCCESS | or error code |
|
private |
Update the space, index id, trx id.
| block | block to convert |
|
private |
Update the page, set the space id, max trx id and index id.
| block | block read from file |
| page_type | type of the page |
| DB_SUCCESS | or error code |
|
private |
Update the BLOB references and write UNDO log entries for rows that can't be purged optimistically.
| block | block to update |
| DB_SUCCESS | or error code |
|
private |
Validate the page, check for corruption.
| offset | physical offset within file. |
| block | page read from file. |
|
private |
Config for table that is being imported.
|
private |
Cluster index instance.
|
private |
Current system LSN.
|
private |
Memory heap for the record offsets.
|
private |
Current index whose pages are being imported.
|
private |
Pointer to m_offsets_.
|
private |
Record offset.
|
private |
Alias for m_page_zip, only set for compressed pages.
|
private |
Iterator over records in a block.