Re: GIN stuck in loop during PITR

Поиск
Список
Период
Сортировка
От Andreas Seltenreich
Тема Re: GIN stuck in loop during PITR
Дата
Msg-id 87ejygo84q.fsf@gate450.dyndns.org
обсуждение исходный текст
Ответ на Re: GIN stuck in loop during PITR  (Andreas Seltenreich <andreas+pg@gate450.dyndns.org>)
Список pgsql-hackers
Andreas Seltenreich schrob:

> Teodor Sigaev schrob:
>
>> Thanks a lot, applied. Can you describe test suite? It may be useful
>> for test more...
>
> Here's a shell script that triggers the bug when I revert the patch.

Just tried the script on HEAD, and it was triggering an assertion. I
guess it is because we are still returning InvalidOffsetNumber in the
trivial case (looks like a typo to me). I've attached a patch.

regards,
andreas

Index: ginbtree.c
===================================================================
RCS file: /projects/cvsroot/pgsql/src/backend/access/gin/ginbtree.c,v
retrieving revision 1.2
diff -c -r1.2 ginbtree.c
*** ginbtree.c    26 May 2006 08:01:17 -0000    1.2
--- ginbtree.c    26 May 2006 20:09:45 -0000
***************
*** 189,195 ****     Assert( !GinPageIsLeaf(page) );      /* check trivial case */
!     if ( (root->off != btree->findChildPtr(btree, page, stack->blkno, InvalidOffsetNumber)) != InvalidBuffer ) {
  stack->parent = root;         return;     }
 
--- 189,195 ----     Assert( !GinPageIsLeaf(page) );      /* check trivial case */
!     if ( (root->off = btree->findChildPtr(btree, page, stack->blkno, InvalidOffsetNumber)) != InvalidOffsetNumber ) {
       stack->parent = root;         return;     }
 


В списке pgsql-hackers по дате отправления:

Предыдущее
От: "Jim C. Nasby"
Дата:
Сообщение: Re: XLogArchivingActive
Следующее
От: Simon Riggs
Дата:
Сообщение: Re: Compression and on-disk sorting