struct xb_fil_cur_t {
pfs_os_file_t file; /*!< source file handle */
fil_node_t* node; /*!< source tablespace node */ char rel_path[FN_REFLEN]; /*!< normalized file path */ char abs_path[FN_REFLEN]; /*!< absolute file path */
MY_STAT statinfo; /*!< information about the file */
ulint zip_size; /*!< compressed page size in bytes or 0
for uncompressed pages */
ulint page_size; /*!< physical page size */
xb_read_filt_t* read_filter; /*!< read filter */
xb_read_filt_ctxt_t read_filter_ctxt; /*!< read filter context */
byte* buf; /*!< read buffer of XB_FIL_CUR_PAGES */
byte* tmp_page; /*!< buffer for decrypting a page */
byte* tmp_frame; /*!< buffer for decompressing a page */
size_t buf_size; /*!< buffer size in bytes */
size_t buf_read; /*!< number of read bytes in buffer
after the last cursor read */
size_t buf_npages; /*!< number of pages in buffer after the
last cursor read */
ib_int64_t buf_offset; /*!< file offset of the first page in
buffer */ unsigned buf_page_no; /*!< number of the first page in
buffer */
uint thread_n; /*!< thread number for diagnostics */
uint32_t space_id; /*!< ID of tablespace */
uint32_t space_size; /*!< space size in pages */
uint32_t n_process_batch;/*!< Number of batch processed */
/** @return whether this is not a file-per-table tablespace */ bool is_system() const
{
ut_ad(space_id != SRV_TMP_SPACE_ID); return(space_id == TRX_SYS_SPACE
|| srv_is_undo_tablespace(space_id));
}
};
@returnXB_FIL_CUR_SUCCESSonsuccess,XB_FIL_CUR_SKIPifthesourcefilemust
be skipped and XB_FIL_CUR_ERROR on error. */
xb_fil_cur_result_t
xb_fil_cur_open( /*============*/
xb_fil_cur_t* cursor, /*!< out: source file cursor */
xb_read_filt_t* read_filter, /*!< in/out: the read filter */
fil_node_t* node, /*!< in: source tablespace node */
uint thread_n, /*!< thread number for diagnostics */
ulonglong max_file_size = ULLONG_MAX);
/** Reads and verifies the next block of pages from the source file.Positionsthecursorafterthelastreadnon-corruptedpage. @param[in,out]cursorsourcefilecursor @param[out]corrupted_pagesaddscorruptedpagesif opt_log_innodb_page_corruptionisset @returnXB_FIL_CUR_SUCCESSifsomehavebeenreadsuccessfully,XB_FIL_CUR_EOF
if there are no more pages to read and XB_FIL_CUR_ERROR on error. */
xb_fil_cur_result_t xb_fil_cur_read(xb_fil_cur_t *cursor,
CorruptedPages &corrupted_pages); /************************************************************************ Closethesourcefilecursoropenedwithxb_fil_cur_open()andits
associated read filter. */ void
xb_fil_cur_close( /*=============*/
xb_fil_cur_t *cursor); /*!< in/out: source file cursor */
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.