From 664f93ce18c43d116d698e58683bcce9e96f006b Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Thu, 11 Nov 2004 23:45:13 +0000 Subject: [PATCH] Un-break custom_variable_classes kluge ... mea culpa. --- src/backend/utils/misc/guc-file.l | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/src/backend/utils/misc/guc-file.l b/src/backend/utils/misc/guc-file.l index 913dead830..be36166743 100644 --- a/src/backend/utils/misc/guc-file.l +++ b/src/backend/utils/misc/guc-file.l @@ -4,7 +4,7 @@ * * Copyright (c) 2000-2004, PostgreSQL Global Development Group * - * $PostgreSQL: pgsql/src/backend/utils/misc/guc-file.l,v 1.26 2004/10/08 01:36:35 tgl Exp $ + * $PostgreSQL: pgsql/src/backend/utils/misc/guc-file.l,v 1.27 2004/11/11 23:45:13 tgl Exp $ */ %{ @@ -203,25 +203,28 @@ ProcessConfigFile(GucContext context) if (token != GUC_EOL) goto parse_error; - item = palloc(sizeof *item); - item->name = opt_name; - item->value = opt_value; - if (strcmp(opt_name, "custom_variable_classes") == 0) { /* * This variable must be processed first as it controls - * the validity of other variables; so prepend to - * the list instead of appending. + * the validity of other variables; so apply immediately. */ - item->next = head; - head = item; - if (!tail) - tail = item; + if (!set_config_option(opt_name, opt_value, context, + PGC_S_FILE, false, true)) + { + pfree(opt_name); + pfree(opt_value); + goto cleanup_exit; + } + pfree(opt_name); + pfree(opt_value); } else { /* append to list */ + item = palloc(sizeof *item); + item->name = opt_name; + item->value = opt_value; item->next = NULL; if (!head) head = item;