]> granicus.if.org Git - postgresql/commitdiff
Improve computations of interval_div to prevent rounding problem on AIX.
authorBruce Momjian <bruce@momjian.us>
Sat, 23 Jul 2005 14:53:21 +0000 (14:53 +0000)
committerBruce Momjian <bruce@momjian.us>
Sat, 23 Jul 2005 14:53:21 +0000 (14:53 +0000)
src/backend/utils/adt/timestamp.c

index da7a87a1bb89c5cd0049a7a3b728025c2c25ee67..ac628453441132d268e5c311335d7eb12ccccace 100644 (file)
@@ -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 */