[hibernate-commits] Hibernate SVN: r13962 - core/trunk/core/src/main/java/org/hibernate/impl.
hibernate-commits at lists.jboss.org
hibernate-commits at lists.jboss.org
Wed Aug 29 19:00:41 EDT 2007
Author: gbadner
Date: 2007-08-29 19:00:41 -0400 (Wed, 29 Aug 2007)
New Revision: 13962
Modified:
core/trunk/core/src/main/java/org/hibernate/impl/IteratorImpl.java
Log:
HHH-2728 : session.clear() while retrieving objects via an iterator fix that should work for all dialects
Modified: core/trunk/core/src/main/java/org/hibernate/impl/IteratorImpl.java
===================================================================
--- core/trunk/core/src/main/java/org/hibernate/impl/IteratorImpl.java 2007-08-29 23:00:10 UTC (rev 13961)
+++ core/trunk/core/src/main/java/org/hibernate/impl/IteratorImpl.java 2007-08-29 23:00:41 UTC (rev 13962)
@@ -1,4 +1,4 @@
-//$Id: IteratorImpl.java 11651 2007-06-07 18:22:50Z steve.ebersole at jboss.com $
+//$Id: IteratorImpl.java 13956 2007-08-29 00:47:06Z gbadner $
package org.hibernate.impl;
import java.sql.PreparedStatement;
@@ -54,12 +54,7 @@
single = types.length==1;
- // rs.isBeforeFirst() will return false if rs contains no rows
- hasNext = this.rs.isBeforeFirst();
- if ( !hasNext ) {
- log.debug("ResultSet contains no rows");
- close();
- }
+ postNext();
}
public void close() throws JDBCException {
@@ -92,11 +87,15 @@
}
private void postNext() throws SQLException {
- this.hasNext = !rs.isLast();
+ log.debug("attempting to retrieve next results");
+ this.hasNext = rs.next();
if (!hasNext) {
log.debug("exhausted results");
close();
}
+ else {
+ log.debug("retrieved next results");
+ }
}
public boolean hasNext() {
@@ -106,10 +105,9 @@
public Object next() throws HibernateException {
if ( !hasNext ) throw new NoSuchElementException("No more results");
try {
- log.debug("retrieving next results");
- rs.next();
boolean isHolder = holderInstantiator.isRequired();
+ log.debug("assembling results");
if ( single && !isHolder ) {
currentResult = types[0].nullSafeGet( rs, names[0], session, null );
}
More information about the hibernate-commits
mailing list