[ http://issues.apache.org/jira/browse/DERBY-1654?page=comments#action_12426941 ] Dyre Tjeldvoll commented on DERBY-1654: ---------------------------------------
I think you are making a very good point. And I only discovered this because I was trying to port an app developed with Derby to MySQL, and the difference in behavior caused my app to crash. I thought it was a MySQL problem until Dag (Wanvik) told me that the MySQL behavior is required by JDBC. > Calling Connection.commit() does not throw exception in autocommit mode > ----------------------------------------------------------------------- > > Key: DERBY-1654 > URL: http://issues.apache.org/jira/browse/DERBY-1654 > Project: Derby > Issue Type: Bug > Components: JDBC > Affects Versions: 10.1.3.1 > Reporter: Dyre Tjeldvoll > Priority: Minor > Fix For: 10.3.0.0 > > Attachments: simple.java > > > The jdbc spec (don't know chapter and verse) states that an attempt to call > Connection.commit() when Connection.getAutoCommit() is true, must throw an > exception. The attached repro (simple.java) runs fine with Derby (and > Postgres), but fails with MySQL: > [EMAIL PROTECTED]/java$ java -cp $CLASSPATH:. simple com.mysql.jdbc.Driver > 'jdbc:mysql://localhost/joindb' joinuser joinpass foo4 > java.sql.SQLException: Can't call commit when autocommit=true > at com.mysql.jdbc.Connection.commit(Connection.java:2161) > at simple.main(simple.java:17) -- 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