[ https://issues.apache.org/jira/browse/IBATIS-494?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12577831#action_12577831 ]
Aaron Craven commented on IBATIS-494: ------------------------------------- I assume you intended a modification to my patch something like this: Clob clob = getter.getClob(); if (clob != null) { ... would become Clob clob = getter.getClob(); if (!getter.wasNull()) { ... I made the change and tested it in our development environment, and it works fine. I cannot yet test it in our production environment (which is where our original problem was), but I am fairly certain it will work there as well. > ClobTypeHandlerCallback handles NULLs incorrectly > ------------------------------------------------- > > Key: IBATIS-494 > URL: https://issues.apache.org/jira/browse/IBATIS-494 > Project: iBatis for Java > Issue Type: Bug > Components: SQL Maps > Affects Versions: 2.3.0 > Environment: WebSphere Application Server 6, DB2/390 > Reporter: Aaron Craven > Attachments: ClobTypeHandlerCallback.diff > > > After getting some very strange corruption issues with CLOBs in our > production environment, I did some digging and I believe > ClobTypeHandlerCallback to be improperly handling NULLs (though I'm not > sure). The attached patch fixed our problem. > Please note that I believe our corruption issues to be aggravated by a poorly > implemented JDBC driver. I certainly don't think iBatis is corrupting our > CLOB fields directly. But still, I believe these changes more properly handle > values in CLOBs. > There are two main modifications: > - in getResult(), the method was defaulting to an empty string if the CLOB > was null. > - in setParameter, I replaced setString(null) with setNull(Types.CLOB), which > I believe to be a more appropriate way to set a column to null in most > drivers. > As I said, I'm not a JDBC expert, so I could be wrong on these changes. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.