An out-of-date comment in nodeIndexonlyscan.c - Mailing list pgsql-hackers

From Thomas Munro
Subject An out-of-date comment in nodeIndexonlyscan.c
Date
Msg-id CAEepm=2GK3FVdnt5V3d+h9njWipCv_fNL=wjxyUhzsF=0PcbNg@mail.gmail.com
Whole thread Raw
Responses Re: An out-of-date comment in nodeIndexonlyscan.c  (Heikki Linnakangas <hlinnaka@iki.fi>)
List pgsql-hackers
Hello,

Since commit cdf91edb (2012), nodeIndexonlyscan.c says:

                /*
                 * Predicate locks for index-only scans must be
acquired at the page
                 * level when the heap is not accessed, since
tuple-level predicate
                 * locks need the tuple's xmin value.  If we had to
visit the tuple
                 * anyway, then we already have the tuple-level lock
and can skip the
                 * page lock.
                 */
                if (tuple == NULL)
                        PredicateLockPage(scandesc->heapRelation,

ItemPointerGetBlockNumber(tid),
                                                          estate->es_snapshot);

The first sentence of that comment is no longer true as of commit
c01262a8 (2013).  As for whether it's necessary to predicate-lock the
whole eheap page (rather than the heap tuple) anyway because of HOT
update chains, I don't know, so I'm not sure what wording to propose
instead.

-- 
Thomas Munro
http://www.enterprisedb.com


pgsql-hackers by date:

Previous
From: David Steele
Date:
Subject: Re: Allow COPY's 'text' format to output a header
Next
From: Michael Paquier
Date:
Subject: Re: Postgres 11 release notes