TimestampUtils.loadCalendar failes for interval type - Mailing list pgsql-jdbc

From Gil G
Subject TimestampUtils.loadCalendar failes for interval type
Date
Msg-id 5a59b8db0509080426438d4370@mail.gmail.com
Whole thread Raw
Responses Re: TimestampUtils.loadCalendar failes for interval type  (Dave Cramer <pg@fastcrypt.com>)
Re: TimestampUtils.loadCalendar failes for interval type  (Oliver Jowett <oliver@opencloud.com>)
List 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

pgsql-jdbc by date:

Previous
From: Vadim Nasardinov
Date:
Subject: Re: Two millisecond timestamp offset
Next
From: Dave Cramer
Date:
Subject: Re: TimestampUtils.loadCalendar failes for interval type