Andres Freund <and...@2ndquadrant.com> wrote: > A better solution probably is to promote tuple-level locks if > they exist to a relation level one upon freezing I guess?
It would be sufficient to promote the tuple lock to a page lock. It would be pretty easy to add a function to predicate.c which would accept a Relation and HeapTuple, check for a predicate lock for the tuple, and add a page lock if found (which will automatically clear the tuple lock). This new function would be called when a tuple was chosen for freezing. Since freezing always causes WAL-logging and disk I/O, the cost of a couple hash table operations should not be noticeable. This seems like a bug fix which should be back-patched to 9.1, yes? -- Kevin Grittner EDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers