diff options
author | Melanie Plageman <melanieplageman@gmail.com> | 2024-12-18 11:47:38 -0500 |
---|---|---|
committer | Melanie Plageman <melanieplageman@gmail.com> | 2024-12-18 11:47:38 -0500 |
commit | 68d9662be1c4b705123a0e292974fb4be661294c (patch) | |
tree | 1e11a6b5953fe7ccc81c01c11168ff1b0d7e2358 /src/backend/access/heap/heapam_handler.c | |
parent | 1f0de66ea2a5549a3768c67434e28a136c280571 (diff) | |
download | postgresql-68d9662be1c4b705123a0e292974fb4be661294c.tar.gz postgresql-68d9662be1c4b705123a0e292974fb4be661294c.zip |
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
Diffstat (limited to 'src/backend/access/heap/heapam_handler.c')
-rw-r--r-- | src/backend/access/heap/heapam_handler.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/backend/access/heap/heapam_handler.c b/src/backend/access/heap/heapam_handler.c index a8d95e0f1c1..d0e5922eed7 100644 --- a/src/backend/access/heap/heapam_handler.c +++ b/src/backend/access/heap/heapam_handler.c @@ -2303,7 +2303,7 @@ heapam_scan_bitmap_next_tuple(TableScanDesc scan, /* * Out of range? If so, nothing more to look at on this page */ - if (hscan->rs_cindex < 0 || hscan->rs_cindex >= hscan->rs_ntuples) + if (hscan->rs_cindex >= hscan->rs_ntuples) return false; targoffset = hscan->rs_vistuples[hscan->rs_cindex]; |