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]))
{
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);
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);
int numWakeUpProcs;
int i = (int) lsnType;
- Assert(i >= 0 && i < (int) WAIT_LSN_TYPE_COUNT);
+ Assert(i >= 0 && i < WAIT_LSN_TYPE_COUNT);
do
{
{
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
*/
typedef enum WaitLSNType
{
- WAIT_LSN_TYPE_REPLAY = 0, /* Waiting for replay on standby */
- WAIT_LSN_TYPE_FLUSH = 1, /* Waiting for flush on primary */
- WAIT_LSN_TYPE_COUNT = 2
+ WAIT_LSN_TYPE_REPLAY, /* Waiting for replay on standby */
+ WAIT_LSN_TYPE_FLUSH, /* Waiting for flush on primary */
} WaitLSNType;
+#define WAIT_LSN_TYPE_COUNT (WAIT_LSN_TYPE_FLUSH + 1)
+
/*
* WaitLSNProcInfo - the shared memory structure representing information
* about the single process, which may wait for LSN operations. An item of