Re: Repeated PredicateLockRelation calls during seqscan - Mailing list pgsql-hackers

From Kevin Grittner
Subject Re: Repeated PredicateLockRelation calls during seqscan
Date
Msg-id 4E05F0D2020000250003EC1D@gw.wicourts.gov
Whole thread Raw
Responses Re: Repeated PredicateLockRelation calls during seqscan
List pgsql-hackers
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



Attachment

pgsql-hackers by date:

Previous
From: Jeff Davis
Date:
Subject: Re: heap_hot_search_buffer refactoring
Next
From: Joe Conway
Date:
Subject: Re: possible connection leak in dblink?