Timezone error when casting. Maybe daylight saving

Поиск
Список
Период
Сортировка
От Kjetil Nygård
Тема Timezone error when casting. Maybe daylight saving
Дата
Msg-id 1396383514.15479.13.camel@kjetil.kny.im
обсуждение исходный текст
Ответы Re: [JDBC] Timezone error when casting. Maybe daylight saving  (Dave Cramer <pg@fastcrypt.com>)
Re: Timezone error when casting. Maybe daylight saving  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-bugs
I try to build with the tests, but when I run the test
org.postgresql.test.jdbc2.StatementTest.testDateFunctions() i get:
junit.framework.AssertionFailedError: expected:<-3> but was:<-2>


When I run the same function directly in PostgreSQL, I also get -2:

test=> select extract( day from ((CAST(-3 || ' day' as
interval)+now())-now()));
 date_part
-----------
        -2


When I remove the extract day from the expression, I get:
test=> select  CAST(-3 || ' day' as interval)+now()-now();
     ?column?
-------------------
 -2 days -23:00:00


Also note these two:

test=> select '3 day'::interval + now();
           ?column?
-------------------------------
 2014-04-04 22:13:36.144756+02

test=> select  (CAST(-3 || ' days' as interval)+now());
           ?column?
-------------------------------
 2014-03-29 22:13:38.880739+01


Which should give the same timezone, but they are in +01 and +02.

This seems like a timezone problem, but I do not yet fully understand
why. My timezone is "Europe/Oslo". My PostgreSQL version is 9.3.4, from
PostgreSQL's YUM-repo.


PS: I sent this to both bugs and pgjdbc as it is a bug in PostgreSQL and
affects pgjdbc.


Regards,

Kjetil Nygård
Phone: +47 41 47 43 37





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

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: BUG #9820: Parentheses removed in chech constraint
Следующее
От: Dave Cramer
Дата:
Сообщение: Re: [JDBC] Timezone error when casting. Maybe daylight saving