PostgreSQL Source Code
git master
|
Go to the source code of this file.
Macros | |
#define | leftchild(x) (2 * (x) + 1) |
#define | rightchild(x) (2 * (x) + 2) |
#define | parentof(x) (((x) - 1) / 2) |
Functions | |
static int | rightneighbor (int x) |
bool | fsm_set_avail (Page page, int slot, uint8 value) |
uint8 | fsm_get_avail (Page page, int slot) |
uint8 | fsm_get_max_avail (Page page) |
int | fsm_search_avail (Buffer buf, uint8 minvalue, bool advancenext, bool exclusive_lock_held) |
bool | fsm_truncate_avail (Page page, int nslots) |
bool | fsm_rebuild_page (Page page) |
Definition at line 122 of file fsmpage.c.
References Assert, FSMPageData::fp_nodes, LeafNodesPerPage, NonLeafNodesPerPage, and PageGetContents().
Referenced by fsm_vacuum_page(), and GetRecordedFreeSpace().
Definition at line 138 of file fsmpage.c.
References FSMPageData::fp_nodes, and PageGetContents().
Referenced by fsm_search(), and fsm_vacuum_page().
bool fsm_rebuild_page | ( | Page | page | ) |
Definition at line 342 of file fsmpage.c.
References FSMPageData::fp_nodes, leftchild, Max, NodesPerPage, NonLeafNodesPerPage, and PageGetContents().
Referenced by fsm_search_avail(), fsm_set_avail(), and fsm_truncate_avail().
Definition at line 158 of file fsmpage.c.
References buf, BUFFER_LOCK_EXCLUSIVE, BUFFER_LOCK_UNLOCK, BufferGetPage(), BufferGetTag(), RelFileLocator::dbOid, DEBUG1, elog, FSMPageData::fp_next_slot, FSMPageData::fp_nodes, fsm_rebuild_page(), LeafNodesPerPage, leftchild, LockBuffer(), MarkBufferDirtyHint(), NodesPerPage, NonLeafNodesPerPage, PageGetContents(), parentof, RelFileLocator::relNumber, rightneighbor(), and RelFileLocator::spcOid.
Referenced by fsm_search(), and fsm_set_and_search().
Definition at line 63 of file fsmpage.c.
References Assert, FSMPageData::fp_nodes, fsm_rebuild_page(), LeafNodesPerPage, leftchild, Max, NodesPerPage, NonLeafNodesPerPage, PageGetContents(), parentof, and value.
Referenced by fsm_search(), fsm_set_and_search(), fsm_vacuum_page(), and XLogRecordPageWithFreeSpace().
bool fsm_truncate_avail | ( | Page | page, |
int | nslots | ||
) |
Definition at line 313 of file fsmpage.c.
References Assert, FSMPageData::fp_nodes, fsm_rebuild_page(), LeafNodesPerPage, NodesPerPage, NonLeafNodesPerPage, and PageGetContents().
Referenced by FreeSpaceMapPrepareTruncateRel().
|
static |