Timezone error when casting. Maybe daylight saving - Mailing list pgsql-bugs

From Kjetil Nygård
Subject Timezone error when casting. Maybe daylight saving
Date
Msg-id 1396383514.15479.13.camel@kjetil.kny.im
Whole thread Raw
Responses 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>)
List 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 by date:

Previous
From: Tom Lane
Date:
Subject: Re: BUG #9820: Parentheses removed in chech constraint
Next
From: Dave Cramer
Date:
Subject: Re: [JDBC] Timezone error when casting. Maybe daylight saving