]> granicus.if.org Git - postgresql/commit
Invent pg_next_dst_boundary() and rewrite DetermineLocalTimeZone() to
authorTom Lane <tgl@sss.pgh.pa.us>
Mon, 1 Nov 2004 21:34:44 +0000 (21:34 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Mon, 1 Nov 2004 21:34:44 +0000 (21:34 +0000)
commit5ba04cd9f17ac91cce7460310a2a6cbd714b7e8a
tree0259ae8820694dd5b8cf1ef1bb9ce8e34761076b
parent7fad5fff0df0476ca80716153963d90c5776acf3
Invent pg_next_dst_boundary() and rewrite DetermineLocalTimeZone() to
use it, as per my proposal of yesterday.  This gives us a means of
determining the zone offset to impute to an unlabeled timestamp that
is both efficient and reliable, unlike all our previous tries involving
mktime() and localtime().  The behavior for invalid or ambiguous times
at a DST transition is fixed to be really and truly "assume standard
time", fixing a bug that has come and gone repeatedly but was back
again in 7.4.  (There is some ongoing discussion about whether we should
raise an error instead, but for the moment I'll make it do what it was
previously intended to do.)
src/backend/utils/adt/datetime.c
src/include/pgtime.h
src/timezone/localtime.c