Received: from data.demon.co.uk (root@enlarion.demon.co.uk [158.152.205.157]) by hub.org (8.9.3/8.9.3) with ESMTP id JAA23583 for ; Thu, 24 Jun 1999 09:15:39 -0400 (EDT) (envelope-from rachel@enlarion.demon.co.uk) Received: from enlarion.demon.co.uk (rachel@data.flonk.orgy [10.0.0.10]) by data.demon.co.uk (8.8.8/8.8.8) with ESMTP id OAA04514 for ; Thu, 24 Jun 1999 14:13:56 +0100 Sender: rachel@data.demon.co.uk Message-ID: <37722D14.8C5B4F52@enlarion.demon.co.uk> Date: Thu, 24 Jun 1999 14:05:24 +0100 From: Rachel Greenham Organization: Tris Global Communications ltd X-Mailer: Mozilla 4.5 [en] (X11; I; Linux 2.0.36 i586) X-Accept-Language: en MIME-Version: 1.0 To: pgsql-interfaces@postgresql.org Subject: JDBC6.5-1.2 bug wrt timestamp Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit I've just come across a bug in the latest JDBC driver for JDK1.2. Given a field in the database which is of type timestamp, I've been retrieving the value using ResultSet.getTimestamp("col") eg: Date d = rs.getTimeStamp("col"); This has been fine under JDBC6.4 The error I get is: Could not execute query (Bad Timestamp Format at 1999-06-09 15:34:05Africa/Algiers in {2}) The value in the database as seen by getString() is: 1999-06-29 00:00:00+01 The system timezone is set to "Europe/London". OK, the first thing is that the Africa/Algiers bit seem to be a JVM problem - ie: TimeZone.getDefault() returns timezone id "Africa/Algiers" on my system, which is configured for "Europe/London". I'll be chasing that separately. Unfortunately, I couldn't override because ResultSet.getTimestamp(String, TimeZone) hasn't been implemented yet (that's the error I get anyway) but I also suspect from the above error that it wouldn't work anyway. For the time being I'm just getting the value as a String and parsing it by hand. -- Rachel