MySQL 9.0.0
Source Code Documentation
dblwr::recv Namespace Reference

Classes

class  DBLWR
 Redo recovery configuration. More...
 
struct  Page
 Page recovered from the doublewrite buffer. More...
 
struct  Page_entry
 A record from reduced doublewrite buffer. More...
 
class  Pages
 Pages recovered from the doublewrite buffer. 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...
 
dberr_t reduced_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...
 
std::tuple< bool, lsn_tfind_entry (const Pages *pages, const page_id_t &page_id) noexcept
 Find the LSN of the given page id in the dblwr. 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

◆ find_entry()

std::tuple< bool, lsn_t > dblwr::recv::find_entry ( const Pages pages,
const page_id_t page_id 
)
noexcept

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

Parameters
[in]pagesPages read from the doublewrite buffer
[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::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.

◆ reduced_load()

dberr_t dblwr::recv::reduced_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