|
PostgreSQL Source Code git master
|
#include "postgres.h"#include <signal.h>#include "access/subtrans.h"#include "access/transam.h"#include "access/twophase.h"#include "access/xact.h"#include "access/xlogutils.h"#include "catalog/catalog.h"#include "catalog/pg_authid.h"#include "miscadmin.h"#include "pgstat.h"#include "postmaster/bgworker.h"#include "port/pg_lfind.h"#include "storage/proc.h"#include "storage/procarray.h"#include "storage/procsignal.h"#include "storage/subsystems.h"#include "utils/acl.h"#include "utils/builtins.h"#include "utils/injection_point.h"#include "utils/lsyscache.h"#include "utils/rel.h"#include "utils/snapmgr.h"#include "utils/wait_event.h"
Go to the source code of this file.
Data Structures | |
| struct | ProcArrayStruct |
| struct | GlobalVisState |
| struct | ComputeXidHorizonsResult |
Macros | |
| #define | UINT32_ACCESS_ONCE(var) ((uint32)(*((volatile uint32 *)&(var)))) |
| #define | xc_by_recent_xmin_inc() ((void) 0) |
| #define | xc_by_known_xact_inc() ((void) 0) |
| #define | xc_by_my_xact_inc() ((void) 0) |
| #define | xc_by_latest_xid_inc() ((void) 0) |
| #define | xc_by_main_xid_inc() ((void) 0) |
| #define | xc_by_child_xid_inc() ((void) 0) |
| #define | xc_by_known_assigned_inc() ((void) 0) |
| #define | xc_no_overflow_inc() ((void) 0) |
| #define | xc_slow_answer_inc() ((void) 0) |
| #define | PROCARRAY_MAXPROCS (MaxBackends + max_prepared_xacts) |
| #define | TOTAL_MAX_CACHED_SUBXIDS ((PGPROC_MAX_CACHED_SUBXIDS + 1) * PROCARRAY_MAXPROCS) |
| #define | MAXAUTOVACPIDS 10 /* max autovacs to SIGTERM per iteration */ |
| #define | KAX_COMPRESS_FREQUENCY 128 /* in transactions */ |
| #define | KAX_COMPRESS_IDLE_INTERVAL 1000 /* in ms */ |
Enumerations | |
| enum | GlobalVisHorizonKind { VISHORIZON_SHARED , VISHORIZON_CATALOG , VISHORIZON_DATA , VISHORIZON_TEMP } |
| enum | KAXCompressReason { KAX_NO_SPACE , KAX_PRUNE , KAX_TRANSACTION_END , KAX_STARTUP_PROCESS_IDLE } |
| #define KAX_COMPRESS_FREQUENCY 128 /* in transactions */ |
| #define KAX_COMPRESS_IDLE_INTERVAL 1000 /* in ms */ |
| #define PROCARRAY_MAXPROCS (MaxBackends + max_prepared_xacts) |
| #define TOTAL_MAX_CACHED_SUBXIDS ((PGPROC_MAX_CACHED_SUBXIDS + 1) * PROCARRAY_MAXPROCS) |
Definition at line 73 of file procarray.c.
Definition at line 357 of file procarray.c.
Definition at line 358 of file procarray.c.
Definition at line 353 of file procarray.c.
Definition at line 355 of file procarray.c.
Definition at line 356 of file procarray.c.
Definition at line 354 of file procarray.c.
Definition at line 352 of file procarray.c.
Definition at line 359 of file procarray.c.
Definition at line 360 of file procarray.c.
| Enumerator | |
|---|---|
| VISHORIZON_SHARED | |
| VISHORIZON_CATALOG | |
| VISHORIZON_DATA | |
| VISHORIZON_TEMP | |
Definition at line 266 of file procarray.c.
| Enumerator | |
|---|---|
| KAX_NO_SPACE | |
| KAX_PRUNE | |
| KAX_TRANSACTION_END | |
| KAX_STARTUP_PROCESS_IDLE | |
Definition at line 277 of file procarray.c.
Definition at line 3148 of file procarray.c.
References BackendPidGetProcWithLock(), fb(), LW_SHARED, LWLockAcquire(), LWLockRelease(), and result.
Referenced by IsBackendPid(), pg_isolation_test_session_is_blocked(), pg_log_backend_memory_contexts(), pg_signal_backend(), pg_stat_get_activity(), pg_stat_get_backend_wait_event(), pg_stat_get_backend_wait_event_type(), pg_stat_reset_backend_stats(), pgstat_fetch_stat_backend_by_pid(), TerminateBackgroundWorkersForDatabase(), TerminateOtherDBBackends(), and test_shm_mq_main().
Definition at line 3171 of file procarray.c.
References allProcs, fb(), PGPROC::pid, procArray, and result.
Referenced by BackendPidGetProc(), and GetBlockerStatusData().
| int BackendXidGetPid | ( | TransactionId | xid | ) |
Definition at line 3208 of file procarray.c.
References allProcs, fb(), InvalidTransactionId, LW_SHARED, LWLockAcquire(), LWLockRelease(), PGPROC::pid, procArray, ProcGlobal, result, and PROC_HDR::xids.
Referenced by pgrowlocks().
|
static |
Definition at line 1674 of file procarray.c.
References allProcs, Assert, ComputeXidHorizonsResult::catalog_oldest_nonremovable, ComputeXidHorizonsResult::data_oldest_nonremovable, PGPROC::databaseId, fb(), GlobalVisUpdateApply(), InvalidOid, InvalidTransactionId, KnownAssignedXidsGetOldestXmin(), ComputeXidHorizonsResult::latest_completed, TransamVariablesData::latestCompletedXid, LW_SHARED, LWLockAcquire(), LWLockRelease(), MyDatabaseId, MyProc, ComputeXidHorizonsResult::oldest_considered_running, PROC_AFFECTS_ALL_HORIZONS, PROC_IN_LOGICAL_DECODING, PROC_IN_VACUUM, procArray, ProcGlobal, RecoveryInProgress(), ProcArrayStruct::replication_slot_catalog_xmin, ProcArrayStruct::replication_slot_xmin, ComputeXidHorizonsResult::shared_oldest_nonremovable, ComputeXidHorizonsResult::shared_oldest_nonremovable_raw, ComputeXidHorizonsResult::slot_catalog_xmin, ComputeXidHorizonsResult::slot_xmin, PROC_HDR::statusFlags, ComputeXidHorizonsResult::temp_oldest_nonremovable, TransactionIdAdvance, TransactionIdIsValid, TransactionIdOlder(), TransactionIdPrecedesOrEquals(), TransamVariables, UINT32_ACCESS_ONCE, PGPROC::xid, XidFromFullTransactionId, PROC_HDR::xids, and PGPROC::xmin.
Referenced by GetOldestNonRemovableTransactionId(), GetOldestTransactionIdConsideredRunning(), GetReplicationHorizons(), and GlobalVisUpdate().
Definition at line 3621 of file procarray.c.
References allProcs, PGPROC::databaseId, fb(), LW_SHARED, LWLockAcquire(), LWLockRelease(), OidIsValid, PGPROC::pid, and procArray.
Referenced by ResolveRecoveryConflictWithDatabase().
Definition at line 3650 of file procarray.c.
References allProcs, B_BACKEND, PGPROC::backendType, PGPROC::databaseId, fb(), LW_SHARED, LWLockAcquire(), LWLockRelease(), OidIsValid, PGPROC::pid, and procArray.
Referenced by CheckMyDatabase().
Definition at line 3734 of file procarray.c.
References allProcs, CHECK_FOR_INTERRUPTS, PGPROC::databaseId, fb(), IS_INJECTION_POINT_ATTACHED, kill, LW_SHARED, LWLockAcquire(), LWLockRelease(), MAXAUTOVACPIDS, MyProc, pg_usleep(), PGPROC::pid, PROC_IS_AUTOVACUUM, procArray, ProcGlobal, PROC_HDR::statusFlags, and TerminateBackgroundWorkersForDatabase().
Referenced by createdb(), dropdb(), movedb(), and RenameDatabase().
Definition at line 3682 of file procarray.c.
References allProcs, B_BACKEND, PGPROC::backendType, fb(), LW_SHARED, LWLockAcquire(), LWLockRelease(), PGPROC::pid, procArray, and PGPROC::roleId.
Referenced by InitializeSessionUserId().
Definition at line 4530 of file procarray.c.
References Assert, fb(), FullTransactionIdIsValid, FullTransactionIdRetreat(), InvalidTransactionId, KnownAssignedXidsRemovePreceding(), ProcArrayStruct::lastOverflowedXid, TransamVariablesData::latestCompletedXid, LW_EXCLUSIVE, LWLockAcquire(), LWLockRelease(), TransamVariablesData::nextXid, procArray, TransamVariables, and TransamVariablesData::xactCompletionCount.
Referenced by ShutdownRecoveryTransactionEnvironment().
| void ExpireOldKnownAssignedTransactionIds | ( | TransactionId | xid | ) |
Definition at line 4564 of file procarray.c.
References fb(), InvalidTransactionId, KnownAssignedXidsRemovePreceding(), ProcArrayStruct::lastOverflowedXid, LW_EXCLUSIVE, LWLockAcquire(), LWLockRelease(), MaintainLatestCompletedXidRecovery(), procArray, TransactionIdPrecedes(), TransactionIdRetreat, TransamVariables, and TransamVariablesData::xactCompletionCount.
Referenced by ProcArrayApplyRecoveryInfo().
| void ExpireTreeKnownAssignedTransactionIds | ( | TransactionId | xid, |
| int | nsubxids, | ||
| TransactionId * | subxids, | ||
| TransactionId | max_xid | ||
| ) |
Definition at line 4504 of file procarray.c.
References Assert, fb(), KnownAssignedXidsRemoveTree(), LW_EXCLUSIVE, LWLockAcquire(), LWLockRelease(), MaintainLatestCompletedXidRecovery(), STANDBY_INITIALIZED, standbyState, TransamVariables, and TransamVariablesData::xactCompletionCount.
Referenced by xact_redo_abort(), and xact_redo_commit().
|
inlinestatic |
Definition at line 4353 of file procarray.c.
References Assert, AssertTransactionIdInAllowableRange, fb(), FullTransactionIdFromU64(), TransactionIdIsValid, U64FromFullTransactionId, and XidFromFullTransactionId.
Referenced by GetSnapshotData(), GlobalVisTestIsRemovableXid(), GlobalVisUpdateApply(), MaintainLatestCompletedXid(), and MaintainLatestCompletedXidRecovery().
| VirtualTransactionId * GetConflictingVirtualXIDs | ( | TransactionId | limitXmin, |
| Oid | dbOid | ||
| ) |
Definition at line 3368 of file procarray.c.
References allProcs, PGPROC::databaseId, ereport, errcode(), errmsg, ERROR, fb(), GET_VXID_FROM_PGPROC, INVALID_PROC_NUMBER, InvalidLocalTransactionId, LW_SHARED, LWLockAcquire(), LWLockRelease(), malloc, OidIsValid, PGPROC::pid, procArray, TransactionIdFollows(), TransactionIdIsValid, UINT32_ACCESS_ONCE, VirtualTransactionIdIsValid, and PGPROC::xmin.
Referenced by ResolveRecoveryConflictWithSnapshot(), and ResolveRecoveryConflictWithTablespace().
| VirtualTransactionId * GetCurrentVirtualXIDs | ( | TransactionId | limitXmin, |
| bool | excludeXmin0, | ||
| bool | allDbs, | ||
| int | excludeVacuum, | ||
| int * | nvxids | ||
| ) |
Definition at line 3276 of file procarray.c.
References allProcs, PGPROC::databaseId, fb(), GET_VXID_FROM_PGPROC, LW_SHARED, LWLockAcquire(), LWLockRelease(), MyDatabaseId, MyProc, palloc_array, procArray, ProcGlobal, PROC_HDR::statusFlags, TransactionIdIsValid, TransactionIdPrecedesOrEquals(), UINT32_ACCESS_ONCE, VirtualTransactionIdIsValid, and PGPROC::xmin.
Referenced by WaitForOlderSnapshots().
Definition at line 2019 of file procarray.c.
References TOTAL_MAX_CACHED_SUBXIDS.
Referenced by ExportSnapshot(), GetSnapshotData(), ImportSnapshot(), and SetTransactionSnapshot().
Definition at line 2008 of file procarray.c.
References ProcArrayStruct::maxProcs, and procArray.
Referenced by GetSnapshotData(), ImportSnapshot(), SetTransactionSnapshot(), and SnapBuildInitialSnapshot().
| TransactionId GetOldestActiveTransactionId | ( | bool | inCommitOnly, |
| bool | allDbs | ||
| ) |
Definition at line 2824 of file procarray.c.
References allProcs, Assert, PGPROC::databaseId, DELAY_CHKPT_IN_COMMIT, PGPROC::delayChkptFlags, fb(), LW_SHARED, LWLockAcquire(), LWLockRelease(), MyDatabaseId, TransamVariablesData::nextXid, procArray, ProcGlobal, RecoveryInProgress(), TransactionIdIsNormal, TransactionIdPrecedes(), TransamVariables, UINT32_ACCESS_ONCE, XidFromFullTransactionId, and PROC_HDR::xids.
Referenced by CreateCheckPoint(), get_candidate_xid(), ProcessStandbyPSRequestMessage(), and WaitForAllTransactionsToFinish().
| TransactionId GetOldestNonRemovableTransactionId | ( | Relation | rel | ) |
Definition at line 1944 of file procarray.c.
References ComputeXidHorizons(), fb(), GlobalVisHorizonKindForRel(), InvalidTransactionId, VISHORIZON_CATALOG, VISHORIZON_DATA, VISHORIZON_SHARED, and VISHORIZON_TEMP.
Referenced by _bt_pendingfsm_finalize(), GetStrictOldestNonRemovableTransactionId(), heapam_index_build_range_scan(), removable_cutoff(), statapprox_heap(), vac_update_datfrozenxid(), and vacuum_get_cutoffs().
| TransactionId GetOldestSafeDecodingTransactionId | ( | bool | catalogOnly | ) |
Definition at line 2898 of file procarray.c.
References Assert, fb(), LW_SHARED, LWLockAcquire(), LWLockHeldByMe(), LWLockRelease(), TransamVariablesData::nextXid, procArray, ProcGlobal, RecoveryInProgress(), ProcArrayStruct::replication_slot_catalog_xmin, ProcArrayStruct::replication_slot_xmin, TransactionIdIsNormal, TransactionIdIsValid, TransactionIdPrecedes(), TransamVariables, UINT32_ACCESS_ONCE, XidFromFullTransactionId, and PROC_HDR::xids.
Referenced by CreateInitDecodingContext(), init_conflict_slot_xmin(), SnapBuildInitialSnapshot(), and synchronize_one_slot().
| TransactionId GetOldestTransactionIdConsideredRunning | ( | void | ) |
Definition at line 1973 of file procarray.c.
References ComputeXidHorizons(), and fb().
Referenced by CreateCheckPoint(), and CreateRestartPoint().
| void GetReplicationHorizons | ( | TransactionId * | xmin, |
| TransactionId * | catalog_xmin | ||
| ) |
Definition at line 1986 of file procarray.c.
References ComputeXidHorizons(), and fb().
Referenced by XLogWalRcvSendHSFeedback().
| RunningTransactions GetRunningTransactionData | ( | void | ) |
Definition at line 2628 of file procarray.c.
References allProcs, Assert, PGPROC::databaseId, ereport, errcode(), errmsg, ERROR, fb(), TransamVariablesData::latestCompletedXid, LW_SHARED, LWLockAcquire(), malloc, memcpy(), MyDatabaseId, TransamVariablesData::nextXid, XidCacheStatus::overflowed, pg_read_barrier, procArray, ProcGlobal, RecoveryInProgress(), PGPROC::subxids, SUBXIDS_IN_ARRAY, SUBXIDS_IN_SUBTRANS, PROC_HDR::subxidStates, TOTAL_MAX_CACHED_SUBXIDS, TransactionIdIsNormal, TransactionIdIsValid, TransactionIdPrecedes(), TransamVariables, UINT32_ACCESS_ONCE, XidFromFullTransactionId, XidCache::xids, and PROC_HDR::xids.
Referenced by GetStrictOldestNonRemovableTransactionId(), and LogStandbySnapshot().
Definition at line 2114 of file procarray.c.
References SnapshotData::active_count, allProcs, Assert, SnapshotData::copied, XidCacheStatus::count, SnapshotData::curcid, GlobalVisState::definitely_needed, ereport, errcode(), errmsg, ERROR, fb(), FullTransactionIdAdvance(), FullTransactionIdNewer(), FullXidRelativeTo(), GetCurrentCommandId(), GetMaxSnapshotSubxidCount(), GetMaxSnapshotXidCount(), GetSnapshotDataReuse(), GlobalVisCatalogRels, GlobalVisDataRels, GlobalVisSharedRels, GlobalVisTempRels, InvalidTransactionId, KnownAssignedXidsGetAndSetXmin(), ProcArrayStruct::lastOverflowedXid, TransamVariablesData::latestCompletedXid, likely, LW_SHARED, LWLockAcquire(), LWLockRelease(), malloc, GlobalVisState::maybe_needed, memcpy(), MyProc, NormalTransactionIdPrecedes, TransamVariablesData::oldestXid, pg_read_barrier, PGPROC::pgxactoff, PROC_IN_LOGICAL_DECODING, PROC_IN_VACUUM, procArray, ProcGlobal, RecentXmin, RecoveryInProgress(), SnapshotData::regd_count, ProcArrayStruct::replication_slot_catalog_xmin, ProcArrayStruct::replication_slot_xmin, SnapshotData::snapXactCompletionCount, PROC_HDR::statusFlags, SnapshotData::suboverflowed, SnapshotData::subxcnt, PGPROC::subxids, PROC_HDR::subxidStates, SnapshotData::subxip, SnapshotData::takenDuringRecovery, TransactionIdAdvance, TransactionIdIsNormal, TransactionIdIsValid, TransactionIdOlder(), TransactionIdPrecedesOrEquals(), TransactionXmin, TransamVariables, UINT32_ACCESS_ONCE, TransamVariablesData::xactCompletionCount, SnapshotData::xcnt, PGPROC::xid, XidFromFullTransactionId, XidCache::xids, PROC_HDR::xids, SnapshotData::xip, SnapshotData::xmax, PGPROC::xmin, and SnapshotData::xmin.
Referenced by GetLatestSnapshot(), GetNonHistoricCatalogSnapshot(), GetSerializableTransactionSnapshotInt(), GetTransactionSnapshot(), and SetTransactionSnapshot().
Definition at line 2034 of file procarray.c.
References SnapshotData::active_count, Assert, SnapshotData::copied, SnapshotData::curcid, fb(), GetCurrentCommandId(), LWLockHeldByMe(), MyProc, RecentXmin, SnapshotData::regd_count, SnapshotData::snapXactCompletionCount, TransactionIdIsValid, TransactionIdPrecedesOrEquals(), TransactionXmin, TransamVariables, unlikely, TransamVariablesData::xactCompletionCount, PGPROC::xmin, and SnapshotData::xmin.
Referenced by GetSnapshotData().
| VirtualTransactionId * GetVirtualXIDsDelayingChkpt | ( | int * | nvxids, |
| int | type | ||
| ) |
Definition at line 2996 of file procarray.c.
References allProcs, Assert, PGPROC::delayChkptFlags, fb(), GET_VXID_FROM_PGPROC, LW_SHARED, LWLockAcquire(), LWLockRelease(), palloc_array, procArray, type, and VirtualTransactionIdIsValid.
Referenced by CreateCheckPoint().
| bool GlobalVisCheckRemovableFullXid | ( | Relation | rel, |
| FullTransactionId | fxid | ||
| ) |
Definition at line 4318 of file procarray.c.
References GlobalVisTestFor(), and GlobalVisTestIsRemovableFullXid().
Referenced by _bt_pendingfsm_finalize(), BTPageIsRecyclable(), and gistPageRecyclable().
| bool GlobalVisCheckRemovableXid | ( | Relation | rel, |
| TransactionId | xid | ||
| ) |
Definition at line 4332 of file procarray.c.
References GlobalVisTestFor(), and GlobalVisTestIsRemovableXid().
Referenced by GinPageIsRecyclable().
|
inlinestatic |
Definition at line 1910 of file procarray.c.
References Assert, fb(), IsCatalogRelation(), RelationData::rd_rel, RecoveryInProgress(), RELATION_IS_LOCAL, RelationIsAccessibleInLogicalDecoding, VISHORIZON_CATALOG, VISHORIZON_DATA, VISHORIZON_SHARED, and VISHORIZON_TEMP.
Referenced by GetOldestNonRemovableTransactionId(), and GlobalVisTestFor().
| GlobalVisState * GlobalVisTestFor | ( | Relation | rel | ) |
Definition at line 4106 of file procarray.c.
References Assert, fb(), FullTransactionIdIsValid, GlobalVisCatalogRels, GlobalVisDataRels, GlobalVisHorizonKindForRel(), GlobalVisSharedRels, GlobalVisTempRels, RecentXmin, VISHORIZON_CATALOG, VISHORIZON_DATA, VISHORIZON_SHARED, and VISHORIZON_TEMP.
Referenced by get_actual_variable_endpoint(), GlobalVisCheckRemovableFullXid(), GlobalVisCheckRemovableXid(), heap_hot_search_buffer(), heap_index_delete_tuples(), heap_page_prune_opt(), heap_vacuum_rel(), and vacuumRedirectAndPlaceholder().
| bool GlobalVisTestIsRemovableFullXid | ( | GlobalVisState * | state, |
| FullTransactionId | fxid, | ||
| bool | allow_update | ||
| ) |
Definition at line 4226 of file procarray.c.
References Assert, fb(), FullTransactionIdFollowsOrEquals, FullTransactionIdPrecedes, GlobalVisTestShouldUpdate(), and GlobalVisUpdate().
Referenced by GlobalVisCheckRemovableFullXid(), and GlobalVisTestIsRemovableXid().
| bool GlobalVisTestIsRemovableXid | ( | GlobalVisState * | state, |
| TransactionId | xid, | ||
| bool | allow_update | ||
| ) |
Definition at line 4269 of file procarray.c.
References fb(), FullXidRelativeTo(), and GlobalVisTestIsRemovableFullXid().
Referenced by GlobalVisCheckRemovableXid(), GlobalVisTestXidConsideredRunning(), heap_page_prune_opt(), heap_prune_satisfies_vacuum(), HeapTupleIsSurelyDead(), HeapTupleSatisfiesNonVacuumable(), and vacuumRedirectAndPlaceholder().
|
static |
Definition at line 4146 of file procarray.c.
References ComputeXidHorizonsResultLastXmin, FullTransactionIdFollowsOrEquals, RecentXmin, and TransactionIdIsValid.
Referenced by GlobalVisTestIsRemovableFullXid().
| bool GlobalVisTestXidConsideredRunning | ( | GlobalVisState * | state, |
| TransactionId | xid, | ||
| bool | allow_update | ||
| ) |
Definition at line 4307 of file procarray.c.
References fb(), and GlobalVisTestIsRemovableXid().
Referenced by heap_page_prune_and_freeze(), and heap_page_would_be_all_visible().
Definition at line 4204 of file procarray.c.
References ComputeXidHorizons(), and fb().
Referenced by GlobalVisTestIsRemovableFullXid().
|
static |
Definition at line 4165 of file procarray.c.
References ComputeXidHorizonsResultLastXmin, GlobalVisState::definitely_needed, fb(), FullTransactionIdNewer(), FullXidRelativeTo(), GlobalVisCatalogRels, GlobalVisDataRels, GlobalVisSharedRels, GlobalVisTempRels, GlobalVisState::maybe_needed, and RecentXmin.
Referenced by ComputeXidHorizons().
| bool HaveVirtualXIDsDelayingChkpt | ( | VirtualTransactionId * | vxids, |
| int | nvxids, | ||
| int | type | ||
| ) |
Definition at line 3041 of file procarray.c.
References allProcs, Assert, PGPROC::delayChkptFlags, fb(), GET_VXID_FROM_PGPROC, i, LW_SHARED, LWLockAcquire(), LWLockRelease(), procArray, result, type, VirtualTransactionIdEquals, and VirtualTransactionIdIsValid.
Referenced by CreateCheckPoint().
Definition at line 3243 of file procarray.c.
References BackendPidGetProc(), and fb().
Referenced by pg_stat_get_subscription().
Definition at line 4596 of file procarray.c.
References KAX_STARTUP_PROCESS_IDLE, and KnownAssignedXidsCompress().
Referenced by WaitForWALToBecomeAvailable().
|
static |
Definition at line 5006 of file procarray.c.
References Assert, KnownAssignedXidsSearch(), and TransactionIdIsValid.
Referenced by TransactionIdIsInProgress().
|
static |
Definition at line 4814 of file procarray.c.
References Assert, elog, ERROR, fb(), i, KAX_NO_SPACE, KnownAssignedXids, KnownAssignedXidsCompress(), KnownAssignedXidsDisplay(), KnownAssignedXidsValid, LOG, pg_write_barrier, procArray, TransactionIdAdvance, TransactionIdFollowsOrEquals(), TransactionIdPrecedes(), and TransactionIdPrecedesOrEquals().
Referenced by ProcArrayApplyRecoveryInfo(), and RecordKnownAssignedTransactionIds().
|
static |
Definition at line 4697 of file procarray.c.
References Assert, fb(), GetCurrentTimestamp(), ProcArrayStruct::headKnownAssignedXids, i, KAX_COMPRESS_FREQUENCY, KAX_COMPRESS_IDLE_INTERVAL, KAX_NO_SPACE, KAX_STARTUP_PROCESS_IDLE, KAX_TRANSACTION_END, KnownAssignedXids, KnownAssignedXidsValid, LW_EXCLUSIVE, LWLockAcquire(), LWLockRelease(), procArray, and TimestampTzPlusMilliseconds.
Referenced by KnownAssignedTransactionIdsIdleMaintenance(), KnownAssignedXidsAdd(), KnownAssignedXidsRemovePreceding(), and KnownAssignedXidsRemoveTree().
Definition at line 5250 of file procarray.c.
References appendStringInfo(), buf, elog, fb(), i, initStringInfo(), KnownAssignedXids, KnownAssignedXidsValid, pfree(), and procArray.
Referenced by KnownAssignedXidsAdd(), and ProcArrayApplyRecoveryInfo().
|
static |
Definition at line 5145 of file procarray.c.
References fb(), InvalidTransactionId, and KnownAssignedXidsGetAndSetXmin().
Referenced by TransactionIdIsInProgress().
|
static |
Definition at line 5159 of file procarray.c.
References fb(), ProcArrayStruct::headKnownAssignedXids, i, KnownAssignedXids, KnownAssignedXidsValid, pg_read_barrier, procArray, ProcArrayStruct::tailKnownAssignedXids, TransactionIdFollowsOrEquals(), TransactionIdIsValid, and TransactionIdPrecedes().
Referenced by GetSnapshotData(), and KnownAssignedXidsGet().
|
static |
Definition at line 5215 of file procarray.c.
References ProcArrayStruct::headKnownAssignedXids, i, InvalidTransactionId, KnownAssignedXids, KnownAssignedXidsValid, pg_read_barrier, procArray, and ProcArrayStruct::tailKnownAssignedXids.
Referenced by ComputeXidHorizons().
|
static |
Definition at line 5019 of file procarray.c.
References Assert, DEBUG4, elog, fb(), KnownAssignedXidsSearch(), and TransactionIdIsValid.
Referenced by KnownAssignedXidsRemoveTree().
|
static |
Definition at line 5067 of file procarray.c.
References Assert, DEBUG4, elog, fb(), i, KAX_PRUNE, KnownAssignedXids, KnownAssignedXidsCompress(), KnownAssignedXidsValid, procArray, StandbyTransactionIdIsPrepared(), TransactionIdFollowsOrEquals(), and TransactionIdIsValid.
Referenced by ExpireAllKnownAssignedTransactionIds(), and ExpireOldKnownAssignedTransactionIds().
|
static |
Definition at line 5045 of file procarray.c.
References fb(), i, KAX_TRANSACTION_END, KnownAssignedXidsCompress(), KnownAssignedXidsRemove(), and TransactionIdIsValid.
Referenced by ExpireTreeKnownAssignedTransactionIds(), and ProcArrayApplyXidAssignment().
Definition at line 5288 of file procarray.c.
References fb(), LW_EXCLUSIVE, LWLockAcquire(), LWLockRelease(), and procArray.
Referenced by ProcArrayApplyRecoveryInfo().
|
static |
Definition at line 4918 of file procarray.c.
References Assert, fb(), KnownAssignedXids, KnownAssignedXidsValid, pg_read_barrier, procArray, ProcArrayStruct::tailKnownAssignedXids, and TransactionIdPrecedes().
Referenced by KnownAssignedXidExists(), and KnownAssignedXidsRemove().
|
static |
Definition at line 958 of file procarray.c.
References Assert, fb(), FullTransactionIdIsNormal, FullTransactionIdIsValid, FullXidRelativeTo(), IsBootstrapProcessingMode, TransamVariablesData::latestCompletedXid, LWLockHeldByMe(), RecoveryInProgress(), TransactionIdPrecedes(), TransamVariables, and XidFromFullTransactionId.
Referenced by ProcArrayEndTransactionInternal(), ProcArrayRemove(), and XidCacheRemoveRunningXids().
|
static |
Definition at line 980 of file procarray.c.
References AmStartupProcess, Assert, fb(), FullTransactionIdIsNormal, FullTransactionIdIsValid, FullXidRelativeTo(), IsUnderPostmaster, TransamVariablesData::latestCompletedXid, LWLockHeldByMe(), TransamVariablesData::nextXid, TransactionIdPrecedes(), TransamVariables, and XidFromFullTransactionId.
Referenced by ExpireOldKnownAssignedTransactionIds(), ExpireTreeKnownAssignedTransactionIds(), and ProcArrayApplyRecoveryInfo().
Definition at line 3568 of file procarray.c.
References allProcs, fb(), InvalidTransactionId, MyProc, PGPROC::pid, procArray, PGPROC::waitLock, and PGPROC::xid.
Referenced by XLogFlush().
Definition at line 464 of file procarray.c.
References allProcs, Assert, ereport, errcode(), errmsg, FATAL, fb(), GetNumberFromPGProc, LW_EXCLUSIVE, LWLockAcquire(), LWLockRelease(), NUM_AUXILIARY_PROCS, PGPROC::pgxactoff, procArray, ProcGlobal, PGPROC::statusFlags, PROC_HDR::statusFlags, PROC_HDR::subxidStates, PGPROC::subxidStatus, PGPROC::xid, and PROC_HDR::xids.
Referenced by InitProcessPhase2(), and MarkAsPrepared().
| void ProcArrayApplyRecoveryInfo | ( | RunningTransactions | running | ) |
Definition at line 1045 of file procarray.c.
References AdvanceNextFullTransactionIdPastXid(), Assert, DEBUG1, DEBUG3, elog, ERROR, ExpireOldKnownAssignedTransactionIds(), ExtendSUBTRANS(), fb(), FullTransactionIdIsValid, i, InvalidTransactionId, KnownAssignedXidsAdd(), KnownAssignedXidsDisplay(), KnownAssignedXidsReset(), ProcArrayStruct::lastOverflowedXid, RunningTransactionsData::latestCompletedXid, latestObservedXid, LW_EXCLUSIVE, LWLockAcquire(), LWLockRelease(), MaintainLatestCompletedXidRecovery(), TransamVariablesData::nextXid, RunningTransactionsData::nextXid, ProcArrayStruct::numKnownAssignedXids, RunningTransactionsData::oldestRunningXid, palloc_array, pfree(), procArray, qsort, STANDBY_INITIALIZED, STANDBY_SNAPSHOT_PENDING, STANDBY_SNAPSHOT_READY, StandbyReleaseOldLocks(), standbySnapshotPendingXmin, standbyState, RunningTransactionsData::subxcnt, RunningTransactionsData::subxid_status, SUBXIDS_IN_ARRAY, SUBXIDS_IN_SUBTRANS, SUBXIDS_MISSING, TransactionIdAdvance, TransactionIdDidAbort(), TransactionIdDidCommit(), TransactionIdEquals, TransactionIdIsNormal, TransactionIdIsValid, TransactionIdPrecedes(), TransactionIdRetreat, TransamVariables, RunningTransactionsData::xcnt, xidLogicalComparator(), and RunningTransactionsData::xids.
Referenced by standby_redo(), StartupXLOG(), and xlog_redo().
| void ProcArrayApplyXidAssignment | ( | TransactionId | topxid, |
| int | nsubxids, | ||
| TransactionId * | subxids | ||
| ) |
Definition at line 1309 of file procarray.c.
References Assert, fb(), i, InvalidTransactionId, KnownAssignedXidsRemoveTree(), ProcArrayStruct::lastOverflowedXid, LW_EXCLUSIVE, LWLockAcquire(), LWLockRelease(), procArray, RecordKnownAssignedTransactionIds(), STANDBY_INITIALIZED, standbyState, SubTransSetParent(), TransactionIdLatest(), and TransactionIdPrecedes().
Referenced by xact_redo().
Definition at line 899 of file procarray.c.
References Assert, XidCacheStatus::count, PGPROC::delayChkptFlags, fb(), InvalidLocalTransactionId, InvalidTransactionId, LW_EXCLUSIVE, LWLockAcquire(), LWLockRelease(), PGPROC::lxid, XidCacheStatus::overflowed, PGPROC::pgxactoff, PROC_VACUUM_STATE_MASK, ProcGlobal, PGPROC::statusFlags, PROC_HDR::subxidStates, PGPROC::subxidStatus, TransamVariables, PGPROC::vxid, TransamVariablesData::xactCompletionCount, PGPROC::xid, PROC_HDR::xids, and PGPROC::xmin.
Referenced by PrepareTransaction().
| void ProcArrayEndTransaction | ( | PGPROC * | proc, |
| TransactionId | latestXid | ||
| ) |
Definition at line 663 of file procarray.c.
References Assert, XidCacheStatus::count, PGPROC::delayChkptFlags, fb(), InvalidLocalTransactionId, InvalidTransactionId, LW_EXCLUSIVE, LWLockAcquire(), LWLockConditionalAcquire(), LWLockHeldByMe(), LWLockRelease(), PGPROC::lxid, XidCacheStatus::overflowed, PGPROC::pgxactoff, PROC_VACUUM_STATE_MASK, ProcArrayEndTransactionInternal(), ProcArrayGroupClearXid(), ProcGlobal, PGPROC::statusFlags, PROC_HDR::statusFlags, PGPROC::subxidStatus, TransactionIdIsValid, PGPROC::vxid, PGPROC::xid, and PGPROC::xmin.
Referenced by AbortTransaction(), and CommitTransaction().
|
inlinestatic |
Definition at line 725 of file procarray.c.
References Assert, XidCacheStatus::count, PGPROC::delayChkptFlags, fb(), InvalidLocalTransactionId, InvalidTransactionId, LW_EXCLUSIVE, LWLockHeldByMeInMode(), PGPROC::lxid, MaintainLatestCompletedXid(), XidCacheStatus::overflowed, PGPROC::pgxactoff, PROC_VACUUM_STATE_MASK, ProcGlobal, PGPROC::statusFlags, PROC_HDR::statusFlags, PROC_HDR::subxidStates, PGPROC::subxidStatus, TransactionIdIsValid, TransamVariables, PGPROC::vxid, TransamVariablesData::xactCompletionCount, PGPROC::xid, PROC_HDR::xids, and PGPROC::xmin.
Referenced by ProcArrayEndTransaction(), and ProcArrayGroupClearXid().
| void ProcArrayGetReplicationSlotXmin | ( | TransactionId * | xmin, |
| TransactionId * | catalog_xmin | ||
| ) |
Definition at line 3967 of file procarray.c.
References fb(), LW_SHARED, LWLockAcquire(), LWLockRelease(), procArray, ProcArrayStruct::replication_slot_catalog_xmin, and ProcArrayStruct::replication_slot_xmin.
Referenced by logical_begin_heap_rewrite().
|
static |
Definition at line 784 of file procarray.c.
References allProcs, Assert, fb(), GetNumberFromPGProc, INVALID_PROC_NUMBER, LW_EXCLUSIVE, LWLockAcquire(), LWLockRelease(), MyProc, pg_atomic_compare_exchange_u32(), pg_atomic_exchange_u32(), pg_atomic_read_u32(), pg_atomic_write_u32(), pg_write_barrier, PGSemaphoreLock(), PGSemaphoreUnlock(), pgstat_report_wait_end(), pgstat_report_wait_start(), ProcArrayEndTransactionInternal(), PGPROC::procArrayGroupMember, PGPROC::procArrayGroupMemberXid, PGPROC::procArrayGroupNext, ProcGlobal, PGPROC::sem, TransactionIdIsValid, and PGPROC::xid.
Referenced by ProcArrayEndTransaction().
| void ProcArrayInitRecovery | ( | TransactionId | initializedUptoXID | ) |
Definition at line 1014 of file procarray.c.
References Assert, fb(), latestObservedXid, STANDBY_INITIALIZED, standbyState, TransactionIdIsNormal, and TransactionIdRetreat.
Referenced by StartupXLOG().
| bool ProcArrayInstallImportedXmin | ( | TransactionId | xmin, |
| VirtualTransactionId * | sourcevxid | ||
| ) |
Definition at line 2471 of file procarray.c.
References allProcs, Assert, PGPROC::databaseId, fb(), LW_SHARED, LWLockAcquire(), LWLockRelease(), PGPROC::lxid, MyDatabaseId, MyProc, PROC_IN_VACUUM, procArray, ProcGlobal, PGPROC::procNumber, result, PROC_HDR::statusFlags, TransactionIdIsNormal, TransactionIdPrecedesOrEquals(), TransactionXmin, UINT32_ACCESS_ONCE, PGPROC::vxid, and PGPROC::xmin.
Referenced by GetSerializableTransactionSnapshotInt(), and SetTransactionSnapshot().
| bool ProcArrayInstallRestoredXmin | ( | TransactionId | xmin, |
| PGPROC * | proc | ||
| ) |
Definition at line 2555 of file procarray.c.
References Assert, PGPROC::databaseId, fb(), LW_EXCLUSIVE, LWLockAcquire(), LWLockRelease(), MyDatabaseId, MyProc, PGPROC::pgxactoff, PROC_XMIN_FLAGS, ProcGlobal, result, PGPROC::statusFlags, PROC_HDR::statusFlags, TransactionIdIsNormal, TransactionIdPrecedesOrEquals(), TransactionXmin, UINT32_ACCESS_ONCE, and PGPROC::xmin.
Referenced by SetTransactionSnapshot().
| void ProcArrayRemove | ( | PGPROC * | proc, |
| TransactionId | latestXid | ||
| ) |
Definition at line 561 of file procarray.c.
References allProcs, PROC_HDR::allProcs, Assert, XidCacheStatus::count, fb(), InvalidTransactionId, LW_EXCLUSIVE, LWLockAcquire(), LWLockRelease(), MaintainLatestCompletedXid(), NUM_AUXILIARY_PROCS, XidCacheStatus::overflowed, PGPROC::pgxactoff, PGPROC::pid, procArray, ProcGlobal, PROC_HDR::statusFlags, PROC_HDR::subxidStates, TransactionIdIsValid, TransamVariables, TransamVariablesData::xactCompletionCount, and PROC_HDR::xids.
Referenced by FinishPreparedTransaction(), and RemoveProcFromArray().
| void ProcArraySetReplicationSlotXmin | ( | TransactionId | xmin, |
| TransactionId | catalog_xmin, | ||
| bool | already_locked | ||
| ) |
Definition at line 3942 of file procarray.c.
References Assert, DEBUG1, elog, fb(), LW_EXCLUSIVE, LWLockAcquire(), LWLockHeldByMe(), LWLockRelease(), procArray, ProcArrayStruct::replication_slot_catalog_xmin, and ProcArrayStruct::replication_slot_xmin.
Referenced by ReplicationSlotsComputeRequiredXmin().
Definition at line 455 of file procarray.c.
References allProcs, PROC_HDR::allProcs, and ProcGlobal.
Definition at line 438 of file procarray.c.
References allProcs, PROC_HDR::allProcs, ProcArrayStruct::headKnownAssignedXids, InvalidTransactionId, ProcArrayStruct::lastOverflowedXid, ProcArrayStruct::maxKnownAssignedXids, ProcArrayStruct::maxProcs, ProcArrayStruct::numKnownAssignedXids, ProcArrayStruct::numProcs, procArray, PROCARRAY_MAXPROCS, ProcGlobal, ProcArrayStruct::replication_slot_catalog_xmin, ProcArrayStruct::replication_slot_xmin, ProcArrayStruct::tailKnownAssignedXids, TOTAL_MAX_CACHED_SUBXIDS, TransamVariables, and TransamVariablesData::xactCompletionCount.
Definition at line 393 of file procarray.c.
References add_size(), EnableHotStandby, fb(), KnownAssignedXids, KnownAssignedXidsValid, mul_size(), name, procArray, PROCARRAY_MAXPROCS, ShmemRequestStruct, and TOTAL_MAX_CACHED_SUBXIDS.
| PGPROC * ProcNumberGetProc | ( | ProcNumber | procNumber | ) |
Definition at line 3090 of file procarray.c.
References PROC_HDR::allProcCount, fb(), GetPGProcByNumber, ProcGlobal, and result.
Referenced by checkTempNamespaceStatus(), LogRecoveryConflict(), VirtualXactLock(), WaitForLockersMultiple(), and WaitForOlderSnapshots().
| void ProcNumberGetTransactionIds | ( | ProcNumber | procNumber, |
| TransactionId * | xid, | ||
| TransactionId * | xmin, | ||
| int * | nsubxid, | ||
| bool * | overflowed | ||
| ) |
Definition at line 3112 of file procarray.c.
References PROC_HDR::allProcCount, XidCacheStatus::count, fb(), GetPGProcByNumber, InvalidTransactionId, LW_SHARED, LWLockAcquire(), LWLockRelease(), XidCacheStatus::overflowed, PGPROC::pid, ProcGlobal, PGPROC::subxidStatus, PGPROC::xid, and PGPROC::xmin.
Referenced by pgstat_read_current_status().
| void RecordKnownAssignedTransactionIds | ( | TransactionId | xid | ) |
Definition at line 4435 of file procarray.c.
References AdvanceNextFullTransactionIdPastXid(), Assert, DEBUG4, elog, ExtendSUBTRANS(), fb(), KnownAssignedXidsAdd(), latestObservedXid, STANDBY_INITIALIZED, standbyState, TransactionIdAdvance, TransactionIdFollows(), TransactionIdIsValid, and TransactionIdPrecedes().
Referenced by ApplyWalRecord(), ProcArrayApplyXidAssignment(), xact_redo_abort(), and xact_redo_commit().
| bool SignalRecoveryConflict | ( | PGPROC * | proc, |
| pid_t | pid, | ||
| RecoveryConflictReason | reason | ||
| ) |
Definition at line 3446 of file procarray.c.
References fb(), GetNumberFromPGProc, LW_SHARED, LWLockAcquire(), LWLockRelease(), PGPROC::pendingRecoveryConflicts, pg_atomic_fetch_or_u32(), PGPROC::pid, PROCSIG_RECOVERY_CONFLICT, and SendProcSignal().
Referenced by InvalidatePossiblyObsoleteSlot().
| void SignalRecoveryConflictWithDatabase | ( | Oid | databaseid, |
| RecoveryConflictReason | reason | ||
| ) |
Definition at line 3521 of file procarray.c.
References allProcs, PGPROC::databaseId, fb(), GET_VXID_FROM_PGPROC, InvalidOid, LW_EXCLUSIVE, LWLockAcquire(), LWLockRelease(), PGPROC::pendingRecoveryConflicts, pg_atomic_fetch_or_u32(), PGPROC::pid, procArray, PROCSIG_RECOVERY_CONFLICT, and SendProcSignal().
Referenced by ResolveRecoveryConflictWithDatabase(), and SendRecoveryConflictWithBufferPin().
| bool SignalRecoveryConflictWithVirtualXID | ( | VirtualTransactionId | vxid, |
| RecoveryConflictReason | reason | ||
| ) |
Definition at line 3476 of file procarray.c.
References allProcs, fb(), GET_VXID_FROM_PGPROC, VirtualTransactionId::localTransactionId, LW_SHARED, LWLockAcquire(), LWLockRelease(), PGPROC::pendingRecoveryConflicts, pg_atomic_fetch_or_u32(), PGPROC::pid, procArray, VirtualTransactionId::procNumber, PROCSIG_RECOVERY_CONFLICT, and SendProcSignal().
Referenced by ResolveRecoveryConflictWithLock(), and ResolveRecoveryConflictWithVirtualXIDs().
Definition at line 3827 of file procarray.c.
References allProcs, BackendPidGetProc(), PGPROC::databaseId, ereport, errcode(), errdetail(), errdetail_plural(), errmsg, ERROR, fb(), get_database_name(), GetUserId(), has_privs_of_role(), i, kill, lappend_int(), lfirst_int, LW_SHARED, LWLockAcquire(), LWLockRelease(), MyProc, NIL, ProcArrayStruct::numProcs, PGPROC::pid, procArray, PGPROC::roleId, superuser(), and superuser_arg().
Referenced by dropdb().
| bool TransactionIdIsInProgress | ( | TransactionId | xid | ) |
Definition at line 1393 of file procarray.c.
References allProcs, Assert, cachedXidIsNotInProgress, ereport, errcode(), errmsg, ERROR, fb(), j, KnownAssignedXidExists(), KnownAssignedXidsGet(), ProcArrayStruct::lastOverflowedXid, TransamVariablesData::latestCompletedXid, LW_SHARED, LWLockAcquire(), LWLockRelease(), malloc, MyProc, pg_lfind32(), pg_read_barrier, PGPROC::pgxactoff, procArray, ProcGlobal, RecentXmin, RecoveryInProgress(), SubTransGetTopmostTransaction(), PGPROC::subxids, PROC_HDR::subxidStates, TOTAL_MAX_CACHED_SUBXIDS, TransactionIdDidAbort(), TransactionIdEquals, TransactionIdIsCurrentTransactionId(), TransactionIdIsValid, TransactionIdPrecedes(), TransactionIdPrecedesOrEquals(), TransamVariables, UINT32_ACCESS_ONCE, xc_by_child_xid_inc, xc_by_known_assigned_inc, xc_by_known_xact_inc, xc_by_latest_xid_inc, xc_by_main_xid_inc, xc_by_my_xact_inc, xc_by_recent_xmin_inc, xc_no_overflow_inc, xc_slow_answer_inc, XidFromFullTransactionId, XidCache::xids, and PROC_HDR::xids.
Referenced by check_safe_enum_use(), compute_new_xmax_infomask(), ConditionalXactLockTableWait(), Do_MultiXactIdWait(), DoesMultiXactIdConflict(), FreezeMultiXactId(), get_xid_status(), HandleConcurrentAbort(), HeapTupleCleanMoved(), HeapTupleHeaderIsOnlyLocked(), HeapTupleSatisfiesDirty(), HeapTupleSatisfiesSelf(), HeapTupleSatisfiesUpdate(), HeapTupleSatisfiesVacuumHorizon(), MultiXactIdExpand(), MultiXactIdIsRunning(), pg_xact_status(), ReorderBufferCheckAndTruncateAbortedTXN(), test_lockmode_for_conflict(), verify_heapam(), and XactLockTableWait().
| void XidCacheRemoveRunningXids | ( | TransactionId | xid, |
| int | nxids, | ||
| const TransactionId * | xids, | ||
| TransactionId | latestXid | ||
| ) |
Definition at line 3990 of file procarray.c.
References Assert, XidCacheStatus::count, elog, fb(), i, j, LW_EXCLUSIVE, LWLockAcquire(), LWLockRelease(), MaintainLatestCompletedXid(), MyProc, pg_write_barrier, PGPROC::pgxactoff, ProcGlobal, PGPROC::subxids, PROC_HDR::subxidStates, PGPROC::subxidStatus, TransactionIdEquals, TransactionIdIsValid, TransamVariables, WARNING, TransamVariablesData::xactCompletionCount, and XidCache::xids.
Referenced by RecordTransactionAbort().
|
static |
Definition at line 285 of file procarray.c.
Referenced by BackendPidGetProcWithLock(), BackendXidGetPid(), ComputeXidHorizons(), CountDBBackends(), CountDBConnections(), CountOtherDBBackends(), CountUserBackends(), GetConflictingVirtualXIDs(), GetCurrentVirtualXIDs(), GetOldestActiveTransactionId(), GetRunningTransactionData(), GetSnapshotData(), GetVirtualXIDsDelayingChkpt(), HaveVirtualXIDsDelayingChkpt(), MinimumActiveBackends(), ProcArrayAdd(), ProcArrayGroupClearXid(), ProcArrayInstallImportedXmin(), ProcArrayRemove(), ProcArrayShmemAttach(), ProcArrayShmemInit(), SignalRecoveryConflictWithDatabase(), SignalRecoveryConflictWithVirtualXID(), TerminateOtherDBBackends(), and TransactionIdIsInProgress().
|
static |
Definition at line 290 of file procarray.c.
Referenced by TransactionIdIsInProgress().
|
static |
Definition at line 324 of file procarray.c.
Referenced by GlobalVisTestShouldUpdate(), and GlobalVisUpdateApply().
|
static |
Definition at line 315 of file procarray.c.
Referenced by GetSnapshotData(), GlobalVisTestFor(), and GlobalVisUpdateApply().
|
static |
Definition at line 316 of file procarray.c.
Referenced by GetSnapshotData(), GlobalVisTestFor(), and GlobalVisUpdateApply().
|
static |
Definition at line 314 of file procarray.c.
Referenced by GetSnapshotData(), GlobalVisTestFor(), and GlobalVisUpdateApply().
|
static |
Definition at line 317 of file procarray.c.
Referenced by GetSnapshotData(), GlobalVisTestFor(), and GlobalVisUpdateApply().
|
static |
Definition at line 296 of file procarray.c.
Referenced by KnownAssignedXidsAdd(), KnownAssignedXidsCompress(), KnownAssignedXidsDisplay(), KnownAssignedXidsGetAndSetXmin(), KnownAssignedXidsGetOldestXmin(), KnownAssignedXidsRemovePreceding(), KnownAssignedXidsSearch(), and ProcArrayShmemRequest().
|
static |
Definition at line 298 of file procarray.c.
Referenced by KnownAssignedXidsAdd(), KnownAssignedXidsCompress(), KnownAssignedXidsDisplay(), KnownAssignedXidsGetAndSetXmin(), KnownAssignedXidsGetOldestXmin(), KnownAssignedXidsRemovePreceding(), KnownAssignedXidsSearch(), and ProcArrayShmemRequest().
|
static |
Definition at line 300 of file procarray.c.
Referenced by ProcArrayApplyRecoveryInfo(), ProcArrayInitRecovery(), and RecordKnownAssignedTransactionIds().
|
static |
Definition at line 111 of file procarray.c.
Referenced by BackendPidGetProcWithLock(), BackendXidGetPid(), ComputeXidHorizons(), CountDBBackends(), CountDBConnections(), CountOtherDBBackends(), CountUserBackends(), ExpireAllKnownAssignedTransactionIds(), ExpireOldKnownAssignedTransactionIds(), GetConflictingVirtualXIDs(), GetCurrentVirtualXIDs(), GetMaxSnapshotXidCount(), GetOldestActiveTransactionId(), GetOldestSafeDecodingTransactionId(), GetRunningTransactionData(), GetSnapshotData(), GetVirtualXIDsDelayingChkpt(), HaveVirtualXIDsDelayingChkpt(), KnownAssignedXidsAdd(), KnownAssignedXidsCompress(), KnownAssignedXidsDisplay(), KnownAssignedXidsGetAndSetXmin(), KnownAssignedXidsGetOldestXmin(), KnownAssignedXidsRemovePreceding(), KnownAssignedXidsReset(), KnownAssignedXidsSearch(), MinimumActiveBackends(), ProcArrayAdd(), ProcArrayApplyRecoveryInfo(), ProcArrayApplyXidAssignment(), ProcArrayGetReplicationSlotXmin(), ProcArrayInstallImportedXmin(), ProcArrayRemove(), ProcArraySetReplicationSlotXmin(), ProcArrayShmemInit(), ProcArrayShmemRequest(), SignalRecoveryConflictWithDatabase(), SignalRecoveryConflictWithVirtualXID(), TerminateOtherDBBackends(), and TransactionIdIsInProgress().
| const struct ShmemCallbacks ProcArrayShmemCallbacks |
Definition at line 113 of file procarray.c.
|
static |
Definition at line 307 of file procarray.c.
Referenced by ProcArrayApplyRecoveryInfo().