Thread

  1. Re: Repeated PredicateLockRelation calls during seqscan

    Kevin Grittner <kevin.grittner@wicourts.gov> — 2011-06-25T19:29:38Z

    Heikki Linnakangas  wrote:
     
    > BTW, isn't bitgetpage() in nodeBitmapHeapscan.c missing
    > PredicateLockTuple() and CheckForSerializableConflictOut() calls in
    > the codepath for a lossy bitmap? In the non-lossy case,
    > heap_hot_search_buffer() takes care of it, but not in the lossy
    > case.
     
    I think the attached addresses that.
     
    In looking this over I noticed something else that doesn't seem quite
    right.  In heapam.c there are two places where the execution of
    PredicateLockTuple() is conditioned not just on MVCC visibility, but
    also on HeapKeyTest().  I think those calls should be moved to not be
    conditioned on that.  Otherwise we have a predicate condition being
    tested without "locking the gaps", don't we?
     
    -Kevin