On 9/20/06, Martijn van Oosterhout <kleptog@svana.org> wrote:
On Tue, Sep 19, 2006 at 04:00:43PM -0400, Jack Orenstein wrote:
> Can you provide some guidance (or point to some documentation) on how
> to manage memory? Is the idea that I should (must?) not pfree
> palloc'ed memory from Int64GetDatum, but I should free anything I
> allocate myself using palloc? Or not even that?

If you want the gory details, check out the mmgr README file.

http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/mmgr/README?rev=1.9

Thank you, that is a useful document. So let me make sure I understand:

- My C function is invoked in a MessageContext (which you referred to
in an earlier message as a short-lived context).

- In such a context, I do not need to pfree anything, including memory
that I palloc myself, and plans returned by SPI_prepare invocations,
(assuming that I don't hold onto these things past the function
invocation, e.g. in a static).

Is that correct?

Jack

---------------------------(end of broadcast)---------------------------
TIP 5: don't forget to increase your free space map settings

Reply via email to