You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ibatis.apache.org by jg...@apache.org on 2008/03/12 16:58:50 UTC

svn commit: r636380 - in /ibatis/trunk/java/mapper/mapper2: build/version.properties doc/release.txt src/com/ibatis/sqlmap/engine/type/BlobTypeHandlerCallback.java src/com/ibatis/sqlmap/engine/type/ClobTypeHandlerCallback.java

Author: jgbutler
Date: Wed Mar 12 08:58:44 2008
New Revision: 636380

URL: http://svn.apache.org/viewvc?rev=636380&view=rev
Log:
Fix for IBATIS-494 - Improper NULL handling in Blob and Clob type handlers

Modified:
    ibatis/trunk/java/mapper/mapper2/build/version.properties
    ibatis/trunk/java/mapper/mapper2/doc/release.txt
    ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/type/BlobTypeHandlerCallback.java
    ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/type/ClobTypeHandlerCallback.java

Modified: ibatis/trunk/java/mapper/mapper2/build/version.properties
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/mapper/mapper2/build/version.properties?rev=636380&r1=636379&r2=636380&view=diff
==============================================================================
--- ibatis/trunk/java/mapper/mapper2/build/version.properties (original)
+++ ibatis/trunk/java/mapper/mapper2/build/version.properties Wed Mar 12 08:58:44 2008
@@ -1,5 +1,5 @@
 #Build version info
-#Wed Feb 27 09:38:03 CST 2008
+#Wed Mar 12 10:54:51 CDT 2008
 version=2.3.1
-buildDate=2008/02/27 09\:38
-buildNum=699
+buildDate=2008/03/12 10\:54
+buildNum=700

Modified: ibatis/trunk/java/mapper/mapper2/doc/release.txt
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/mapper/mapper2/doc/release.txt?rev=636380&r1=636379&r2=636380&view=diff
==============================================================================
--- ibatis/trunk/java/mapper/mapper2/doc/release.txt (original)
+++ ibatis/trunk/java/mapper/mapper2/doc/release.txt Wed Mar 12 08:58:44 2008
@@ -9,6 +9,7 @@
  o Fixed IBATIS-388 - Add methods to unwrap all proxied objects
  o Fixed IBATIS-484 - Make setType method in JdbcTypeRegistry public
  o Fixed IBATIS-490 - Improper use of getColumnLabel()
+ o Fixed IBATIS-494 - Improper NULL handling in Blob and Clob Type Handlers
 
 
 ------------------------------

Modified: ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/type/BlobTypeHandlerCallback.java
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/type/BlobTypeHandlerCallback.java?rev=636380&r1=636379&r2=636380&view=diff
==============================================================================
--- ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/type/BlobTypeHandlerCallback.java (original)
+++ ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/type/BlobTypeHandlerCallback.java Wed Mar 12 08:58:44 2008
@@ -21,14 +21,15 @@
 
 import java.sql.Blob;
 import java.sql.SQLException;
+import java.sql.Types;
 import java.io.ByteArrayInputStream;
 
 public class BlobTypeHandlerCallback implements TypeHandlerCallback {
 
  public Object getResult(ResultGetter getter) throws SQLException {
    Blob blob = getter.getBlob();
-   byte[] returnValue = null;
-   if (null != blob) {
+   byte[] returnValue;
+   if (!getter.wasNull()) {
      returnValue = blob.getBytes(1, (int) blob.length());
    } else {
      returnValue = null;
@@ -42,6 +43,8 @@
      byte[] bytes = (byte[]) parameter;
      ByteArrayInputStream bis=new ByteArrayInputStream(bytes);
      setter.setBinaryStream(bis,(int)(bytes.length));
+   } else {
+	   setter.setNull(Types.BLOB);
    }
  }
 

Modified: ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/type/ClobTypeHandlerCallback.java
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/type/ClobTypeHandlerCallback.java?rev=636380&r1=636379&r2=636380&view=diff
==============================================================================
--- ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/type/ClobTypeHandlerCallback.java (original)
+++ ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/type/ClobTypeHandlerCallback.java Wed Mar 12 08:58:44 2008
@@ -24,12 +24,15 @@
 
   public Object getResult(ResultGetter getter)
       throws SQLException {
-    String value = "";
+    String value;
     Clob clob = getter.getClob();
-    if (clob != null) {
+    if (!getter.wasNull()) {
       int size = (int) clob.length();
       value = clob.getSubString(1, size);      
+    } else {
+    	value = null;
     }
+    
     return value;
   }
 
@@ -40,7 +43,7 @@
       StringReader reader = new StringReader(s);
       setter.setCharacterStream(reader, s.length());
     } else {
-      setter.setString(null);
+      setter.setNull(Types.CLOB);
     }
   }