From 8a47932c3ea47f1dce8df10dfc424a199ada9110 Mon Sep 17 00:00:00 2001 From: Teodor Sigaev Date: Wed, 22 Oct 2008 12:55:59 +0000 Subject: Fix GiST's killing tuple: GISTScanOpaque->curpos wasn't correctly set. As result, killtuple() marks as dead wrong tuple on page. Bug was introduced by me while fixing possible duplicates during GiST index scan. --- src/backend/access/gist/gistscan.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/backend/access/gist/gistscan.c') diff --git a/src/backend/access/gist/gistscan.c b/src/backend/access/gist/gistscan.c index 4864fd1248d..aeb1a8282c8 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.65.2.1 2008/08/23 10:41:38 teodor Exp $ + * $PostgreSQL: pgsql/src/backend/access/gist/gistscan.c,v 1.65.2.2 2008/10/22 12:55:59 teodor Exp $ * *------------------------------------------------------------------------- */ @@ -154,7 +154,7 @@ gistmarkpos(PG_FUNCTION_ARGS) so->markNPageData = so->nPageData; so->markCurPageData = so->curPageData; if ( so->markNPageData > 0 ) - memcpy( so->markPageData, so->pageData, sizeof(ItemPointerData) * so->markNPageData ); + memcpy( so->markPageData, so->pageData, sizeof(MatchedItemPtr) * so->markNPageData ); PG_RETURN_VOID(); } @@ -208,7 +208,7 @@ gistrestrpos(PG_FUNCTION_ARGS) so->nPageData = so->markNPageData; so->curPageData = so->markNPageData; if ( so->markNPageData > 0 ) - memcpy( so->pageData, so->markPageData, sizeof(ItemPointerData) * so->markNPageData ); + memcpy( so->pageData, so->markPageData, sizeof(MatchedItemPtr) * so->markNPageData ); PG_RETURN_VOID(); } -- cgit v1.2.3