[
http://opensource.atlassian.com/projects/hibernate/browse/HHH-1804?page=c...
]
Gail Badner resolved HHH-1804.
------------------------------
Resolution: Fixed
Fixed in trunk and Branch_3_3.
I believe the attached patch will not work properly for some queries. Instead, I added a
check for an empty ResultSet to FetchingScrollableResultsImpl.next().
You can see details at
http://opensource.atlassian.com/projects/hibernate/browse/HHH-1804?page=c...
when JIRA syncs up the commit.
Empty 'FetchingScrollableResultsImpl' throws SQLException
---------------------------------------------------------
Key: HHH-1804
URL:
http://opensource.atlassian.com/projects/hibernate/browse/HHH-1804
Project: Hibernate Core
Issue Type: Bug
Reporter: Maarten Winkels
Assignee: Gail Badner
Attachments: EmptyFetchJoinScrollTest.java, scroll-join-fetch-empty.patch
When scrolling a HQL query with join fetch on a collection, that doesn't return any
results, the following execption occurs:
org.hibernate.exception.GenericJDBCException: could not perform sequential read of
results (forward)
at
org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:103)
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:91)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
at org.hibernate.loader.Loader.loadSequentialRowsForward(Loader.java:386)
at
org.hibernate.impl.FetchingScrollableResultsImpl.next(FetchingScrollableResultsImpl.java:55)
at
org.hibernate.test.joinfetch.EmptyFetchJoinScrollTest.testFetchJoinEmptyScroll(EmptyFetchJoinScrollTest.java:21)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at junit.framework.TestCase.runTest(TestCase.java:154)
at org.hibernate.test.TestCase.runTest(TestCase.java:161)
at junit.framework.TestCase.runBare(TestCase.java:127)
at junit.framework.TestResult$1.protect(TestResult.java:106)
at junit.framework.TestResult.runProtected(TestResult.java:124)
at junit.framework.TestResult.run(TestResult.java:109)
at junit.framework.TestCase.run(TestCase.java:118)
at junit.framework.TestSuite.runTest(TestSuite.java:208)
at junit.framework.TestSuite.run(TestSuite.java:203)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:478)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:344)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
Caused by: java.sql.SQLException: No data is available
at org.hsqldb.jdbc.Util.sqlException(Unknown Source)
at org.hsqldb.jdbc.Util.sqlException(Unknown Source)
at org.hsqldb.jdbc.jdbcResultSet.checkAvailable(Unknown Source)
at org.hsqldb.jdbc.jdbcResultSet.getColumnInType(Unknown Source)
at org.hsqldb.jdbc.jdbcResultSet.getString(Unknown Source)
at org.hsqldb.jdbc.jdbcResultSet.getString(Unknown Source)
at org.hibernate.type.StringType.get(StringType.java:18)
at org.hibernate.type.NullableType.nullSafeGet(NullableType.java:113)
at org.hibernate.type.NullableType.nullSafeGet(NullableType.java:102)
at org.hibernate.loader.Loader.getKeyFromResultSet(Loader.java:1088)
at org.hibernate.loader.Loader.loadSequentialRowsForward(Loader.java:375)
... 18 more
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://opensource.atlassian.com/projects/hibernate/secure/Administrators....
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira