db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Fernanda Pizzorno (JIRA)" <derby-...@db.apache.org>
Subject [jira] Updated: (DERBY-1295) Result sets of type TYPE_SCROLL_INSENSITIVE should not implicitly close due to positioning in autocommit mode
Date Fri, 02 Jun 2006 08:40:31 GMT
     [ http://issues.apache.org/jira/browse/DERBY-1295?page=all ]

Fernanda Pizzorno updated DERBY-1295:

    Attachment: derby-1295.diff

The attached file derby-1295.diff adds a check in EmbedResultSet.java so that only forward
only result sets will close due to positioning, and a new test (jdbcapi/ScrollResultSetTest.junit).
I have successfully run derbyall with this patch. Can someone please review it?

Thank you in advance!

> Result sets of type TYPE_SCROLL_INSENSITIVE should not implicitly close due to positioning
in autocommit mode
> -------------------------------------------------------------------------------------------------------------
>          Key: DERBY-1295
>          URL: http://issues.apache.org/jira/browse/DERBY-1295
>      Project: Derby
>         Type: Bug

>   Components: JDBC
>     Versions:
>     Reporter: Dag H. Wanvik
>     Assignee: Fernanda Pizzorno
>     Priority: Minor
>      Fix For:
>  Attachments: Main.java, derby-1295.diff, derby-1295.stat
> The new JDBC 4 specification allows implementations to automatically
> close result sets of type FORWARD_ONLY when ResultSet#next returns
> false:
> (quote from JDBC preliminary spec):
> > 16.2.5 Closing a ResultSet Object
> >       :
> > NOTE: Some JDBC driver implementations may also implicitly close the
> > ResultSet when the ResultSet type is TYPE_FORWARD_ONLY and the next
> > method of ResultSet returns false.
> This implies that other result set type are not free to do this.
> Currently, Derby will also implicitly close result sets of type
> TYPE_SCROLL_INSENSITIVE, if autocommit is enabled. 
> Quote from Derby Developer's Guide, subsection "Using autocommit":
> > Using auto-commit 
> >
> > A new connection to a Derby database is in auto-commit mode by
> > default, as specified by the JDBC standard. Auto-commit mode means
> > that when a statement is completed, the method commit is called on
> > that statement automatically. Auto-commit in effect makes every SQL
> > statement a transaction. The commit occurs when the statement
> > completes or the next statement is executed, whichever comes
> > first. In the case of a statement returning a ResultSet , the
> > statement completes when the last row of the ResultSet has been
> ****************************************
> > retrieved or the ResultSet has been closed explicitly.
> This seems to indicate that result set always closes when the last row
> has been seen, however, it seems the implementation only does this
> when autocommit is enabled.  I will attach a repro.
> Anyway, this should be corrected for JDBC4 compliancy. Scrollable
> result sets should never close implicitly due to positioning,
> autocommit or not.

This message is automatically generated by JIRA.
If you think it was sent incorrectly contact one of the administrators:
For more information on JIRA, see:

View raw message