diff options
author | unknown <kroki@mysql.com> | 2006-06-28 23:50:50 +0400 |
---|---|---|
committer | unknown <kroki@mysql.com> | 2006-06-28 23:50:50 +0400 |
commit | 837c9719c436faa083872fda118891c94bbc3403 (patch) | |
tree | 0ad56171641573599cd3fff92940862851c4868f | |
parent | 0f0e518e74d91804504af52cf280c566823f6699 (diff) | |
download | mariadb-git-837c9719c436faa083872fda118891c94bbc3403.tar.gz |
Bug#10946: Confusing error messeges in the case of duplicate trigger definition
It was hard to distinguish case, when one was unable to create trigger
on the table because trigger with same action time and event already
existed for this table, from the case, when one tried to create trigger
with name which was already occupied by some other trigger, since in
both these cases we emitted ER_TRG_ALREADY_EXISTS error and message.
Now we emit ER_NOT_SUPPORTED_YET error with appropriate additional
message in the first case. There is no sense in introducing separate
error for this situation since we plan to get rid of this limitation
eventually.
mysql-test/r/trigger.result:
Update result for new error message.
mysql-test/t/trigger.test:
Update test for new error code.
sql/sql_trigger.cc:
If there is already a trigger with the same activation time, report an
"Unsupported yet" error.
-rw-r--r-- | mysql-test/r/trigger.result | 2 | ||||
-rw-r--r-- | mysql-test/t/trigger.test | 2 | ||||
-rw-r--r-- | sql/sql_trigger.cc | 4 |
3 files changed, 5 insertions, 3 deletions
diff --git a/mysql-test/r/trigger.result b/mysql-test/r/trigger.result index d4791c6b117..531ac5c0418 100644 --- a/mysql-test/r/trigger.result +++ b/mysql-test/r/trigger.result @@ -295,7 +295,7 @@ create trigger trg before insert on t1 for each row set @a:=1; create trigger trg after insert on t1 for each row set @a:=1; ERROR HY000: Trigger already exists create trigger trg2 before insert on t1 for each row set @a:=1; -ERROR HY000: Trigger already exists +ERROR 42000: This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table' create trigger trg before insert on t3 for each row set @a:=1; ERROR HY000: Trigger already exists create trigger trg2 before insert on t3 for each row set @a:=1; diff --git a/mysql-test/t/trigger.test b/mysql-test/t/trigger.test index 3743d8f5c76..99df8ca600a 100644 --- a/mysql-test/t/trigger.test +++ b/mysql-test/t/trigger.test @@ -321,7 +321,7 @@ create trigger trg before insert on t2 for each row set @a:=1; create trigger trg before insert on t1 for each row set @a:=1; --error 1359 create trigger trg after insert on t1 for each row set @a:=1; ---error 1359 +--error 1235 create trigger trg2 before insert on t1 for each row set @a:=1; --error 1359 create trigger trg before insert on t3 for each row set @a:=1; diff --git a/sql/sql_trigger.cc b/sql/sql_trigger.cc index f943b014118..013a269d3af 100644 --- a/sql/sql_trigger.cc +++ b/sql/sql_trigger.cc @@ -366,7 +366,9 @@ bool Table_triggers_list::create_trigger(THD *thd, TABLE_LIST *tables, /* We don't allow creation of several triggers of the same type yet */ if (bodies[lex->trg_chistics.event][lex->trg_chistics.action_time]) { - my_message(ER_TRG_ALREADY_EXISTS, ER(ER_TRG_ALREADY_EXISTS), MYF(0)); + my_error(ER_NOT_SUPPORTED_YET, MYF(0), + "multiple triggers with the same action time" + " and event for one table"); return 1; } |