res.wasNull() troubles when using CASE? - Mailing list pgsql-jdbc

From Jean-Christian Imbeault
Subject res.wasNull() troubles when using CASE?
Date
Msg-id 3DD1C80F.3000908@mega-bucks.co.jp
Whole thread Raw
Responses Re: res.wasNull() troubles when using CASE?  (Thomas O'Dowd <tom@nooper.com>)
List pgsql-jdbc
I have the following query which seems to be having trouble with
ResultSet.wasNull():

String sql = "select case when date_sent is not null then
to_char(date_sent::timestamp, 'YY-mm-DD HH:MI') else null end as
date_sent from invoice_emails where invoice_id='" + id + "' order by
date_sent";

String s;
ResultSet res = db.queryDB(sql);
try {
   while (res.next()) {
     if (res.wasNull()) {
       s = new String("Pending");
       dates.add(s);
     }
     else {
       s = res.getString("date_sent");
       dates.add(s);
     }
   }
   System.out.println(s);
}
catch (SQLException e) {System.out.println("ERROR");}

When the returned value is null, the if (res.wasNull()) clause does not
get executed ... but the value truly was null since when I print String
s it is null.

I tried the same query using the command line and it does return null
when the date_sent column is null ... the JDBC driver however doesn't
seem to realize this ...

I'm sure it's my fault though. Can someone tell me where I went wrong?

Thanks!

Jc


pgsql-jdbc by date:

Previous
From: Nic Ferrier
Date:
Subject: Re: streaming result sets: progress
Next
From: Thomas O'Dowd
Date:
Subject: Re: res.wasNull() troubles when using CASE?