aboutsummaryrefslogtreecommitdiff
path: root/src/backend/access/gist/gistscan.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend/access/gist/gistscan.c')
-rw-r--r--src/backend/access/gist/gistscan.c18
1 files changed, 9 insertions, 9 deletions
diff --git a/src/backend/access/gist/gistscan.c b/src/backend/access/gist/gistscan.c
index 08ca73357c0..a275bb257ce 100644
--- a/src/backend/access/gist/gistscan.c
+++ b/src/backend/access/gist/gistscan.c
@@ -8,7 +8,7 @@
* Portions Copyright (c) 1994, Regents of the University of California
*
* IDENTIFICATION
- * $PostgreSQL: pgsql/src/backend/access/gist/gistscan.c,v 1.66 2007/01/05 22:19:22 momjian Exp $
+ * $PostgreSQL: pgsql/src/backend/access/gist/gistscan.c,v 1.67 2007/01/20 18:43:35 neilc Exp $
*
*-------------------------------------------------------------------------
*/
@@ -42,12 +42,6 @@ gistrescan(PG_FUNCTION_ARGS)
GISTScanOpaque so;
int i;
- /*
- * Clear all the pointers.
- */
- ItemPointerSetInvalid(&scan->currentItemData);
- ItemPointerSetInvalid(&scan->currentMarkData);
-
so = (GISTScanOpaque) scan->opaque;
if (so != NULL)
{
@@ -82,6 +76,12 @@ gistrescan(PG_FUNCTION_ARGS)
scan->opaque = so;
}
+ /*
+ * Clear all the pointers.
+ */
+ ItemPointerSetInvalid(&so->curpos);
+ ItemPointerSetInvalid(&so->markpos);
+
/* Update scan key, if a new one is given */
if (key && scan->numberOfKeys > 0)
{
@@ -111,8 +111,8 @@ gistmarkpos(PG_FUNCTION_ARGS)
*n,
*tmp;
- scan->currentMarkData = scan->currentItemData;
so = (GISTScanOpaque) scan->opaque;
+ so->markpos = so->curpos;
if (so->flags & GS_CURBEFORE)
so->flags |= GS_MRKBEFORE;
else
@@ -160,8 +160,8 @@ gistrestrpos(PG_FUNCTION_ARGS)
*n,
*tmp;
- scan->currentItemData = scan->currentMarkData;
so = (GISTScanOpaque) scan->opaque;
+ so->curpos = so->markpos;
if (so->flags & GS_MRKBEFORE)
so->flags |= GS_CURBEFORE;
else