![]()  | 
  
    MySQL 8.4.7
    
   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.