[ 
https://issues.apache.org/jira/browse/DERBY-5545?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13452909#comment-13452909
 ] 

John Hendrikx commented on DERBY-5545:
--------------------------------------

I read the mailing list reply, and I disagree.

rollback != releaseSavepoint

rollback -> rolls back to entire transaction
releaseSavepoint -> rolls back only the statements since the savepoint was 
created -- any statements before that are unaffected

Rolling back a savepoint should have no influence on the transaction itself, as 
otherwise there is no point in using them -- after all, they are there so you 
can rollback *part* of your sequence of SQL statements so you can *continue* 
with further SQL statements.  This code also functions correctly when I replace 
the database with PostgreSQL -- it does not close the outer ResultSet after 
rolling back a save point.
                
> Exception ResultSet not open. Operation 'next' not permitted. Verify that 
> autocommit is OFF exception occuring on rs.next() after long run. 
> --------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: DERBY-5545
>                 URL: https://issues.apache.org/jira/browse/DERBY-5545
>             Project: Derby
>          Issue Type: Bug
>          Components: JDBC
>    Affects Versions: 10.8.2.2
>         Environment: OSX 10.6
>            Reporter: Paul taylor
>              Labels: derby_triage10_9
>
> Im seeing this error occur after loading alot of data into the Database. I 
> can confirm that autocommit is set to off, and that it occurs on calling  
> rs.next() immediatlely after running a query and assigning to  resultset rs. 
> The cdoe is called many times (250,000) and usually works, then suddenly it 
> starts going wrong, I also using c3po database pooling. Im wondering if the 
> problem is linked to memory consumption although I have no OutOfMemoryError 
> occurring
>   
> Java.sql.SQLException: ResultSet not open. Operation 'next' not permitted. 
> Verify that autocommit is OFF.
>       at 
> org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException(Unknown 
> Source)
>       at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Unknown Source)
>       at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Unknown Source)
>       at org.apache.derby.impl.jdbc.Util.generateCsSQLException(Unknown 
> Source)
>       at org.apache.derby.impl.jdbc.EmbedConnection.newSQLException(Unknown 
> Source)
>       at org.apache.derby.impl.jdbc.ConnectionChild.newSQLException(Unknown 
> Source)
>       at org.apache.derby.impl.jdbc.EmbedResultSet.checkIfClosed(Unknown 
> Source)
>       at org.apache.derby.impl.jdbc.EmbedResultSet.checkExecIfClosed(Unknown 
> Source)
>       at org.apache.derby.impl.jdbc.EmbedResultSet.movePosition(Unknown 
> Source)
>       at org.apache.derby.impl.jdbc.EmbedResultSet.next(Unknown Source)
>       at 
> com.mchange.v2.c3p0.impl.NewProxyResultSet.next(NewProxyResultSet.java:2859)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to