|
Zero
0.1.0
|
Represents a transactional log record. More...
#include <logrec.h>
Public Member Functions | |
| bool | is_page_update () const |
| bool | is_redo () const |
| bool | is_skip () const |
| bool | is_undo () const |
| bool | is_cpsn () const |
| bool | is_multi_page () const |
| bool | is_root_page () const |
| bool | is_logical () const |
| bool | is_system () const |
| bool | is_single_sys_xct () const |
| bool | valid_header (const lsn_t &lsn_ck=lsn_t::null) const |
| smsize_t | header_size () const |
| template<class PagePtr > | |
| void | redo (PagePtr) |
| void | redo () |
| template<class PagePtr > | |
| void | undo (PagePtr) |
| void | init_header (kind_t) |
| template<class PagePtr > | |
| void | init_page_info (const PagePtr p) |
| void | set_size (size_t l) |
| void | init_xct_info () |
| void | set_xid_prev (tid_t tid, lsn_t last) |
| tid_t | tid () const |
| StoreID | stid () const |
| PageID | pid () const |
| PageID | pid2 () const |
| uint16_t | tag () const |
| smsize_t | length () const |
| const lsn_t & | undo_nxt () const |
| const lsn_t & | page_prev_lsn () const |
| const lsn_t & | page2_prev_lsn () const |
| void | set_page_prev_lsn (const lsn_t &lsn) |
| const lsn_t & | xid_prev () const |
| void | set_xid_prev (const lsn_t &lsn) |
| void | set_undo_nxt (const lsn_t &lsn) |
| void | set_tid (tid_t tid) |
| void | set_clr (const lsn_t &c) |
| void | set_root_page () |
| void | set_pid (const PageID &p) |
| kind_t | type () const |
| const char * | type_str () const |
| const char * | cat_str () const |
| const char * | data () const |
| char * | data () |
| const char * | data_ssx () const |
| char * | data_ssx () |
| multi_page_log_t * | data_ssx_multi () |
| const multi_page_log_t * | data_ssx_multi () const |
| const lsn_t & | lsn_ck () const |
| const lsn_t & | lsn () const |
| const lsn_t | get_lsn_ck () const |
| void | set_lsn_ck (const lsn_t &lsn_ck) |
| void | corrupt () |
| void | remove_info_for_pid (PageID pid) |
| bool | has_page_img (PageID page_id) |
| void * | operator new (size_t) |
| void | operator delete (void *, size_t) |
| void * | operator new (size_t, void *p) |
Static Public Member Functions | |
| static constexpr u_char | get_logrec_cat (kind_t type) |
| static const char * | get_type_str (kind_t) |
Protected Types | |
| enum | category_t { t_bad_cat = 0x00, t_system = 0x01, t_undo = 0x02, t_redo = 0x04, t_multi = 0x08, t_logical = 0x10, t_single_sys_xct = 0x80 } |
| enum | flag_t { t_cpsn = 0x01, t_root_page = 0x02 } |
Protected Member Functions | |
| u_char | cat () const |
| lsn_t * | _lsn_ck () |
| const lsn_t * | _lsn_ck () const |
Protected Attributes | |
| baseLogHeader | header |
| xidChainLogHeader | xidInfo |
| char | _data [max_sz - sizeof(baseLogHeader) - sizeof(xidChainLogHeader)] |
Friends | |
| class | XctLogger |
| class | sysevent |
| class | baseLogHeader |
| ostream & | operator<< (ostream &, logrec_t &) |
Represents a transactional log record.
A log record's space is divided between a header and data. All log records' headers include the information contained in baseLogHeader. Log records pertaining to transactions that produce multiple log records also persist a transaction id chain (_xid and _xid_prv).
For single-log system transaction, header items in xidChainLogHeader are not stored. instead, we use these area as data area to save 16 bytes. we do need to keep these 8 bytes aligned. and this is a bit dirty trick. however, we really need it to reduce the volume of log we output for system transactions.
|
protected |
|
protected |
| enum logrec_t::kind_t |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
| const char * logrec_t::cat_str | ( | ) | const |
| void logrec_t::corrupt | ( | ) |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Returns the log record data as a multi-page SSX log.
|
inline |
Const version
|
static |
|
inline |
|
static |
|
inline |
|
inline |
| void logrec_t::init_header | ( | kind_t | type | ) |
|
inline |
| void logrec_t::init_xct_info | ( | ) |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
| void logrec_t::operator delete | ( | void * | , |
| size_t | |||
| ) |
| void* logrec_t::operator new | ( | size_t | ) |
|
inline |
|
inline |
|
inline |
|
inline |
| void logrec_t::redo | ( | PagePtr | page | ) |
| void logrec_t::redo | ( | ) |
| void logrec_t::remove_info_for_pid | ( | PageID | pid | ) |
|
inline |
|
inline |
|
inline |
|
inline |
| void logrec_t::set_size | ( | size_t | l | ) |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
| void logrec_t::undo | ( | PagePtr | page | ) |
|
inline |
| bool logrec_t::valid_header | ( | const lsn_t & | lsn_ck = lsn_t::null | ) | const |
|
inline |
|
friend |
|
friend |
|
friend |
|
friend |
|
protected |
|
protected |
|
protected |
1.8.12