MySQL 8.3.0
Source Code Documentation
Reduced_batch_deserializer Class Reference

Reduced doublewrite file deserializer. More...

Public Member Functions

 Reduced_batch_deserializer (Buffer *buf, uint32_t n_pages)
 Constructor. More...
 
template<typename F >
dberr_t deserialize (F &f)
 Deserialize page and call Functor f for each page_entry found from reduced dblwr page. More...
 

Private Member Functions

dberr_t parse_header (const byte *page, uint16_t *data_len) noexcept
 Parse reduced dblwr batch page header. More...
 
template<typename F >
dberr_t parse_page (const byte *page, F &f) noexcept
 
template<typename F >
void parse_page_data (const byte *page, uint16_t data_len, F &f) noexcept
 Utility function to parse page data. More...
 
bool is_zeroes (const byte *page)
 

Private Attributes

Bufferm_buf
 Temporary buffer to hold Reduced dblwr pages. More...
 
uint32_t m_n_pages
 Number of reduced dblwr pages. More...
 

Detailed Description

Reduced doublewrite file deserializer.

Used during crash recovery.

Constructor & Destructor Documentation

◆ Reduced_batch_deserializer()

Reduced_batch_deserializer::Reduced_batch_deserializer ( Buffer buf,
uint32_t  n_pages 
)
inlineexplicit

Constructor.

Parameters
[in]bufBuffer to hold the Reduced dblwr pages
[in]n_pagesNumber of reduced dblwr pages

Member Function Documentation

◆ deserialize()

template<typename F >
dberr_t Reduced_batch_deserializer::deserialize ( F &  f)
inline

Deserialize page and call Functor f for each page_entry found from reduced dblwr page.

Parameters
[in]fFunctor to process page entry from dblwr page
Returns
DB_SUCCESS on success, others of checksum or parsing failures

◆ is_zeroes()

bool Reduced_batch_deserializer::is_zeroes ( const byte page)
inlineprivate
Returns
true if dblwr page is an all-zero page
Parameters
[in]pagedblwr page in batch file (.bdblwr)

◆ parse_header()

dberr_t Reduced_batch_deserializer::parse_header ( const byte page,
uint16_t *  data_len 
)
inlineprivatenoexcept

Parse reduced dblwr batch page header.

Parameters
[in]pagePage to parse
[in]data_lenlength of data in page
Returns
DB_SUCCESS on success, others on failure

◆ parse_page()

template<typename F >
dberr_t Reduced_batch_deserializer::parse_page ( const byte page,
F &  f 
)
inlineprivatenoexcept

◆ parse_page_data()

template<typename F >
void Reduced_batch_deserializer::parse_page_data ( const byte page,
uint16_t  data_len,
F &  f 
)
inlineprivatenoexcept

Utility function to parse page data.

Parameters
[in]pagereduced dblwr batch page
[in]data_lenlength of data in page
[in]fCallback function that process page entries

Member Data Documentation

◆ m_buf

Buffer* Reduced_batch_deserializer::m_buf
private

Temporary buffer to hold Reduced dblwr pages.

◆ m_n_pages

uint32_t Reduced_batch_deserializer::m_n_pages
private

Number of reduced dblwr pages.


The documentation for this class was generated from the following file: