PostgreSQL Source Code
git master
|
Go to the source code of this file.
Data Structures | |
struct | ItemPointerData |
Macros | |
#define | SpecTokenOffsetNumber 0xfffe |
#define | MovedPartitionsOffsetNumber 0xfffd |
#define | MovedPartitionsBlockNumber InvalidBlockNumber |
#define | PG_GETARG_ITEMPOINTER(n) DatumGetItemPointer(PG_GETARG_DATUM(n)) |
#define | PG_RETURN_ITEMPOINTER(x) return ItemPointerGetDatum(x) |
Typedefs | |
typedef struct ItemPointerData | ItemPointerData |
typedef ItemPointerData * | ItemPointer |
#define MovedPartitionsBlockNumber InvalidBlockNumber |
#define PG_GETARG_ITEMPOINTER | ( | n | ) | DatumGetItemPointer(PG_GETARG_DATUM(n)) |
#define PG_RETURN_ITEMPOINTER | ( | x | ) | return ItemPointerGetDatum(x) |
typedef ItemPointerData* ItemPointer |
typedef struct ItemPointerData ItemPointerData |
|
inlinestatic |
int32 ItemPointerCompare | ( | ItemPointer | arg1, |
ItemPointer | arg2 | ||
) |
Definition at line 51 of file itemptr.c.
References ItemPointerGetBlockNumberNoCheck(), and ItemPointerGetOffsetNumberNoCheck().
Referenced by _bt_binsrch_posting(), _bt_check_unique(), _bt_compare(), _bt_delitems_delete_check(), _bt_load(), _bt_split(), _bt_swap_posting(), _bt_truncate(), brin_minmax_multi_distance_tid(), bt_target_page_check(), bttidcmp(), dataBeginPlaceToPageLeaf(), heap_getnextslot_tidrange(), heap_set_tidrange(), heapam_index_validate_scan(), tidcmp(), tideq(), tidge(), tidgt(), tidlarger(), tidle(), tidlt(), tidne(), TidRangeEval(), and tidsmaller().
|
inlinestatic |
Definition at line 172 of file itemptr.h.
References Assert, and PointerIsValid.
Referenced by _bt_form_posting(), _bt_swap_posting(), _bt_truncate(), AfterTriggerSaveEvent(), ApplyLogicalMappingFile(), bt_target_page_check(), currtid_internal(), heap_lock_tuple(), heap_lock_updated_tuple_rec(), heap_set_tidrange(), heapam_tuple_insert(), heapam_tuple_insert_speculative(), heapam_tuple_update(), index_compute_xid_horizon_for_tuples(), ReorderBufferBuildTupleCidHash(), ResolveCminCmaxDuringDecoding(), and TidRangeEval().
void ItemPointerDec | ( | ItemPointer | pointer | ) |
Definition at line 114 of file itemptr.c.
References ItemPointerGetBlockNumberNoCheck(), ItemPointerGetOffsetNumberNoCheck(), ItemPointerSet(), and PG_UINT16_MAX.
Referenced by TidRangeEval().
bool ItemPointerEquals | ( | ItemPointer | pointer1, |
ItemPointer | pointer2 | ||
) |
Definition at line 35 of file itemptr.c.
References ItemPointerGetBlockNumber(), and ItemPointerGetOffsetNumber().
Referenced by _bt_delitems_delete_check(), _bt_killitems(), _hash_kill_items(), brinGetTupleForHeapBlock(), check_exclusion_or_unique_constraint(), collectMatchesForHeapRow(), compile_pltcl_function(), gistplacetopage(), heap_delete(), heap_get_latest_tid(), heap_inplace_update_and_unlock(), heap_lock_tuple(), heap_lock_updated_tuple(), heap_lock_updated_tuple_rec(), heap_update(), heapam_tuple_lock(), HeapTupleSatisfiesUpdate(), index_getnext_slot(), lookup_C_func(), plpgsql_compile(), PLy_procedure_valid(), processPendingPage(), rewrite_heap_tuple(), scanGetCandidate(), SearchCatCacheList(), SearchSysCacheLocked1(), spgAddPendingTID(), test_itemptr_pair(), test_lockmode_for_conflict(), and validate_plperl_function().
|
inlinestatic |
Definition at line 103 of file itemptr.h.
References Assert, ItemPointerGetBlockNumberNoCheck(), and ItemPointerIsValid().
Referenced by _bt_adjacenthtid(), _bt_binsrch_insert(), _bt_bottomupdel_finish_pending(), _bt_check_third_page(), _bt_deadblocks(), _bt_insertonpg(), _bt_simpledel_pass(), bottomup_nblocksfavorable(), bottomup_sort_and_shrink(), brinbuildCallback(), brinbuildCallbackParallel(), brinGetTupleForHeapBlock(), brininsert(), brinRevmapDesummarizeRange(), brinSetHeapBlockItemptr(), bt_normalize_tuple(), bt_target_page_check(), bt_tuple_present_callback(), check_set_block_offsets(), CheckForSerializableConflictIn(), compare_rows(), comparetup_index_btree_tiebreak(), comparetup_index_hash(), ConditionalLockTuple(), doPickSplit(), get_actual_variable_endpoint(), gin_desc(), gingetbitmap(), gistBufferingFindCorrectParent(), gistbufferinginserttuples(), gistdeletepage(), gistdoinsert(), gistFindCorrectParent(), gistFindPath(), gistGetMaxLevel(), gistMemorizeAllDownlinks(), gistProcessItup(), gistScanPage(), gistvacuum_delete_empty_pages(), heap2_desc(), heap_abort_speculative(), heap_delete(), heap_fetch(), heap_finish_speculative(), heap_get_latest_tid(), heap_hot_search_buffer(), heap_index_delete_tuples(), heap_insert(), heap_lock_tuple(), heap_lock_updated_tuple_rec(), heap_prune_chain(), heap_update(), heapam_index_build_range_scan(), heapam_index_fetch_tuple(), heapam_index_validate_scan(), heapam_tuple_lock(), heapam_tuple_tid_valid(), index_delete_check_htid(), index_delete_sort_cmp(), IndexOnlyNext(), ItemPointerEquals(), itemptr_cmp(), itemptr_comparator(), itemptr_encode(), LockTuple(), pgstat_heap(), PredicateLockTID(), purge_from_verification_array(), ResolveCminCmaxDuringDecoding(), ResOwnerPrintCatCache(), SearchSysCacheLocked1(), setRedirectionTuple(), spgMatchNodeAction(), spgprocesspending(), spgTestLeafTuple(), spgWalk(), tbm_add_tuples(), test_itemptr_pair(), TidStoreIsMember(), UnlockTuple(), verify_heapam(), and XactLockTableWaitErrorCb().
|
inlinestatic |
Definition at line 93 of file itemptr.h.
References BlockIdGetBlockNumber(), and ItemPointerData::ip_blkid.
Referenced by brin_minmax_multi_distance_tid(), bt_entry_unique_check(), bt_report_duplicate(), bt_target_page_check(), BTreeTupleGetDownLink(), BTreeTupleGetPostingOffset(), BTreeTupleGetTopParent(), find_tids_one_page(), heap_set_tidrange(), ItemPointerCompare(), ItemPointerDec(), ItemPointerGetBlockNumber(), ItemPointerInc(), ItemPointerIndicatesMovedPartitions(), scalarineqsel(), table_tuple_get_latest_tid(), tidout(), and tidsend().
|
inlinestatic |
Definition at line 237 of file itemptr.h.
References PointerGetDatum().
Referenced by bt_page_print_tuples(), gin_leafpage_items(), gist_page_items(), and gist_page_items_bytea().
|
inlinestatic |
Definition at line 124 of file itemptr.h.
References Assert, ItemPointerGetOffsetNumberNoCheck(), and ItemPointerIsValid().
Referenced by _bt_adjacenthtid(), _bt_binsrch_insert(), _bt_check_natts(), _bt_check_third_page(), _bt_insertonpg(), _bt_truncate(), brinGetTupleForHeapBlock(), brininsert(), brinRevmapDesummarizeRange(), brinSetHeapBlockItemptr(), bt_normalize_tuple(), bt_target_page_check(), bt_tuple_present_callback(), check_set_block_offsets(), CheckForSerializableConflictIn(), compare_rows(), comparetup_index_btree_tiebreak(), comparetup_index_hash(), ConditionalLockTuple(), doPickSplit(), gin_desc(), ginPostingListDecodeAllSegments(), heap2_desc(), heap_abort_speculative(), heap_delete(), heap_fetch(), heap_finish_speculative(), heap_get_latest_tid(), heap_get_root_tuples(), heap_hot_search_buffer(), heap_index_delete_tuples(), heap_inplace_update_and_unlock(), heap_insert(), heap_lock_tuple(), heap_lock_updated_tuple_rec(), heap_multi_insert(), heap_prune_chain(), heap_update(), heapam_index_build_range_scan(), heapam_index_validate_scan(), heapam_scan_bitmap_next_block(), heapam_tuple_lock(), index_delete_check_htid(), index_delete_sort_cmp(), ItemPointerEquals(), ItemPointerIndicatesMovedPartitions(), itemptr_cmp(), itemptr_comparator(), itemptr_encode(), LockTuple(), log_heap_update(), PredicateLockTID(), ResOwnerPrintCatCache(), SearchSysCacheLocked1(), spgMatchNodeAction(), spgprocesspending(), spgTestLeafTuple(), spgWalk(), tbm_add_tuples(), test_itemptr_pair(), TidStoreIsMember(), UnlockTuple(), verify_heapam(), and XactLockTableWaitErrorCb().
|
inlinestatic |
Definition at line 114 of file itemptr.h.
References ItemPointerData::ip_posid.
Referenced by _bt_check_natts(), brin_minmax_multi_distance_tid(), bt_entry_unique_check(), bt_report_duplicate(), bt_target_page_check(), BTreeTupleGetHeapTID(), BTreeTupleGetNPosting(), BTreeTupleIsPivot(), BTreeTupleIsPosting(), heap_force_common(), ItemPointerCompare(), ItemPointerDec(), ItemPointerGetOffsetNumber(), ItemPointerInc(), scalarineqsel(), table_tuple_get_latest_tid(), tidout(), and tidsend().
void ItemPointerInc | ( | ItemPointer | pointer | ) |
Definition at line 84 of file itemptr.c.
References InvalidBlockNumber, ItemPointerGetBlockNumberNoCheck(), ItemPointerGetOffsetNumberNoCheck(), ItemPointerSet(), and PG_UINT16_MAX.
Referenced by TidRangeEval().
|
inlinestatic |
Definition at line 197 of file itemptr.h.
References ItemPointerGetBlockNumberNoCheck(), ItemPointerGetOffsetNumber(), MovedPartitionsBlockNumber, and MovedPartitionsOffsetNumber.
Referenced by ExecMergeMatched(), ExecOnConflictUpdate(), heapam_tuple_lock(), and should_refetch_tuple().
|
inlinestatic |
Definition at line 83 of file itemptr.h.
References ItemPointerData::ip_posid, and PointerIsValid.
Referenced by _bt_form_posting(), _bt_update_posting(), AfterTriggerExecute(), brinGetTupleForHeapBlock(), brinRevmapDesummarizeRange(), brinSetHeapBlockItemptr(), bt_entry_unique_check(), bt_target_page_check(), BTreeTupleGetHeapTIDCareful(), check_exclusion_or_unique_constraint(), dataBeginPlaceToPageLeaf(), doPickSplit(), entryGetItem(), ExecARDeleteTriggers(), ExecARUpdateTriggers(), ExecBRDeleteTriggers(), ExecBRUpdateTriggers(), execCurrentOf(), ExecInsertIndexTuples(), ExecMergeMatched(), GinDataLeafPageGetItems(), ginInsertBAEntries(), heap_abort_speculative(), heap_delete(), heap_get_latest_tid(), heap_update(), heapam_tuple_tid_valid(), HeapTupleIsSurelyDead(), HeapTupleSatisfiesDirty(), HeapTupleSatisfiesHistoricMVCC(), HeapTupleSatisfiesMVCC(), HeapTupleSatisfiesSelf(), HeapTupleSatisfiesToast(), HeapTupleSatisfiesUpdate(), HeapTupleSatisfiesVacuumHorizon(), index_getnext_slot(), index_getnext_tid(), ItemPointerGetBlockNumber(), ItemPointerGetOffsetNumber(), itemptr_to_uint64(), log_heap_new_cid(), processPendingPage(), raw_heap_insert(), SearchSysCacheLocked1(), spgInnerTest(), spgMatchNodeAction(), spgprocesspending(), spgTestLeafTuple(), uint64_to_itemptr(), vacuumLeafPage(), vacuumLeafRoot(), XactLockTableWait(), and XactLockTableWaitErrorCb().
|
inlinestatic |
Definition at line 135 of file itemptr.h.
References Assert, BlockIdSet(), ItemPointerData::ip_blkid, ItemPointerData::ip_posid, and PointerIsValid.
Referenced by brin_doinsert(), brin_doupdate(), brin_xlog_insert_update(), brinSetHeapBlockItemptr(), check_set_block_offsets(), collect_corrupt_items(), do_set_block_offsets(), doPickSplit(), entryGetItem(), entryLoadMoreItems(), fill_seq_fork_with_data(), heap_force_common(), heap_hot_search_buffer(), heap_mask(), heap_page_is_all_visible(), heap_page_prune_and_freeze(), heap_set_tidrange(), heap_xlog_confirm(), heap_xlog_lock(), heap_xlog_update(), heapam_index_build_range_scan(), heapam_scan_analyze_next_tuple(), heapam_scan_bitmap_next_block(), heapam_scan_bitmap_next_tuple(), heapam_scan_sample_next_tuple(), heapgettup(), heapgettup_pagemode(), ItemPointerDec(), ItemPointerInc(), ItemPointerSetMovedPartitions(), itemptr_decode(), keyGetItem(), lazy_scan_noprune(), page_collect_tuples(), raw_heap_insert(), RelationPutHeapTuple(), scanGetItem(), ScanSourceDatabasePgClassPage(), setRedirectionTuple(), spgAddStartItem(), spgFormDeadTuple(), spgUpdateNodeLink(), statapprox_heap(), test_itemptr_pair(), tidin(), TidRangeEval(), and tidrecv().
|
inlinestatic |
Definition at line 147 of file itemptr.h.
References Assert, BlockIdSet(), ItemPointerData::ip_blkid, and PointerIsValid.
Referenced by BTreeTupleSetDownLink(), BTreeTupleSetPosting(), BTreeTupleSetTopParent(), gist_indexsortbuild_levelstate_flush(), gistformdownlink(), gistplacetopage(), heap_xlog_delete(), heap_xlog_insert(), and heap_xlog_multi_insert().
|
inlinestatic |
Definition at line 184 of file itemptr.h.
References Assert, BlockIdSet(), InvalidBlockNumber, InvalidOffsetNumber, ItemPointerData::ip_blkid, ItemPointerData::ip_posid, and PointerIsValid.
Referenced by AfterTriggerSaveEvent(), brin_xlog_desummarize_page(), brinGetTupleForHeapBlock(), brinRevmapDesummarizeRange(), brinSetHeapBlockItemptr(), DecodeMultiInsert(), DecodeXLogTuple(), deconstruct_composite_datum(), end_heap_rewrite(), entryGetItem(), ER_flatten_into(), exec_move_row_from_datum(), ExecCheckIndexConstraints(), ExecEvalFieldStoreDeForm(), ExecInsert(), ExecLockRows(), ExecMergeMatched(), ExecModifyTable(), ExecuteCallStmt(), expand_tuple(), GetAttributeByName(), GetAttributeByNum(), hash_record(), hash_record_extended(), heap_form_tuple(), heap_tuple_from_minimal_tuple(), hstore_from_record(), hstore_populate_record(), InitPlan(), initscan(), leafRepackItems(), make_expanded_record_from_datum(), make_tuple_indirect(), populate_record(), populate_recordset_record(), processPendingPage(), record_cmp(), record_eq(), record_image_cmp(), record_image_eq(), record_out(), record_send(), rewrite_heap_tuple(), scanGetCandidate(), SearchSysCacheLocked1(), spgFormDeadTuple(), spgFormNodeTuple(), spgRedoVacuumRedirect(), statext_expressions_load(), toast_flatten_tuple_to_datum(), tts_buffer_heap_clear(), tts_heap_clear(), tts_minimal_clear(), tts_virtual_clear(), unique_key_recheck(), and vacuumRedirectAndPlaceholder().
|
inlinestatic |
Definition at line 210 of file itemptr.h.
References ItemPointerSet(), MovedPartitionsBlockNumber, and MovedPartitionsOffsetNumber.
|
inlinestatic |
Definition at line 158 of file itemptr.h.
References Assert, ItemPointerData::ip_posid, and PointerIsValid.
Referenced by _bt_truncate(), BTreeTupleSetNAtts(), BTreeTupleSetPosting(), gistFormTuple(), heap_hot_search_buffer(), heap_xlog_delete(), heap_xlog_insert(), heap_xlog_multi_insert(), and heapam_index_validate_scan().