Thread: pgsql: Teach heapam code to know the difference between a real seqscan

pgsql: Teach heapam code to know the difference between a real seqscan

From
tgl@postgresql.org (Tom Lane)
Date:
Log Message:
-----------
Teach heapam code to know the difference between a real seqscan and the
pseudo HeapScanDesc created for a bitmap heap scan.  This avoids some useless
overhead during a bitmap scan startup, in particular invoking the syncscan
code.  (We might someday want to do that, but right now it's merely useless
contention for shared memory, to say nothing of possibly pushing useful
entries out of syncscan's small LRU list.)  This also allows elimination of
ugly pgstat_discount_heap_scan() kluge.

Modified Files:
--------------
    pgsql/src/backend/access/heap:
        heapam.c (r1.235 -> r1.236)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/heap/heapam.c.diff?r1=1.235&r2=1.236)
    pgsql/src/backend/executor:
        nodeBitmapHeapscan.c (r1.17 -> r1.18)

(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/executor/nodeBitmapHeapscan.c.diff?r1=1.17&r2=1.18)
    pgsql/src/include/access:
        heapam.h (r1.125 -> r1.126)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/access/heapam.h.diff?r1=1.125&r2=1.126)
        relscan.h (r1.55 -> r1.56)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/access/relscan.h.diff?r1=1.55&r2=1.56)
    pgsql/src/include:
        pgstat.h (r1.61 -> r1.62)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/pgstat.h.diff?r1=1.61&r2=1.62)