Re: intarray internals

Поиск
Список
Период
Сортировка
От Volkan YAZICI
Тема Re: intarray internals
Дата
Msg-id 20060506093825.GA202@alamut
обсуждение исходный текст
Ответ на intarray internals  (Volkan YAZICI <yazicivo@ttnet.net.tr>)
Ответы Re: intarray internals  (Volkan YAZICI <yazicivo@ttnet.net.tr>)
Список pgsql-general
On May 06 12:46, Volkan YAZICI wrote:
> I'm reading through the source code of intarray contrib module. Despite
> being at the beginning, I've some questions to ask. I'd be so
> appreciated if anybody can help.

Sorry, I forgot one:

[4]
In the inner_int_contains() function of _int_tool.c, there's a while
loop like

[Code assumes that arrays are sorted.]

na = ARRNELEMS(a);
nb = ARRNELEMS(b);
da = ARRPTR(a);
db = ARRPTR(b);

i = j = n = 0;
while (i < na && j < nb)
    if (da[i] < db[j])
        i++;
    else if (da[i] == db[j])
    {
        n++;
        i++;
        j++;
    }
    else
        j++;

return (n == nb) ? TRUE : FALSE;

AFAICS, last "j++" should be replaced with "return FALSE". Because, "n"
cannot be equal to "nb" no more, if "j" gets incremented without
incrementing "n" (remember "j < nb" in the "while" condition).


Regards.

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

Предыдущее
От: "chris smith"
Дата:
Сообщение: Re: Catch individual exceptions
Следующее
От: Martijn van Oosterhout
Дата:
Сообщение: Re: intarray internals