Author: cbegin
Date: Sun Sep 20 13:10:50 2009
New Revision: 817021

URL: http://svn.apache.org/viewvc?rev=817021&view=rev
Log:
Added code to deal with rows with no values

Modified:
    
ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/executor/resultset/NewResultSetHandler.java

Modified: 
ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/executor/resultset/NewResultSetHandler.java
URL: 
http://svn.apache.org/viewvc/ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/executor/resultset/NewResultSetHandler.java?rev=817021&r1=817020&r2=817021&view=diff
==============================================================================
--- 
ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/executor/resultset/NewResultSetHandler.java
 (original)
+++ 
ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/executor/resultset/NewResultSetHandler.java
 Sun Sep 20 13:10:50 2009
@@ -34,6 +34,7 @@
   private final ObjectFactory objectFactory;
 
   private final Map rowValueCache = new HashMap();
+  private static final CacheKey NULL_ROW_KEY = new CacheKey();
 
   public NewResultSetHandler(Executor executor, MappedStatement 
mappedStatement, ParameterHandler parameterHandler, ResultHandler 
resultHandler, BoundSql boundSql, int offset, int limit) {
     this.executor = executor;
@@ -186,7 +187,9 @@
         applyAutomaticMappings(rs, unmappedColumnNames, metaObject);
         applyNestedResultMappings(rs, resultMap, metaObject);
       }
-      rowValueCache.put(rowKey, resultObject);
+      if (rowKey != NULL_ROW_KEY) {
+        rowValueCache.put(rowKey, resultObject);
+      }
       return resultObject;
     }
   }
@@ -469,6 +472,9 @@
     } else {
       createRowKeyForMappedProperties(rs, cacheKey, resultMappings);
     }
+    if (cacheKey.getUpdateCount() < 2) {
+      return NULL_ROW_KEY;
+    }
     return cacheKey;
   }
 


Reply via email to