On Fri, Sep 12, 2014 at 7:35 AM, Gaetano Mendola <mend...@gmail.com> wrote: > At line 650 I can read: > > if ((leaf->lsize - segsize) - (leaf->lsize - segsize) < BLCKSZ / 4) > break; > > I believe one of the two should be leaf->rsize Yes this condition is broken. Shouldn't it be that instead when appending items at the end of a page? if ((leaf->lsize - segsize) - (leaf->rsize + segsize) < BLCKSZ / 4) This has been introduced by 36a35c5 and should be backpatched to 9.4. Regards, -- Michael
diff --git a/src/backend/access/gin/gindatapage.c b/src/backend/access/gin/gindatapage.c index 76e0cb3..00a5754 100644 --- a/src/backend/access/gin/gindatapage.c +++ b/src/backend/access/gin/gindatapage.c @@ -647,7 +647,7 @@ dataPlaceToPageLeaf(GinBtree btree, Buffer buf, GinBtreeStack *stack, segsize = SizeOfGinPostingList(lastleftinfo->seg); if (append) { - if ((leaf->lsize - segsize) - (leaf->lsize - segsize) < BLCKSZ / 4) + if ((leaf->lsize - segsize) - (leaf->rsize + segsize) < BLCKSZ / 4) break; } else
-- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers