From: Simon Riggs <simon@2ndQuadrant.com>
Date: Wed, 22 Feb 2012 13:55:04 +0000 (+0000)
Subject: Correctly initialise shared recoveryLastRecPtr in recovery.
X-Git-Tag: REL9_0_7~9
X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=315cb2f9672e93f6b34726ce81c7e75a374aedd2;p=postgresql

Correctly initialise shared recoveryLastRecPtr in recovery.
Previously we used ReadRecPtr rather than EndRecPtr, which was
not a serious error but caused pg_stat_replication to report
incorrect replay_location until at least one WAL record is replayed.

Fujii Masao
---

diff --git a/src/backend/access/transam/xlog.c b/src/backend/access/transam/xlog.c
index 936c2bf24a..85cb2accc3 100644
--- a/src/backend/access/transam/xlog.c
+++ b/src/backend/access/transam/xlog.c
@@ -6134,7 +6134,7 @@ StartupXLOG(void)
 		 */
 		SpinLockAcquire(&xlogctl->info_lck);
 		xlogctl->replayEndRecPtr = ReadRecPtr;
-		xlogctl->recoveryLastRecPtr = ReadRecPtr;
+		xlogctl->recoveryLastRecPtr = EndRecPtr;
 		xlogctl->recoveryLastXTime = 0;
 		SpinLockRelease(&xlogctl->info_lck);