forked frompostgres/postgres
- Notifications
You must be signed in to change notification settings - Fork6
Commit70f1482
committed
Change seqscan logic so that we check visibility of all tuples on a page
when we first read the page, rather than checking them one at a time.This allows us to take and release the buffer content lock just onceper page, instead of once per tuple. Since it's a shared lock thecontention penalty for holding the lock longer shouldn't be too bad.We can safely do this only when using an MVCC snapshot; else theassumption that visibility won't change over time is uncool. Thereforethere are now two code paths depending on the snapshot type. I alsomade the same change in nodeBitmapHeapscan.c, where it can be done alwaysbecause we only support MVCC snapshots for bitmap scans anyway.Also make some incidental cleanups in the APIs of these functions.Per a suggestion from Qingqing Zhou.1 parent290166f commit70f1482
File tree
6 files changed
+617
-275
lines changed- src
- backend
- access/heap
- executor
- include
- access
- nodes
- utils
6 files changed
+617
-275
lines changed0 commit comments
Comments
(0)