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

Reply via email to