Re: Potential inconsistency in handling of timestamps

From: Oliver Jowett <oliver(at)opencloud(dot)com>
To: Kris Jurka <books(at)ejurka(dot)com>
Cc: Vaibhav Nivargi <vaibhav(dot)nivargi(at)gmail(dot)com>, pgsql-jdbc(at)postgresql(dot)org
Subject: Re: Potential inconsistency in handling of timestamps
Date: 2007-10-25 22:37:20
Message-ID: 47211AA0.20102@opencloud.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-jdbc

Kris Jurka wrote:
>
>
> On Fri, 26 Oct 2007, Oliver Jowett wrote:
>
>>> Null values should in theory get handled and returned well before
>>> TimestampUtils ever gets invoked (see
>>> AbstractJdbc2ResultSet.getTimestamp()). Can you supply a testcase
>>> demonstrating the problem?
>>
>> Actually, it looks like this was fixed in AbstractJdbc2ResultSet r1.95
>> (I was looking at CVS HEAD) but not on the 8.2 branch.
>>
>
> I don't follow. The commit you mention was unify the handling of the
> RS.wasNull flag, not changing the handling of null values. That should
> be caught in TimestampUtils.toTimestamp and friends.

Well, it did change getTimestamp() so it returns null sooner:

http://gborg.postgresql.org/cgi-bin/cvsweb.cgi/pgjdbc/org/postgresql/jdbc2/AbstractJdbc2ResultSet.java.diff?r1=1.94;r2=1.95;cvsroot=pgjdbc

@@ -419,7 +425,9 @@ public abstract class AbstractJdbc2Resul

public Timestamp getTimestamp(int i, java.util.Calendar cal)
throws SQLException
{
- this.checkResultSet(i);
+ checkResultSet(i);
+ if (wasNullFlag)
+ return null;

if (cal != null)
cal = (Calendar)cal.clone();

You're right though, null should be caught by
TimestampUtils.toTimestamp() too.

Back to looking for a testcase?

-O

In response to

Responses

Browse pgsql-jdbc by date

  From Date Subject
Next Message Kris Jurka 2007-10-25 22:43:59 Re: Potential inconsistency in handling of timestamps
Previous Message Brad Larson 2007-10-25 22:32:38 Calling a stored procedure with a custom return type