Hi, On 2019-04-06 14:43:26 -0400, Tom Lane wrote: > Andres Freund <and...@anarazel.de> writes: > > On 2019-04-06 14:34:34 -0400, Tom Lane wrote: > >> Why should this code need to free anything? That'd be the responsibility > >> of the slot code, no? > > > Well, not really. If a slot doesn't hold heap tuples internally, > > ExecFetchSlotHeapTuple() will return a fresh heap tuple (but signal so > > by setting *should_free = true if not NULL). > > Ah, got it: ignoring should_free is indeed a potential issue here.
I've pushed a revised version of my earlier patch adding a memory context that's reset after each tuple. Greetings, Andres Freund