From: | Andres Freund <andres(at)anarazel(dot)de> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | Heikki Linnakangas <hlinnaka(at)iki(dot)fi>, Robert Haas <robertmhaas(at)gmail(dot)com>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: Pinning a buffer in TupleTableSlot is unnecessary |
Date: | 2016-11-14 17:56:28 |
Message-ID: | 20161114175628.dyeihhmmm46yde7l@alap3.anarazel.de |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On 2016-11-14 12:32:53 -0500, Tom Lane wrote:
> Heikki Linnakangas <hlinnaka(at)iki(dot)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.
Would support for valgrind complaining about access to unpinned buffers
suffice?
Andres
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2016-11-14 18:12:28 | Re: Pinning a buffer in TupleTableSlot is unnecessary |
Previous Message | Peter Geoghegan | 2016-11-14 17:54:38 | Re: Pinning a buffer in TupleTableSlot is unnecessary |