Re: Wrong results from in_range() tests with infinite offset

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: Wrong results from in_range() tests with infinite offset
Дата
Msg-id 3941233.1595081173@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: Wrong results from in_range() tests with infinite offset  (Dean Rasheed <dean.a.rasheed@gmail.com>)
Ответы Re: Wrong results from in_range() tests with infinite offset  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-hackers
Dean Rasheed <dean.a.rasheed@gmail.com> writes:
>     if (isinf(base) && isinf(offset))
>     {
>         if ((base > 0 && sub) || (base < 0 && !sub))
>             PG_RETURN_BOOL(true);
>     }

Yeah, I'd experimented with more-or-less that logic before arriving at
my v2 patch.  I didn't like the outcome that "inf both infinitely precedes
and infinitely follows itself".  Still, it is nicely simple.

To make sense of this behavior, you have to argue that +/-inf are not
in any way concrete values, but represent some sort of infinite ranges;
then there could be some members of the class "inf" that infinitely
precede other members.  I thought that was bending the mathematical
concept a bit too far.  However, this isn't an area of math that I've
studied in any detail, so maybe it's a standard interpretation.

Still, I think the results my v2 patch gets make more sense than these.

            regards, tom lane



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

Предыдущее
От: Andrew Dunstan
Дата:
Сообщение: Re: SQL/JSON: functions
Следующее
От: Ranier Vilela
Дата:
Сообщение: CID 1428952 (#1 of 1): Out-of-bounds access (OVERRUN) (src/backend/commands/async.c)