Repair two TIME WITH TIME ZONE bugs found by Dennis Vshivkov. Comparison

of timetz values misbehaved in --enable-integer-datetime cases, and
EXTRACT(EPOCH) subtracted the zone instead of adding it in all cases.
Backpatch to all supported releases (except --enable-integer-datetime code
does not exist in 7.2).
REL7_2_STABLE
Tom Lane 21 years ago
parent 6fbda16518
commit 9524c6b8ae
  1. 4
      src/backend/utils/adt/date.c

@ -8,7 +8,7 @@
* *
* *
* IDENTIFICATION * IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/utils/adt/date.c,v 1.64.2.3 2002/09/30 20:57:10 tgl Exp $ * $Header: /cvsroot/pgsql/src/backend/utils/adt/date.c,v 1.64.2.4 2005/04/23 22:54:23 tgl Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
@ -1553,7 +1553,7 @@ timetz_part(PG_FUNCTION_ARGS)
} }
} }
else if ((type == RESERV) && (val == DTK_EPOCH)) else if ((type == RESERV) && (val == DTK_EPOCH))
result = time->time - time->zone; result = time->time + time->zone;
else else
{ {
elog(ERROR, "TIMETZ units '%s' not recognized", elog(ERROR, "TIMETZ units '%s' not recognized",

Loading…
Cancel
Save