Problem with autocommit

"Miłosz Hulbój" <[email protected]>
Newsgroups gmane.comp.db.mysql.java
Message-ID <[email protected]>
 Hello,
I am observing some non-deterministic behaviour of the autocommit. It
seems as if sometimes it doesn't manage to commit the changes - in the
example the resulting table is sometimes empty.

Here are the details about the setup:
mysql-connector-java-3.1.13
mysql-connector-java-5.0.3
MySQL 4.0.20 under Linux
MySQL 4.1.14 under Linux
Java 1.4.2_07-b05 (under Linux)

MySQL 4.1.14-nt - under Windows


Here is the code:

========

import java.sql.*;

class example
{

public static void main (String[]args)
{
// following code sometimes returnes 0 even if input table is not empty
// disabling the autocommit and issuing manual commit seems to work fine
while (true)
{
try
{
Class.forName ("org.gjt.mm.mysql.Driver");
}
catch (Exception e)
{
System.out.println ("AAAA");
}

Connection connection = null;
Statement statement = null;
ResultSet rs = null;
try
{
connection =
DriverManager.getConnection ("jdbc:mysql:///test", "", "");
//connection.setAutoCommit(false);
statement = connection.createStatement ();
statement.execute ("DROP TABLE IF EXISTS ccc");
statement.execute ("CREATE TABLE ccc(a INT(11), b INT(11))");
int n = statement.executeUpdate("INSERT INTO ccc SELECT * FROM cccc");
// The line below seems to work without problems
// int n = statement.executeUpdate ("INSERT INTO ccc VALUES(1,2)");
statement.close ();
//connection.commit();
connection.close ();

connection =
DriverManager.getConnection ("jdbc:mysql:///test", "", "");
statement = connection.createStatement ();
rs = statement.executeQuery ("select count(*) from ccc");
rs.next ();
System.out.println (rs.getInt (1) + " n=" + n);
rs.close ();
statement.close ();
connection.close ();
}
catch (SQLException ex)
{
System.out.println ("SQLException: " + ex.getMessage ());
System.out.println ("SQLState: " + ex.getSQLState ());
System.out.println ("VendorError: " + ex.getErrorCode ());
}
}
}
}


========

Table cccc may contain any number of rows. Currently I am trying with just one.

Did anyone had similar problem or know a solution to this?

Regards,
Milosz Hulboj



-- 
Milosz
http://blog.hulboj.org
https://www.linkedin.com/profile?viewProfile=&key=1467390

-- 
MySQL Java Mailing List
For list archives: http://lists.mysql.com/java
To unsubscribe:    http://lists.mysql.com/[email protected]
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.