27#ifndef buf0block_hint_h
28#define buf0block_hint_h
54 auto res = f(buffer_fixed_block);
The database buffer pool global types for the directory.
Definition: buf0block_hint.h:32
void clear()
Clears currently stored pointer.
Definition: buf0block_hint.cc:38
void buffer_fix_block_if_still_valid()
A helper function which checks if m_block is not a dangling pointer and still points to block with pa...
Definition: buf0block_hint.cc:40
buf_block_t * m_block
The block pointer stored by store().
Definition: buf0block_hint.h:61
static void buffer_unfix_block_if_needed(buf_block_t *block)
A helper function which decrements block->buf_fix_count if it's non-null.
Definition: buf0block_hint.cc:86
page_id_t m_page_id
If m_block is non-null, the m_block->page.id at time it was stored.
Definition: buf0block_hint.h:63
auto run_with_hint(F &&f)
Executes given function with the block pointer which was previously stored or with nullptr if the poi...
Definition: buf0block_hint.h:49
void store(buf_block_t *block)
Stores the pointer to the block, which is currently buffer-fixed.
Definition: buf0block_hint.cc:32
Page identifier.
Definition: buf0types.h:207
Definition: buf0block_hint.cc:30
The buffer control block structure.
Definition: buf0buf.h:1690