01.08.2016, 01:31, Andres Freund kirjoitti:
> On 2016-07-29 17:37:21 -0700, Peter Geoghegan wrote:
>> On Wed, Jul 27, 2016 at 6:12 PM, Peter Geoghegan <pg@heroku.com> wrote:
>>> On Wed, Jul 27, 2016 at 6:04 PM, Andres Freund <andres@anarazel.de> wrote:
>>>> That it needs a test, or that it's easy to do?
>>>
>>> That it's easy to write one.
>>
>> I'll be more concrete: I don't see what choke point is available to
>> make control yield after the pre-check determines there is no
>> conflict, but before index tuple insertion determines that there is in
>> fact a conflict (to reliably trigger a failed specualtive
>> insertion/super deletion).
>
> An expression index over a function acquiring a lock looks like it
> should do the trick.
>
> Are you looking in writing an updated patch? It seems we're on one page
> of the rough direction.
Thanks for the review and the locking index idea for a test case.
Attached a further simplified patch to fix the issue plus an isolation
test case for it.
Cheers,
Oskari