OSDN Git Service

Remove piece of code to zero out minRecoveryPoint when starting crash
authorHeikki Linnakangas <heikki.linnakangas@iki.fi>
Mon, 8 Feb 2010 09:08:51 +0000 (09:08 +0000)
committerHeikki Linnakangas <heikki.linnakangas@iki.fi>
Mon, 8 Feb 2010 09:08:51 +0000 (09:08 +0000)
recovery. It's zeroed out whenever a checkpoint is written, so the only
scenario where the removed code did anything is when you kill archive
recovery, remove recovery.conf, and start up the server, so that it goes
into crash recovery instead. That's a "don't do that" scenario, but it
seems better to not clear minRecoveryPoint but instead update it like we
do in archive recovery, which is what will now happen.

src/backend/access/transam/xlog.c

index 067827a..4b42937 100644 (file)
@@ -7,7 +7,7 @@
  * Portions Copyright (c) 1996-2010, PostgreSQL Global Development Group
  * Portions Copyright (c) 1994, Regents of the University of California
  *
- * $PostgreSQL: pgsql/src/backend/access/transam/xlog.c,v 1.368 2010/02/08 04:33:53 tgl Exp $
+ * $PostgreSQL: pgsql/src/backend/access/transam/xlog.c,v 1.369 2010/02/08 09:08:51 heikki Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -5656,11 +5656,6 @@ StartupXLOG(void)
                        if (XLByteLT(ControlFile->minRecoveryPoint, checkPoint.redo))
                                ControlFile->minRecoveryPoint = checkPoint.redo;
                }
-               else
-               {
-                       XLogRecPtr      InvalidXLogRecPtr = {0, 0};
-                       ControlFile->minRecoveryPoint = InvalidXLogRecPtr;
-               }
                /*
                 * set backupStartupPoint if we're starting archive recovery from a
                 * base backup