Bug #3490 commit() fails.
Submitted: 17 Apr 2004 14:42 Modified: 24 Apr 2004 8:52
Reporter: Mark Swanson Email Updates:
Status: Closed Impact on me:
None 
Category:Connector / J Severity:S2 (Serious)
Version:3.0.9 OS:Linux (Linux)
Assigned to: Mark Matthews CPU Architecture:Any

[17 Apr 2004 14:42] Mark Swanson
Description:
Connection.commit() fails. It seems the connection must be set to 
autocommit(true) for the commit to really happen. 
 

How to repeat:
Here's an example of what I'm doing: 
 
1. get connection 
2. connection.setAutoCommit(false); 
3. connection.setTransactionIsolation(defaultIsolation); 
4. delete from table where id=1; 
5. commit 
6. get connection 2 (same isolation,autocommit settings) 
7. using connection 2: select from table where id=1; RETURNS DATA!!!! (BUG) 
 
It's as if the driver didn't really commit, or it cached a result of a 
previous select(). 
 

Suggested fix:
A workaround is: 
 
Instead of #5 (commit), do this: 
 
connection.commit(); 
connection.setAutoCommit(false);
[17 Apr 2004 14:50] Mark Swanson
I have confirmed the bug no longer exists in the 3.1.1-alpha-bin.jar. 
I studied the changelogs, but I'm not sure which fix applies to the commit() 
bug. Anyway, it works with the latest. 
Cheers.
[24 Apr 2004 8:52] Mark Matthews
Thank you for your bug report. This issue has already been fixed
in the latest released version of that product, which you can download at 
http://www.mysql.com/downloads/