Re: setting per-database/role parameters checks them against wrong context

From: Selena Deckelmann <selena(at)chesnok(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Peter Eisentraut <peter_e(at)gmx(dot)net>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: setting per-database/role parameters checks them against wrong context
Date: 2012-10-06 21:20:53
Message-ID: CAN1EF+wt=C68YeMta6fNasauAwnuz8X9AyPVf63mZTnA-nRF7w@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Mon, Oct 1, 2012 at 2:28 PM, Selena Deckelmann <selena(at)chesnok(dot)com> wrote:
> On Mon, Oct 1, 2012 at 1:37 PM, Selena Deckelmann <selena(at)chesnok(dot)com> wrote:
>> On Mon, Oct 1, 2012 at 1:00 PM, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
>>> Selena Deckelmann <selena(at)chesnok(dot)com> writes:
>>>> The check_temp_buffers() problem seems like a regression and blocks us
>>>> from upgrading to 9.2. The use case are functions that set
>>>> temp_buffers and occasionally are called in a series from a parent
>>>> session. The work around is... a lot of work.
>>>
>>> Uh ... how is that a regression? AFAIK it's been that way right along.
>>
>> We're running 9.0 - looks like it changed in 9.1, last revision to the
>> relevant line was 6/2011. The group decided not to upgrade to 9.1 last
>> year, but was going to just go directly to 9.2 in the next few weeks.
>
> And, I was basing the regression comment on the documentation for
> temp_buffers: "The setting can be changed within individual sessions,
> but only before the first use of temporary tables within the session;
> subsequent attempts to change the value will have no effect on that
> session." This statement has been there since at least 8.1.
>
> A warning, and then not failing seems more appropriate than an error,
> given the documented behavior.

I tried out a few things, and then realized that perhaps just adding
PGC_S_SESSION to the list of sources that are at elevel WARNING
partially fixes this.

This doesn't fix the issue with log_statement_stats, but it makes the
behavior of temp_buffers the documented behavior (no longer errors
out in a transaction), while still warning the user.

-selena

--
http://chesnok.com

Attachment Content-Type Size
session_warning.patch application/octet-stream 516 bytes

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2012-10-06 21:40:34 Re: Add FET to Default and Europe.txt
Previous Message Kohei KaiGai 2012-10-06 20:16:12 Re: ALTER command reworks