5 #ifndef __FIXABLE_PAGE_H_H 6 #define __FIXABLE_PAGE_H_H 69 void unfix(
bool evict =
false);
100 bool virgin_page =
false,
bool only_if_hit =
false);
103 bool virgin_page =
false,
bool only_if_hit =
false,
104 bool do_recovery =
true);
131 bool conditional =
false,
bool virgin =
false);
260 #endif // __FIXABLE_PAGE_H_H bool has_check_recovery()
return value of _check_recovery flag on CB
Definition: fixable_page_h.cpp:176
void unfix(bool evict=false)
Definition: fixable_page_h.cpp:31
bool is_pinned_for_restore()
Definition: fixable_page_h.cpp:251
void set_check_recovery(bool)
Definition: fixable_page_h.cpp:154
latch_mode_t _mode
Definition: fixable_page_h.h:255
int64_t q_ticket_t
type of a Q mode ticket; exact type and location of definition TBD
Definition: latch.h:86
void set_img_page_lsn(const lsn_t &lsn)
Updates lsn field inside generic_page (i.e., in the page image)
Definition: fixable_page_h.cpp:148
static int force_Q_fixing
Definition: fixable_page_h.h:28
latch_mode_t latch_mode() const
Definition: fixable_page_h.h:190
Page handle class for any page type.
Definition: generic_page.h:135
void setup_for_restore(generic_page *pp)
Definition: fixable_page_h.cpp:238
bool is_bufferpool_managed() const
Is this page really fixed in bufferpool or a psuedo-fix?
Definition: fixable_page_h.h:72
w_rc_t fix_root(StoreID store, latch_mode_t mode, bool conditional=false, bool virgin=false)
Definition: fixable_page_h.cpp:102
int16_t general_recordid_t
An integer to point to any record in B-tree pages.
Definition: basics.h:71
bool _bufferpool_managed
is our associated page managed by the buffer pool?
Definition: fixable_page_h.h:254
w_rc_t set_to_be_deleted(bool log_it)
Definition: fixable_page_h.cpp:186
uint32_t StoreID
Definition: basics.h:47
A generic page view: any Zero page can be viewed as being of this type but it only exposes fields sha...
Definition: generic_page.h:121
bool has_children() const
Definition: fixable_page_h.cpp:263
uint32_t get_log_volume()
returns log volume in the CB
Definition: fixable_page_h.cpp:159
q_ticket_t _Q_ticket
Definition: fixable_page_h.h:257
StoreID store() const
Definition: generic_page.h:150
uint32_t bf_idx
Definition: basics.h:56
w_rc_t refix_direct(bf_idx idx, latch_mode_t mode, bool conditional=false)
Definition: fixable_page_h.cpp:90
uint32_t PageID
Definition: basics.h:45
~fixable_page_h()
Definition: fixable_page_h.h:39
Log Sequence Number. See Log Sequence Numbers (LSN).
Definition: lsn.h:243
fixable_page_h & operator=(fixable_page_h &p)
Definition: fixable_page_h.h:45
Handle class for pages that may be fixed (i.e., paged in by the main buffer manager, zero::buffer_pool::BufferPool)
Definition: fixable_page_h.h:26
static general_recordid_t find_page_id_slot(generic_page *page, PageID pid)
Definition: fixable_page_h.cpp:286
PageID pid() const
Definition: generic_page.h:146
Return code for most functions and methods.
Definition: w_rc.h:87
bool is_dirty() const
Definition: fixable_page_h.cpp:129
page_tag_t tag() const
Definition: generic_page.h:154
bf_idx pin_for_refix()
Definition: fixable_page_h.cpp:84
bool change_possible_after_fix() const
Definition: fixable_page_h.cpp:209
void reset_log_volume()
Definition: fixable_page_h.cpp:171
void fix_nonbufferpool_page(generic_page *s)
Definition: fixable_page_h.cpp:117
int max_child_slot() const
Definition: fixable_page_h.cpp:270
bool is_to_be_deleted()
Definition: fixable_page_h.cpp:182
bool is_latched() const
Do we hold our page's latch in SH or EX mode?
Definition: fixable_page_h.h:195
lsn_t get_page_lsn() const
Definition: fixable_page_h.cpp:138
bool is_fixed() const
Do we have an associated page?
Definition: fixable_page_h.h:63
fixable_page_h()
Create handle not yet fixed to a page.
Definition: fixable_page_h.h:35
bool upgrade_latch_conditional(latch_mode_t mode=LATCH_EX)
Definition: fixable_page_h.cpp:214
void update_page_lsn(const lsn_t &lsn) const
Updates page_lsn field stored in CB of buffered page.
Definition: fixable_page_h.cpp:143
void increment_log_volume(uint32_t)
Definition: fixable_page_h.cpp:166
latch_mode_t
Definition: latch.h:79
Specialized variant of btree_page_h that borrows a B-tree page from a fixable_page_h.
Definition: btree_page_h.h:1054
PageID root() const
Definition: fixable_page_h.cpp:302
generic_page * _pp
The actual page we are handling; may be NULL for fixable pages.
Definition: generic_page.h:173
void set_tag(page_tag_t tag)
Definition: fixable_page_h.h:186
w_rc_t fix_nonroot(const fixable_page_h &parent, PageID pid, latch_mode_t mode, bool conditional=false, bool virgin_page=false, bool only_if_hit=false)
Definition: fixable_page_h.cpp:42
const lsn_t & lsn() const
Definition: generic_page.h:158
w_rc_t fix_direct(PageID pid, latch_mode_t mode, bool conditional=false, bool virgin_page=false, bool only_if_hit=false, bool do_recovery=true)
Definition: fixable_page_h.cpp:62
page_tag_t
The type of a page; e.g., is this a B-tree page, an allocation page, or what?
Definition: generic_page.h:86
void unset_to_be_deleted()
Definition: fixable_page_h.cpp:200
PageID * child_slot_address(int child_slot) const
Definition: fixable_page_h.cpp:280