values as postgresql.conf.
index 4c9b7872ca35db86c369a4d1727a7efdb8bb17fd..2e832db4b1556f31bd30c2100eeaa4f62afe7604 100644 (file)
* 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 $
*
*-------------------------------------------------------------------------
*/
/*
* 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)));
}
/*
* 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)));
}
index 76c6843fd6cb8c5ae89aa2acfdb6b9df264687ba..44336b283294dcbc8fe3b90b1671a7c11320d5dc 100644 (file)
* 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 $
*
*--------------------------------------------------------------------
*/
* 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);
index 2337487d463ec90467032b2d0922814e6ee5c45f..c6e42ef520e3b0dd6747401548f454eb362b4f44 100644 (file)
* 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
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);