summaryrefslogtreecommitdiff
path: root/src/include
diff options
context:
space:
mode:
Diffstat (limited to 'src/include')
-rw-r--r--src/include/utils/guc.h50
-rw-r--r--src/include/utils/guc_tables.h23
2 files changed, 34 insertions, 39 deletions
diff --git a/src/include/utils/guc.h b/src/include/utils/guc.h
index b7c1b13d0f4..979b5171e80 100644
--- a/src/include/utils/guc.h
+++ b/src/include/utils/guc.h
@@ -7,7 +7,7 @@
* Copyright 2000-2003 by PostgreSQL Global Development Group
* Written by Peter Eisentraut <peter_e@gmx.net>.
*
- * $Id: guc.h,v 1.37 2003/07/28 16:22:13 momjian Exp $
+ * $Id: guc.h,v 1.38 2003/07/28 19:31:32 tgl Exp $
*--------------------------------------------------------------------
*/
#ifndef GUC_H
@@ -49,21 +49,19 @@
* we don't yet know if the user is a superuser.
*
* USERLIMIT options can only be manipulated in certain ways by
- * non-super users.
+ * non-superusers.
*
* USERSET options can be set by anyone any time.
- *
- * Keep in sync with GucContextName in guc.c
*/
typedef enum
{
- PGC_INTERNAL = 0,
- PGC_POSTMASTER = 1,
- PGC_SIGHUP = 2,
- PGC_BACKEND = 3,
- PGC_SUSET = 4,
- PGC_USERLIMIT = 5,
- PGC_USERSET = 6
+ PGC_INTERNAL,
+ PGC_POSTMASTER,
+ PGC_SIGHUP,
+ PGC_BACKEND,
+ PGC_SUSET,
+ PGC_USERLIMIT,
+ PGC_USERSET
} GucContext;
/*
@@ -76,24 +74,21 @@ typedef enum
* as the current value. Note that source == PGC_S_OVERRIDE should be
* used when setting a PGC_INTERNAL option.
*
- * Keep in sync with GucSourceName in guc.c
+ * PGC_S_UNPRIVILEGED isn't actually a source value, but the dividing line
+ * between privileged and unprivileged sources for USERLIMIT purposes.
*/
typedef enum
{
- PGC_S_DEFAULT = 0, /* wired-in default */
- PGC_S_ENV_VAR = 1, /* postmaster environment variable */
- PGC_S_FILE = 2, /* postgresql.conf */
- PGC_S_ARGV = 3, /* postmaster command line */
- PGC_S_USERSTART=4, /*
- * Settings below are controlled by users.
- * This is used by PGC_USERLIMT to prevent
- * non-super users from changing certain settings.
- */
- PGC_S_DATABASE = 5, /* per-database setting */
- PGC_S_USER = 6, /* per-user setting */
- PGC_S_CLIENT = 7, /* from client connection request */
- PGC_S_OVERRIDE = 8, /* special case to forcibly set default */
- PGC_S_SESSION = 9 /* SET command */
+ PGC_S_DEFAULT, /* wired-in default */
+ PGC_S_ENV_VAR, /* postmaster environment variable */
+ PGC_S_FILE, /* postgresql.conf */
+ PGC_S_ARGV, /* postmaster command line */
+ PGC_S_UNPRIVILEGED, /* dividing line for USERLIMIT */
+ PGC_S_DATABASE, /* per-database setting */
+ PGC_S_USER, /* per-user setting */
+ PGC_S_CLIENT, /* from client connection request */
+ PGC_S_OVERRIDE, /* special case to forcibly set default */
+ PGC_S_SESSION /* SET command */
} GucSource;
/* GUC vars that are actually declared in guc.c, rather than elsewhere */
@@ -117,6 +112,7 @@ extern bool Australian_timezones;
extern int log_min_error_statement;
extern int log_min_messages;
extern int client_min_messages;
+extern int log_min_duration_statement;
extern void SetConfigOption(const char *name, const char *value,
@@ -154,6 +150,4 @@ void write_nondefault_variables(GucContext context);
void read_nondefault_variables(void);
#endif
-extern int log_min_duration_statement;
-
#endif /* GUC_H */
diff --git a/src/include/utils/guc_tables.h b/src/include/utils/guc_tables.h
index 564df0da253..b1abc0b1074 100644
--- a/src/include/utils/guc_tables.h
+++ b/src/include/utils/guc_tables.h
@@ -7,7 +7,7 @@
*
* Portions Copyright (c) 1996-2002, PostgreSQL Global Development Group
*
- * $Id: guc_tables.h,v 1.3 2003/07/28 16:22:16 momjian Exp $
+ * $Id: guc_tables.h,v 1.4 2003/07/28 19:31:32 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@@ -15,9 +15,7 @@
#define GUC_TABLES 1
/*
- * Groupings to help organize all the run-time options for display.
- *
- * Keep this in sync with config_group_names[] in guc.c.
+ * Groupings to help organize all the run-time options for display
*/
enum config_group
{
@@ -55,18 +53,15 @@ enum config_group
DEVELOPER_OPTIONS
};
-
/*
* GUC supports these types of variables:
- *
- * Keep in sync with config_type_name in guc.c
*/
enum config_type
{
- PGC_BOOL = 0,
- PGC_INT = 1,
- PGC_REAL = 2,
- PGC_STRING = 3
+ PGC_BOOL,
+ PGC_INT,
+ PGC_REAL,
+ PGC_STRING
};
/*
@@ -171,7 +166,13 @@ struct config_string
char *tentative_val;
};
+/* constant tables corresponding to enums above and in guc.h */
extern const char * const config_group_names[];
+extern const char * const config_type_names[];
+extern const char * const GucContext_Names[];
+extern const char * const GucSource_Names[];
+
+/* the current set of variables */
extern struct config_generic **guc_variables;
extern int num_guc_variables;