28 #define HEAP_INSERT_SKIP_WAL 0x0001
29 #define HEAP_INSERT_SKIP_FSM 0x0002
30 #define HEAP_INSERT_FROZEN 0x0004
31 #define HEAP_INSERT_SPECULATIVE 0x0008
50 #define MaxLockTupleMode LockTupleExclusive
97 #define heap_close(r,l) relation_close(r,l)
107 #define HeapScanIsValid(scan) PointerIsValid(scan)
115 bool allow_strat,
bool allow_sync);
120 bool allow_strat,
bool allow_sync,
bool allow_pagemode);
126 bool allow_strat,
bool allow_sync,
bool allow_pagemode);
140 bool *all_dead,
bool first_call);
152 int options, BulkInsertState bistate);
void heapgetpage(HeapScanDesc scan, BlockNumber page)
struct HeapUpdateFailureData HeapUpdateFailureData
void heap_endscan(HeapScanDesc scan)
void SyncScanShmemInit(void)
HeapScanDesc heap_beginscan(Relation relation, Snapshot snapshot, int nkeys, ScanKey key)
void heap_sync(Relation relation)
Relation relation_open(Oid relationId, LOCKMODE lockmode)
Size heap_parallelscan_estimate(Snapshot snapshot)
bool heap_tuple_needs_eventual_freeze(HeapTupleHeader tuple)
void heap_rescan(HeapScanDesc scan, ScanKey key)
bool heap_fetch(Relation relation, Snapshot snapshot, HeapTuple tuple, Buffer *userbuf, bool keep_buf, Relation stats_relation)
HeapScanDesc heap_beginscan_catalog(Relation relation, int nkeys, ScanKey key)
void heap_abort_speculative(Relation relation, HeapTuple tuple)
struct HeapScanDescData * HeapScanDesc
void heap_finish_speculative(Relation relation, HeapTuple tuple)
void heap_get_root_tuples(Page page, OffsetNumber *root_offsets)
void heap_setscanlimits(HeapScanDesc scan, BlockNumber startBlk, BlockNumber endBlk)
HTSU_Result heap_delete(Relation relation, ItemPointer tid, CommandId cid, Snapshot crosscheck, bool wait, HeapUpdateFailureData *hufd)
bool heap_hot_search(ItemPointer tid, Relation relation, Snapshot snapshot, bool *all_dead)
void simple_heap_delete(Relation relation, ItemPointer tid)
Relation relation_openrv_extended(const RangeVar *relation, LOCKMODE lockmode, bool missing_ok)
BulkInsertState GetBulkInsertState(void)
HeapTuple heap_getnext(HeapScanDesc scan, ScanDirection direction)
Relation heap_openrv(const RangeVar *relation, LOCKMODE lockmode)
int heap_page_prune(Relation relation, Buffer buffer, TransactionId OldestXmin, bool report_stats, TransactionId *latestRemovedXid)
bool heap_freeze_tuple(HeapTupleHeader tuple, TransactionId cutoff_xid, TransactionId cutoff_multi)
HTSU_Result heap_lock_tuple(Relation relation, HeapTuple tuple, CommandId cid, LockTupleMode mode, LockWaitPolicy wait_policy, bool follow_update, Buffer *buffer, HeapUpdateFailureData *hufd)
void heap_parallelscan_initialize(ParallelHeapScanDesc target, Relation relation, Snapshot snapshot)
Oid heap_insert(Relation relation, HeapTuple tup, CommandId cid, int options, BulkInsertState bistate)
static TransactionId OldestXmin
void setLastTid(const ItemPointer tid)
HeapScanDesc heap_beginscan_bm(Relation relation, Snapshot snapshot, int nkeys, ScanKey key)
bool heap_hot_search_buffer(ItemPointer tid, Relation relation, Buffer buffer, Snapshot snapshot, HeapTuple heapTuple, bool *all_dead, bool first_call)
struct ParallelHeapScanDescData * ParallelHeapScanDesc
Relation relation_openrv(const RangeVar *relation, LOCKMODE lockmode)
HTSU_Result heap_update(Relation relation, ItemPointer otid, HeapTuple newtup, CommandId cid, Snapshot crosscheck, bool wait, HeapUpdateFailureData *hufd, LockTupleMode *lockmode)
Size SyncScanShmemSize(void)
TransactionId MultiXactId
void ss_report_location(Relation rel, BlockNumber location)
Relation heap_openrv_extended(const RangeVar *relation, LOCKMODE lockmode, bool missing_ok)
Oid simple_heap_insert(Relation relation, HeapTuple tup)
struct BulkInsertStateData * BulkInsertState
bool heap_tuple_needs_freeze(HeapTupleHeader tuple, TransactionId cutoff_xid, MultiXactId cutoff_multi, Buffer buf)
Relation heap_open(Oid relationId, LOCKMODE lockmode)
void FreeBulkInsertState(BulkInsertState)
void heap_get_latest_tid(Relation relation, Snapshot snapshot, ItemPointer tid)
void relation_close(Relation relation, LOCKMODE lockmode)
HeapScanDesc heap_beginscan_parallel(Relation, ParallelHeapScanDesc)
void heap_rescan_set_params(HeapScanDesc scan, ScanKey key, bool allow_strat, bool allow_sync, bool allow_pagemode)
void heap_page_prune_execute(Buffer buffer, OffsetNumber *redirected, int nredirected, OffsetNumber *nowdead, int ndead, OffsetNumber *nowunused, int nunused)
void heap_inplace_update(Relation relation, HeapTuple tuple)
Relation try_relation_open(Oid relationId, LOCKMODE lockmode)
void simple_heap_update(Relation relation, ItemPointer otid, HeapTuple tup)
HeapScanDesc heap_beginscan_strat(Relation relation, Snapshot snapshot, int nkeys, ScanKey key, bool allow_strat, bool allow_sync)
void heap_multi_insert(Relation relation, HeapTuple *tuples, int ntuples, CommandId cid, int options, BulkInsertState bistate)
HeapScanDesc heap_beginscan_sampling(Relation relation, Snapshot snapshot, int nkeys, ScanKey key, bool allow_strat, bool allow_sync, bool allow_pagemode)
BlockNumber ss_get_location(Relation rel, BlockNumber relnblocks)
void heap_page_prune_opt(Relation relation, Buffer buffer)