Re: guc comment changes (was Re: Getting a move on for 8.2 beta)

From: Joachim Wieland <joe(at)mcknight(dot)de>
To: Peter Eisentraut <peter_e(at)gmx(dot)net>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Bruce Momjian <bruce(at)momjian(dot)us>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: guc comment changes (was Re: Getting a move on for 8.2 beta)
Date: 2006-09-18 11:35:24
Message-ID: 20060918113524.GA3425@mcknight.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Mon, Sep 18, 2006 at 01:13:45PM +0200, Peter Eisentraut wrote:
> Joachim Wieland is in the process of reworking the original feature patch
> (resetting commented out parameters) in a much more compact form. But it
> turns out that there are a couple of very tricky situations involving custom
> variables, which may need more discussion than we have time for now.

The problem with custom variables is the definition of their default value.
First I defined it to be "variable does not exist" and tried to have a close
analogy to what happens on set/set local/reset with normal variables.
However that means that custom variables have to vanish (where other
variables show their default value) and revive (where other variables show a
changed value). For example if you have:

begin;
savepoint a;
set foo.var to 3;
(here we delete foo.var from the configuration file and send SIGHUP)
savepoint b;
reset foo.var;

There seem to exist quite a few possible definitions as to what happens if you
run "show foo.var" after the "reset" directly or after rolling back to the
savepoints a and b.

The result of the discussion with Peter was that all that seems not worth
doing since it is a rare special case. In the current form of the patch if you
delete a custom variable from the configuration file it gets deleted
internally and all reference to it results in error. There is still one
special case which is:

begin;
set foo.var to 3;
(here we delete foo.var from the configuration file and send SIGHUP)
commit;

This transaction will fail because commit cannot change the value of the
variable to 3 as requested by the user.

I have the patch almost ready in the described form, if there is any chance
it will make it into 8.2 I will clean it up and post it ASAP but Peter wrote
me that chances are close to zero and so I stopped working on it for now.

Joachim

--
Joachim Wieland joe(at)mcknight(dot)de
GPG key available

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Hannu Krosing 2006-09-18 11:45:43 Re: Reducing data type space usage
Previous Message Gevik Babakhani 2006-09-18 11:28:49 Re: Opinion about macro for the uuid datatype.