MySQL  8.0.27
Source Code Documentation
dblwr::recv Namespace Reference

Classes

struct  Page
 Page recovered from the doublewrite buffer. More...
 
class  Pages
 Pages recovered from the doublewrite buffer. More...
 
class  DBLWR
 Redo recovery configuration. More...
 

Functions

void create (Pages *&pages) noexcept
 Create the recovery dblwr data structures. More...
 
dberr_t load (Pages *pages) noexcept
 Load the doublewrite buffer pages. More...
 
void recover (Pages *pages, fil_space_t *space) noexcept
 Restore pages from the double write buffer to the tablespace. More...
 
const bytefind (const Pages *pages, const page_id_t &page_id) noexcept
 Find a doublewrite copy of a page. More...
 
void check_missing_tablespaces (const Pages *pages) noexcept
 Check if some pages from the double write buffer could not be restored because of the missing tablespace IDs. More...
 
void destroy (Pages *&pages) noexcept
 Free the recovery dblwr data structures. More...
 

Function Documentation

◆ check_missing_tablespaces()

void dblwr::recv::check_missing_tablespaces ( const Pages pages)
noexcept

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

Parameters
[in]pagesPages to check

◆ create()

void dblwr::recv::create ( recv::Pages *&  pages)
noexcept

Create the recovery dblwr data structures.

Parameters
[out]pagesPointer to newly created instance

◆ destroy()

void dblwr::recv::destroy ( recv::Pages *&  pages)
noexcept

Free the recovery dblwr data structures.

Parameters
[out]pagesFree the instance

◆ find()

const byte * dblwr::recv::find ( const Pages pages,
const page_id_t page_id 
)
noexcept

Find a doublewrite copy of a page.

Parameters
[in]pagesPages read from the doublewrite buffer
[in]page_idPage number to lookup
Returns
page frame
Return values
NULLif no page was found

◆ load()

dberr_t dblwr::recv::load ( recv::Pages pages)
noexcept

Load the doublewrite buffer pages.

Parameters
[in,out]pagesFor storing the doublewrite pages read from the double write buffer
Returns
DB_SUCCESS or error code

6 == strlen(".dblwr").

◆ recover()

void dblwr::recv::recover ( recv::Pages pages,
fil_space_t space 
)
noexcept

Restore pages from the double write buffer to the tablespace.

Parameters
[in,out]pagesPages from the doublewrite buffer
[in]spaceTablespace pages to restore, if set to nullptr then try and restore all.