Thread: pgsql: Arrange for large sequential scans to synchronize with each

pgsql: Arrange for large sequential scans to synchronize with each

From
tgl@postgresql.org (Tom Lane)
Date:
Log Message:
-----------
Arrange for large sequential scans to synchronize with each other, so that
when multiple backends are scanning the same relation concurrently, each page
is (ideally) read only once.

Jeff Davis, with review by Heikki and Tom.

Modified Files:
--------------
    pgsql/src/backend/access/heap:
        Makefile (r1.15 -> r1.16)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/heap/Makefile.diff?r1=1.15&r2=1.16)
        heapam.c (r1.234 -> r1.235)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/heap/heapam.c.diff?r1=1.234&r2=1.235)
    pgsql/src/backend/storage/buffer:
        freelist.c (r1.59 -> r1.60)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/storage/buffer/freelist.c.diff?r1=1.59&r2=1.60)
    pgsql/src/backend/storage/ipc:
        ipci.c (r1.91 -> r1.92)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/storage/ipc/ipci.c.diff?r1=1.91&r2=1.92)
    pgsql/src/backend/utils/misc:
        guc.c (r1.395 -> r1.396)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/misc/guc.c.diff?r1=1.395&r2=1.396)
    pgsql/src/include/access:
        heapam.h (r1.124 -> r1.125)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/access/heapam.h.diff?r1=1.124&r2=1.125)
        relscan.h (r1.54 -> r1.55)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/access/relscan.h.diff?r1=1.54&r2=1.55)
    pgsql/src/include:
        pg_config_manual.h (r1.26 -> r1.27)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/pg_config_manual.h.diff?r1=1.26&r2=1.27)
    pgsql/src/include/storage:
        lwlock.h (r1.36 -> r1.37)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/storage/lwlock.h.diff?r1=1.36&r2=1.37)

Added Files:
-----------
    pgsql/src/backend/access/heap:
        syncscan.c (r1.1)

(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/heap/syncscan.c?rev=1.1&content-type=text/x-cvsweb-markup)