Arrange for large sequential scans to synchronize with each other, so that
Tom Lane <tgl@sss.pgh.pa.us>
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.
Files
| Path | Change | +/− |
|---|---|---|
| src/backend/access/heap/heapam.c | modified | +112 −14 |
| src/backend/access/heap/Makefile | modified | +2 −2 |
| src/backend/access/heap/syncscan.c | added | +318 −0 |
| src/backend/storage/buffer/freelist.c | modified | +4 −1 |
| src/backend/storage/ipc/ipci.c | modified | +4 −1 |
| src/backend/utils/misc/guc.c | modified | +17 −1 |
| src/include/access/heapam.h | modified | +15 −9 |
| src/include/access/relscan.h | modified | +5 −1 |
| src/include/pg_config_manual.h | modified | +6 −1 |
| src/include/storage/lwlock.h | modified | +2 −1 |