Commit 920c5062 authored by Tom Lane's avatar Tom Lane

SetPGVariable() crashed on SET DateStyle TO DEFAULT and related cases.

parent d3543706
......@@ -9,7 +9,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/commands/variable.c,v 1.40 2000/08/01 18:29:29 tgl Exp $
* $Header: /cvsroot/pgsql/src/backend/commands/variable.c,v 1.41 2000/09/22 15:34:31 tgl Exp $
*
*-------------------------------------------------------------------------
*/
......@@ -592,28 +592,33 @@ reset_random_seed(void)
void
SetPGVariable(const char *name, const char *value)
{
char *mvalue = value ? pstrdup(value) : ((char*) NULL);
/*
* Special cases ought to be removed and handled separately
* by TCOP
*/
if (strcasecmp(name, "datestyle")==0)
parse_date(pstrdup(value));
parse_date(mvalue);
else if (strcasecmp(name, "timezone")==0)
parse_timezone(pstrdup(value));
parse_timezone(mvalue);
else if (strcasecmp(name, "DefaultXactIsoLevel")==0)
parse_DefaultXactIsoLevel(pstrdup(value));
parse_DefaultXactIsoLevel(mvalue);
else if (strcasecmp(name, "XactIsoLevel")==0)
parse_XactIsoLevel(pstrdup(value));
parse_XactIsoLevel(mvalue);
#ifdef MULTIBYTE
else if (strcasecmp(name, "client_encoding")==0)
parse_client_encoding(pstrdup(value));
parse_client_encoding(mvalue);
else if (strcasecmp(name, "server_encoding")==0)
parse_server_encoding(pstrdup(value));
parse_server_encoding(mvalue);
#endif
else if (strcasecmp(name, "random_seed")==0)
parse_random_seed(pstrdup(value));
parse_random_seed(mvalue);
else
SetConfigOption(name, value, superuser() ? PGC_SUSET : PGC_USERSET);
if (mvalue)
pfree(mvalue);
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment