Fix misleading comment in nodeIndexonlyscan.c.
authorThomas Munro
Thu, 27 Jun 2019 23:11:26 +0000 (11:11 +1200)
committerThomas Munro
Fri, 28 Jun 2019 05:16:44 +0000 (17:16 +1200)
The stated reason for acquiring predicate locks on heap pages hasn't
existed since commit c01262a8, so fix the comment.  Perhaps in a later
release we'll also be able to change the code to use tuple locks.

Back-patch all the way.

Reviewed-by: Ashwin Agrawal
Discussion: https://postgr.es/m/CAEepm%3D2GK3FVdnt5V3d%2Bh9njWipCv_fNL%3DwjxyUhzsF%3D0PcbNg%40mail.gmail.com

src/backend/executor/nodeIndexonlyscan.c

index f452e0fd5ff1271b002e7173b6006add2abcf132..338429bd589c5c612edf3dadef03265f97885fce 100644 (file)
@@ -237,11 +237,8 @@ IndexOnlyNext(IndexOnlyScanState *node)
                     errmsg("lossy distance functions are not supported in index-only scans")));
 
        /*
-        * 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 we didn't access the heap, then we'll need to take a predicate
+        * lock explicitly, as if we had.  For now we do that at page level.
         */
        if (tuple == NULL)
            PredicateLockPage(scandesc->heapRelation,