[debian-mysql] Bug#697597: mysql-server-5.5: COMMIT has an effect on MyISAM tables

Helmut Grohne h.grohne at cygnusnetworks.de
Mon Jan 7 13:18:21 UTC 2013


Package: mysql-server-5.5
Version: 5.5.28+dfsg-1
Severity: normal

According to the mysql documentation MyISAM tables are non-transactional. This
means that BEGIN and COMMIT should not have any effect on them. However this
is not the case for mysql-5.5. Let me use the following table as an example:

CREATE TABLE test (id INTEGER PRIMARY KEY) ENGINE=MyISAM;

Now suppose the following sequence of statements.

conn1: BEGIN; -- explicitly disable autocommit mode
conn1: INSERT INTO test VALUES (42);
conn2: DROP TABLE test;
conn1: COMMIT;

Note that according to the documentation the BEGIN and END should have no
effect. However in mysql-5.5 the second connection blocks until the COMMIT is
issued. In mysql-5.1 as part of Debian squeeze this sequence of commands did
not block. So first of all this is a change in behavior. It should either be
reverted or documented.

Helmut


More information about the pkg-mysql-maint mailing list