diff options
author | Bruce Momjian <bruce@momjian.us> | 2008-06-30 22:10:43 +0000 |
---|---|---|
committer | Bruce Momjian <bruce@momjian.us> | 2008-06-30 22:10:43 +0000 |
commit | 6b797c852bd45a3c3ed5cd375513c542778a9e48 (patch) | |
tree | ed920b6d82a8ae17210dc438d0137440d806f217 /src | |
parent | 5ce521f648ad33d3c92b2459423151752f48f6dc (diff) | |
download | postgresql-6b797c852bd45a3c3ed5cd375513c542778a9e48.tar.gz postgresql-6b797c852bd45a3c3ed5cd375513c542778a9e48.zip |
Fix recovery.conf boolean variables to take the same range of string
values as postgresql.conf.
Diffstat (limited to 'src')
-rw-r--r-- | src/backend/access/transam/xlog.c | 24 | ||||
-rw-r--r-- | src/backend/utils/misc/guc.c | 4 | ||||
-rw-r--r-- | src/include/utils/guc.h | 3 |
3 files changed, 13 insertions, 18 deletions
diff --git a/src/backend/access/transam/xlog.c b/src/backend/access/transam/xlog.c index 4c9b7872ca3..2e832db4b15 100644 --- a/src/backend/access/transam/xlog.c +++ b/src/backend/access/transam/xlog.c @@ -7,7 +7,7 @@ * Portions Copyright (c) 1996-2008, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $PostgreSQL: pgsql/src/backend/access/transam/xlog.c,v 1.314 2008/06/12 09:12:30 heikki Exp $ + * $PostgreSQL: pgsql/src/backend/access/transam/xlog.c,v 1.315 2008/06/30 22:10:43 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -4523,13 +4523,10 @@ readRecoveryCommandFile(void) /* * does nothing if a recovery_target is not also set */ - if (strcmp(tok2, "true") == 0) - recoveryTargetInclusive = true; - else - { - recoveryTargetInclusive = false; - tok2 = "false"; - } + if (!parse_bool(tok2, &recoveryTargetInclusive)) + ereport(ERROR, + (errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("parameter \"recovery_target_inclusive\" requires a Boolean value"))); ereport(LOG, (errmsg("recovery_target_inclusive = %s", tok2))); } @@ -4538,13 +4535,10 @@ readRecoveryCommandFile(void) /* * does nothing if a recovery_target is not also set */ - if (strcmp(tok2, "true") == 0) - recoveryLogRestartpoints = true; - else - { - recoveryLogRestartpoints = false; - tok2 = "false"; - } + if (!parse_bool(tok2, &recoveryLogRestartpoints)) + ereport(ERROR, + (errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("parameter \"log_restartpoints\" requires a Boolean value"))); ereport(LOG, (errmsg("log_restartpoints = %s", tok2))); } diff --git a/src/backend/utils/misc/guc.c b/src/backend/utils/misc/guc.c index 76c6843fd6c..44336b28329 100644 --- a/src/backend/utils/misc/guc.c +++ b/src/backend/utils/misc/guc.c @@ -10,7 +10,7 @@ * Written by Peter Eisentraut <peter_e@gmx.net>. * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/utils/misc/guc.c,v 1.457 2008/06/30 10:58:47 heikki Exp $ + * $PostgreSQL: pgsql/src/backend/utils/misc/guc.c,v 1.458 2008/06/30 22:10:43 momjian Exp $ * *-------------------------------------------------------------------- */ @@ -3991,7 +3991,7 @@ ReportGUCOption(struct config_generic * record) * If the string parses okay, return true, else false. * If okay and result is not NULL, return the value in *result. */ -static bool +bool parse_bool(const char *value, bool *result) { size_t len = strlen(value); diff --git a/src/include/utils/guc.h b/src/include/utils/guc.h index 2337487d463..c6e42ef520e 100644 --- a/src/include/utils/guc.h +++ b/src/include/utils/guc.h @@ -7,7 +7,7 @@ * Copyright (c) 2000-2008, PostgreSQL Global Development Group * Written by Peter Eisentraut <peter_e@gmx.net>. * - * $PostgreSQL: pgsql/src/include/utils/guc.h,v 1.96 2008/05/28 09:04:06 mha Exp $ + * $PostgreSQL: pgsql/src/include/utils/guc.h,v 1.97 2008/06/30 22:10:43 momjian Exp $ *-------------------------------------------------------------------- */ #ifndef GUC_H @@ -223,6 +223,7 @@ extern int NewGUCNestLevel(void); extern void AtEOXact_GUC(bool isCommit, int nestLevel); extern void BeginReportingGUCOptions(void); extern void ParseLongOption(const char *string, char **name, char **value); +extern bool parse_bool(const char *value, bool *result); extern bool set_config_option(const char *name, const char *value, GucContext context, GucSource source, GucAction action, bool changeVal); |