TimestampUtils.loadCalendar failes for interval type

From: Gil G <gm12345678(at)gmail(dot)com>
To: pgsql-jdbc(at)postgresql(dot)org
Subject: TimestampUtils.loadCalendar failes for interval type
Date: 2005-09-08 11:26:23
Message-ID: 5a59b8db0509080426438d4370@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-jdbc

Hi,

I've executed following query:
select t.date-t.date2 from table as t

The query should return a single row of type interval. Indeed,
resultSet.getObject(1) returns a PGInterval instance with the correct value
(the returned interval is 2 days and several hours).

When I call resultSet.getString(1) the string representation of interval is
"2 days 14:08:55.8246".
The problem arises when I call resultSet.getTimestamp(1).
As I saw in org.postgresql.jdbc2.TimestampUtils.loadCalendar(GregorianCalendar
cal, String s, String type) it fails to parse correctly
the string, which is returned by resultSet.getString(1) call. since it
expects only the "14:08:55.8246" part and does not expect the "2 days " part.
Please note that in case the interval between two dates is smaller than 24
hours everything works correctly.

This is important since, generic products such as Hibernate that work over
different jdbc drivers, refer to the interval data type as a
java.sql.Timestamp object and call getTimestamp(int) method on the resultset
to get the instance.

Thanks,
Gil

Responses

Browse pgsql-jdbc by date

  From Date Subject
Next Message Diego Gil 2005-09-08 15:04:13 Re: simple insert operation
Previous Message Roland Walter 2005-09-08 08:23:06 Re: simple insert operation