Re: Plperl Safe version check fails for Safe 2.09
От | Andrew Dunstan |
---|---|
Тема | Re: Plperl Safe version check fails for Safe 2.09 |
Дата | |
Msg-id | 2473.24.211.141.25.1101317359.squirrel@www.dunslane.net обсуждение исходный текст |
Ответ на | Re: Plperl Safe version check fails for Safe 2.09 (Tom Lane <tgl@sss.pgh.pa.us>) |
Список | pgsql-hackers |
Tom Lane said: > 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) ... > Since there was no released version between 2.08 and 2.09, comparing to 2.085 should do the trick (or any of 2.08[1-9]). cheers andrew
В списке pgsql-hackers по дате отправления: