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
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