Reset minRecoveryPoint at checkpoints, so that we don't uselessly update

it in the control file at crash recovery following an archive recovery.

Per Fujii Masao and subsequent discussion.
This commit is contained in:
Heikki Linnakangas 2009-12-30 08:37:21 +00:00
parent 4847d5956c
commit ff1e1e45b9
1 changed files with 3 additions and 1 deletions

View File

@ -7,7 +7,7 @@
* Portions Copyright (c) 1996-2009, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
* $PostgreSQL: pgsql/src/backend/access/transam/xlog.c,v 1.354 2009/12/19 01:32:33 sriggs Exp $
* $PostgreSQL: pgsql/src/backend/access/transam/xlog.c,v 1.355 2009/12/30 08:37:21 heikki Exp $
*
*-------------------------------------------------------------------------
*/
@ -6882,6 +6882,8 @@ CreateCheckPoint(int flags)
ControlFile->checkPoint = ProcLastRecPtr;
ControlFile->checkPointCopy = checkPoint;
ControlFile->time = (pg_time_t) time(NULL);
/* crash recovery should always recover to the end of WAL */
MemSet(&ControlFile->minRecoveryPoint, 0, sizeof(XLogRecPtr));
UpdateControlFile();
LWLockRelease(ControlFileLock);