From: Tom Lane Date: Thu, 4 Oct 2001 14:49:57 +0000 (+0000) Subject: Fix some problems in new variable-resolution-timestamp code. X-Git-Tag: REL7_2_BETA1~195 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=64dff0beac3c76dd7035bfaa2e4357aa4798cc96;p=postgresql Fix some problems in new variable-resolution-timestamp code. --- diff --git a/src/backend/utils/adt/date.c b/src/backend/utils/adt/date.c index d35849cd62..762f6e0fbe 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.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() diff --git a/src/backend/utils/adt/timestamp.c b/src/backend/utils/adt/timestamp.c index 112e8a26d6..fbd85df787 100644 --- a/src/backend/utils/adt/timestamp.c +++ b/src/backend/utils/adt/timestamp.c @@ -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)); }