Merge bk-internal:/home/bk/mysql-5.0-runtime
into mysql.com:/home/jimw/my/mysql-5.0-18005 sql/sql_trigger.cc: Auto merged
This commit is contained in:
commit
d127fa3b51
@ -1078,3 +1078,15 @@ i1
|
|||||||
43
|
43
|
||||||
51
|
51
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
|
create trigger wont_work after update on mysql.user for each row
|
||||||
|
begin
|
||||||
|
set @a:= 1;
|
||||||
|
end|
|
||||||
|
ERROR HY000: Triggers can not be created on system tables
|
||||||
|
use mysql|
|
||||||
|
create trigger wont_work after update on event for each row
|
||||||
|
begin
|
||||||
|
set @a:= 1;
|
||||||
|
end|
|
||||||
|
ERROR HY000: Triggers can not be created on system tables
|
||||||
|
End of 5.0 tests
|
||||||
|
@ -1281,4 +1281,26 @@ SELECT * FROM t1;
|
|||||||
|
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
|
|
||||||
# End of 5.0 tests
|
#
|
||||||
|
# Bug #18005: Creating a trigger on mysql.event leads to server crash on
|
||||||
|
# scheduler startup
|
||||||
|
#
|
||||||
|
# Bug #18361: Triggers on mysql.user table cause server crash
|
||||||
|
#
|
||||||
|
# We don't allow triggers on the mysql schema
|
||||||
|
delimiter |;
|
||||||
|
--error ER_NO_TRIGGERS_ON_SYSTEM_SCHEMA
|
||||||
|
create trigger wont_work after update on mysql.user for each row
|
||||||
|
begin
|
||||||
|
set @a:= 1;
|
||||||
|
end|
|
||||||
|
# Try when we're already using the mysql schema
|
||||||
|
use mysql|
|
||||||
|
--error ER_NO_TRIGGERS_ON_SYSTEM_SCHEMA
|
||||||
|
create trigger wont_work after update on event for each row
|
||||||
|
begin
|
||||||
|
set @a:= 1;
|
||||||
|
end|
|
||||||
|
delimiter ;|
|
||||||
|
|
||||||
|
--echo End of 5.0 tests
|
||||||
|
@ -5619,3 +5619,5 @@ ER_NON_GROUPING_FIELD_USED 42000
|
|||||||
eng "non-grouping field '%-.64s' is used in %-.64s clause"
|
eng "non-grouping field '%-.64s' is used in %-.64s clause"
|
||||||
ER_TABLE_CANT_HANDLE_SPKEYS
|
ER_TABLE_CANT_HANDLE_SPKEYS
|
||||||
eng "The used table type doesn't support SPATIAL indexes"
|
eng "The used table type doesn't support SPATIAL indexes"
|
||||||
|
ER_NO_TRIGGERS_ON_SYSTEM_SCHEMA
|
||||||
|
eng "Triggers can not be created on system tables"
|
||||||
|
@ -183,6 +183,15 @@ bool mysql_create_or_drop_trigger(THD *thd, TABLE_LIST *tables, bool create)
|
|||||||
!(tables= add_table_for_trigger(thd, thd->lex->spname)))
|
!(tables= add_table_for_trigger(thd, thd->lex->spname)))
|
||||||
DBUG_RETURN(TRUE);
|
DBUG_RETURN(TRUE);
|
||||||
|
|
||||||
|
/*
|
||||||
|
We don't allow creating triggers on tables in the 'mysql' schema
|
||||||
|
*/
|
||||||
|
if (create && !my_strcasecmp(system_charset_info, "mysql", tables->db))
|
||||||
|
{
|
||||||
|
my_error(ER_NO_TRIGGERS_ON_SYSTEM_SCHEMA, MYF(0));
|
||||||
|
DBUG_RETURN(TRUE);
|
||||||
|
}
|
||||||
|
|
||||||
/* We should have only one table in table list. */
|
/* We should have only one table in table list. */
|
||||||
DBUG_ASSERT(tables->next_global == 0);
|
DBUG_ASSERT(tables->next_global == 0);
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user