Hi,
I did an analyzes of Falcon's and InnoDB's DML locking behvior.
Falcon InnoDB
DROP TABLE blocked blocked
TRUNCATE ERROR 1015 works without block
DROP COLUMN ERROR 1015 blocked
DROP INDEX ERROR 1015 blocked
ADD COLUMN ERROR 1015 blocked
ADD INDEX ERROR 1015 blocked
Legend:
DROP TABLE: DROP TABLE t1;
TRUNCATE: TRUNCATE t1;
DROP COLUMN: ALTER TABLE t1 DROP COLUMN b;
DROP INDEX: ALTER TABLE t1 DROP PRIMARY KEY;
ADD COLUMN: ALTER TABLE t1 ADD COLUMN c varchar(5);
ADD INDEX: ALTER TABLE t1 ADD INDEX (b);
Details:
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (a int PRIMARY KEY, b varchar(5)) Engine Falcon;
-- In another session with Falcon
CREATE TABLE t1 (a int PRIMARY KEY, b varchar(5)) Engine InnoDB;
INSERT INTO t1 VALUES (1, 'aaaaa'), (2, 'bbbbb'), (3, 'ccccc');
-- Connection 1
SET @@autocommit = 0;
SELECT * FROM t1;
-- Connection 2
SET @@autocommit = 0;
-- Theses DML operations were tested in different sessions
DROP TABLE t1;
TRUNCATE t1;
ALTER TABLE t1 DROP COLUMN b;
ALTER TABLE t1 DROP PRIMARY KEY;
ALTER TABLE t1 ADD COLUMN c varchar(5);
ALTER TABLE t1 ADD INDEX (b);
-- CONNECTION 1
SELECT * FROM t1;
SELECT * FROM t1;
COMMIT;
SELECT * FROM t1;
--
Hakan Küçükyılmaz, Senior Software Engineer DBTG/MySQL +49 160
98953296
Sun Microsystems GmbH Sonnenallee 1, DE-85551 Kirchheim-Heimstetten
Geschaeftsfuehrer: Thomas Schroeder, Wolfang Engels, Dr. Roland Boemer
Vorsitz d. Aufs.rat.: Martin Haering HRB MUC 161028 49.011, 8.376