>>>>>>>>>>>> Daniel John Debrunner (JIRA) wrote (2006-11-28 11:25:22): > [ > http://issues.apache.org/jira/browse/DERBY-2060?page=comments#action_12454083 > ] > > Daniel John Debrunner commented on DERBY-2060: > ---------------------------------------------- > > Connection.setTransactionIsolation() does commit the transaction > with the embedded driver unless the isolation is being changed to > the current isolation, ie. no change.
Yes, you're right (but the netowrk driver will *always* commit). The problem is that a user may accidentally change the behaviour of his program just by altering a setTransactionIsolation call, even if the change in isolation level per se should not cause a change. I think that we should not allow setTransactionIsolation on an active transaction, and make Derby conformant with SQL 2003, where you're not allowed to do SET TRANSACTION if there is an active transaction or if there are any open holdable cursor from the last transaction (See section 16.2) (The JDBC spec and Javadoc (both 1.4 and 1.6) says it's implementation defined, while the tutorial, 3rd ed., says that the call *will* commit. [sigh!]) > > > SET CURRENT ISOLATION in ref.man refers > > java.sql.Connection.setTransactionLevel instead of > > java.sql.Connection.setTransactionIsolation > > -------------------------------------------------------------------------------------------------------------------------------------- > > > > Key: DERBY-2060 > > URL: http://issues.apache.org/jira/browse/DERBY-2060 > > Project: Derby > > Issue Type: Bug > > Components: Documentation > > Reporter: Bernt M. Johnsen > > Assigned To: Kim Haase > > Attachments: DERBY-2060.diff, DERBY-2060.zip > > > > > > On SET CURRENT ISOLATION statement in the Derby refernce manual: > > "Issuing this command commits the current transaction, which is consistent > > with the java.sql.Connection.setTransactionLevel method." > > The correct method name is java.sql.Connection.setTransactionIsolation > > (java.sql.Connection.setTransactionLevel does not exist) > > BTW: setTransactionIsolation will commit the current transaction if called > > in the client driver but not in the embedded driver. See DERBY-638 > > -- > This message is automatically generated by JIRA. > - > If you think it was sent incorrectly contact one of the administrators: > http://issues.apache.org/jira/secure/Administrators.jspa > - > For more information on JIRA, see: http://www.atlassian.com/software/jira > > -- Bernt Marius Johnsen, Database Technology Group, Staff Engineer, Technical Lead Derby/Java DB Sun Microsystems, Trondheim, Norway
pgp0SIHU1W7fW.pgp
Description: PGP signature
