diff --git a/src/backend/access/transam/xlogrecovery.c b/src/backend/access/transam/xlogrecovery.c index db1ffd43bf6..6a4abbcb6f1 100644 --- a/src/backend/access/transam/xlogrecovery.c +++ b/src/backend/access/transam/xlogrecovery.c @@ -2675,9 +2675,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; @@ -4649,9 +4651,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 f84b093d9cd..4912de845a7 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)