diff --git a/src/backend/utils/adt/date.c b/src/backend/utils/adt/date.c index ab8403cc3183b38b162120f99a8105d767ec32f1..eac2371040f2f3f4cf46f58ef9863739eef51bef 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.66 2002/04/21 19:48:12 thomas Exp $ + * $Header: /cvsroot/pgsql/src/backend/utils/adt/date.c,v 1.67 2002/06/01 15:52:15 thomas Exp $ * *------------------------------------------------------------------------- */ @@ -308,22 +308,16 @@ timestamp_date(PG_FUNCTION_ARGS) { Timestamp timestamp = PG_GETARG_TIMESTAMP(0); DateADT result; -#if 0 - struct tm tt, - *tm = &tt; - fsec_t fsec; -#endif if (TIMESTAMP_NOT_FINITE(timestamp)) PG_RETURN_NULL(); -#if 0 - if (timestamp2tm(timestamp, NULL, tm, &fsec, NULL) != 0) - elog(ERROR, "Unable to convert timestamp to date"); - - result = date2j(tm->tm_year, tm->tm_mon, tm->tm_mday) - date2j(2000, 1, 1); -#else +#ifdef HAVE_INT64_TIMESTAMP + /* Microseconds to days */ result = (timestamp / INT64CONST(86400000000)); +#else + /* Seconds to days */ + result = (timestamp / 86400.0); #endif PG_RETURN_DATEADT(result);