Maybe when this thread is over, some parts of it can be
added to the dev. FAQ?
-s
On Tue, 3 Sep 2002, Karel Zak wrote:
> Date: Tue, 3 Sep 2002 13:52:09 +0200
> From: Karel Zak <zakkr@zf.jcu.cz>
> To: Nigel J. Andrews <nandrews@investsystems.co.uk>
> Cc: pgsql-hackers@postgresql.org
> Subject: Re: [HACKERS] Memory management question
>
> On Tue, Sep 03, 2002 at 12:28:37PM +0100, Nigel J. Andrews wrote:
> >
> >
> > It's probably a pretty basic question explained in some document I haven't seen
> > but...if I do something like a CreateTupleDescCopy() how do I know my memory
> > context owns everything allocated without following the code all the way
> > through until it returns to me?
>
> If some code doesn't call MemoryContextSwitchTo() all is allocated in
> current memory context. You can check if CurrentMemoryContext is same
> before and after call that is important for you - but this check say
> nothing, bacuse some code can switch to other context and after usage
> switch back to your context. IMHO is not common way how check it.
> (Ok, maybe check all contexts size before/after call...)
>
> Suggestion: add to memory managment counter that handle number
> of MemoryContextSwitchTo() calls. IMHO it can be compile
> only if MEMORY_CONTEXT_CHECKING is define.
>
> But I think there is not to much places which switching between
> contexts and all are good commented (I hope, I wish :-)
>
> Karel