Fix some problems in new variable-resolution-timestamp code.

This commit is contained in:
Tom Lane 2001-10-04 14:49:57 +00:00
parent c4566933b1
commit 64dff0beac
2 changed files with 22 additions and 11 deletions

View 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()

View 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));
}