From 68d9662be1c4b705123a0e292974fb4be661294c Mon Sep 17 00:00:00 2001 From: Melanie Plageman Date: Wed, 18 Dec 2024 11:47:38 -0500 Subject: Make rs_cindex and rs_ntuples unsigned HeapScanDescData.rs_cindex and rs_ntuples can't be less than 0. All scan types using the heap scan descriptor expect these values to be >= 0. Make that expectation clear by making rs_cindex and rs_ntuples unsigned. Also remove the test in heapam_scan_bitmap_next_tuple() that checks if rs_cindex < 0. This was never true, but now that rs_cindex is unsigned, it makes even less sense. While we are at it, initialize both rs_cindex and rs_ntuples to 0 in initscan(). Author: Melanie Plageman Reviewed-by: Dilip Kumar Discussion: https://postgr.es/m/CAAKRu_ZxF8cDCM_BFi_L-t%3DRjdCZYP1usd1Gd45mjHfZxm0nZw%40mail.gmail.com --- src/include/access/heapam.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/include/access/heapam.h') diff --git a/src/include/access/heapam.h b/src/include/access/heapam.h index 96cf82f97b7..04afb1a6a66 100644 --- a/src/include/access/heapam.h +++ b/src/include/access/heapam.h @@ -103,8 +103,8 @@ typedef struct HeapScanDescData int rs_empty_tuples_pending; /* these fields only used in page-at-a-time mode and for bitmap scans */ - int rs_cindex; /* current tuple's index in vistuples */ - int rs_ntuples; /* number of visible tuples on page */ + uint32 rs_cindex; /* current tuple's index in vistuples */ + uint32 rs_ntuples; /* number of visible tuples on page */ OffsetNumber rs_vistuples[MaxHeapTuplesPerPage]; /* their offsets */ } HeapScanDescData; typedef struct HeapScanDescData *HeapScanDesc; -- cgit v1.2.3