88 *
99 *
1010 * IDENTIFICATION
11- * $PostgreSQL: pgsql/src/backend/utils/adt/datetime.c,v 1.193 2008/09/16 22:31:21 tgl Exp $
11+ * $PostgreSQL: pgsql/src/backend/utils/adt/datetime.c,v 1.194 2008/09/24 19:46:44 momjian Exp $
1212 *
1313 *-------------------------------------------------------------------------
1414 */
@@ -2888,7 +2888,7 @@ DecodeInterval(char **field, int *ftype, int nf, int range,
28882888{
28892889case DTK_MICROSEC :
28902890#ifdef HAVE_INT64_TIMESTAMP
2891- * fsec += val + fval ;
2891+ * fsec += rint ( val + fval ) ;
28922892#else
28932893* fsec += (val + fval )* 1e-6 ;
28942894#endif
@@ -2897,7 +2897,7 @@ DecodeInterval(char **field, int *ftype, int nf, int range,
28972897
28982898case DTK_MILLISEC :
28992899#ifdef HAVE_INT64_TIMESTAMP
2900- * fsec += ( val + fval )* 1000 ;
2900+ * fsec += rint (( val + fval )* 1000 ) ;
29012901#else
29022902* fsec += (val + fval )* 1e-3 ;
29032903#endif
@@ -2907,7 +2907,7 @@ DecodeInterval(char **field, int *ftype, int nf, int range,
29072907case DTK_SECOND :
29082908tm -> tm_sec += val ;
29092909#ifdef HAVE_INT64_TIMESTAMP
2910- * fsec += fval * 1000000 ;
2910+ * fsec += rint ( fval * 1000000 ) ;
29112911#else
29122912* fsec += fval ;
29132913#endif
@@ -2932,7 +2932,7 @@ DecodeInterval(char **field, int *ftype, int nf, int range,
29322932sec = fval ;
29332933tm -> tm_sec += sec ;
29342934#ifdef HAVE_INT64_TIMESTAMP
2935- * fsec += ( fval - sec )* 1000000 ;
2935+ * fsec += rint (( fval - sec )* 1000000 ) ;
29362936#else
29372937* fsec += fval - sec ;
29382938#endif
@@ -2950,7 +2950,7 @@ DecodeInterval(char **field, int *ftype, int nf, int range,
29502950sec = fval ;
29512951tm -> tm_sec += sec ;
29522952#ifdef HAVE_INT64_TIMESTAMP
2953- * fsec += ( fval - sec )* 1000000 ;
2953+ * fsec += rint (( fval - sec )* 1000000 ) ;
29542954#else
29552955* fsec += fval - sec ;
29562956#endif
@@ -2969,7 +2969,7 @@ DecodeInterval(char **field, int *ftype, int nf, int range,
29692969sec = fval ;
29702970tm -> tm_sec += sec ;
29712971#ifdef HAVE_INT64_TIMESTAMP
2972- * fsec += ( fval - sec )* 1000000 ;
2972+ * fsec += rint (( fval - sec )* 1000000 ) ;
29732973#else
29742974* fsec += fval - sec ;
29752975#endif
@@ -2995,7 +2995,7 @@ DecodeInterval(char **field, int *ftype, int nf, int range,
29952995sec = fval ;
29962996tm -> tm_sec += sec ;
29972997#ifdef HAVE_INT64_TIMESTAMP
2998- * fsec += ( fval - sec )* 1000000 ;
2998+ * fsec += rint (( fval - sec )* 1000000 ) ;
29992999#else
30003000* fsec += fval - sec ;
30013001#endif
@@ -3022,7 +3022,7 @@ DecodeInterval(char **field, int *ftype, int nf, int range,
30223022sec = fval ;
30233023tm -> tm_sec += sec ;
30243024#ifdef HAVE_INT64_TIMESTAMP
3025- * fsec += ( fval - sec )* 1000000 ;
3025+ * fsec += rint (( fval - sec )* 1000000 ) ;
30263026#else
30273027* fsec += fval - sec ;
30283028#endif