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

From: Andrew Dunstan <andrew(dot)dunstan(at)2ndquadrant(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Peter Eisentraut <peter(dot)eisentraut(at)2ndquadrant(dot)com>
Cc: Andrew Dunstan <andrew(at)dunslane(dot)net>, pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: Re: pgsql: Prevent infinity and NaN in jsonb/plperl transform
Date: 2018-04-30 19:13:05
Message-ID: 213242a0-0ed8-ade6-822c-0270f7064799@2ndQuadrant.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

On 04/30/2018 02:41 PM, Tom Lane wrote:
> Peter Eisentraut <peter(dot)eisentraut(at)2ndquadrant(dot)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.
>
>

Fingers crossed we'll be OK. Looking at the perl headers on a Windows
machine I'm doing some other stuff on, the #define is protected by an
#ifndef. I'm always happy when my hacks can be removed :-)

cheers

andrew

--
Andrew Dunstan https://www.2ndQuadrant.com
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

In response to

Responses

Browse pgsql-committers by date

  From Date Subject
Next Message Tom Lane 2018-04-30 20:19:56 pgsql: Further effort at preventing memory map dump from affecting the
Previous Message Tom Lane 2018-04-30 18:41:58 Re: pgsql: Prevent infinity and NaN in jsonb/plperl transform