]> granicus.if.org Git - postgresql/commit
Repair some flakiness in CheckTargetForConflictsIn.
authorRobert Haas <rhaas@postgresql.org>
Tue, 5 Apr 2011 19:16:59 +0000 (15:16 -0400)
committerRobert Haas <rhaas@postgresql.org>
Tue, 5 Apr 2011 19:17:25 +0000 (15:17 -0400)
commit632f0faa7c975e8984ce0f1d6b631478e41a96c2
treed6c8a3841563ed71b15a7de3823ae9d7e4eaee4a
parent38d15f16511cb9f75ed2b1e1f73117c1bc581538
Repair some flakiness in CheckTargetForConflictsIn.

When we release and reacquire SerializableXactHashLock, we must recheck
whether an R/W conflict still needs to be flagged, because it could have
changed under us in the meantime.  And when we release the partition
lock, we must re-walk the list of predicate locks from the beginning,
because our pointer could get invalidated under us.

Bug report #5952 by Yamamoto Takashi.  Patch by Kevin Grittner.
src/backend/storage/lmgr/predicate.c