From b5f5c89528a39a4b9b3b8c862fb73a0131b98688 Mon Sep 17 00:00:00 2001 From: Teodor Sigaev Date: Wed, 22 Oct 2008 12:56:25 +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 3604debba0f..4ee82d13f59 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.61.2.1 2008/08/23 10:43:58 teodor Exp $ + * $PostgreSQL: pgsql/src/backend/access/gist/gistscan.c,v 1.61.2.2 2008/10/22 12:56:25 teodor Exp $ * *------------------------------------------------------------------------- */ @@ -185,7 +185,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(); } @@ -239,7 +239,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