On Mon, Feb 1, 2016 at 9:46 PM, Michael Paquier
> On Mon, Feb 1, 2016 at 10:34 PM, Robert Haas <robertmh...@gmail.com> wrote:
>> On Sat, Jan 30, 2016 at 7:36 AM, Michael Paquier
>> <michael.paqu...@gmail.com> wrote:
>>> On Fri, Jan 29, 2016 at 11:21 PM, Fabien COELHO <coe...@cri.ensmp.fr> wrote:
>>>> + /* overflow check (needed for INT64_MIN) */
>>>> + if (lval != 0 && (*retval < 0 == lval < 0))
>>>> Why not use "if (lval == INT64_MIN)" instead of this complicated condition?
>>>> If it is really needed for some reason, I think that a comment could help.
>>> Checking for PG_INT64_MIN only would be fine as well, so let's do so.
>>> I thought honestly that we had better check if the result and the left
>>> argument are not of the same sign, but well.
>> Committed and back-patched to 9.5. Doesn't apply further back.
> OK, here are patches for 9.1~9.4. The main differences are that in
> 9.3/9.4 int64 is used for the division operations, and in 9.2/9.1
> that's int32. In the latter case pgbench blows up the same way with
> \set i -2147483648
> \set i :i / -1
> select :i;
> In those patches INT32_MIN/INT64_MIN need to be explicitly set as well
> at the top of pgbench.c. I thing that's fine.
Oh, gosh, I should have said more clearly that I didn't really see a
need to fix this all the way back. But I guess we could.
The Enterprise PostgreSQL Company
Sent via pgsql-hackers mailing list (email@example.com)
To make changes to your subscription: