mirror of
https://github.com/MariaDB/server.git
synced 2025-02-01 19:41:47 +01:00
Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/opt/local/work/mysql-5.0-root
This commit is contained in:
commit
3cf9a4c4fc
3 changed files with 11 additions and 5 deletions
|
@ -297,7 +297,7 @@ drop trigger t1.trg;
|
|||
ERROR HY000: Trigger does not exist
|
||||
create view v1 as select * from t1;
|
||||
create trigger trg before insert on v1 for each row set @a:=1;
|
||||
ERROR HY000: Trigger's 'v1' is view or temporary table
|
||||
ERROR HY000: 'test.v1' is not BASE TABLE
|
||||
drop view v1;
|
||||
drop table t1;
|
||||
create temporary table t1 (i int);
|
||||
|
@ -578,4 +578,5 @@ create trigger t1_bu before update on t1 for each row set new.col1= bug5893();
|
|||
drop function bug5893;
|
||||
update t1 set col2 = 4;
|
||||
ERROR 42000: FUNCTION test.bug5893 does not exist
|
||||
drop trigger t1.t1_bu;
|
||||
drop table t1;
|
||||
|
|
|
@ -317,7 +317,7 @@ drop trigger t1.trg;
|
|||
drop trigger t1.trg;
|
||||
|
||||
create view v1 as select * from t1;
|
||||
--error 1361
|
||||
--error 1347
|
||||
create trigger trg before insert on v1 for each row set @a:=1;
|
||||
drop view v1;
|
||||
|
||||
|
@ -576,6 +576,8 @@ drop table t1, t2;
|
|||
|
||||
# Test for bug #5893 "Triggers with dropped functions cause crashes"
|
||||
# Appropriate error should be reported instead of crash.
|
||||
# Also test for bug #11889 "Server crashes when dropping trigger
|
||||
# using stored routine".
|
||||
--disable_warnings
|
||||
drop function if exists bug5893;
|
||||
--enable_warnings
|
||||
|
@ -586,4 +588,6 @@ create trigger t1_bu before update on t1 for each row set new.col1= bug5893();
|
|||
drop function bug5893;
|
||||
--error 1305
|
||||
update t1 set col2 = 4;
|
||||
# This should not crash server too.
|
||||
drop trigger t1.t1_bu;
|
||||
drop table t1;
|
||||
|
|
|
@ -69,7 +69,10 @@ bool mysql_create_or_drop_trigger(THD *thd, TABLE_LIST *tables, bool create)
|
|||
But do we want this ?
|
||||
*/
|
||||
|
||||
if (open_and_lock_tables(thd, tables))
|
||||
/* We should have only one table in table list. */
|
||||
DBUG_ASSERT(tables->next_global == 0);
|
||||
|
||||
if (!(table= open_ltable(thd, tables, tables->lock_type)))
|
||||
DBUG_RETURN(TRUE);
|
||||
|
||||
/*
|
||||
|
@ -80,8 +83,6 @@ bool mysql_create_or_drop_trigger(THD *thd, TABLE_LIST *tables, bool create)
|
|||
if (check_global_access(thd, SUPER_ACL))
|
||||
DBUG_RETURN(TRUE);
|
||||
|
||||
table= tables->table;
|
||||
|
||||
/*
|
||||
We do not allow creation of triggers on views or temporary tables.
|
||||
We have to do this check here and not in
|
||||
|
|
Loading…
Add table
Reference in a new issue