Re: Plperl Safe version check fails for Safe 2.09

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Mark Kirkwood <markir(at)coretech(dot)co(dot)nz>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: Plperl Safe version check fails for Safe 2.09
Date: 2004-11-24 04:56:26
Message-ID: 3895.1101272186@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Mark Kirkwood <markir(at)coretech(dot)co(dot)nz> writes:
> It seems that the check in src/pl/plperl/plperl.c
> eval_pv((safe_version < 2.09 ? safe_bad : safe_ok), FALSE);
> is not working quite as expected (CVS HEAD from today):

Yah know, I looked at that on Monday and said to myself "Self, that
looks like a rounding problem waiting to happen" ... but in the absence
of a trouble report didn't want to mess with it.

Part of the problem is that Perl NV is double, not float, and so the
declaration of safe_version is wrong on its face. But even with it
properly declared, exact comparison of double values is playing with
fire. I'd be inclined to change it to something like

double safe_version;
...
if (safe_version < 2.0899999) ...

regards, tom lane

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Barry Lind 2004-11-24 05:15:32 Re: [JDBC] Strange server error with current 8.0beta driver
Previous Message Mark Kirkwood 2004-11-24 04:07:11 Re: Plperl Safe version check fails for Safe 2.09