Re: Plperl Safe version check fails for Safe 2.09 - Mailing list pgsql-hackers

From Tom Lane
Subject Re: Plperl Safe version check fails for Safe 2.09
Date
Msg-id 3895.1101272186@sss.pgh.pa.us
Whole thread Raw
In response to Plperl Safe version check fails for Safe 2.09  (Mark Kirkwood <markir@coretech.co.nz>)
Responses Re: Plperl Safe version check fails for Safe 2.09  ("Andrew Dunstan" <andrew@dunslane.net>)
List pgsql-hackers
Mark Kirkwood <markir@coretech.co.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


pgsql-hackers by date:

Previous
From: "Arnold.Zhu"
Date:
Subject: How to make @id or $id as parameter name in plpgsql, is it available?
Next
From: "Barry Lind"
Date:
Subject: Re: [JDBC] Strange server error with current 8.0beta driver