# Some commonly-used locks have predefined positions within MainLWLockArray;
# these are defined here.  If you add a lock, add it to the end to avoid
# renumbering the existing locks; if you remove a lock, consider leaving a gap
# in the numbering sequence for the benefit of DTrace and other external
# debugging scripts.

# 0 is available; was formerly BufFreelistLock
ShmemIndexLock						1
OidGenLock							2
XidGenLock							3
ProcArrayLock						4
SInvalReadLock						5
SInvalWriteLock						6
WALBufMappingLock					7
WALWriteLock						8
ControlFileLock						9
CheckpointLock						10
XactSLRULock						11
SubtransSLRULock					12
MultiXactGenLock					13
MultiXactOffsetSLRULock			14
MultiXactMemberSLRULock			15
RelCacheInitLock					16
CheckpointerCommLock				17
TwoPhaseStateLock					18
TablespaceCreateLock				19
BtreeVacuumLock						20
AddinShmemInitLock					21
AutovacuumLock						22
AutovacuumScheduleLock				23
SyncScanLock						24
RelationMappingLock					25
NotifySLRULock						26
NotifyQueueLock						27
SerializableXactHashLock			28
SerializableFinishedListLock		29
SerializablePredicateLockListLock	30
SerialSLRULock						31
SyncRepLock							32
BackgroundWorkerLock				33
DynamicSharedMemoryControlLock		34
AutoFileLock						35
ReplicationSlotAllocationLock		36
ReplicationSlotControlLock			37
CommitTsSLRULock					38
CommitTsLock						39
ReplicationOriginLock				40
MultiXactTruncationLock				41
OldSnapshotTimeMapLock				42
LogicalRepWorkerLock				43
XactTruncationLock					44
# 45 was CLogTruncationLock until removal of BackendRandomLock
WrapLimitsVacuumLock				46
NotifyQueueTailLock					47

# Additional individual locks in GPDB
SharedSnapshotLock	  		51
DistributedLogControlLock 		52
ResQueueLock		  		53
ResGroupLock		  		54
ErrorLogLock		  		55
SessionStateLock	  		56
RelfilenodeGenLock	  		57
WorkFileManagerLock	  		58
DistributedLogTruncateLock		59
TwophaseCommitLock	  		60
ShareInputScanLock	  		61
FTSReplicationStatusLock  		62
GxidBumpLock		  		63
ParallelCursorEndpointLock		64
CommittedGxidArrayLock			65
