Is MySQL transaction isolation levels broken?
I can't seem to get MySQL 5.0.32 on Debian 32-bit Debian to protect transaction isolation levels.
I reduced my problem to its simplest form, tested it using the mysql command line client:
-- On node writer:
--
DROP TABLE test;
CREATE TABLE test (
name VARCHAR(255)
);
set autocommit=0;
set transaction isolation level read committed;
begin;
-- On node reader:
--
set autocommit=0;
set transaction isolation level read committed;
begin;
-- On node writer:
--
INSERT INTO test VALUES ('bob');
-- On node reader:
--
SELECT * from test;
-- Returns the row with bob in it!!!
Probably related, I noticed the row stays even after rollback!
So my problem is that autocommit is really not disabled and therefore transaction isolation levels are effectively ignored?
Ciao, Sheldon.
+2
source to share
2 answers