On 2014-01-06 11:08:41 -0500, Robert Haas wrote:
> On Mon, Jan 6, 2014 at 9:47 AM, Andres Freund <and...@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.

Yea. But at least it would fail reliably instead of just under
concurrency and other strange circumstances - and there'd be a safe way
out. Currently there seem to be all sorts of odd behaviour possible.

I simply don't have a better idea :(

Greetings,

Andres Freund

-- 
 Andres Freund                     http://www.2ndQuadrant.com/
 PostgreSQL Development, 24x7 Support, Training & Services


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to