PostgreSQL Source Code
git master
|
Go to the source code of this file.
Data Structures | |
struct | dlist_node |
struct | dlist_head |
struct | dlist_iter |
struct | dlist_mutable_iter |
struct | dclist_head |
struct | slist_node |
struct | slist_head |
struct | slist_iter |
struct | slist_mutable_iter |
Macros | |
#define | DLIST_STATIC_INIT(name) {{&(name).head, &(name).head}} |
#define | DCLIST_STATIC_INIT(name) {{{&(name).dlist.head, &(name).dlist.head}}, 0} |
#define | SLIST_STATIC_INIT(name) {{NULL}} |
#define | dlist_member_check(head, node) ((void) (head)) |
#define | dlist_check(head) ((void) (head)) |
#define | slist_check(head) ((void) (head)) |
#define | dlist_container(type, membername, ptr) |
#define | dlist_head_element(type, membername, lhead) |
#define | dlist_tail_element(type, membername, lhead) |
#define | dlist_foreach(iter, lhead) |
#define | dlist_foreach_modify(iter, lhead) |
#define | dlist_reverse_foreach(iter, lhead) |
#define | dclist_container(type, membername, ptr) dlist_container(type, membername, ptr) |
#define | dclist_head_element(type, membername, lhead) |
#define | dclist_tail_element(type, membername, lhead) |
#define | dclist_foreach(iter, lhead) dlist_foreach(iter, &((lhead)->dlist)) |
#define | dclist_foreach_modify(iter, lhead) dlist_foreach_modify(iter, &((lhead)->dlist)) |
#define | dclist_reverse_foreach(iter, lhead) dlist_reverse_foreach(iter, &((lhead)->dlist)) |
#define | slist_container(type, membername, ptr) |
#define | slist_head_element(type, membername, lhead) |
#define | slist_foreach(iter, lhead) |
#define | slist_foreach_modify(iter, lhead) |
Typedefs | |
typedef struct dlist_node | dlist_node |
typedef struct dlist_head | dlist_head |
typedef struct dlist_iter | dlist_iter |
typedef struct dlist_mutable_iter | dlist_mutable_iter |
typedef struct dclist_head | dclist_head |
typedef struct slist_node | slist_node |
typedef struct slist_head | slist_head |
typedef struct slist_iter | slist_iter |
typedef struct slist_mutable_iter | slist_mutable_iter |
#define dclist_container | ( | type, | |
membername, | |||
ptr | |||
) | dlist_container(type, membername, ptr) |
#define dclist_foreach | ( | iter, | |
lhead | |||
) | dlist_foreach(iter, &((lhead)->dlist)) |
#define dclist_foreach_modify | ( | iter, | |
lhead | |||
) | dlist_foreach_modify(iter, &((lhead)->dlist)) |
#define dclist_head_element | ( | type, | |
membername, | |||
lhead | |||
) |
#define dclist_reverse_foreach | ( | iter, | |
lhead | |||
) | dlist_reverse_foreach(iter, &((lhead)->dlist)) |
#define dclist_tail_element | ( | type, | |
membername, | |||
lhead | |||
) |
#define dlist_container | ( | type, | |
membername, | |||
ptr | |||
) |
#define dlist_foreach | ( | iter, | |
lhead | |||
) |
#define dlist_foreach_modify | ( | iter, | |
lhead | |||
) |
#define dlist_head_element | ( | type, | |
membername, | |||
lhead | |||
) |
#define dlist_reverse_foreach | ( | iter, | |
lhead | |||
) |
#define dlist_tail_element | ( | type, | |
membername, | |||
lhead | |||
) |
#define slist_container | ( | type, | |
membername, | |||
ptr | |||
) |
#define slist_foreach | ( | iter, | |
lhead | |||
) |
#define slist_foreach_modify | ( | iter, | |
lhead | |||
) |
#define slist_head_element | ( | type, | |
membername, | |||
lhead | |||
) |
typedef struct dclist_head dclist_head |
typedef struct dlist_head dlist_head |
typedef struct dlist_iter dlist_iter |
typedef struct dlist_mutable_iter dlist_mutable_iter |
typedef struct dlist_node dlist_node |
typedef struct slist_head slist_head |
typedef struct slist_iter slist_iter |
typedef struct slist_mutable_iter slist_mutable_iter |
typedef struct slist_node slist_node |
|
inlinestatic |
Definition at line 932 of file ilist.h.
References Assert, dclist_head::count, dclist_head::dlist, and dlist_is_empty().
Referenced by AtEOSubXact_PgStat_DroppedStats(), AtEOXact_PgStat_DroppedStats(), DeadLockCheck(), ExpandConstraints(), GetSingleProcBlockerStatusData(), InvalidateConstraintCacheCallBack(), logical_heap_rewrite_flush_mappings(), mXactCachePut(), pgstat_get_transactional_drops(), ReorderBufferGetCatalogChangesXacts(), SlabAllocFromNewBlock(), SlabFree(), SlabStats(), SnapBuildSerialize(), and TopoSort().
|
inlinestatic |
Definition at line 763 of file ilist.h.
References Assert, dclist_head::count, dclist_head::dlist, and dlist_delete_from().
Referenced by AtEOSubXact_PgStat_DroppedStats(), AtEOXact_PgStat_DroppedStats(), InvalidateConstraintCacheCallBack(), logical_heap_rewrite_flush_mappings(), mXactCachePut(), ReorderBufferCleanupTXN(), and SlabReset().
|
inlinestatic |
Definition at line 776 of file ilist.h.
References Assert, dclist_head::count, dclist_head::dlist, and dlist_delete_from_thoroughly().
Referenced by ProcWakeup(), and RemoveFromWaitQueue().
|
inlinestatic |
Definition at line 839 of file ilist.h.
References Assert, dclist_head::count, dclist_head::dlist, dlist_has_next(), and dlist_member_check.
|
inlinestatic |
Definition at line 854 of file ilist.h.
References Assert, dclist_head::count, dclist_head::dlist, dlist_has_prev(), and dlist_member_check.
|
inlinestatic |
Definition at line 888 of file ilist.h.
References Assert, dclist_is_empty(), dclist_head::dlist, dlist_head::head, and dlist_node::next.
|
inlinestatic |
Definition at line 900 of file ilist.h.
References Assert, dclist_head::count, dclist_head::dlist, and dlist_head_element_off().
|
inlinestatic |
Definition at line 671 of file ilist.h.
References dclist_head::count, dclist_head::dlist, and dlist_init().
Referenced by AtEOXact_MultiXact(), dclist_push_head(), dclist_push_tail(), DeadLockCheck(), lock_twophase_recover(), logical_rewrite_log_mapping(), pgstat_get_xact_stack_level(), PostPrepare_MultiXact(), ReorderBufferAllocate(), SetupLockInTable(), and SlabContextCreate().
|
inlinestatic |
Definition at line 727 of file ilist.h.
References Assert, dclist_head::count, dclist_head::dlist, dlist_insert_after(), and dlist_member_check.
|
inlinestatic |
Definition at line 745 of file ilist.h.
References Assert, before(), dclist_head::count, dclist_head::dlist, dlist_insert_before(), and dlist_member_check.
Referenced by JoinWaitQueue().
|
inlinestatic |
Definition at line 682 of file ilist.h.
References Assert, dclist_head::count, dclist_head::dlist, and dlist_is_empty().
Referenced by dclist_head_element_off(), dclist_tail_element_off(), JoinWaitQueue(), ProcLockWakeup(), and RemoveFromWaitQueue().
|
inlinestatic |
Definition at line 808 of file ilist.h.
References Assert, dclist_head::count, dclist_head::dlist, dlist_member_check, and dlist_move_head().
Referenced by mXactCacheGetById(), and mXactCacheGetBySet().
|
inlinestatic |
Definition at line 824 of file ilist.h.
References Assert, dclist_head::count, dclist_head::dlist, dlist_member_check, and dlist_move_tail().
|
inlinestatic |
Definition at line 867 of file ilist.h.
References Assert, dclist_head::count, dclist_head::dlist, and dlist_next_node().
|
inlinestatic |
Definition at line 789 of file ilist.h.
References Assert, dclist_head::count, dclist_head::dlist, and dlist_pop_head_node().
Referenced by SlabAllocFromNewBlock().
|
inlinestatic |
Definition at line 879 of file ilist.h.
References Assert, dclist_head::count, dclist_head::dlist, and dlist_prev_node().
|
inlinestatic |
Definition at line 693 of file ilist.h.
References Assert, dclist_head::count, dclist_init(), dclist_head::dlist, dlist_push_head(), dlist_head::head, and dlist_node::next.
Referenced by mXactCachePut(), and SlabFree().
|
inlinestatic |
Definition at line 709 of file ilist.h.
References Assert, dclist_head::count, dclist_init(), dclist_head::dlist, dlist_push_tail(), dlist_head::head, and dlist_node::next.
Referenced by AtEOSubXact_PgStat_DroppedStats(), create_drop_transactional_internal(), DeadLockCheck(), JoinWaitQueue(), logical_rewrite_log_mapping(), ReorderBufferXidSetCatalogChanges(), and ri_LoadConstraintInfo().
|
inlinestatic |
Definition at line 909 of file ilist.h.
References Assert, dclist_is_empty(), dclist_head::dlist, dlist_head::head, and dlist_node::prev.
|
inlinestatic |
Definition at line 920 of file ilist.h.
References Assert, dclist_head::count, dclist_head::dlist, and dlist_tail_element_off().
Referenced by mXactCachePut().
|
inlinestatic |
Definition at line 405 of file ilist.h.
References dlist_node::next, and dlist_node::prev.
Referenced by BumpBlockFree(), CatCacheRemoveCList(), CatCacheRemoveCTup(), CheckTargetForConflictsIn(), CleanUpLock(), ClearOldPredicateLocks(), DeleteChildTargetLocks(), DeleteLockTarget(), DestroyParallelContext(), dlist_delete_from(), dlist_move_head(), dlist_move_tail(), dlist_pop_head_node(), DropAllPredicateLocksFromTable(), DropCachedPlan(), dsm_create(), dsm_detach(), ForgetBackgroundWorker(), ForgetManyTestResources(), FreeCachedExpression(), FreeWorkerInfo(), GenerationBlockFree(), get_flush_position(), leafRepackItems(), LockAcquireExtended(), pgstat_delete_pending_entry(), PostPrepare_Locks(), ProcKill(), RehashCatCache(), RehashCatCacheLists(), ReleaseManyTestResource(), ReleaseOneSerializableXact(), ReleasePostmasterChildSlot(), ReleasePredXact(), ReleaseRWConflict(), remove_cache_entry(), RemoveGUCFromLists(), ReorderBufferAssignChild(), ReorderBufferCleanupTXN(), ReorderBufferIterTXNNext(), ReorderBufferProcessTXN(), ReorderBufferRestoreChanges(), ReorderBufferSerializeTXN(), ReorderBufferToastReset(), ReorderBufferTransferSnapToParent(), ReorderBufferTruncateTXN(), set_guc_source(), SetPossibleUnsafeConflict(), SetRWConflict(), SlabReset(), smgrdestroy(), smgrpin(), TransferPredicateLocksToNewTarget(), XLogPrefetcherAddFilter(), and XLogPrefetcherCompleteFilters().
|
inlinestatic |
Definition at line 429 of file ilist.h.
References dlist_delete(), and dlist_member_check.
Referenced by dclist_delete_from(), SlabAlloc(), and SlabFree().
|
inlinestatic |
Definition at line 440 of file ilist.h.
References dlist_delete_thoroughly(), and dlist_member_check.
Referenced by dclist_delete_from_thoroughly().
|
inlinestatic |
Definition at line 416 of file ilist.h.
References dlist_node::next, and dlist_node::prev.
Referenced by ClearOldPredicateLocks(), dlist_delete_from_thoroughly(), SummarizeOldestCommittedSxact(), SyncRepCancelWait(), SyncRepCleanupAtProcExit(), and SyncRepWakeQueue().
|
inlinestatic |
Definition at line 503 of file ilist.h.
References dlist_head::head, and dlist_node::next.
Referenced by addItemsToLeaf(), BumpReset(), dataPlaceToPageLeafSplit(), dclist_has_next(), dlist_next_node(), GenerationReset(), leafRepackItems(), pgstat_flush_pending_entries(), and ReorderBufferIterTXNNext().
|
inlinestatic |
Definition at line 513 of file ilist.h.
References dlist_head::head, and dlist_node::prev.
Referenced by dataBeginPlaceToPageLeaf(), dclist_has_prev(), and dlist_prev_node().
|
inlinestatic |
Definition at line 555 of file ilist.h.
References Assert, dlist_is_empty(), dlist_head::head, and dlist_node::next.
Referenced by dclist_head_node(), and dlist_head_node().
|
inlinestatic |
Definition at line 565 of file ilist.h.
References dlist_head_element_off().
Referenced by BumpAlloc(), BumpReset(), dataPlaceToPageLeafSplit(), GenerationReset(), leafRepackItems(), and pgstat_flush_pending_entries().
|
inlinestatic |
Definition at line 314 of file ilist.h.
References dlist_head::head, dlist_node::next, and dlist_node::prev.
Referenced by AutoVacuumShmemInit(), BumpContextCreate(), cache_purge_all(), CreatePredicateLock(), dclist_init(), disassembleLeaf(), dlist_push_head(), dlist_push_tail(), DropAllPredicateLocksFromTable(), ExecInitMemoize(), GenerationContextCreate(), GetSerializableTransactionSnapshotInt(), InitManyTestResourceKind(), InitPostmasterChildSlots(), InitProcGlobal(), lock_twophase_recover(), MarkAsPreparingGuts(), pgstat_shutdown_hook(), predicatelock_twophase_recover(), PredicateLockShmemInit(), rebuild_database_list(), ReleaseOneSerializableXact(), ReorderBufferAllocate(), ReorderBufferGetTXN(), ReorderBufferIterTXNInit(), ReorderBufferToastAppendChunk(), SetupLockInTable(), SlabContextCreate(), smgropen(), TransferPredicateLocksToNewTarget(), WalSndShmemInit(), and XLogPrefetcherAllocate().
|
inlinestatic |
Definition at line 381 of file ilist.h.
References dlist_node::next, and dlist_node::prev.
Referenced by dclist_insert_after(), leafRepackItems(), and SyncRepQueueInsert().
|
inlinestatic |
Definition at line 393 of file ilist.h.
References before(), dlist_node::next, and dlist_node::prev.
Referenced by dclist_insert_before(), and ReorderBufferTransferSnapToParent().
|
inlinestatic |
Definition at line 336 of file ilist.h.
References dlist_check, dlist_head::head, and dlist_node::next.
Referenced by addItemsToLeaf(), AssignPostmasterChildSlot(), AtEOSubXact_Parallel(), AtEOXact_Parallel(), BumpReset(), CheckForSerializableConflictOut(), CleanUpLock(), CreatePredXact(), dataBeginPlaceToPageLeaf(), dclist_count(), dclist_is_empty(), dlist_head_element_off(), dlist_pop_head_node(), dlist_tail_element_off(), do_start_worker(), dsm_backend_shutdown(), dsm_detach_all(), ForgetManyTestResources(), GenerationReset(), get_flush_position(), GetSafeSnapshot(), GetSerializableTransactionSnapshotInt(), InitAuxiliaryProcess(), InitProcess(), launcher_determine_sleep(), lock_twophase_recover(), LockReleaseAll(), LogicalRepApplyLoop(), ParallelContextActive(), pgstat_flush_pending_entries(), pgstat_report_stat(), pgstat_shutdown_hook(), PostPrepare_Locks(), ProcKill(), ReleasePredicateLocks(), RemoveTargetIfNoLongerUsed(), ReorderBufferBuildTupleCidHash(), ReorderBufferGetOldestTXN(), ReorderBufferGetOldestXmin(), ReorderBufferIterTXNFinish(), ReorderBufferIterTXNNext(), ReorderBufferRestoreChanges(), ReorderBufferSerializeTXN(), ReorderBufferStreamTXN(), RWConflictExists(), SetPossibleUnsafeConflict(), SetRWConflict(), SetupLockInTable(), SlabAlloc(), SlabAllocFromNewBlock(), SlabFindNextBlockListIndex(), SlabFree(), SummarizeOldestCommittedSxact(), TransferPredicateLocksToNewTarget(), XLogPrefetcherCompleteFilters(), and XLogPrefetcherIsFiltered().
|
inlinestatic |
Definition at line 467 of file ilist.h.
References dlist_check, dlist_delete(), dlist_push_head(), dlist_head::head, and dlist_node::next.
Referenced by dclist_move_head(), launch_worker(), SearchCatCacheInternal(), and SearchCatCacheList().
|
inlinestatic |
Definition at line 486 of file ilist.h.
References dlist_check, dlist_delete(), dlist_push_tail(), dlist_head::head, and dlist_node::prev.
Referenced by cache_lookup(), and dclist_move_tail().
|
inlinestatic |
Definition at line 537 of file ilist.h.
References Assert, dlist_has_next(), and dlist_node::next.
Referenced by addItemsToLeaf(), dataPlaceToPageLeafSplit(), dclist_next_node(), leafRepackItems(), pgstat_flush_pending_entries(), and ReorderBufferIterTXNNext().
|
inlinestatic |
Definition at line 325 of file ilist.h.
References dlist_node::next, and dlist_node::prev.
Referenced by GetSerializableTransactionSnapshotInt(), InitAuxiliaryProcess(), InitProcess(), MarkAsPreparingGuts(), predicatelock_twophase_recover(), PredicateLockShmemInit(), and RememberManyTestResources().
|
inlinestatic |
Definition at line 525 of file ilist.h.
References Assert, dlist_node::next, and dlist_node::prev.
Referenced by LockErrorCleanup(), ProcWakeup(), SyncRepCancelWait(), SyncRepCleanupAtProcExit(), and SyncRepWaitForLSN().
|
inlinestatic |
Definition at line 450 of file ilist.h.
References Assert, dlist_delete(), dlist_is_empty(), dlist_head::head, and dlist_node::next.
Referenced by AssignPostmasterChildSlot(), CreatePredXact(), dclist_pop_head_node(), do_start_worker(), InitProcess(), ReorderBufferIterTXNFinish(), and ReorderBufferIterTXNNext().
|
inlinestatic |
Definition at line 547 of file ilist.h.
References Assert, dlist_has_prev(), and dlist_node::prev.
Referenced by dataBeginPlaceToPageLeaf(), dclist_prev_node(), and leafRepackItems().
|
inlinestatic |
Definition at line 347 of file ilist.h.
References dlist_check, dlist_init(), dlist_head::head, dlist_node::next, and dlist_node::prev.
Referenced by AllocDeadEndChild(), AssignPostmasterChildSlot(), AutoVacuumShmemInit(), AutoVacWorkerMain(), BackgroundWorkerStateChange(), BecomeLockGroupLeader(), BumpAllocFromNewBlock(), BumpContextCreate(), CatalogCacheCreateEntry(), CreateParallelContext(), dclist_push_head(), dlist_move_head(), dsm_create_descriptor(), FreeWorkerInfo(), GenerationAllocFromNewBlock(), GenerationAllocLarge(), GenerationContextCreate(), ProcKill(), rebuild_database_list(), RegisterBackgroundWorker(), RehashCatCache(), RehashCatCacheLists(), ReleasePostmasterChildSlot(), SearchCatCacheList(), SlabAlloc(), SlabAllocFromNewBlock(), SlabFree(), SyncRepQueueInsert(), and XLogPrefetcherAddFilter().
|
inlinestatic |
Definition at line 364 of file ilist.h.
References dlist_check, dlist_init(), dlist_head::head, dlist_node::next, and dlist_node::prev.
Referenced by addItemsToLeaf(), BecomeLockGroupMember(), BumpAllocLarge(), cache_lookup(), CreatePredicateLock(), CreatePredXact(), dclist_push_tail(), disassembleLeaf(), dlist_move_tail(), DropAllPredicateLocksFromTable(), GetCachedExpression(), InitPostmasterChildSlots(), InitProcGlobal(), lock_twophase_recover(), pgstat_prep_pending_entry(), PostPrepare_Locks(), PredicateLockShmemInit(), ProcKill(), ReleaseOneSerializableXact(), ReleasePredicateLocks(), ReleasePredXact(), ReleaseRWConflict(), RememberManyTestResources(), ReorderBufferAddNewTupleCids(), ReorderBufferAssignChild(), ReorderBufferIterTXNNext(), ReorderBufferQueueChange(), ReorderBufferRestoreChange(), ReorderBufferSetBaseSnapshot(), ReorderBufferToastAppendChunk(), ReorderBufferTXNByXid(), SaveCachedPlan(), set_guc_source(), SetPossibleUnsafeConflict(), SetRWConflict(), SetupLockInTable(), smgropen(), smgrunpin(), store_flush_position(), and TransferPredicateLocksToNewTarget().
|
inlinestatic |
Definition at line 572 of file ilist.h.
References Assert, dlist_is_empty(), dlist_head::head, and dlist_node::prev.
Referenced by dclist_tail_node(), and dlist_tail_node().
|
inlinestatic |
Definition at line 582 of file ilist.h.
References dlist_tail_element_off().
Referenced by dataBeginPlaceToPageLeaf().
void slist_delete | ( | slist_head * | head, |
const slist_node * | node | ||
) |
Definition at line 31 of file ilist.c.
References Assert, cur, slist_head::head, slist_node::next, cursor::next, PG_USED_FOR_ASSERTS_ONLY, and slist_check.
Referenced by reapply_stacked_values(), and RemoveGUCFromLists().
|
inlinestatic |
Definition at line 1084 of file ilist.h.
References slist_mutable_iter::cur, slist_node::next, slist_mutable_iter::next, and slist_mutable_iter::prev.
Referenced by AtEOSubXact_SPI(), AtEOXact_GUC(), cancel_on_dsm_detach(), ReportChangedGUCOptions(), and SPI_freetuptable().
|
inlinestatic |
Definition at line 1043 of file ilist.h.
References slist_node::next, and slist_check.
Referenced by slist_next_node().
|
inlinestatic |
Definition at line 1062 of file ilist.h.
References Assert, slist_head::head, slist_node::next, and slist_is_empty().
Referenced by slist_head_node().
|
inlinestatic |
Definition at line 1072 of file ilist.h.
References slist_head_element_off().
|
inlinestatic |
Definition at line 986 of file ilist.h.
References slist_head::head, and slist_node::next.
Referenced by dsm_create_descriptor(), EventTriggerBeginCompleteQuery(), InitCatCache(), and SPI_connect_ext().
|
inlinestatic |
|
inlinestatic |
Definition at line 995 of file ilist.h.
References slist_head::head, slist_node::next, and slist_check.
Referenced by dsm_detach(), EventTriggerSQLDrop(), reset_on_dsm_detach(), slist_head_element_off(), and slist_pop_head_node().
|
inlinestatic |
Definition at line 1054 of file ilist.h.
References Assert, slist_node::next, and slist_has_next().
|
inlinestatic |
Definition at line 1028 of file ilist.h.
References Assert, slist_head::head, slist_node::next, slist_check, and slist_is_empty().
Referenced by dsm_detach(), and reset_on_dsm_detach().
|
inlinestatic |
Definition at line 1006 of file ilist.h.
References slist_head::head, slist_node::next, and slist_check.
Referenced by AtEOXact_GUC(), EventTriggerSQLDropAddObject(), InitCatCache(), on_dsm_detach(), push_old_value(), ResetAllOptions(), set_config_with_handle(), and spi_dest_startup().