Alvaro Herrera wrote:
Heikki Linnakangas wrote:

Remember, the purpose of predicate locks is to lock key ranges, not physical
pages or tuples in the index. We use leaf pages as handy shortcut for "any
key value that would belong on this page", but it is just an implementation
detail.

Hmm ... so, thinking about pending list locking, would it work to
acquire locks on the posting tree's root of each item in the pending
list, when the item is put in the pending list? (even if we insert the
item in the pending list instead of its posting tree).

Items in pending list doesn't use posting tree or list, pending list is just list of pair (ItemPointer to heap, entry) represented as IndexTuple. There is no order in pending list, so Heikki suggests to lock metapage always instead of locking whole relation if fastupdate=on. If fastupdate is off then insertion process will not change metapage.

--
Teodor Sigaev                                   E-mail: teo...@sigaev.ru
                                                   WWW: http://www.sigaev.ru/

Reply via email to