Further refactor of heapgettup and heapgettup_pagemode

David Rowley <drowley@postgresql.org>

Commit: f9bc34fcb664e93d1fa3c3873527dce6f4cc495f
Author: David Rowley <drowley@postgresql.org>
Date: 2023-02-02T22:48:39Z
Releases: 16.0
Further refactor of heapgettup and heapgettup_pagemode

Backward and forward scans share much of the same page acquisition code.
Here we consolidate that code to reduce some duplication.

Additionally, add a new rs_coffset field to HeapScanDescData to track the
offset of the current tuple.  The new field fits nicely into the padding
between a bool and BlockNumber field and saves having to look at the last
returned tuple to figure out which offset we should be looking at for the
current tuple.

Author: Melanie Plageman
Reviewed-by: David Rowley
Discussion: https://postgr.es/m/CAAKRu_bvkhka0CZQun28KTqhuUh5ZqY=_T8QEqZqOL02rpi2bw@mail.gmail.com

Files

PathChange+/−
src/backend/access/heap/heapam.c modified +62 −138
src/include/access/heapam.h modified +1 −0

Discussion