From 5d1a066e64d775369a072bd0a323b2972f7ef979 Mon Sep 17 00:00:00 2001 From: Teodor Sigaev Date: Fri, 26 May 2006 08:01:17 +0000 Subject: [PATCH] Fix findParents() in case of multiple levels to find. By Andreas Seltenreich --- src/backend/access/gin/ginbtree.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/backend/access/gin/ginbtree.c b/src/backend/access/gin/ginbtree.c index 821822c8a9..6db094031e 100644 --- a/src/backend/access/gin/ginbtree.c +++ b/src/backend/access/gin/ginbtree.c @@ -8,7 +8,7 @@ * Portions Copyright (c) 1994, Regents of the University of California * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/access/gin/ginbtree.c,v 1.1 2006/05/02 11:28:54 teodor Exp $ + * $PostgreSQL: pgsql/src/backend/access/gin/ginbtree.c,v 1.2 2006/05/26 08:01:17 teodor Exp $ *------------------------------------------------------------------------- */ @@ -202,7 +202,7 @@ findParents( GinBtree btree, GinBtreeStack *stack, for(;;) { buffer = ReadBuffer(btree->index, blkno); LockBuffer(buffer, GIN_EXCLUSIVE); - page = BufferGetPage(root->buffer); + page = BufferGetPage(buffer); if ( GinPageIsLeaf(page) ) elog(ERROR, "Lost path"); @@ -224,6 +224,7 @@ findParents( GinBtree btree, GinBtreeStack *stack, ptr->blkno = blkno; ptr->buffer = buffer; ptr->parent = root; /* it's may be wrong, but in next call we will correct */ + ptr->off = offset; stack->parent = ptr; return; } -- 2.11.0