Hi,

In addition to the deadlock problems that I'm having, as described in 
previous e-mails (still not solved...), it appears that the 
transaction_isolation level setting is not being honoured, at least when 
using BDB tables.  (I'm running mysql-max-nt 3.23.49a on Windows NT4 SP6.)

On a simple "test" database created with "CREATE TABLE x (id INT) 
TYPE=BDB" running with the default transaction_isolation level set to 
READ-COMMITTED try the following:

(1) Establish one connection with "mysql -u root test".

(2) Disable autocommit with "set autocommit=0;".

(3) Perform a SELECT on the database's only table with "select id from x;".

(4) Establish a second connection with "mysql -u root test".

(5) Attempt to perform an INSERT with "insert into x (id) values (1);".

The second connection now waits until you return to the first connection 
and issue "commit;" (or "rollback;").

In other words you cannot INSERT into table x in the second connection 
while there is an uncommitted transaction still active in the first 
connection which had done a SELECT on that table.

This behaviour would be expected if the transaction_isolation level was 
SERIALIZABLE, but not when it is READ-COMMITTED.

Even explicitly setting the transaction isolation level in each 
connection with "set global transaction isolation level read committed" 
makes no difference.

Are these transaction isolation levels supposed to work with BDB tables?

Any help on this, and my previous problems with deadlocking, would be 
greatly appreciated.

Steve Hay



---------------------------------------------------------------------
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

Reply via email to