> > However, that fix seems to have the same kind of layering
> > violation that Andres complained about for the first version of the
> > patch on this thread -- predicate locking should be in heapam code,
> > not in execIndexing.c.
>
> It's not just the layering violation, that solution also has a leftover 
> issue, similarly to my first patch in this thread. When I looked at this my 
> initial conclusion was that we can't fix the two at the same place without 
> layering violations / remaining issues, so my idea was to apply the same fix 
> as I did for SELECT to those paths, but I'll take another look at it.

And I was wrong, this approach is simple and works for all reported
cases, I attached v4 which uses this approach.

Attachment: v4-0001-Fix-missing-SIREAD-lock-on-the-row-found-by-ON-CO.patch
Description: Binary data

Reply via email to