Re: BUG #14150: Attempted to delete invisible tuple - Mailing list pgsql-bugs

From Peter Geoghegan
Subject Re: BUG #14150: Attempted to delete invisible tuple
Date
Msg-id CAM3SWZTc-yCmMw5DORQ1n5srYaHV_6RLV92SRGStcLBMfcho4A@mail.gmail.com
Whole thread Raw
In response to Re: BUG #14150: Attempted to delete invisible tuple  (Oskari Saarenmaa <os@aiven.io>)
List pgsql-bugs
On Thu, Jul 7, 2016 at 12:43 PM, Oskari Saarenmaa <os@aiven.io> wrote:
> Something like the attached patch?  It still modifies the toast_delete API,
> but we could also implement a new speculative-tuple-aware version of it if
> that's a concern.

This looks good. I like what you've done with the toast_delete() API,
personally.

I would like to hear Andres' opinion on whether or not he feels it
okay to "HeapTupleHeaderSetXmin(tp.t_data, InvalidTransactionId)"
TOAST tuples. If we want to go that way, we should update the
defensive code's comments within HeapTupleSatisfiesToast() to
acknowledge the now very real possibility of that code being strictly
necessary and not just defensive.

It also occurs to me that logical decoding might be affected by the
fact that heap_abort_speculative() is used for TOAST tuples. It looks
fine to me, because while we ignore super deletion from within
DecodeDelete(), it's also true that we're not interested in TOAST
deletion in general from within ReorderBufferCommit(). I'd definitely
like to hear a second opinion on that from Andres, though.

--
Peter Geoghegan

pgsql-bugs by date:

Previous
From: Julien Rouhaud
Date:
Subject: Re: BUG #14233: getting the size if the database failing with permission denied error
Next
From: Valeria Arregui
Date:
Subject: pg admin corta resultado