]> granicus.if.org Git - postgresql/commitdiff
Fix some problems in new variable-resolution-timestamp code.
authorTom Lane <tgl@sss.pgh.pa.us>
Thu, 4 Oct 2001 14:49:57 +0000 (14:49 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Thu, 4 Oct 2001 14:49:57 +0000 (14:49 +0000)
src/backend/utils/adt/date.c
src/backend/utils/adt/timestamp.c

index d35849cd62ad192c437b2f8ff29bfeff9969580d..762f6e0fbebaeb7d6aae791df71fb22d47ff188b 100644 (file)
@@ -8,7 +8,7 @@
  *
  *
  * IDENTIFICATION
- *       $Header: /cvsroot/pgsql/src/backend/utils/adt/date.c,v 1.59 2001/10/03 05:29:24 thomas Exp $
+ *       $Header: /cvsroot/pgsql/src/backend/utils/adt/date.c,v 1.60 2001/10/04 14:49:57 tgl Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -920,8 +920,10 @@ text_time(PG_FUNCTION_ARGS)
                *dp++ = *sp++;
        *dp = '\0';
 
-       return DirectFunctionCall1(time_in,
-                                                          CStringGetDatum(dstr));
+       return DirectFunctionCall3(time_in,
+                                                          CStringGetDatum(dstr),
+                                                          ObjectIdGetDatum(InvalidOid),
+                                                          Int32GetDatum(-1));
 }
 
 
@@ -1448,8 +1450,10 @@ text_timetz(PG_FUNCTION_ARGS)
                *dp++ = *sp++;
        *dp = '\0';
 
-       return DirectFunctionCall1(timetz_in,
-                                                          CStringGetDatum(dstr));
+       return DirectFunctionCall3(timetz_in,
+                                                          CStringGetDatum(dstr),
+                                                          ObjectIdGetDatum(InvalidOid),
+                                                          Int32GetDatum(-1));
 }
 
 /* timetz_zone()
index 112e8a26d6f0a1b8fcb4c941aa33109b3ea42b78..fbd85df787c9382fb5f8597bfe0df6257b78092d 100644 (file)
@@ -8,7 +8,7 @@
  *
  *
  * IDENTIFICATION
- *       $Header: /cvsroot/pgsql/src/backend/utils/adt/timestamp.c,v 1.53 2001/10/03 15:50:48 tgl Exp $
+ *       $Header: /cvsroot/pgsql/src/backend/utils/adt/timestamp.c,v 1.54 2001/10/04 14:49:57 tgl Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -152,7 +152,10 @@ AdjustTimestampForTypmod(Timestamp *time, int32 typmod)
                static int32 TimestampTypmod = 0;
 
                if (typmod != TimestampTypmod)
-                       TimestampScale = pow(10, typmod);
+               {
+                       TimestampScale = pow(10.0, typmod);
+                       TimestampTypmod = typmod;
+               }
 
                *time = (rint(((double) *time)*TimestampScale)/TimestampScale);
        }
@@ -1716,8 +1719,10 @@ text_timestamp(PG_FUNCTION_ARGS)
                *dp++ = *sp++;
        *dp = '\0';
 
-       return DirectFunctionCall1(timestamp_in,
-                                                          CStringGetDatum(dstr));
+       return DirectFunctionCall3(timestamp_in,
+                                                          CStringGetDatum(dstr),
+                                                          ObjectIdGetDatum(InvalidOid),
+                                                          Int32GetDatum(-1));
 }
 
 
@@ -1770,8 +1775,10 @@ text_timestamptz(PG_FUNCTION_ARGS)
                *dp++ = *sp++;
        *dp = '\0';
 
-       return DirectFunctionCall1(timestamptz_in,
-                                                          CStringGetDatum(dstr));
+       return DirectFunctionCall3(timestamptz_in,
+                                                          CStringGetDatum(dstr),
+                                                          ObjectIdGetDatum(InvalidOid),
+                                                          Int32GetDatum(-1));
 }