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

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Peter Eisentraut <peter_e(at)gmx(dot)net>
Cc: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: Re: pgsql: Prevent infinity and NaN in jsonb/plperl transform
Date: 2018-04-30 17:56:06
Message-ID: 21194.1525110966@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Peter Eisentraut <peter_e(at)gmx(dot)net> writes:
> Prevent infinity and NaN in jsonb/plperl transform

So this isn't working on Windows:

contrib/jsonb_plperl/jsonb_plperl.c(226): warning C4013: 'isnan' undefined; assuming extern returning int [c:\pgbuildfarm\pgbuildroot\HEAD\pgsql.build\jsonb_plperl.vcxproj]
...
.\Release\jsonb_plperl\jsonb_plperl.dll : fatal error LNK1120: 1 unresolved externals [c:\pgbuildfarm\pgbuildroot\HEAD\pgsql.build\jsonb_plperl.vcxproj]

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?

If you don't have an immediate solution, please revert this commit
temporarily, as it's preventing me from making any further progress
on the reattach-failure investigation.

regards, tom lane

In response to

Responses

Browse pgsql-committers by date

  From Date Subject
Next Message Peter Eisentraut 2018-04-30 18:19:19 pgsql: Write error messages about duplicate OIDs to stderr
Previous Message Peter Eisentraut 2018-04-30 17:51:51 pgsql: Don't do logical replication of TRUNCATE of zero tables