On Mon, Jan 6, 2014 at 9:47 AM, Andres Freund <andres@2ndquadrant.com> wrote:
> On 2014-01-06 09:43:45 -0500, Robert Haas wrote:
>> > I actually vote for not allowing doing so at all by erroring out when
>> > accessing a plpgsql variable created in an aborted subxact, unless you
>> > explicitly signal that you want to do do so by calling some function
>> > deleting the information about which subxact a variable was created
>> > in. I have seen several bugs caused by people assuming that EXCEPTION
>> > BLOCK/subtransaction rollback had some kind of effects on variables
>> > created in them. And we just don't have much support for doing anything
>> > in that direction safely.
>>
>> So, you want to let users do things that are unsafe, but only if they
>> ask nicely? That hardly seems right.
>
> Well, no. If they have to use that function explicitly *before* the
> subxact aborted, we can copy & detoast the value out of that context
> safely.
Oh, I see. I think that's pretty icky. Users won't expect (and will
complain about) such restrictions.
--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company