Tom Lane wrote:
> I said:
>
>>Yeah, I see very quick memory exhaustion also :-(. Looks like the
>>spi_exec call is the culprit, but I'm not sure exactly why ...
>>anyone have time to look at this?
>
>
> On looking a little more closely, it's clear that pltcl_SPI_exec()
> should be, and is not, calling SPI_freetuptable() once it's done with
> the tuple table returned by SPI_exec(). This needs to be done in all
> the non-elog code paths after SPI_exec has returned SPI_OK_SELECT.
> pltcl_SPI_execp() has a similar problem, and there may be comparable
> bugs in other pltcl routines (not to mention other sources of memory
> leaks, but I think this is the problem for your example).
>
> I have no time to work on this right now; any volunteers out there?
>
I can give it a shot, but probably not until the weekend.
I haven't really followed this thread closely, and don't know tcl very well,
so it would help if someone can send me a minimal tcl function which triggers
the problem.
Thanks,
Joe