does disconnect() actually commits transaction even if the connect is made using autocommit=0

2006-04-07 Thread Jie Zhang
Hi, If I initiate a connection using autocommit=0 in DBI and I don't do a explicit connection-commit(), should transactions automatically commit after I do an explicit connection-disconnect()? I was expecting an automatica rollback. But the testing result is just the opposite. For

RE: does disconnect() actually commits transaction even if the connect is made using autocommit=0

2006-04-07 Thread Martin J. Evans
On 07-Apr-2006 Jie Zhang wrote: Hi, If I initiate a connection using autocommit=0 in DBI and I don't do a explicit connection-commit(), should transactions automatically commit after I do an explicit connection-disconnect()? I was expecting an automatica rollback. But the testing

Re: does disconnect() actually commits transaction even if the connect is made using autocommit=0

2006-04-07 Thread Tom Schindl
man DBI: ---8--- ... The transaction behaviour of the disconnect method is, sadly, undefined. Some database systems (such as Oracle and Ingres) will automatically commit any outstanding changes, but others (such as Informix) will rollback any outstanding changes.

Re: does disconnect() actually commits transaction even if the connect is made using autocommit=0

2006-04-07 Thread Tom Schindl
Well I was already familiar with this behaviour because it's the same with JDBC-Drivers. Tom Martin J. Evans wrote: On 07-Apr-2006 Jie Zhang wrote: Hi, If I initiate a connection using autocommit=0 in DBI and I don't do a explicit connection-commit(), should transactions automatically

Re: does disconnect() actually commits transaction even if the connect is made using autocommit=0

2006-04-07 Thread Jie Zhang
Tom and Martin, Thank you both! It is a bit counter intuitive. Jie Tom Schindl wrote: Well I was already familiar with this behaviour because it's the same with JDBC-Drivers. Tom Martin J. Evans wrote: On 07-Apr-2006 Jie Zhang wrote: Hi, If I initiate a connection using

Re: does disconnect() actually commits transaction even if the connect is made using autocommit=0

2006-04-07 Thread Martin J. Evans
Jie Zhang wrote: Tom and Martin, Thank you both! It is a bit counter intuitive. If by that you mean that you expected disconnect with a commit to rollback the changes then I agree. We had an Oracle ODBC driver which used oci which did this and ended up changing it to NOT commit on

Re: does disconnect() actually commits transaction even if the connect is made using autocommit=0

2006-04-07 Thread Jie Zhang
Yeah, I mean the disconnect should not commit if autocommit is set to 0. In most of the case, this is not a problem because people probably do rollback and commit. Could you change oci code? Is it owned by Oracle? thanks, Jie Martin J. Evans wrote: Jie Zhang wrote: Tom and Martin,

Re: does disconnect() actually commits transaction even if the connect is made using autocommit=0

2006-04-07 Thread Martin J. Evans
Jie Zhang wrote: Yeah, I mean the disconnect should not commit if autocommit is set to 0. In most of the case, this is not a problem because people probably do rollback and commit. Could you change oci code? Is it owned by Oracle? From what I remember we did not make any change to OCI, we