mirror of
https://github.com/postgres/postgres.git
synced 2025-10-21 02:52:47 +03:00
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
This commit is contained in:
@@ -57,6 +57,7 @@ typedef struct HeapScanDescData
|
||||
|
||||
/* scan current state */
|
||||
bool rs_inited; /* false = scan not init'd yet */
|
||||
OffsetNumber rs_coffset; /* current offset # in non-page-at-a-time mode */
|
||||
BlockNumber rs_cblock; /* current block # in scan, if any */
|
||||
Buffer rs_cbuf; /* current buffer in scan, if any */
|
||||
/* NB: if rs_cbuf is not InvalidBuffer, we hold a pin on that buffer */
|
||||
|
Reference in New Issue
Block a user