Bug #18333 | trigger lost on alter table | ||
---|---|---|---|
Submitted: | 18 Mar 2006 18:39 | Modified: | 20 Mar 2006 9:47 |
Reporter: | Christian Rabe | Email Updates: | |
Status: | Duplicate | Impact on me: | |
Category: | MySQL Server | Severity: | S1 (Critical) |
Version: | 5.0.19 | OS: | Linux (linux) |
Assigned to: | CPU Architecture: | Any |
[18 Mar 2006 18:39]
Christian Rabe
[18 Mar 2006 20:13]
Hartmut Holzgraefe
I was not able to reproduce this with current 5.0 code and the statements below, could you please post the exact statements you were using? -- test statements, no problem found DROP TABLE IF EXISTS t1; CREATE t1(i INT PRIMARY KEY) ENGINE=myisam; CREATE TRIGGER tr1 BEFORE INSERT ON t1 FOR EACH ROW BEGIN END; ALTER TABLE t1 ADD COLUMN j INT; SHOW TRIGGERS;
[18 Mar 2006 20:20]
Christian Rabe
ok, with myisam its ok. try it with innodb and it fails. DROP TABLE IF EXISTS t1; CREATE table t1(i INT PRIMARY KEY) ENGINE=innodb; CREATE TRIGGER tr1 BEFORE INSERT ON t1 FOR EACH ROW BEGIN END; ALTER TABLE t1 ADD COLUMN j INT; SHOW TRIGGERS; --------------------------------- RESULT --------------------------------- mysql> DROP TABLE IF EXISTS t1; Query OK, 0 rows affected (0,00 sec) mysql> mysql> CREATE table t1(i INT PRIMARY KEY) ENGINE=innodb; Query OK, 0 rows affected (0,02 sec) mysql> mysql> CREATE TRIGGER tr1 BEFORE INSERT ON t1 -> FOR EACH ROW BEGIN -> END; Query OK, 0 rows affected (0,01 sec) mysql> mysql> ALTER TABLE t1 ADD COLUMN j INT; Query OK, 0 rows affected (0,02 sec) Records: 0 Duplicates: 0 Warnings: 0 mysql> mysql> SHOW TRIGGERS; Empty set (0,00 sec) mysql> mysql> CREATE TRIGGER tr1 BEFORE INSERT ON t1 -> FOR EACH ROW BEGIN -> END; ERROR 1359 (HY000): Trigger already exists mysql> DROP TRIGGER tr1; ERROR 1360 (HY000): Trigger does not exist mysql>
[19 Mar 2006 1:52]
Hartmut Holzgraefe
test case
Attachment: bug18333.test (application/octet-stream, text), 266 bytes.
[19 Mar 2006 1:55]
Hartmut Holzgraefe
expected test resut
Attachment: bug18333.result (application/octet-stream, text), 252 bytes.
[19 Mar 2006 2:03]
Hartmut Holzgraefe
works ok with myisam, csv, archive, blackhole, fails with innodb, bdb, ndb test case for innodb attached
[20 Mar 2006 9:47]
Dmitry Lenev
Hi, Christian! Thank you for spotting this! Initial investigation showed that this bug has the same cause as bug #18153 "Optimize corrupts triggers, and triggers are lost" on which I have already started work. So I will mark this bug as duplicate. Please use bug #18153 to track progress of work on this problem.