From: Simon Riggs <simon@2ndQuadrant.com> Date: Fri, 23 Apr 2010 20:21:31 +0000 (+0000) Subject: Previous patch revoked following objections. X-Git-Tag: REL9_0_BETA1~34 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=491d1ea5b3605809ec1103e939b3324acc9a2516;p=postgresql Previous patch revoked following objections. --- diff --git a/src/backend/access/transam/xlog.c b/src/backend/access/transam/xlog.c index ba839f941f..3f339825ae 100644 --- a/src/backend/access/transam/xlog.c +++ b/src/backend/access/transam/xlog.c @@ -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.402 2010/04/23 19:57:18 sriggs Exp $ + * $PostgreSQL: pgsql/src/backend/access/transam/xlog.c,v 1.403 2010/04/23 20:21:31 sriggs Exp $ * *------------------------------------------------------------------------- */ @@ -5568,12 +5568,7 @@ CheckRequiredParameterValues(CheckPoint checkPoint) RecoveryRequiresIntParameter("max_locks_per_xact", max_locks_per_xact, checkPoint.max_locks_per_xact); - /* - * Hot Standby currently only depends upon the presence of WAL - * records as indicated by XLOG_MODE_HOT_STANDBY. There is no current - * dependency on whether archiving or streaming are enabled, if either. - */ - if (!(checkPoint.XLogModeFlags & XLOG_MODE_HOT_STANDBY)) + if (!checkPoint.XLogStandbyInfoMode) ereport(ERROR, (errmsg("recovery connections cannot start because the recovery_connections " "parameter is disabled on the WAL source server"))); @@ -7007,13 +7002,7 @@ CreateCheckPoint(int flags) checkPoint.MaxConnections = MaxConnections; checkPoint.max_prepared_xacts = max_prepared_xacts; checkPoint.max_locks_per_xact = max_locks_per_xact; - - if (XLogArchivingActive()) - checkPoint.XLogModeFlags |= XLOG_MODE_ARCHIVING; - if (max_wal_senders > 0) - checkPoint.XLogModeFlags |= XLOG_MODE_STREAMING; - if (XLogRequestRecoveryConnections) - checkPoint.XLogModeFlags |= XLOG_MODE_HOT_STANDBY; + checkPoint.XLogStandbyInfoMode = XLogStandbyInfoActive(); /* * We must hold WALInsertLock while examining insert state to determine diff --git a/src/include/catalog/pg_control.h b/src/include/catalog/pg_control.h index 4637610af7..7342468d05 100644 --- a/src/include/catalog/pg_control.h +++ b/src/include/catalog/pg_control.h @@ -8,7 +8,7 @@ * Portions Copyright (c) 1996-2010, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $PostgreSQL: pgsql/src/include/catalog/pg_control.h,v 1.52 2010/04/23 19:57:19 sriggs Exp $ + * $PostgreSQL: pgsql/src/include/catalog/pg_control.h,v 1.53 2010/04/23 20:21:31 sriggs Exp $ * *------------------------------------------------------------------------- */ @@ -45,7 +45,7 @@ typedef struct CheckPoint int MaxConnections; int max_prepared_xacts; int max_locks_per_xact; - int XLogModeFlags; + bool XLogStandbyInfoMode; /* * Oldest XID still running. This is only needed to initialize hot standby @@ -65,10 +65,6 @@ typedef struct CheckPoint #define XLOG_BACKUP_END 0x50 #define XLOG_UNLOGGED 0x60 -/* XLogModeFlags */ -#define XLOG_MODE_ARCHIVING (1 << 0) -#define XLOG_MODE_STREAMING (1 << 1) -#define XLOG_MODE_HOT_STANDBY (1 << 2) /* System status indicator */ typedef enum DBState