Re: [BUGS] [HACKERS] Float value 'Infinity' is cast to numeric 1 on Windows

Поиск
Список
Период
Сортировка
От Kohei KaiGai
Тема Re: [BUGS] [HACKERS] Float value 'Infinity' is cast to numeric 1 on Windows
Дата
Msg-id CAOP8fzaLqeNFL99V0r=dxY9vXMxPhxnSV2KdL4-CSL8kz2sB9Q@mail.gmail.com
обсуждение исходный текст
Ответ на [BUGS] Float value 'Infinity' is cast to numeric 1 on Windows  (Taiki Kondo <tai-kondo@yk.jp.nec.com>)
Ответы Re: [BUGS] [HACKERS] Float value 'Infinity' is cast to numeric 1 on Windows  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-bugs
Hello,

Does it make sense to put a check of "isinf(val)" and ereport prior to
the snprintf()?
It is a lightweight check more than set_var_from_str().

Thanks,

2017-09-27 19:41 GMT+09:00 Taiki Kondo <tai-kondo@yk.jp.nec.com>:
> Hi all,
>
> I build PostgreSQL 9.6.5 by Visual Studio 2013 on Windows, I found weird behavior on it.
>
> I execute following SQL, occurring ERROR is expected, but I got mysterious value 1.
>
>
> postgres=# select (float8 'inf')::numeric;
>  numeric
> ---------
>        1
> (1 row)
>
>
> On Windows, at least Visual Studio, the string of float/double value meaning
> infinity is "1.#INF" not "inf". So, set_var_from_str() called from float8_numeric()
> in utils/adt/numeric.c will return numeric value 1, and no one checks this situation.
>
> This situation is also occurring by cast from float4.
>
> I wrote a patch to add check this situation.
> Please find attached.
>
>
> Sincerely,
>
> --
> Taiki Kondo
> NEC Solution Innovators, Ltd.
>
>
>
>
> --
> Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-hackers
>



-- 
HeteroDB, Inc / The PG-Strom Project
KaiGai Kohei <kaigai@heterodb.com>


-- 
Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-bugs

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

Предыдущее
От: Taiki Kondo
Дата:
Сообщение: [BUGS] Float value 'Infinity' is cast to numeric 1 on Windows
Следующее
От: Tom Lane
Дата:
Сообщение: Re: [BUGS] [HACKERS] Float value 'Infinity' is cast to numeric 1 on Windows