Tom Lane wrote:
> Greg Stark <gsstark@mit.edu> writes:
>> On Tue, Dec 22, 2009 at 11:45 AM, Heikki Linnakangas
>> <heikki.linnakangas@enterprisedb.com> wrote:
>>> AFAICS it is always a bug to be in a different memory context
>>> in tuplestore_put* than in tuplestore_begin_heap(), so it would be more
>>> robust to not put the burden on the callers.
>
>> I thought there were comments specifically explaining why it was done
>> that way but I don't recall what they said.
>
> I think it was just a performance optimization. It's probably not
> measurable though; even in the in-memory case there's at least a palloc
> inside the put() function, no?
Yes. And many of the callers do the memory context switching dance anyway.
-- Heikki Linnakangas EnterpriseDB http://www.enterprisedb.com