From f76f24dfffe6ed8fe40d29d0af9eae6276612491 Mon Sep 17 00:00:00 2001
From: Bruce Momjian <bruce@momjian.us>
Date: Sat, 23 Jul 2005 14:53:21 +0000
Subject: [PATCH] Improve computations of interval_div to prevent rounding
 problem on AIX.

---
 src/backend/utils/adt/timestamp.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

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 */