Alvaro Herrera escribió:
> Andres Freund escribió:
> This seems simple to handle by adding the check you propose to the loop.
> Basically if the xmax doesn't match the xmin, we reached the end,
> there's nothing more to lock and we can return success without any
> further work:
As mentioned in the thread for bug #8434, the complete working patch for
this is attached.
> > b) Check whether a chain element actually aborted - currently we're
> > only doing that in the HEAP_KEYS_UPDATED updated case, but that seems
> > wrong (we can't check for committed tho!).
>
> Let me point out that this is exactly the same code that would be
> affected by my proposed fix for #8434, which would have this check the
> updateXid in all cases, not only in KEYS_UPDATED as currently.
I posted a patch for this problem in the thread about #8434.
--
Álvaro Herrera http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services