|
PostgreSQL Source Code git master
|
#include "postgres.h"#include "access/heapam.h"#include "access/relscan.h"#include "storage/predicate.h"
Go to the source code of this file.
Functions | |
| IndexFetchTableData * | heapam_index_fetch_begin (Relation rel, uint32 flags) |
| void | heapam_index_fetch_reset (IndexFetchTableData *scan) |
| void | heapam_index_fetch_end (IndexFetchTableData *scan) |
| bool | heap_hot_search_buffer (ItemPointer tid, Relation relation, Buffer buffer, Snapshot snapshot, HeapTuple heapTuple, bool *all_dead, bool first_call) |
| bool | heapam_index_fetch_tuple (struct IndexFetchTableData *scan, ItemPointer tid, Snapshot snapshot, TupleTableSlot *slot, bool *heap_continue, bool *all_dead) |
| bool heap_hot_search_buffer | ( | ItemPointer | tid, |
| Relation | relation, | ||
| Buffer | buffer, | ||
| Snapshot | snapshot, | ||
| HeapTuple | heapTuple, | ||
| bool * | all_dead, | ||
| bool | first_call | ||
| ) |
Definition at line 90 of file heapam_indexscan.c.
References Assert, BufferGetBlockNumber(), BufferGetPage(), fb(), GlobalVisTestFor(), HeapCheckForSerializableConflictOut(), HeapTupleHeaderGetUpdateXid(), HeapTupleHeaderGetXmin(), HeapTupleIsHeapOnly(), HeapTupleIsHotUpdated(), HeapTupleIsSurelyDead(), HeapTupleSatisfiesVisibility(), InvalidTransactionId, ItemIdGetLength, ItemIdGetRedirect, ItemIdIsNormal, ItemIdIsRedirected, ItemPointerGetBlockNumber(), ItemPointerGetOffsetNumber(), ItemPointerSet(), ItemPointerSetOffsetNumber(), PageGetItem(), PageGetItemId(), PageGetMaxOffsetNumber(), PredicateLockTID(), RecentXmin, RelationGetRelid, skip, TransactionIdEquals, and TransactionIdIsValid.
Referenced by BitmapHeapScanNextBlock(), heap_index_delete_tuples(), and heapam_index_fetch_tuple().
| IndexFetchTableData * heapam_index_fetch_begin | ( | Relation | rel, |
| uint32 | flags | ||
| ) |
Definition at line 28 of file heapam_indexscan.c.
References fb(), InvalidBlockNumber, InvalidBuffer, and palloc0_object.
| void heapam_index_fetch_end | ( | IndexFetchTableData * | scan | ) |
Definition at line 54 of file heapam_indexscan.c.
References BufferIsValid(), fb(), pfree(), and ReleaseBuffer().
| void heapam_index_fetch_reset | ( | IndexFetchTableData * | scan | ) |
Definition at line 42 of file heapam_indexscan.c.
| bool heapam_index_fetch_tuple | ( | struct IndexFetchTableData * | scan, |
| ItemPointer | tid, | ||
| Snapshot | snapshot, | ||
| TupleTableSlot * | slot, | ||
| bool * | heap_continue, | ||
| bool * | all_dead | ||
| ) |
Definition at line 232 of file heapam_indexscan.c.
References Assert, BUFFER_LOCK_SHARE, BUFFER_LOCK_UNLOCK, BufferGetBlockNumber(), BufferIsValid(), ExecStoreBufferHeapTuple(), fb(), heap_hot_search_buffer(), heap_page_prune_opt(), IsMVCCLikeSnapshot, ItemPointerGetBlockNumber(), LockBuffer(), ReadBuffer(), IndexFetchTableData::rel, RelationGetRelid, ReleaseBuffer(), SO_HINT_REL_READ_ONLY, TTS_IS_BUFFERTUPLE, and TupleTableSlot::tts_tableOid.