]> granicus.if.org Git - postgresql/commit
Fix WAL replay of locking an updated tuple
authorAlvaro Herrera <alvherre@alvh.no-ip.org>
Thu, 27 Feb 2014 14:13:39 +0000 (11:13 -0300)
committerAlvaro Herrera <alvherre@alvh.no-ip.org>
Thu, 27 Feb 2014 14:23:24 +0000 (11:23 -0300)
commit9a57858f1103b89a5674f0d50c5fe1f756411df6
tree0ab3d625e91064ca64c91d29108b764cc1fed081
parent4162a55c77cbb54acb4ac442ef3565b813b9d07a
Fix WAL replay of locking an updated tuple

We were resetting the tuple's HEAP_HOT_UPDATED flag as well as t_ctid on
WAL replay of a tuple-lock operation, which is incorrect when the tuple
is already updated.

Back-patch to 9.3.  The clearing of both header elements was there
previously, but since no update could be present on a tuple that was
being locked, it was harmless.

Bug reported by Peter Geoghegan and Greg Stark in
CAM3SWZTMQiCi5PV5OWHb+bYkUcnCk=O67w0cSswPvV7XfUcU5g@mail.gmail.com and
CAM-w4HPTOeMT4KP0OJK+mGgzgcTOtLRTvFZyvD0O4aH-7dxo3Q@mail.gmail.com
respectively; diagnosis by Andres Freund.
src/backend/access/heap/heapam.c