From 4af1e537d699e425ba6ae73c0486eb480f75d185 Mon Sep 17 00:00:00 2001
From: "Vadim B. Mikheev" <vadim4o@yahoo.com>
Date: Sat, 28 Feb 1998 13:53:18 +0000
Subject: [PATCH] Fix scan adjusting for marked index tuples.

---
 src/backend/access/nbtree/nbtscan.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/src/backend/access/nbtree/nbtscan.c b/src/backend/access/nbtree/nbtscan.c
index 2462a54d099..a7ae57f91a8 100644
--- a/src/backend/access/nbtree/nbtscan.c
+++ b/src/backend/access/nbtree/nbtscan.c
@@ -7,7 +7,7 @@
  *
  *
  * IDENTIFICATION
- *	  $Header: /cvsroot/pgsql/src/backend/access/nbtree/Attic/nbtscan.c,v 1.12 1998/01/07 21:01:54 momjian Exp $
+ *	  $Header: /cvsroot/pgsql/src/backend/access/nbtree/Attic/nbtscan.c,v 1.13 1998/02/28 13:53:18 vadim Exp $
  *
  *
  * NOTES
@@ -170,6 +170,9 @@ _bt_scandel(IndexScanDesc scan, int op, BlockNumber blkno, OffsetNumber offno)
 		tmp = *current;
 		*current = scan->currentItemData;
 		scan->currentItemData = tmp;
+		so->btso_curbuf = so->btso_mrkbuf;
+		so->btso_mrkbuf = buf;
+		buf = so->btso_curbuf;
 		switch (op)
 		{
 			case BT_INSERT:
@@ -182,6 +185,7 @@ _bt_scandel(IndexScanDesc scan, int op, BlockNumber blkno, OffsetNumber offno)
 				elog(ERROR, "_bt_scandel: bad operation '%d'", op);
 				/* NOTREACHED */
 		}
+		so->btso_curbuf = so->btso_mrkbuf;
 		so->btso_mrkbuf = buf;
 		tmp = *current;
 		*current = scan->currentItemData;
-- 
GitLab