diff options
author | Teodor Sigaev <teodor@sigaev.ru> | 2008-10-22 12:56:25 +0000 |
---|---|---|
committer | Teodor Sigaev <teodor@sigaev.ru> | 2008-10-22 12:56:25 +0000 |
commit | b5f5c89528a39a4b9b3b8c862fb73a0131b98688 (patch) | |
tree | 4cc9977976557baf886de7827f8c4befb2b920c6 /src/backend/access/gist/gistscan.c | |
parent | feb45966970e6aa6cfdb2a42eaa0cba8472d94fb (diff) |
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.
Diffstat (limited to 'src/backend/access/gist/gistscan.c')
-rw-r--r-- | src/backend/access/gist/gistscan.c | 6 |
1 files changed, 3 insertions, 3 deletions
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(); } |