*
*
* IDENTIFICATION
- * $PostgreSQL: pgsql/src/backend/utils/adt/timestamp.c,v 1.152 2005/09/09 02:31:49 tgl Exp $
+ * $PostgreSQL: pgsql/src/backend/utils/adt/timestamp.c,v 1.153 2005/09/09 06:46:14 tgl Exp $
*
*-------------------------------------------------------------------------
*/
result = (Interval *) palloc(sizeof(Interval));
if (TIMESTAMP_NOT_FINITE(dt1) || TIMESTAMP_NOT_FINITE(dt2))
- {
ereport(ERROR,
(errcode(ERRCODE_DATETIME_VALUE_OUT_OF_RANGE),
errmsg("cannot subtract infinite timestamps")));
- result->time = 0;
- }
- else
#ifdef HAVE_INT64_TIMESTAMP
- result->time = dt1 - dt2;
+ result->time = dt1 - dt2;
#else
- result->time = JROUND(dt1 - dt2);
+ result->time = JROUND(dt1 - dt2);
#endif
result->month = 0;
int tz;
if (TIMESTAMP_NOT_FINITE(timestamp))
- PG_RETURN_NULL();
+ PG_RETURN_TIMESTAMP(timestamp);
if (zone->month != 0)
ereport(ERROR,