Hi, On 20/01/2019 21:03, Andres Freund wrote: > Hi, > > Currently RelationFindReplTupleByIndex(), RelationFindReplTupleSeq() > lock the found tuple. I don't quite get what that achieves - why isn't > dealing with concurrency in the table_update/delete calls at the > callsites sufficient? As far as I can tell there's no meaningful > concurrency handling in the heap_lock_tuple() paths, so it's not like we > follow update chains or anything. >
Yeah that's leftover from the conflict detection/handling code that I stripped away to keep the patched manageable size-wise. As things stand now we could remove that and use normal heap_update instead of simple variant. It'll be likely be needed again if we add conflict handling in the future, but perhaps we could be smarter about it then (i.e. I can imagine that it will be per table anyway, not necessarily default behavior). -- Petr Jelinek http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Training & Services