db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Bernt M. Johnsen" <Bernt.John...@Sun.COM>
Subject Re: [jira] Commented: (DERBY-2060) SET CURRENT ISOLATION in ref.man refers java.sql.Connection.setTransactionLevel instead of java.sql.Connection.setTransactionIsolation
Date Wed, 29 Nov 2006 09:40:43 GMT
>>>>>>>>>>>> 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

Mime
View raw message