1
0
mirror of https://github.com/postgres/postgres.git synced 2025-12-19 17:02:53 +03:00

Refactor WaitLSNType enum to use a macro for type count

Change WAIT_LSN_TYPE_COUNT from an enum sentinel to a macro definition,
in a similar way to IOObject, IOContext, and BackendType enums.  Remove
explicit enum value assignments well.

Author: Xuneng Zhou <xunengzhou@gmail.com>
This commit is contained in:
Alexander Korotkov
2025-12-14 17:18:32 +02:00
parent c5ae07a90a
commit b27e48213f
2 changed files with 9 additions and 8 deletions

View File

@@ -126,7 +126,7 @@ updateMinWaitedLSN(WaitLSNType lsnType)
XLogRecPtr minWaitedLSN = PG_UINT64_MAX;
int i = (int) lsnType;
Assert(i >= 0 && i < (int) WAIT_LSN_TYPE_COUNT);
Assert(i >= 0 && i < WAIT_LSN_TYPE_COUNT);
if (!pairingheap_is_empty(&waitLSNState->waitersHeap[i]))
{
@@ -147,7 +147,7 @@ addLSNWaiter(XLogRecPtr lsn, WaitLSNType lsnType)
WaitLSNProcInfo *procInfo = &waitLSNState->procInfos[MyProcNumber];
int i = (int) lsnType;
Assert(i >= 0 && i < (int) WAIT_LSN_TYPE_COUNT);
Assert(i >= 0 && i < WAIT_LSN_TYPE_COUNT);
LWLockAcquire(WaitLSNLock, LW_EXCLUSIVE);
@@ -172,7 +172,7 @@ deleteLSNWaiter(WaitLSNType lsnType)
WaitLSNProcInfo *procInfo = &waitLSNState->procInfos[MyProcNumber];
int i = (int) lsnType;
Assert(i >= 0 && i < (int) WAIT_LSN_TYPE_COUNT);
Assert(i >= 0 && i < WAIT_LSN_TYPE_COUNT);
LWLockAcquire(WaitLSNLock, LW_EXCLUSIVE);
@@ -213,7 +213,7 @@ wakeupWaiters(WaitLSNType lsnType, XLogRecPtr currentLSN)
int numWakeUpProcs;
int i = (int) lsnType;
Assert(i >= 0 && i < (int) WAIT_LSN_TYPE_COUNT);
Assert(i >= 0 && i < WAIT_LSN_TYPE_COUNT);
do
{
@@ -270,7 +270,7 @@ WaitLSNWakeup(WaitLSNType lsnType, XLogRecPtr currentLSN)
{
int i = (int) lsnType;
Assert(i >= 0 && i < (int) WAIT_LSN_TYPE_COUNT);
Assert(i >= 0 && i < WAIT_LSN_TYPE_COUNT);
/*
* Fast path check. Skip if currentLSN is InvalidXLogRecPtr, which means