Re: Storing MemoryContext Pointers - Mailing list pgsql-hackers

From Tom Lane
Subject Re: Storing MemoryContext Pointers
Date
Msg-id 20393.1160144627@sss.pgh.pa.us
Whole thread Raw
In response to Re: Storing MemoryContext Pointers  (Volkan YAZICI <yazicivo@ttnet.net.tr>)
List pgsql-hackers
Volkan YAZICI <yazicivo@ttnet.net.tr> writes:
> On Oct 05 03:34, Tom Lane wrote:
>> Volkan YAZICI <yazicivo@ttnet.net.tr> writes:
>>> How can I store the persistent_mcxt in a persistent place that I'll be
>>> able to reach it in my next getting invoked?
>> 
>> Make it a static variable.

> I had thought some kind of fcinfo->flinfo->fn_extra trick but... a
> static variable is fair enough too.

No, a fn_extra pointer would go away whenever the calling query ends,
and you'd have leaked the context permanently.  Children of
TopMemoryContext will never go away unless explicitly destroyed, so
a static variable has the right lifespan to remember them.

If you did want something that goes away at end of query, you could
probably make it a child of the PortalContext.
        regards, tom lane


pgsql-hackers by date:

Previous
From: Zdenek Kotala
Date:
Subject: Re: Upgrading a database dump/restore
Next
From: Tom Lane
Date:
Subject: Re: pg_dump exclusion switches and functions/types