Re: Tuplestore should remember the memory context it's created in - Mailing list pgsql-hackers

From Tom Lane
Subject Re: Tuplestore should remember the memory context it's created in
Date
Msg-id 22483.1261508220@sss.pgh.pa.us
Whole thread Raw
In response to Re: Tuplestore should remember the memory context it's created in  (Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>)
Responses Re: Tuplestore should remember the memory context it's created in  (Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>)
List pgsql-hackers
Heikki Linnakangas <heikki.linnakangas@enterprisedb.com> writes:
> Tom Lane wrote:
>> BTW, I'm not convinced that the owner-switchery you added to pl_exec.c
>> is necessary/appropriate.  Under what circumstances would that be a good
>> idea?

> A PL/pgSQL normally runs in the whatever resource owner is current when
> the function is called. When we allocate the tuplestore for return
> tuples, it's associated with the current resource owner.

> But if you have an exception-block, we start a new subtransaction and
> switch to the subtransaction resource owner. If you have a RETURN
> NEXT/QUERY in the block, the tuplestore (or the temporary file backing
> it, to be precise) is initialized into the subtransaction resource
> owner, which is released at subtransaction commit.

Got it.  So doesn't tuplesort have the same issue?

The patch definitely requires more than zero comments.
        regards, tom lane


pgsql-hackers by date:

Previous
From: Simon Riggs
Date:
Subject: Streaming Rep - 2-phase backups and reducing time to full replication
Next
From: Fujii Masao
Date:
Subject: Re: Backup history file should be replicated in Streaming Replication?