From 1392cbd0ed97f1bf956d4aa2cc4325f9a6418e8b Mon Sep 17 00:00:00 2001
From: Tom Lane <tgl@sss.pgh.pa.us>
Date: Thu, 4 Oct 2001 15:14:22 +0000
Subject: [PATCH] AdjustTimeForTypmod has the same bug ...

---
 src/backend/utils/adt/date.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/utils/adt/date.c b/src/backend/utils/adt/date.c
index 762f6e0fbeb..f8693c753af 100644
--- a/src/backend/utils/adt/date.c
+++ b/src/backend/utils/adt/date.c
@@ -8,7 +8,7 @@
  *
  *
  * IDENTIFICATION
- *	  $Header: /cvsroot/pgsql/src/backend/utils/adt/date.c,v 1.60 2001/10/04 14:49:57 tgl Exp $
+ *	  $Header: /cvsroot/pgsql/src/backend/utils/adt/date.c,v 1.61 2001/10/04 15:14:22 tgl Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -28,8 +28,7 @@
 #include "utils/timestamp.h"
 
 
-static void
-AdjustTimeForTypmod(TimeADT *time, int32 typmod);
+static void AdjustTimeForTypmod(TimeADT *time, int32 typmod);
 
 /*****************************************************************************
  *	 Date ADT
@@ -502,7 +501,10 @@ AdjustTimeForTypmod(TimeADT *time, int32 typmod)
 		static int32 TimeTypmod = 0;
 
 		if (typmod != TimeTypmod)
-			TimeScale = pow(10, typmod);
+		{
+			TimeScale = pow(10.0, typmod);
+			TimeTypmod = typmod;
+		}
 
 		*time = (rint(((double) *time)*TimeScale)/TimeScale);
 
-- 
GitLab