Peter Eisentraut <[EMAIL PROTECTED]> writes:
> This result from AIX/PPC can't be good, however:
Hmm. The test in int84div is
/*
* Overflow check. The only possible overflow case is for arg1 =
* INT64_MIN, arg2 = -1, where the correct result is -INT64_MIN, which
* can't be represented on a two's-complement machine.
*/
if (arg2 == -1 && arg1 < 0 && result < 0)
ereport(ERROR,
(errcode(ERRCODE_NUMERIC_VALUE_OUT_OF_RANGE),
errmsg("bigint out of range")));
Maybe we could use "result <= 0" for the third check? Surely a zero
result cannot be correct given the first two checks.
The other integer division functions should be looked at too.
regards, tom lane
--
Sent via pgsql-hackers mailing list ([email protected])
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers