0003-Use-ignore_killed_tuples-local-variable.txt

text/plain

Filename: 0003-Use-ignore_killed_tuples-local-variable.txt
Type: text/plain
Part: 0
Message: Re: Moving _bt_readpage and _bt_checkkeys into a new .c file
From 19ec9bd82d6cd6369c3413e10234c17fd9973df4 Mon Sep 17 00:00:00 2001
From: Peter Geoghegan <pg@bowt.ie>
Date: Sat, 6 Dec 2025 16:28:19 -0500
Subject: [PATCH 3/3] Use ignore_killed_tuples local variable

---
 src/backend/access/nbtree/nbtreadpage.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/src/backend/access/nbtree/nbtreadpage.c b/src/backend/access/nbtree/nbtreadpage.c
index 540d172cc..7f9c66b8b 100644
--- a/src/backend/access/nbtree/nbtreadpage.c
+++ b/src/backend/access/nbtree/nbtreadpage.c
@@ -141,7 +141,8 @@ _bt_readpage(IndexScanDesc scan, ScanDirection dir, OffsetNumber offnum,
 	OffsetNumber minoff;
 	OffsetNumber maxoff;
 	BTReadPageState pstate;
-	bool		arrayKeys;
+	bool		arrayKeys,
+				ignore_killed_tuples = scan->ignore_killed_tuples;
 	int			itemIndex,
 				indnatts;
 
@@ -246,7 +247,7 @@ _bt_readpage(IndexScanDesc scan, ScanDirection dir, OffsetNumber offnum,
 			 * If the scan specifies not to return killed tuples, then we
 			 * treat a killed tuple as not passing the qual
 			 */
-			if (scan->ignore_killed_tuples && ItemIdIsDead(iid))
+			if (ignore_killed_tuples && ItemIdIsDead(iid))
 			{
 				offnum = OffsetNumberNext(offnum);
 				continue;
@@ -404,7 +405,7 @@ _bt_readpage(IndexScanDesc scan, ScanDirection dir, OffsetNumber offnum,
 			 * uselessly advancing to the page to the left.  This is similar
 			 * to the high key optimization used by forward scans.
 			 */
-			if (scan->ignore_killed_tuples && ItemIdIsDead(iid))
+			if (ignore_killed_tuples && ItemIdIsDead(iid))
 			{
 				if (offnum > minoff)
 				{
-- 
2.51.0