Re: GiST seems to drop left-branch leaf tuples

Поиск
Список
Период
Сортировка
От Peter Tanski
Тема Re: GiST seems to drop left-branch leaf tuples
Дата
Msg-id 4C90DBBA-45E8-463F-851D-587F0D96BD89@raditaz.com
обсуждение исходный текст
Ответ на GiST seems to drop left-branch leaf tuples  (Peter Tanski <ptanski@raditaz.com>)
Список pgsql-hackers
I should correct what I just wrote: the first and last entries in
entryvec->vector are invalid.

On Nov 23, 2010, at 11:39 AM, Peter Tanski wrote:

> Picksplit() seems to be an exceptional case here: the first and last
> numbers in entryvec are invalid so
>
> entryvec->vector[entryvec->n - 1]
>
> is invalid.  All the other GiST code Picksplit() functions use the
> same convention.  For example, see the btree_gist picksplit
> function, at
> http://doxygen.postgresql.org/btree__utils__num_8c-source.html#l00241
>
> OffsetNumber i,
>                          maxoff = entryvec->n - 1;
>
>
> On Nov 23, 2010, at 10:22 AM, Alvaro Herrera wrote:
>
>> Excerpts from Peter Tanski's message of mar nov 23 12:00:52 -0300
>> 2010:
>>
>>> There are checks inside the Picksplit() function for the number of
>>> entries:
>>>
>>> OffsetNumber maxoff = entryvec->n - 1;
>>> int n_entries, j;
>>> n_entries = Max(maxoff, 1) - 1;
>>>
>>> j = 0;
>>> for (i = FirstOffsetNumber; i < maxoff; i = OffsetNumberNext(i)) {
>>>   FPrint* v = deserialize_fprint(entv[i].key);
>>
>> Isn't this off by one?  Offset numbers are 1-based, so the maxoff
>> computation is wrong.
>>
>> --
>> Álvaro Herrera <alvherre@commandprompt.com>
>> The PostgreSQL Company - Command Prompt, Inc.
>> PostgreSQL Replication, Consulting, Custom Development, 24x7 support
>



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

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: knngist - 0.8
Следующее
От: Tom Lane
Дата:
Сообщение: Re: knngist - 0.8