Incorrect cursor behaviour with gist index

Поиск
Список
Период
Сортировка
От Teodor Sigaev
Тема Incorrect cursor behaviour with gist index
Дата
Msg-id 48F8DA70.7010804@sigaev.ru
обсуждение исходный текст
Ответы Re: Incorrect cursor behaviour with gist index  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-hackers
I'm back, sorry for a long absence.

About this bug: http://archives.postgresql.org/pgsql-bugs/2008-09/msg00086.php

Unfortunately, GiST index doesn't work with change direction of scan. I.e. it 
can't move forward then move backward and this behaviour was from the beginning.

I think it's fixable, although GiST doesn't store on page left links (only right 
links) and doesn't store parent page pointer. That's needed because matched 
entries in GiST isn't stored consecutively unlike to BTree. So, price for it 
will be storing in memory or stack all numbers of visited pages in index even 
they will not be used. In worst case it's 2^32 of  GISTSearchStack. Right now it 
occupies 24-32 bytes depending on sizeof(void*), and it will be needed to add 
one more pointer to make double-linked stack. So, about 32Mb. Is it acceptable?

Nevertheless, it doesn't solve problem with concurrent page splitting what can 
cause different order between forward and backward scan in one cursor.

-- 
Teodor Sigaev                                   E-mail: teodor@sigaev.ru
  WWW: http://www.sigaev.ru/
 


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

Предыдущее
От: Teodor Sigaev
Дата:
Сообщение: Re: small bug in hlCover
Следующее
От: Simon Riggs
Дата:
Сообщение: Re: Block-level CRC checks