aboutsummaryrefslogtreecommitdiff
path: root/src/include/utils/guc.h
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2008-07-23 17:29:53 +0000
committerTom Lane <tgl@sss.pgh.pa.us>2008-07-23 17:29:53 +0000
commit11c794f2249ba6b1d890da309e26e0ddff8bc60c (patch)
tree40d0a6fdad1bb8fd5350d4034ca7feebb312f416 /src/include/utils/guc.h
parent509303a597a1688e6c2230c83634a75f872d270c (diff)
downloadpostgresql-11c794f2249ba6b1d890da309e26e0ddff8bc60c.tar.gz
postgresql-11c794f2249ba6b1d890da309e26e0ddff8bc60c.zip
Use guc.c's parse_int() instead of pg_atoi() to parse fillfactor in
default_reloptions(). The previous coding was really a bug because pg_atoi() will always throw elog on bad input data, whereas default_reloptions is not supposed to complain about bad input unless its validate parameter is true. Right now you could only expose the problem by hand-modifying pg_class.reloptions into an invalid state, so it doesn't seem worth back-patching; but we should get it right in HEAD because there might be other situations in future. Noted while studying GIN fast-update patch.
Diffstat (limited to 'src/include/utils/guc.h')
-rw-r--r--src/include/utils/guc.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/include/utils/guc.h b/src/include/utils/guc.h
index c6e42ef520e..87c383e1ebd 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.97 2008/06/30 22:10:43 momjian Exp $
+ * $PostgreSQL: pgsql/src/include/utils/guc.h,v 1.98 2008/07/23 17:29:53 tgl Exp $
*--------------------------------------------------------------------
*/
#ifndef GUC_H
@@ -224,6 +224,9 @@ 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 parse_int(const char *value, int *result, int flags,
+ const char **hintmsg);
+extern bool parse_real(const char *value, double *result);
extern bool set_config_option(const char *name, const char *value,
GucContext context, GucSource source,
GucAction action, bool changeVal);