diff options
Diffstat (limited to 'src/backend/utils/misc/guc.c')
-rw-r--r-- | src/backend/utils/misc/guc.c | 74 |
1 files changed, 73 insertions, 1 deletions
diff --git a/src/backend/utils/misc/guc.c b/src/backend/utils/misc/guc.c index 0c24034b5f2..a1c2f24b77f 100644 --- a/src/backend/utils/misc/guc.c +++ b/src/backend/utils/misc/guc.c @@ -5,7 +5,7 @@ * command, configuration file, and command line options. * See src/backend/utils/misc/README for more information. * - * $Header: /cvsroot/pgsql/src/backend/utils/misc/guc.c,v 1.91 2002/09/02 01:05:06 tgl Exp $ + * $Header: /cvsroot/pgsql/src/backend/utils/misc/guc.c,v 1.92 2002/09/02 05:42:54 momjian Exp $ * * Copyright 2000 by PostgreSQL Global Development Group * Written by Peter Eisentraut <peter_e@gmx.net>. @@ -71,6 +71,9 @@ static const char *assign_facility(const char *facility, bool doit, bool interactive); #endif +static const char *assign_msglvl(int *var, const char *newval, + bool doit, bool interactive); + /* * Debugging options */ @@ -99,6 +102,19 @@ bool Australian_timezones = false; bool Password_encryption = true; +int log_min_error_statement; +char *log_min_error_statement_str = NULL; +const char log_min_error_statement_str_default[] = "error"; + +int server_min_messages; +char *server_min_messages_str = NULL; +const char server_min_messages_str_default[] = "notice"; + +int client_min_messages; +char *client_min_messages_str = NULL; +const char client_min_messages_str_default[] = "notice"; + + #ifndef PG_KRB_SRVTAB #define PG_KRB_SRVTAB "" #endif @@ -727,6 +743,11 @@ static struct config_string }, { + { "log_min_error_statement", PGC_USERSET }, &log_min_error_statement_str, + log_min_error_statement_str_default, assign_min_error_statement, NULL + }, + + { { "DateStyle", PGC_USERSET, GUC_LIST_INPUT }, &datestyle_string, "ISO, US", assign_datestyle, show_datestyle }, @@ -2877,3 +2898,54 @@ GUCArrayDelete(ArrayType *array, const char *name) return newarray; } + +const char * +assign_server_min_messages(const char *newval, + bool doit, bool interactive) +{ + return(assign_msglvl(&server_min_messages,newval,doit,interactive)); +} + +const char * +assign_client_min_messages(const char *newval, + bool doit, bool interactive) +{ + return(assign_msglvl(&client_min_messages,newval,doit,interactive)); +} + +const char * +assign_min_error_statement(const char *newval, bool doit, bool interactive) +{ + return(assign_msglvl(&log_min_error_statement,newval,doit,interactive)); +} + +static const char * +assign_msglvl(int *var, const char *newval, bool doit, bool interactive) +{ + if (strcasecmp(newval, "debug") == 0) + { if (doit) (*var) = DEBUG1; } + else if (strcasecmp(newval, "debug5") == 0) + { if (doit) (*var) = DEBUG5; } + else if (strcasecmp(newval, "debug4") == 0) + { if (doit) (*var) = DEBUG4; } + else if (strcasecmp(newval, "debug3") == 0) + { if (doit) (*var) = DEBUG3; } + else if (strcasecmp(newval, "debug2") == 0) + { if (doit) (*var) = DEBUG2; } + else if (strcasecmp(newval, "debug1") == 0) + { if (doit) (*var) = DEBUG1; } + else if (strcasecmp(newval, "log") == 0) + { if (doit) (*var) = LOG; } + else if (strcasecmp(newval, "info") == 0) + { if (doit) (*var) = INFO; } + else if (strcasecmp(newval, "notice") == 0) + { if (doit) (*var) = NOTICE; } + else if (strcasecmp(newval, "warning") == 0) + { if (doit) (*var) = WARNING; } + else if (strcasecmp(newval, "error") == 0) + { if (doit) (*var) = ERROR; } + else + return NULL; /* fail */ + return newval; /* OK */ +} + |