On 9/20/06, Martijn van Oosterhout <kleptog@xxxxxxxxx> 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