From: Tom Lane Date: Mon, 5 Jan 2009 13:23:33 +0000 (+0000) Subject: Fix define_custom_variable to preserve any sourcefile/sourceline information X-Git-Tag: REL8_4_BETA1~477 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=35c129cab31ae64ee882bdc4867d889be3d905fa;p=postgresql Fix define_custom_variable to preserve any sourcefile/sourceline information present in the placeholder. Noted while testing pg_stat_statements. --- diff --git a/src/backend/utils/misc/guc.c b/src/backend/utils/misc/guc.c index 303329167a..0f535c8fa0 100644 --- a/src/backend/utils/misc/guc.c +++ b/src/backend/utils/misc/guc.c @@ -10,7 +10,7 @@ * Written by Peter Eisentraut . * * 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