MySQL 8.3.0
Source Code Documentation
dblwr::recv::DBLWR Class Reference

Redo recovery configuration. More...

#include <buf0dblwr.h>

Public Member Functions

 DBLWR () noexcept
 Constructor. More...
 
 ~DBLWR () noexcept
 Destructor. More...
 
bool empty () const noexcept
 
dberr_t load () noexcept
 Load the doublewrite buffer pages. More...
 
dberr_t reduced_load () noexcept
 Load the doublewrite buffer pages. More...
 
void recover (fil_space_t *space=nullptr) noexcept
 Restore pages from the double write buffer to the tablespace. More...
 
const bytefind (const page_id_t &page_id) noexcept
 Find a doublewrite copy of a page. More...
 
std::tuple< bool, lsn_tfind_entry (const page_id_t &page_id) noexcept
 Find the LSN of the given page id in the dblwr. More...
 
void check_missing_tablespaces () noexcept
 Check if some pages from the double write buffer could not be restored because of the missing tablespace IDs. More...
 
void recovered () noexcept
 Note that recovery is complete. More...
 
 DBLWR (const DBLWR &)=delete
 Disably copying. More...
 
 DBLWR (const DBLWR &&)=delete
 
DBLWRoperator= (DBLWR &&)=delete
 
DBLWRoperator= (const DBLWR &)=delete
 

Private Attributes

Pagesm_pages {}
 Pages read from the double write file. More...
 

Detailed Description

Redo recovery configuration.

Constructor & Destructor Documentation

◆ DBLWR() [1/3]

dblwr::recv::DBLWR::DBLWR ( )
inlineexplicitnoexcept

Constructor.

◆ ~DBLWR()

dblwr::recv::DBLWR::~DBLWR ( )
inlinenoexcept

Destructor.

◆ DBLWR() [2/3]

dblwr::recv::DBLWR::DBLWR ( const DBLWR )
delete

Disably copying.

◆ DBLWR() [3/3]

dblwr::recv::DBLWR::DBLWR ( const DBLWR &&  )
delete

Member Function Documentation

◆ check_missing_tablespaces()

void dblwr::recv::DBLWR::check_missing_tablespaces ( )
inlinenoexcept

Check if some pages from the double write buffer could not be restored because of the missing tablespace IDs.

◆ empty()

bool dblwr::recv::DBLWR::empty ( ) const
inlinenoexcept
Returns
true if empty.

◆ find()

const byte * dblwr::recv::DBLWR::find ( const page_id_t page_id)
inlinenoexcept

Find a doublewrite copy of a page.

Parameters
[in]page_idPage number to lookup
Returns
page frame
Return values
nullptrif no page was found

◆ find_entry()

std::tuple< bool, lsn_t > dblwr::recv::DBLWR::find_entry ( const page_id_t page_id)
inlinenoexcept

Find the LSN of the given page id in the dblwr.

Parameters
[in]page_idPage number to lookup
Returns
0th element is true if page_id found in double write buffer.
1st element is valid only if 0th element is true.
1st element contains the LSN of the page in dblwr.

◆ load()

dberr_t dblwr::recv::DBLWR::load ( )
inlinenoexcept

Load the doublewrite buffer pages.

Doesn't create the doublewrite

Returns
DB_SUCCESS or error code

◆ operator=() [1/2]

DBLWR & dblwr::recv::DBLWR::operator= ( const DBLWR )
delete

◆ operator=() [2/2]

DBLWR & dblwr::recv::DBLWR::operator= ( DBLWR &&  )
delete

◆ recover()

void dblwr::recv::DBLWR::recover ( fil_space_t space = nullptr)
inlinenoexcept

Restore pages from the double write buffer to the tablespace.

Parameters
[in]spaceTablespace pages to restore, if set to nullptr then try and restore all.

◆ recovered()

void dblwr::recv::DBLWR::recovered ( )
inlinenoexcept

Note that recovery is complete.

Adjust the file sizes if necessary.

◆ reduced_load()

dberr_t dblwr::recv::DBLWR::reduced_load ( )
inlinenoexcept

Load the doublewrite buffer pages.

Doesn't create the doublewrite

Returns
DB_SUCCESS or error code

Member Data Documentation

◆ m_pages

Pages* dblwr::recv::DBLWR::m_pages {}
private

Pages read from the double write file.


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