Re: pgsql: Prevent infinity and NaN in jsonb/plperl transform

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: pgsql: Prevent infinity and NaN in jsonb/plperl transform
Дата
Msg-id 23691.1525113718@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: pgsql: Prevent infinity and NaN in jsonb/plperl transform  (Peter Eisentraut <peter.eisentraut@2ndquadrant.com>)
Ответы Re: pgsql: Prevent infinity and NaN in jsonb/plperl transform  (Andrew Dunstan <andrew.dunstan@2ndquadrant.com>)
Список pgsql-committers
Peter Eisentraut <peter.eisentraut@2ndquadrant.com> writes:
> On 4/30/18 13:56, Tom Lane wrote:
>> So this isn't working on Windows: ...
>> The reason seems to be this kluge in plperl.h:
>> 
>> /* stop perl headers from hijacking stdio and other stuff on Windows */
>> #ifdef WIN32
>> #define WIN32IO_IS_STDIO
>> /*
>> * isnan is defined in both the perl and mingw headers. We don't use it,
>> * so this just clears up the compile warning.
>> */
>> #ifdef isnan
>> #undef isnan
>> #endif
>> #endif                            /* WIN32 */
>> 
>> Looks like the half-life of that hack just expired.  What shall
>> we do about it?

> I have removed this for now.  If it's really just about a compiler
> warning, then we can find a different workaround later.

I was just about to propose exactly that fix.  This undef'ing of isnan
traces back to Andrew's 2006 commit ea73a78b0.  I think perhaps that's not
necessary with any still-supported version of Perl; I see no evidence on
my machines that any Perl header #defines isnan.  There is this bit:

#ifdef UNDER_CE
int isnan(double d);
#endif

which would cause trouble if isnan is a macro, but we can hope that
that doesn't apply to us.

            regards, tom lane


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

Предыдущее
От: Peter Eisentraut
Дата:
Сообщение: Re: pgsql: Prevent infinity and NaN in jsonb/plperl transform
Следующее
От: Andrew Dunstan
Дата:
Сообщение: Re: pgsql: Prevent infinity and NaN in jsonb/plperl transform