del_lock_init.txt0000664000101200010120000000001610726306355013764 0ustar qauserqauserdel_lock_init del_lock_run.txt0000664000101200010120000000001510726306355013624 0ustar qauserqauserdel_lock_run t/del_lock_init.test0000664000101200010120000000256010726317310014366 0ustar qauserqauser DROP DATABASE IF EXISTS test; CREATE DATABASE test; CREATE TABLE test.tbl_a(id MEDIUMINT NOT NULL AUTO_INCREMENT, dt TIMESTAMP, user CHAR(255), uuidf LONGBLOB, fkid MEDIUMINT, filler VARCHAR(255), PRIMARY KEY(id))ENGINE=falcon; CREATE TABLE test.tbl_b (trid MEDIUMINT AUTO_INCREMENT, d DATETIME, u CHAR(20), PRIMARY KEY(trid)) ENGINE=falcon; delimiter |; CREATE PROCEDURE test.insdel2() BEGIN DECLARE ins_count INT DEFAULT 100; #<--This should be changed to 1,000,000 DECLARE del_count INT; DECLARE cur_user VARCHAR(255); DECLARE local_uuid VARCHAR(255); DECLARE local_time TIMESTAMP; SET local_time= NOW(); SET cur_user = CURRENT_USER(); SET local_uuid=UUID(); WHILE ins_count > 0 DO INSERT INTO test.tbl_a VALUES (NULL, NOW(), USER(), UUID(), ins_count,'Going to test MBR for MySQL'); SET ins_count = ins_count - 1; END WHILE; SELECT MAX(id) FROM test.tbl_a INTO del_count; WHILE del_count > 0 DO DELETE FROM test.tbl_a WHERE id = del_count; SET del_count = del_count - 2; END WHILE; END| CREATE TRIGGER test.trig_a BEFORE DELETE ON test.tbl_a FOR EACH ROW BEGIN INSERT INTO test.tbl_b VALUES (NULL, NOW(), USER()); END| delimiter ;| t/del_lock_run.test0000664000101200010120000000012510726311741014224 0ustar qauserqauser SET AUTOCOMMIT=0; START TRANSACTION; CALL test.insdel2(); COMMIT; SET AUTOCOMMIT=1;