Re: Pinning a buffer in TupleTableSlot is unnecessary - Mailing list pgsql-hackers

From Tom Lane
Subject Re: Pinning a buffer in TupleTableSlot is unnecessary
Date
Msg-id 14373.1479144773@sss.pgh.pa.us
Whole thread Raw
In response to Re: Pinning a buffer in TupleTableSlot is unnecessary  (Heikki Linnakangas <hlinnaka@iki.fi>)
Responses Re: Pinning a buffer in TupleTableSlot is unnecessary  (Andres Freund <andres@anarazel.de>)
List pgsql-hackers
Heikki Linnakangas <hlinnaka@iki.fi> writes:
> On 11/14/2016 06:18 PM, Tom Lane wrote:
>> You're implicitly assuming that a scan always returns its results in the
>> same slot, and that no other slot could contain a copy of that data, but
>> there is no guarantee of either.  See bug #14344 and d8589946d for a
>> pretty recent example where that failed to be true --- admittedly, for
>> a tuplesort scan not a table scan.

> It's the other way round. ExecProcNode might not always return its 
> result in the same slot, but all the callers must assume that it might.

Basically my concern is that this restriction isn't documented anywhere
and I'm not entirely certain it's been adhered to everywhere.  I'd feel
much better about it if there were some way we could verify that.
        regards, tom lane



pgsql-hackers by date:

Previous
From: Heikki Linnakangas
Date:
Subject: Re: Pinning a buffer in TupleTableSlot is unnecessary
Next
From: Peter Geoghegan
Date:
Subject: Re: Pinning a buffer in TupleTableSlot is unnecessary