From: Bruce Momjian Date: Sat, 23 Jul 2005 14:53:21 +0000 (+0000) Subject: Improve computations of interval_div to prevent rounding problem on AIX. X-Git-Tag: REL8_1_0BETA1~256 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=f76f24dfffe6ed8fe40d29d0af9eae6276612491;p=postgresql Improve computations of interval_div to prevent rounding problem on AIX. --- diff --git a/src/backend/utils/adt/timestamp.c b/src/backend/utils/adt/timestamp.c index da7a87a1bb..ac62845344 100644 --- a/src/backend/utils/adt/timestamp.c +++ b/src/backend/utils/adt/timestamp.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/utils/adt/timestamp.c,v 1.144 2005/07/23 14:25:34 momjian Exp $ + * $PostgreSQL: pgsql/src/backend/utils/adt/timestamp.c,v 1.145 2005/07/23 14:53:21 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -2308,9 +2308,9 @@ interval_div(PG_FUNCTION_ARGS) result->day = span->day / factor; result->time = span->time / factor; - /* Computer remainders */ - month_remainder = (span->month - result->month * factor) / factor; - day_remainder = (span->day - result->day * factor) / factor; + /* Compute remainders */ + month_remainder = span->month / factor - result->month; + day_remainder = span->day / factor - result->day; /* Cascade fractions to lower units */ /* fractional months full days into days */