Re: GiST seems to drop left-branch leaf tuples

Поиск
Список
Период
Сортировка
От Peter Tanski
Тема Re: GiST seems to drop left-branch leaf tuples
Дата
Msg-id 0B1250AB-55F8-4475-9A0B-982B567A923B@raditaz.com
обсуждение исходный текст
Ответ на Re: GiST seems to drop left-branch leaf tuples  (Alvaro Herrera <alvherre@commandprompt.com>)
Список pgsql-hackers
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 по дате отправления:

Предыдущее
От: Robert Haas
Дата:
Сообщение: Re: knngist - 0.8
Следующее
От: Stefan Kaltenbrunner
Дата:
Сообщение: NLS builds on windows and lc_messages