Обсуждение: pgsql: Invent pg_next_dst_boundary() and rewrite

Поиск
Список
Период
Сортировка

pgsql: Invent pg_next_dst_boundary() and rewrite

От
tgl@svr1.postgresql.org (Tom Lane)
Дата:
Log Message:
-----------
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.)

Modified Files:
--------------
    pgsql/src/backend/utils/adt:
        datetime.c (r1.134 -> r1.135)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/adt/datetime.c.diff?r1=1.134&r2=1.135)
    pgsql/src/include:
        pgtime.h (r1.4 -> r1.5)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/pgtime.h.diff?r1=1.4&r2=1.5)
    pgsql/src/timezone:
        localtime.c (r1.8 -> r1.9)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/timezone/localtime.c.diff?r1=1.8&r2=1.9)