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 | slist_node |
struct | slist_head |
struct | slist_iter |
struct | slist_mutable_iter |
Macros | |
#define | DLIST_STATIC_INIT(name) {{&(name).head, &(name).head}} |
#define | SLIST_STATIC_INIT(name) {{NULL}} |
#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 | 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 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 dlist_check | ( | head | ) | ((void) (head)) |
Definition at line 267 of file ilist.h.
Referenced by dlist_is_empty(), dlist_move_head(), dlist_push_head(), dlist_push_tail(), and slist_delete().
#define dlist_container | ( | type, | |
membername, | |||
ptr | |||
) |
Definition at line 477 of file ilist.h.
Referenced by addItemsToLeaf(), AssertChangeLsnOrder(), AssertTXNLsnOrder(), AtEOXact_SMgr(), autovac_balance_cost(), CatCacheInvalidate(), CleanupBackend(), computeLeafRecompressWALData(), CountChildren(), dataBeginPlaceToPageLeaf(), dataPlaceToPageLeafRecompress(), dataPlaceToPageLeafSplit(), do_autovacuum(), do_start_worker(), dsm_attach(), dsm_find_mapping(), FindLockCycleRecurse(), GenerationReset(), GenerationStats(), get_flush_position(), GetBlockerStatusData(), ginVacuumPostingTreeLeaf(), HandleChildCrash(), HandleParallelMessages(), InvalidateConstraintCacheCallBack(), launch_worker(), leafRepackItems(), logical_heap_rewrite_flush_mappings(), mXactCacheGetById(), mXactCacheGetBySet(), mXactCachePut(), PlanCacheObjectCallback(), PlanCacheRelCallback(), PostmasterMarkPIDForWorkerNotify(), processCancelRequest(), rebuild_database_list(), RehashCatCache(), ReorderBufferAbortOld(), ReorderBufferBuildTupleCidHash(), ReorderBufferCleanupTXN(), ReorderBufferCopySnap(), ReorderBufferIterTXNFinish(), ReorderBufferIterTXNInit(), ReorderBufferIterTXNNext(), ReorderBufferLargestTopTXN(), ReorderBufferRestoreChanges(), ReorderBufferSerializeTXN(), ReorderBufferStreamTXN(), ReorderBufferToastReplace(), ReorderBufferToastReset(), ReorderBufferTruncateTXN(), reset_on_dsm_detach(), ResetCatalogCache(), ResetPlanCache(), SearchCatCacheInternal(), SearchCatCacheList(), SignalSomeChildren(), SlabReset(), SlabStats(), and SnapBuildDistributeNewCatalogSnapshot().
#define dlist_foreach | ( | iter, | |
lhead | |||
) |
Definition at line 507 of file ilist.h.
Referenced by addItemsToLeaf(), AssertChangeLsnOrder(), AssertTXNLsnOrder(), autovac_balance_cost(), computeLeafRecompressWALData(), CountChildren(), dataPlaceToPageLeafRecompress(), do_autovacuum(), dsm_attach(), dsm_find_mapping(), FindLockCycleRecurse(), GenerationStats(), GetBlockerStatusData(), ginVacuumPostingTreeLeaf(), HandleParallelMessages(), launch_worker(), leafRepackItems(), mXactCacheGetById(), mXactCacheGetBySet(), PlanCacheObjectCallback(), PlanCacheRelCallback(), PostmasterMarkPIDForWorkerNotify(), processCancelRequest(), rebuild_database_list(), ReorderBufferBuildTupleCidHash(), ReorderBufferCopySnap(), ReorderBufferIterTXNInit(), ReorderBufferLargestTopTXN(), ReorderBufferSerializeTXN(), ReorderBufferStreamTXN(), ReorderBufferToastReplace(), reset_on_dsm_detach(), ResetPlanCache(), SearchCatCacheInternal(), SearchCatCacheList(), SignalSomeChildren(), SlabStats(), and SnapBuildDistributeNewCatalogSnapshot().
#define dlist_foreach_modify | ( | iter, | |
lhead | |||
) |
Definition at line 524 of file ilist.h.
Referenced by AtEOXact_SMgr(), CatCacheInvalidate(), CleanupBackend(), GenerationReset(), get_flush_position(), HandleChildCrash(), InvalidateConstraintCacheCallBack(), logical_heap_rewrite_flush_mappings(), RehashCatCache(), ReorderBufferAbortOld(), ReorderBufferCleanupTXN(), ReorderBufferRestoreChanges(), ReorderBufferSerializeTXN(), ReorderBufferToastReset(), ReorderBufferTruncateTXN(), ResetCatalogCache(), and SlabReset().
#define dlist_head_element | ( | type, | |
membername, | |||
lhead | |||
) |
Definition at line 487 of file ilist.h.
Referenced by AtEOSubXact_Parallel(), AtEOXact_Parallel(), dsm_backend_shutdown(), dsm_detach_all(), ReorderBufferGetOldestTXN(), ReorderBufferGetOldestXmin(), ReorderBufferIterTXNInit(), ReorderBufferIterTXNNext(), and SlabAlloc().
#define dlist_reverse_foreach | ( | iter, | |
lhead | |||
) |
Definition at line 538 of file ilist.h.
Referenced by do_start_worker().
#define dlist_tail_element | ( | type, | |
membername, | |||
lhead | |||
) |
Definition at line 496 of file ilist.h.
Referenced by AutoVacLauncherMain(), get_flush_position(), and launcher_determine_sleep().
#define slist_check | ( | head | ) | ((void) (head)) |
Definition at line 268 of file ilist.h.
Referenced by slist_delete(), slist_has_next(), slist_is_empty(), slist_pop_head_node(), and slist_push_head().
#define slist_container | ( | type, | |
membername, | |||
ptr | |||
) |
Definition at line 674 of file ilist.h.
Referenced by AtEOSubXact_SPI(), BackgroundWorkerShmemInit(), BackgroundWorkerStopNotifications(), cancel_on_dsm_detach(), CatalogCacheCompareTuple(), CatalogCacheFlushCatalog(), CleanupBackgroundWorker(), DetermineSleepTime(), dsm_detach(), FindRegisteredWorkerBySlotNumber(), ForgetBackgroundWorker(), ForgetUnstartedBackgroundWorkers(), HandleChildCrash(), maybe_start_bgworkers(), pg_event_trigger_dropped_objects(), PrepareToInvalidateCacheTuple(), ReportBackgroundWorkerExit(), reset_on_dsm_detach(), ResetBackgroundWorkerCrashTimes(), ResetCatalogCaches(), and SPI_freetuptable().
#define slist_foreach | ( | iter, | |
lhead | |||
) |
Definition at line 700 of file ilist.h.
Referenced by BackgroundWorkerShmemInit(), BackgroundWorkerStopNotifications(), CatalogCacheCompareTuple(), CatalogCacheFlushCatalog(), FindRegisteredWorkerBySlotNumber(), HandleChildCrash(), pg_event_trigger_dropped_objects(), PrepareToInvalidateCacheTuple(), and ResetCatalogCaches().
#define slist_foreach_modify | ( | iter, | |
lhead | |||
) |
Definition at line 716 of file ilist.h.
Referenced by AtEOSubXact_SPI(), cancel_on_dsm_detach(), CleanupBackgroundWorker(), DetermineSleepTime(), ForgetUnstartedBackgroundWorkers(), maybe_start_bgworkers(), ResetBackgroundWorkerCrashTimes(), and SPI_freetuptable().
#define slist_head_element | ( | type, | |
membername, | |||
lhead | |||
) |
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 358 of file ilist.h.
References dlist_node::next, and dlist_node::prev.
Referenced by CatCacheRemoveCList(), CatCacheRemoveCTup(), CleanupBackend(), CleanupBackgroundWorker(), DestroyParallelContext(), dlist_move_head(), dlist_pop_head_node(), DropCachedPlan(), dsm_create(), dsm_detach(), FreeCachedExpression(), FreeWorkerInfo(), GenerationFree(), GenerationReset(), get_flush_position(), HandleChildCrash(), InvalidateConstraintCacheCallBack(), leafRepackItems(), logical_heap_rewrite_flush_mappings(), mXactCachePut(), ProcKill(), RehashCatCache(), ReorderBufferAssignChild(), ReorderBufferCleanupTXN(), ReorderBufferIterTXNNext(), ReorderBufferProcessTXN(), ReorderBufferRestoreChanges(), ReorderBufferSerializeTXN(), ReorderBufferToastReset(), ReorderBufferTransferSnapToParent(), ReorderBufferTruncateTXN(), SlabAlloc(), SlabFree(), SlabReset(), smgrclose(), and smgrsetowner().
|
inlinestatic |
Definition at line 402 of file ilist.h.
References dlist_head::head, and dlist_node::next.
Referenced by addItemsToLeaf(), dataPlaceToPageLeafSplit(), dlist_next_node(), leafRepackItems(), and ReorderBufferIterTXNNext().
|
inlinestatic |
Definition at line 412 of file ilist.h.
References dlist_head::head, and dlist_node::prev.
Referenced by dataBeginPlaceToPageLeaf(), and dlist_prev_node().
|
inlinestatic |
Definition at line 439 of file ilist.h.
References Assert, dlist_is_empty(), dlist_head::head, and dlist_node::next.
Referenced by dlist_head_node().
|
inlinestatic |
Definition at line 449 of file ilist.h.
References dlist_head_element_off().
Referenced by dataPlaceToPageLeafSplit(), and leafRepackItems().
|
inlinestatic |
Definition at line 278 of file ilist.h.
References dlist_head::head, dlist_node::next, and dlist_node::prev.
Referenced by AtEOXact_MultiXact(), AutoVacLauncherMain(), AutoVacuumShmemInit(), disassembleLeaf(), dlist_push_head(), dlist_push_tail(), GenerationContextCreate(), InitProcGlobal(), logical_rewrite_log_mapping(), PostPrepare_MultiXact(), rebuild_database_list(), ReorderBufferAllocate(), ReorderBufferGetTXN(), ReorderBufferIterTXNInit(), ReorderBufferToastAppendChunk(), SlabContextCreate(), and smgropen().
|
inlinestatic |
Definition at line 334 of file ilist.h.
References dlist_node::next, and dlist_node::prev.
Referenced by leafRepackItems().
|
inlinestatic |
Definition at line 346 of file ilist.h.
References before(), dlist_node::next, and dlist_node::prev.
Referenced by ReorderBufferTransferSnapToParent().
|
inlinestatic |
Definition at line 289 of file ilist.h.
References dlist_check, dlist_head::head, and dlist_node::next.
Referenced by addItemsToLeaf(), AtEOSubXact_Parallel(), AtEOXact_Parallel(), AutoVacLauncherMain(), dataBeginPlaceToPageLeaf(), dlist_head_element_off(), dlist_pop_head_node(), dlist_tail_element_off(), do_start_worker(), dsm_backend_shutdown(), dsm_detach_all(), GenerationIsEmpty(), GenerationReset(), get_flush_position(), InitAuxiliaryProcess(), InitProcess(), launcher_determine_sleep(), LogicalRepApplyLoop(), ParallelContextActive(), PostmasterStateMachine(), ProcKill(), ReorderBufferBuildTupleCidHash(), ReorderBufferGetOldestTXN(), ReorderBufferGetOldestXmin(), ReorderBufferIterTXNFinish(), ReorderBufferIterTXNNext(), ReorderBufferRestoreChanges(), ReorderBufferSerializeTXN(), ReorderBufferStreamTXN(), SlabAlloc(), and SlabFree().
|
inlinestatic |
Definition at line 385 of file ilist.h.
References dlist_check, dlist_delete(), dlist_push_head(), dlist_head::head, and dlist_node::next.
Referenced by launch_worker(), mXactCacheGetById(), mXactCacheGetBySet(), SearchCatCacheInternal(), and SearchCatCacheList().
|
inlinestatic |
Definition at line 421 of file ilist.h.
References Assert, dlist_has_next(), and dlist_node::next.
Referenced by addItemsToLeaf(), dataPlaceToPageLeafSplit(), leafRepackItems(), and ReorderBufferIterTXNNext().
|
inlinestatic |
Definition at line 368 of file ilist.h.
References Assert, dlist_delete(), dlist_is_empty(), dlist_head::head, and dlist_node::next.
Referenced by do_start_worker(), ReorderBufferIterTXNFinish(), and ReorderBufferIterTXNNext().
|
inlinestatic |
Definition at line 431 of file ilist.h.
References Assert, dlist_has_prev(), and dlist_node::prev.
Referenced by dataBeginPlaceToPageLeaf(), and leafRepackItems().
|
inlinestatic |
Definition at line 300 of file ilist.h.
References dlist_check, dlist_init(), dlist_head::head, dlist_node::next, and dlist_node::prev.
Referenced by AutoVacLauncherMain(), AutoVacuumShmemInit(), AutoVacWorkerMain(), BackendStartup(), BecomeLockGroupLeader(), CatalogCacheCreateEntry(), CreateParallelContext(), dlist_move_head(), do_start_bgworker(), dsm_create_descriptor(), FreeWorkerInfo(), GenerationAlloc(), mXactCachePut(), rebuild_database_list(), RehashCatCache(), SearchCatCacheList(), SlabAlloc(), SlabFree(), and StartAutovacuumWorker().
|
inlinestatic |
Definition at line 317 of file ilist.h.
References dlist_check, dlist_init(), dlist_head::head, dlist_node::next, and dlist_node::prev.
Referenced by addItemsToLeaf(), BecomeLockGroupMember(), disassembleLeaf(), GetCachedExpression(), logical_rewrite_log_mapping(), ReorderBufferAddNewTupleCids(), ReorderBufferAssignChild(), ReorderBufferIterTXNNext(), ReorderBufferQueueChange(), ReorderBufferRestoreChange(), ReorderBufferSetBaseSnapshot(), ReorderBufferToastAppendChunk(), ReorderBufferTXNByXid(), ri_LoadConstraintInfo(), SaveCachedPlan(), smgrclearowner(), smgropen(), and store_flush_position().
|
inlinestatic |
Definition at line 456 of file ilist.h.
References Assert, dlist_is_empty(), dlist_head::head, and dlist_node::prev.
Referenced by dlist_tail_node().
|
inlinestatic |
Definition at line 466 of file ilist.h.
References dlist_tail_element_off().
Referenced by dataBeginPlaceToPageLeaf(), and mXactCachePut().
void slist_delete | ( | slist_head * | head, |
slist_node * | node | ||
) |
Definition at line 31 of file ilist.c.
References Assert, cur, dlist_check, elog, ERROR, dlist_head::head, slist_head::head, dlist_node::next, slist_node::next, PG_USED_FOR_ASSERTS_ONLY, dlist_node::prev, and slist_check.
|
inlinestatic |
Definition at line 652 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(), cancel_on_dsm_detach(), ForgetBackgroundWorker(), and SPI_freetuptable().
|
inlinestatic |
Definition at line 611 of file ilist.h.
References slist_node::next, and slist_check.
Referenced by slist_next_node().
|
inlinestatic |
Definition at line 630 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 640 of file ilist.h.
References slist_head_element_off().
|
inlinestatic |
Definition at line 554 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 563 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 |
|
inlinestatic |
Definition at line 596 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 574 of file ilist.h.
References slist_head::head, slist_node::next, and slist_check.
Referenced by BackgroundWorkerStateChange(), EventTriggerSQLDropAddObject(), InitCatCache(), on_dsm_detach(), RegisterBackgroundWorker(), and spi_dest_startup().