You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ibatis.apache.org by "Jeff Butler (JIRA)" <ib...@incubator.apache.org> on 2006/06/20 20:09:30 UTC
[jira] Closed: (IBATIS-310) DateTypeHandler throws
NullPointerException on null Timestamps for some drivers
[ http://issues.apache.org/jira/browse/IBATIS-310?page=all ]
Jeff Butler closed IBATIS-310:
------------------------------
Resolution: Invalid
Not a bug - as explained in the comments.
> DateTypeHandler throws NullPointerException on null Timestamps for some drivers
> -------------------------------------------------------------------------------
>
> Key: IBATIS-310
> URL: http://issues.apache.org/jira/browse/IBATIS-310
> Project: iBatis for Java
> Type: Bug
> Components: SQL Maps
> Versions: 2.1.6
> Environment: JDBC Driver: JT Open driver for AS/400 (tested 4.8, 4.9, and 5.1.1)
> Reporter: Matt DeHoust
>
> The problem is in DateTypeHandler in the getResult method.
> java.sql.Timestamp sqlTimestamp = rs.getTimestamp(columnName);
> if (rs.wasNull()) {
> return null;
> } else {
> return new java.util.Date(sqlTimestamp.getTime());
> }
> In our case, the JDBC driver is returning null, but wasNull() returns false because the database value is not null. The AS/400 uses a special low value ('0001-01-01') to represent null dates and timestamps.
> Since Timestamp is an object, the recommended fix is to simply check for null rather than using wasNull as follows.
> java.sql.Timestamp sqlTimestamp = rs.getTimestamp(columnName);
> if (sqlTimestamp == null) {
> return null;
> } else {
> return new java.util.Date(sqlTimestamp.getTime());
> }
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira