BUG #1618: EXTRACTing EPOCH from TIME WITH TIME ZONE is broken

Поиск
Список
Период
Сортировка
От Dennis Vshivkov
Тема BUG #1618: EXTRACTing EPOCH from TIME WITH TIME ZONE is broken
Дата
Msg-id 20050422112727.1D37CF136C@svr2.postgresql.org
обсуждение исходный текст
Ответы Re: BUG #1618: EXTRACTing EPOCH from TIME WITH TIME ZONE is broken  (Tom Lane <tgl@sss.pgh.pa.us>)
Re: BUG #1618: EXTRACTing EPOCH from TIME WITH TIME ZONE is broken  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-bugs
The following bug has been logged online:

Bug reference:      1618
Logged by:          Dennis Vshivkov
Email address:      walrus@amur.ru
PostgreSQL version: 7.4.6, 8.0.1
Operating system:   Debian GNU/Linux, kernel 2.4
Description:        EXTRACTing EPOCH from TIME WITH TIME ZONE is broken
Details:

SELECT EXTRACT(EPOCH FROM '15:00:00+12'::TIMETZ);
 date_part
-----------
     97200
(1 row)

It should rather have returned 10800.

[8.0.1|src/backend/utils/adt/date.c] timetz_part():
    else if ((type == RESERV) && (val == DTK_EPOCH))
    {
#ifdef HAVE_INT64_TIMESTAMP
        result = ((time->time / 1000000e0) - time->zone);
#else
        result = (time->time - time->zone);
#endif
    }

Time zone component should be added, not subtracted.

В списке pgsql-bugs по дате отправления:

Предыдущее
От: Ron Mayer
Дата:
Сообщение: empty array can crash backend using int_array_enum from contrib.
Следующее
От: Sebastien Montagne
Дата:
Сообщение: pg_dump: schema with OID 17262722 does not exist