Re: Tuplestore should remember the memory context it's created in
| От | Tom Lane |
|---|---|
| Тема | Re: Tuplestore should remember the memory context it's created in |
| Дата | |
| Msg-id | 22483.1261508220@sss.pgh.pa.us обсуждение |
| Ответ на | Re: Tuplestore should remember the memory context it's created in (Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>) |
| Ответы |
Re: Tuplestore should remember the memory context it's
created in
|
| Список | 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 по дате отправления: