Fix define_custom_variable to preserve any sourcefile/sourceline information

present in the placeholder.  Noted while testing pg_stat_statements.
This commit is contained in:
Tom Lane 2009-01-05 13:23:33 +00:00
parent c63b9b1ddc
commit 35c129cab3
1 changed files with 12 additions and 4 deletions

View File

@ -10,7 +10,7 @@
* Written by Peter Eisentraut <peter_e@gmx.net>.
*
* IDENTIFICATION
* $PostgreSQL: pgsql/src/backend/utils/misc/guc.c,v 1.488 2009/01/03 20:03:08 tgl Exp $
* $PostgreSQL: pgsql/src/backend/utils/misc/guc.c,v 1.489 2009/01/05 13:23:33 tgl Exp $
*
*--------------------------------------------------------------------
*/
@ -5747,9 +5747,17 @@ define_custom_variable(struct config_generic * variable)
value = *pHolder->variable;
if (value)
set_config_option(name, value,
phcontext, pHolder->gen.source,
GUC_ACTION_SET, true);
{
if (set_config_option(name, value,
phcontext, pHolder->gen.source,
GUC_ACTION_SET, true))
{
/* Also copy over any saved source-location information */
if (pHolder->gen.sourcefile)
set_config_sourcefile(name, pHolder->gen.sourcefile,
pHolder->gen.sourceline);
}
}
/*
* Free up as much as we conveniently can of the placeholder structure