Zero  0.1.0
Public Member Functions | Public Attributes | List of all members
multi_page_log_t Struct Reference

Base struct for log records that touch multi-pages. More...

#include <logrec.h>

Inheritance diagram for multi_page_log_t:
btree_bulk_delete_t btree_foster_adopt_t btree_norec_alloc_t< PagePtr >

Public Member Functions

 multi_page_log_t (PageID page2_pid)
 

Public Attributes

lsn_t _page2_prv
 
PageID _page2_pid
 
uint32_t _fill4
 

Detailed Description

Base struct for log records that touch multi-pages.

Such log records are so far always single-log system transaction that touches 2 pages. If possible, such log record should contain everything we physically need to recover either page without the other page. This is an important property because otherwise it imposes write-order-dependency and a careful recovery. In such a case "page2" is the data source page while "page" is the data destination page.

Note
a REDO operation of multi-page log must expect either of page/page2 are given. It must first check if which page is requested to recover, then apply right changes to the page.

Constructor & Destructor Documentation

§ multi_page_log_t()

multi_page_log_t::multi_page_log_t ( PageID  page2_pid)
inline

Member Data Documentation

§ _fill4

uint32_t multi_page_log_t::_fill4

for alignment only.

§ _page2_pid

PageID multi_page_log_t::_page2_pid

Page ID of another page touched by the operation.


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