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 CAM3SWZSyGEiU38uDs69M02jM7iBXbM7mSjhqiEGR4PUdTcLyHA@mail.gmail.com
Whole thread Raw
In response to Re: BUG #14150: Attempted to delete invisible tuple  (Andres Freund <andres@anarazel.de>)
List pgsql-bugs
On Wed, Jul 6, 2016 at 4:33 PM, Andres Freund <andres@anarazel.de> wrote:
>
>> We didn't simply neglect to make heap_abort_speculative() consider
>> TOAST at all, though.
>
> Well, not quite, but nearly. Afaics it currently can only work if the
> toasted columns have been inserted by a different command, before the
> INSERT ON CONFLICT does anything. I don't see how it can work for newly
> inserted toast data.  When heap_abort_speculative deletes toast data,
> when would it *ever* not fail if the same command executed the toast
> data?

Maybe we should have a testing option that makes ExecInsert() pretend
that the precheck for a conflict indicated that there wasn't one the
first time through, only (or perhaps randomly make this assumption
with a configurable probability). It would perhaps be useful to
artificially increase the number of conflicts during stress testing.
Just something to consider.

--
Peter Geoghegan

pgsql-bugs by date:

Previous
From: Andres Freund
Date:
Subject: Re: BUG #14150: Attempted to delete invisible tuple
Next
From: Peter Geoghegan
Date:
Subject: Re: BUG #14150: Attempted to delete invisible tuple