Tom Lane <tgl@sss.pgh.pa.us> wrote:
> Not sure what I think about your new proposed patch. What problem
> do you think it solves? Also, don't think I believe this:
>
> + * crosscheck_snapshot is actually used only for UPDATE / DELETE
> + * queries.
I wanted to clarify the meaning of crosscheck_snapshot, i.e. only set it when
it's needed. Anyway I don't feel now it's worth the amount of code changed.
> The commands we're issuing here are SELECT FOR UPDATE^H^H^HSHARE,
> and those should chase up to the newest row version and do a
> crosscheck just as UPDATE / DELETE would do. If they don't, there's
> a hazard of mis-enforcing the FK constraint in the face of
> concurrent updates.
Maybe I missed something. When I searched through the code I saw the
crosscheck_snapshot passed only to heap_update() and heap_delete().
--
Antonin Houska
https://www.cybertec-postgresql.com