diff --git a/src/backend/access/transam/xlogrecovery.c b/src/backend/access/transam/xlogrecovery.c index fad092d1c71..9979fcb63f9 100644 --- a/src/backend/access/transam/xlogrecovery.c +++ b/src/backend/access/transam/xlogrecovery.c @@ -2663,9 +2663,11 @@ recoveryStopsBefore(XLogReaderState *record) timestamptz_to_str(recoveryStopTime)))); return true; } + return false; } + /* Otherwise we only consider stopping before COMMIT or ABORT records. */ - else if (XLogRecGetRmid(record) != RM_XACT_ID) + if (XLogRecGetRmid(record) != RM_XACT_ID) return false; xact_info = XLogRecGetInfo(record) & XLOG_XACT_OPMASK; @@ -4627,9 +4629,10 @@ XLogRecPtr GetEffectiveXlogReplayRecPtr(void) { XLogRecPtr recptr = InvalidXLogRecPtr; + bool useHook = GetReplayXlogPtrHook != NULL && RecoveryInProgress(); SpinLockAcquire(&XLogRecoveryCtl->info_lck); - if (GetReplayXlogPtrHook) + if (useHook) recptr = GetReplayXlogPtrHook(); if (recptr == InvalidXLogRecPtr) recptr = XLogRecoveryCtl->lastReplayedEndRecPtr; diff --git a/src/backend/executor/nodeLockRows.c b/src/backend/executor/nodeLockRows.c index ac401d7a470..2d3ad904a64 100644 --- a/src/backend/executor/nodeLockRows.c +++ b/src/backend/executor/nodeLockRows.c @@ -165,7 +165,7 @@ ExecLockRows(PlanState *pstate) } else { - Assert(erm->refType = ROW_REF_ROWID); + Assert(erm->refType == ROW_REF_ROWID); datum = datumCopy(datum, false, -1); } switch (erm->markType)