aboutsummaryrefslogtreecommitdiff
path: root/src/backend/access/gist/gistscan.c
diff options
context:
space:
mode:
authorTeodor Sigaev <teodor@sigaev.ru>2008-10-22 12:55:59 +0000
committerTeodor Sigaev <teodor@sigaev.ru>2008-10-22 12:55:59 +0000
commit8a47932c3ea47f1dce8df10dfc424a199ada9110 (patch)
treed6654ca2fe4dac52264b4c66eabdf79cca6f3f55 /src/backend/access/gist/gistscan.c
parentf189a122265a964cdd7f5ce44447afb9f45f1aa0 (diff)
downloadpostgresql-8a47932c3ea47f1dce8df10dfc424a199ada9110.tar.gz
postgresql-8a47932c3ea47f1dce8df10dfc424a199ada9110.zip
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.c6
1 files changed, 3 insertions, 3 deletions
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();
}