On Wed, Jul 20, 2016 at 5:02 AM, Andres Freund <andres@anarazel.de> wrote:
> On 2016-07-19 18:09:59 -0500, Kevin Grittner wrote:
>> As far as I can see, to do this the way that Andres and Amit
>> suggest involves tying in to indexam.c and other code in incredibly
>> ugly ways.
>
> Could you explain the problem you're seing?
>
> Isn't pretty much all all that we need to do:
> 1) add a InitSnapshotToast(Snapshot originMVCCSnap), which sets SnapshotData->lsn
> to the the origin snapshot's lsn
> 2) adapt TestForOldSnapshot() to accept both HeapTupleSatisfiesMVCC and
> HeapTupleSatisfiesToast?
>
I also think so. However, it is not clear what is the best place to
initialize toast snapshot. One idea could be to do it in
GetSnapshotData() after capturing the required information for the
valid value of old_snapshot_threshold. Do you have something else in
mind?
--
With Regards,
Amit Kapila.
EnterpriseDB: http://www.enterprisedb.com