Re: BUG #12885: The result of casting a double to an integer depends on the database version

From: Michael Paquier <michael(dot)paquier(at)gmail(dot)com>
To: Pedro Gimeno <pgsql-004(at)personal(dot)formauri(dot)es>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, rschaaf(at)commoninf(dot)com, pgsql-bugs(at)postgresql(dot)org
Subject: Re: BUG #12885: The result of casting a double to an integer depends on the database version
Date: 2015-03-25 03:26:58
Message-ID: CAB7nPqRRyhDtNMKC=vuTpO8XRwMEigyFh2VttnkC_eE7LbTAXQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

On Tue, Mar 24, 2015 at 7:11 PM, Pedro Gimeno
<pgsql-004(at)personal(dot)formauri(dot)es> wrote:
> Michael Paquier wrote, On 2015-03-25 01:19:
>> Hence I'd rather think that patching src/port is the way to go, with
>> for example something like the patch attached.
>
> There are some corner cases that that patch does not handle properly,
> most notably doubles that would overflow an integer. I suggest the
> attached implementation (it's not as a patch, though). I've included a
> test suite. The function can deal with non-IEEE floats too, but some of
> the tests assume IEEE doubles.

copysign is not that portable, at least it is not in the MSVC world.
So as a patch you would get something like the attached with what you
wrote.
--
Michael

Attachment Content-Type Size
20150325_port_rint_fix_v2.patch text/x-diff 614 bytes

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message kimthangatm 2015-03-25 03:31:49 BUG #12895: Error: systemctl command not found
Previous Message Pedro Gimeno 2015-03-25 02:11:51 Re: BUG #12885: The result of casting a double to an integer depends on the database version