Fix scan adjusting for marked index tuples.
authorVadim B. Mikheev
Sat, 28 Feb 1998 13:53:18 +0000 (13:53 +0000)
committerVadim B. Mikheev
Sat, 28 Feb 1998 13:53:18 +0000 (13:53 +0000)
src/backend/access/nbtree/nbtscan.c

index 2462a54d099d3723d214b0a974fcce90af37dbef..a7ae57f91a852374078ec78ffb75423a73a65480 100644 (file)
@@ -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;