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 |
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 |