My code works fine with autcommit on..however it does not support autocommit off. This is quite a big bug, or I have missed something out. Please let me know as I it would be of great interest to me if I was mistaken or correct and you will consider fixing it.
If I switch off auto commit and select rows from a database table in a loop when I enter new values to the table it will not find them unless I specifically commit after every select statement. Surely this is select for update( with InnoDB) ? not just an ordinary select! This presents awkwardness with multi-threading and I have to do work-around such as not committing if a flag is set which should not be necessary. I have tried afew versions of you JDBC driver and it always performs the same. You should be able to make simple selects without having to commit, the c api does exactly that! Here is some example java code to prove point: import java.sql.*; import java.util.*; public class TestSQL { static Connection conn; public static Connection getConnection() { try { if (conn == null) { Class.forName("com.mysql.jdbc.Driver").newInstance(); conn = DriverManager.getConnection("jdbc:mysql://localhost/operations?user=root &password=pineapple"); System.out.println("new connection created!!"); } conn.setAutoCommit(false); return conn; } catch (Exception e) { System.out.println ("Connect Exception"+e); return null; } } // Main Method for Testing only public static void main(String args[]) throws Exception { Connection conn= TestSQL.getConnection(); while(true) { ArrayList results = new ArrayList(); Statement stmt = conn.createStatement(); //ResultSet rs = stmt.executeQuery("SELECT feed_id from sotf_feed_event"); PreparedStatement ps = conn.prepareStatement("SELECT feed_id from sotf_feed_event"); ResultSet rs = ps.executeQuery(); ResultSetMetaData meta = rs.getMetaData(); int count; count = meta.getColumnCount(); while (rs.next()) { Hashtable cols= new Hashtable(count); int i; for (i=0;i<count;i++) { Object ob = rs.getObject(i+1); if (rs.wasNull()) { ob = "null"; } else { cols.put(meta.getColumnLabel(i+1),ob); } } results.add(cols); } if(results.size()>0) { System.out.println("got something"); } else { System.out.println("nothing"); } // if I dont put this in it never finds a newly added row //conn.commit(); Thread.sleep(5000); rs = null; } } } --------------------------------------------------------------------- Before posting, please check: http://www.mysql.com/manual.php (the manual) http://lists.mysql.com/ (the list archive) To request this thread, e-mail <[EMAIL PROTECTED]> To unsubscribe, e-mail <[EMAIL PROTECTED]> Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php