mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/home/dlenev/src/mysql-5.0-tn mysql-test/r/information_schema.result: Auto merged mysql-test/t/information_schema.test: Auto merged sql/mysqld.cc: Auto merged sql/sql_parse.cc: Auto merged sql/sql_show.cc: Auto merged sql/sql_yacc.yy: Auto merged sql/share/errmsg.txt: Manual merge.
This commit is contained in:
@ -48,6 +48,7 @@ TABLE_PRIVILEGES
|
||||
COLUMN_PRIVILEGES
|
||||
TABLE_CONSTRAINTS
|
||||
KEY_COLUMN_USAGE
|
||||
TRIGGERS
|
||||
columns_priv
|
||||
db
|
||||
func
|
||||
@ -77,6 +78,7 @@ c table_name
|
||||
TABLES TABLES
|
||||
TABLE_PRIVILEGES TABLE_PRIVILEGES
|
||||
TABLE_CONSTRAINTS TABLE_CONSTRAINTS
|
||||
TRIGGERS TRIGGERS
|
||||
tables_priv tables_priv
|
||||
time_zone time_zone
|
||||
time_zone_leap_second time_zone_leap_second
|
||||
@ -94,6 +96,7 @@ c table_name
|
||||
TABLES TABLES
|
||||
TABLE_PRIVILEGES TABLE_PRIVILEGES
|
||||
TABLE_CONSTRAINTS TABLE_CONSTRAINTS
|
||||
TRIGGERS TRIGGERS
|
||||
tables_priv tables_priv
|
||||
time_zone time_zone
|
||||
time_zone_leap_second time_zone_leap_second
|
||||
@ -111,6 +114,7 @@ c table_name
|
||||
TABLES TABLES
|
||||
TABLE_PRIVILEGES TABLE_PRIVILEGES
|
||||
TABLE_CONSTRAINTS TABLE_CONSTRAINTS
|
||||
TRIGGERS TRIGGERS
|
||||
tables_priv tables_priv
|
||||
time_zone time_zone
|
||||
time_zone_leap_second time_zone_leap_second
|
||||
@ -580,6 +584,7 @@ Tables_in_information_schema (T%)
|
||||
TABLES
|
||||
TABLE_PRIVILEGES
|
||||
TABLE_CONSTRAINTS
|
||||
TRIGGERS
|
||||
create database information_schema;
|
||||
ERROR HY000: Can't create database 'information_schema'; database exists
|
||||
use information_schema;
|
||||
@ -588,6 +593,7 @@ Tables_in_information_schema (T%) Table_type
|
||||
TABLES TEMPORARY
|
||||
TABLE_PRIVILEGES TEMPORARY
|
||||
TABLE_CONSTRAINTS TEMPORARY
|
||||
TRIGGERS TEMPORARY
|
||||
create table t1(a int);
|
||||
ERROR 42S02: Unknown table 't1' in information_schema
|
||||
use test;
|
||||
@ -599,6 +605,7 @@ Tables_in_information_schema (T%)
|
||||
TABLES
|
||||
TABLE_PRIVILEGES
|
||||
TABLE_CONSTRAINTS
|
||||
TRIGGERS
|
||||
select table_name from tables where table_name='user';
|
||||
table_name
|
||||
user
|
||||
@ -693,7 +700,7 @@ CREATE TABLE t_crashme ( f1 BIGINT);
|
||||
CREATE VIEW a1 (t_CRASHME) AS SELECT f1 FROM t_crashme GROUP BY f1;
|
||||
CREATE VIEW a2 AS SELECT t_CRASHME FROM a1;
|
||||
count(*)
|
||||
100
|
||||
101
|
||||
drop view a2, a1;
|
||||
drop table t_crashme;
|
||||
select table_schema,table_name, column_name from
|
||||
@ -704,6 +711,8 @@ information_schema COLUMNS COLUMN_TYPE
|
||||
information_schema ROUTINES ROUTINE_DEFINITION
|
||||
information_schema ROUTINES SQL_MODE
|
||||
information_schema VIEWS VIEW_DEFINITION
|
||||
information_schema TRIGGERS ACTION_CONDITION
|
||||
information_schema TRIGGERS ACTION_STATEMENT
|
||||
select table_name, column_name, data_type from information_schema.columns
|
||||
where data_type = 'datetime';
|
||||
table_name column_name data_type
|
||||
@ -712,6 +721,7 @@ TABLES UPDATE_TIME datetime
|
||||
TABLES CHECK_TIME datetime
|
||||
ROUTINES CREATED datetime
|
||||
ROUTINES LAST_ALTERED datetime
|
||||
TRIGGERS CREATED datetime
|
||||
SELECT COUNT(*) FROM INFORMATION_SCHEMA.TABLES A
|
||||
WHERE NOT EXISTS
|
||||
(SELECT * FROM INFORMATION_SCHEMA.COLUMNS B
|
||||
@ -758,8 +768,71 @@ delete from mysql.db where user='mysqltest_4';
|
||||
flush privileges;
|
||||
SELECT table_schema, count(*) FROM information_schema.TABLES GROUP BY TABLE_SCHEMA;
|
||||
table_schema count(*)
|
||||
information_schema 15
|
||||
information_schema 16
|
||||
mysql 17
|
||||
create table t1 (i int, j int);
|
||||
create trigger trg1 before insert on t1 for each row
|
||||
begin
|
||||
if new.j > 10 then
|
||||
set new.j := 10;
|
||||
end if;
|
||||
end|
|
||||
create trigger trg2 before update on t1 for each row
|
||||
begin
|
||||
if old.i % 2 = 0 then
|
||||
set new.j := -1;
|
||||
end if;
|
||||
end|
|
||||
create trigger trg3 after update on t1 for each row
|
||||
begin
|
||||
if new.j = -1 then
|
||||
set @fired:= "Yes";
|
||||
end if;
|
||||
end|
|
||||
show triggers;
|
||||
Trigger Event Table Statement Timing Created
|
||||
trg1 INSERT t1
|
||||
begin
|
||||
if new.j > 10 then
|
||||
set new.j := 10;
|
||||
end if;
|
||||
end BEFORE NULL
|
||||
trg2 UPDATE t1
|
||||
begin
|
||||
if old.i % 2 = 0 then
|
||||
set new.j := -1;
|
||||
end if;
|
||||
end BEFORE NULL
|
||||
trg3 UPDATE t1
|
||||
begin
|
||||
if new.j = -1 then
|
||||
set @fired:= "Yes";
|
||||
end if;
|
||||
end AFTER NULL
|
||||
select * from information_schema.triggers;
|
||||
TRIGGER_CATALOG TRIGGER_SCHEMA TRIGGER_NAME EVENT_MANIPULATION EVENT_OBJECT_CATALOG EVENT_OBJECT_SCHEMA EVENT_OBJECT_TABLE ACTION_ORDER ACTION_CONDITION ACTION_STATEMENT ACTION_ORIENTATION ACTION_TIMING ACTION_REFERENCE_OLD_TABLE ACTION_REFERENCE_NEW_TABLE ACTION_REFERENCE_OLD_ROW ACTION_REFERENCE_NEW_ROW CREATED
|
||||
NULL test trg1 INSERT NULL test t1 0 NULL
|
||||
begin
|
||||
if new.j > 10 then
|
||||
set new.j := 10;
|
||||
end if;
|
||||
end ROW BEFORE NULL NULL OLD NEW NULL
|
||||
NULL test trg2 UPDATE NULL test t1 0 NULL
|
||||
begin
|
||||
if old.i % 2 = 0 then
|
||||
set new.j := -1;
|
||||
end if;
|
||||
end ROW BEFORE NULL NULL OLD NEW NULL
|
||||
NULL test trg3 UPDATE NULL test t1 0 NULL
|
||||
begin
|
||||
if new.j = -1 then
|
||||
set @fired:= "Yes";
|
||||
end if;
|
||||
end ROW AFTER NULL NULL OLD NEW NULL
|
||||
drop trigger trg1;
|
||||
drop trigger trg2;
|
||||
drop trigger trg3;
|
||||
drop table t1;
|
||||
create database mysqltest;
|
||||
create table mysqltest.t1 (f1 int, f2 int);
|
||||
create table mysqltest.t2 (f1 int);
|
||||
|
@ -16,11 +16,13 @@ TABLE_PRIVILEGES
|
||||
COLUMN_PRIVILEGES
|
||||
TABLE_CONSTRAINTS
|
||||
KEY_COLUMN_USAGE
|
||||
TRIGGERS
|
||||
show tables from INFORMATION_SCHEMA like 'T%';
|
||||
Tables_in_information_schema (T%)
|
||||
TABLES
|
||||
TABLE_PRIVILEGES
|
||||
TABLE_CONSTRAINTS
|
||||
TRIGGERS
|
||||
create database `inf%`;
|
||||
use `inf%`;
|
||||
show tables;
|
||||
|
@ -237,7 +237,7 @@ select * from t1;
|
||||
a
|
||||
10
|
||||
delete from t1;
|
||||
drop trigger t1.trg;
|
||||
drop trigger trg;
|
||||
insert into t1 values (1);
|
||||
select * from t1;
|
||||
a
|
||||
@ -248,7 +248,7 @@ master-bin.000002 # Query 1 # use `mysqltest1`; delete from t1
|
||||
master-bin.000002 # Query 1 # use `mysqltest1`; create trigger trg before insert on t1 for each row set new.a= 10
|
||||
master-bin.000002 # Query 1 # use `mysqltest1`; insert into t1 values (1)
|
||||
master-bin.000002 # Query 1 # use `mysqltest1`; delete from t1
|
||||
master-bin.000002 # Query 1 # use `mysqltest1`; drop trigger t1.trg
|
||||
master-bin.000002 # Query 1 # use `mysqltest1`; drop trigger trg
|
||||
master-bin.000002 # Query 1 # use `mysqltest1`; insert into t1 values (1)
|
||||
select * from t1;
|
||||
a
|
||||
|
@ -12,13 +12,13 @@ insert into t1 values (1);
|
||||
select @a;
|
||||
@a
|
||||
1
|
||||
drop trigger t1.trg;
|
||||
drop trigger trg;
|
||||
create trigger trg before insert on t1 for each row set @a:=new.i;
|
||||
insert into t1 values (123);
|
||||
select @a;
|
||||
@a
|
||||
123
|
||||
drop trigger t1.trg;
|
||||
drop trigger trg;
|
||||
drop table t1;
|
||||
create table t1 (i int not null, j int);
|
||||
create trigger trg before insert on t1 for each row
|
||||
@ -33,7 +33,7 @@ select * from t1|
|
||||
i j
|
||||
1 10
|
||||
2 3
|
||||
drop trigger t1.trg|
|
||||
drop trigger trg|
|
||||
drop table t1|
|
||||
create table t1 (i int not null primary key);
|
||||
create trigger trg after insert on t1 for each row
|
||||
@ -43,7 +43,7 @@ insert into t1 values (2),(3),(4),(5);
|
||||
select @a;
|
||||
@a
|
||||
2:3:4:5
|
||||
drop trigger t1.trg;
|
||||
drop trigger trg;
|
||||
drop table t1;
|
||||
create table t1 (aid int not null primary key, balance int not null default 0);
|
||||
insert into t1 values (1, 1000), (2,3000);
|
||||
@ -65,7 +65,7 @@ Too big change for aid = 2
|
||||
aid balance
|
||||
1 1500
|
||||
2 3000
|
||||
drop trigger t1.trg|
|
||||
drop trigger trg|
|
||||
drop table t1|
|
||||
create table t1 (i int);
|
||||
insert into t1 values (1),(2),(3),(4);
|
||||
@ -76,7 +76,7 @@ update t1 set i=3;
|
||||
select @total_change;
|
||||
@total_change
|
||||
2
|
||||
drop trigger t1.trg;
|
||||
drop trigger trg;
|
||||
drop table t1;
|
||||
create table t1 (i int);
|
||||
insert into t1 values (1),(2),(3),(4);
|
||||
@ -87,7 +87,7 @@ delete from t1 where i <= 3;
|
||||
select @del_sum;
|
||||
@del_sum
|
||||
6
|
||||
drop trigger t1.trg;
|
||||
drop trigger trg;
|
||||
drop table t1;
|
||||
create table t1 (i int);
|
||||
insert into t1 values (1),(2),(3),(4);
|
||||
@ -97,7 +97,7 @@ delete from t1 where i <> 0;
|
||||
select @del;
|
||||
@del
|
||||
1
|
||||
drop trigger t1.trg;
|
||||
drop trigger trg;
|
||||
drop table t1;
|
||||
create table t1 (i int, j int);
|
||||
create trigger trg1 before insert on t1 for each row
|
||||
@ -137,9 +137,9 @@ i j
|
||||
1 20
|
||||
2 -1
|
||||
3 20
|
||||
drop trigger t1.trg1;
|
||||
drop trigger t1.trg2;
|
||||
drop trigger t1.trg3;
|
||||
drop trigger trg1;
|
||||
drop trigger trg2;
|
||||
drop trigger trg3;
|
||||
drop table t1;
|
||||
create table t1 (id int not null primary key, data int);
|
||||
create trigger t1_bi before insert on t1 for each row
|
||||
@ -197,7 +197,7 @@ select * from t2;
|
||||
event
|
||||
INSERT INTO t1 id=1 data='one'
|
||||
INSERT INTO t1 id=2 data='two'
|
||||
drop trigger t1.t1_ai;
|
||||
drop trigger t1_ai;
|
||||
create trigger t1_bi before insert on t1 for each row
|
||||
begin
|
||||
if exists (select id from t3 where id=new.fk) then
|
||||
@ -271,6 +271,7 @@ id copy
|
||||
3 NULL
|
||||
drop table t1, t2;
|
||||
create table t1 (i int);
|
||||
create table t3 (i int);
|
||||
create trigger trg before insert on t1 for each row set @a:= old.i;
|
||||
ERROR HY000: There is no OLD row in on INSERT trigger
|
||||
create trigger trg before delete on t1 for each row set @a:= new.i;
|
||||
@ -292,14 +293,19 @@ 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
|
||||
drop trigger t1.trg;
|
||||
drop trigger t1.trg;
|
||||
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;
|
||||
drop trigger trg2;
|
||||
drop trigger trg;
|
||||
drop trigger 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: 'test.v1' is not BASE TABLE
|
||||
drop view v1;
|
||||
drop table t1;
|
||||
drop table t3;
|
||||
create temporary table t1 (i int);
|
||||
create trigger trg before insert on t1 for each row set @a:=1;
|
||||
ERROR HY000: Trigger's 't1' is view or temporary table
|
||||
@ -307,7 +313,7 @@ drop table t1;
|
||||
create table t1 (x1col char);
|
||||
create trigger tx1 before insert on t1 for each row set new.x1col = 'x';
|
||||
insert into t1 values ('y');
|
||||
drop trigger t1.tx1;
|
||||
drop trigger tx1;
|
||||
drop table t1;
|
||||
create table t1 (i int) engine=myisam;
|
||||
insert into t1 values (1), (2);
|
||||
@ -318,8 +324,8 @@ delete from t1;
|
||||
select @del_before, @del_after;
|
||||
@del_before @del_after
|
||||
3 3
|
||||
drop trigger t1.trg1;
|
||||
drop trigger t1.trg2;
|
||||
drop trigger trg1;
|
||||
drop trigger trg2;
|
||||
drop table t1;
|
||||
create table t1 (a int);
|
||||
create trigger trg1 before insert on t1 for each row set new.a= 10;
|
||||
@ -336,6 +342,15 @@ create table t1 (i int);
|
||||
create trigger trg1 before insert on t1 for each row set @a:= 1;
|
||||
drop database mysqltest;
|
||||
use test;
|
||||
create database mysqltest;
|
||||
create table mysqltest.t1 (i int);
|
||||
create trigger trg1 before insert on mysqltest.t1 for each row set @a:= 1;
|
||||
ERROR HY000: Trigger in wrong schema
|
||||
use mysqltest;
|
||||
create trigger test.trg1 before insert on t1 for each row set @a:= 1;
|
||||
ERROR HY000: Trigger in wrong schema
|
||||
drop database mysqltest;
|
||||
use test;
|
||||
create table t1 (i int, j int default 10, k int not null, key (k));
|
||||
create table t2 (i int);
|
||||
insert into t1 (i, k) values (1, 1);
|
||||
@ -549,7 +564,7 @@ i k
|
||||
1 1
|
||||
2 2
|
||||
alter table t1 add primary key (i);
|
||||
drop trigger t1.bi;
|
||||
drop trigger bi;
|
||||
insert into t1 values (2, 4) on duplicate key update k= k + 10;
|
||||
ERROR 42S22: Unknown column 'bt' in 'NEW'
|
||||
select * from t1;
|
||||
@ -578,5 +593,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 trigger t1_bu;
|
||||
drop table t1;
|
||||
|
@ -1245,7 +1245,7 @@ select * from v1;
|
||||
s1
|
||||
select * from t1;
|
||||
s1
|
||||
drop trigger t1.t1_bi;
|
||||
drop trigger t1_bi;
|
||||
drop view v1;
|
||||
drop table t1;
|
||||
create table t1 (s1 tinyint);
|
||||
|
@ -507,6 +507,41 @@ flush privileges;
|
||||
#
|
||||
SELECT table_schema, count(*) FROM information_schema.TABLES GROUP BY TABLE_SCHEMA;
|
||||
|
||||
|
||||
#
|
||||
# TRIGGERS table test
|
||||
#
|
||||
create table t1 (i int, j int);
|
||||
|
||||
delimiter |;
|
||||
create trigger trg1 before insert on t1 for each row
|
||||
begin
|
||||
if new.j > 10 then
|
||||
set new.j := 10;
|
||||
end if;
|
||||
end|
|
||||
create trigger trg2 before update on t1 for each row
|
||||
begin
|
||||
if old.i % 2 = 0 then
|
||||
set new.j := -1;
|
||||
end if;
|
||||
end|
|
||||
create trigger trg3 after update on t1 for each row
|
||||
begin
|
||||
if new.j = -1 then
|
||||
set @fired:= "Yes";
|
||||
end if;
|
||||
end|
|
||||
delimiter ;|
|
||||
show triggers;
|
||||
select * from information_schema.triggers;
|
||||
|
||||
drop trigger trg1;
|
||||
drop trigger trg2;
|
||||
drop trigger trg3;
|
||||
drop table t1;
|
||||
|
||||
|
||||
#
|
||||
# Bug #10964 Information Schema:Authorization check on privilege tables is improper
|
||||
#
|
||||
|
@ -249,7 +249,7 @@ select * from t1;
|
||||
|
||||
connection master;
|
||||
delete from t1;
|
||||
drop trigger t1.trg;
|
||||
drop trigger trg;
|
||||
insert into t1 values (1);
|
||||
select * from t1;
|
||||
--replace_column 2 # 5 #
|
||||
|
@ -17,13 +17,13 @@ set @a:=0;
|
||||
select @a;
|
||||
insert into t1 values (1);
|
||||
select @a;
|
||||
drop trigger t1.trg;
|
||||
drop trigger trg;
|
||||
|
||||
# let us test simple trigger reading some values
|
||||
create trigger trg before insert on t1 for each row set @a:=new.i;
|
||||
insert into t1 values (123);
|
||||
select @a;
|
||||
drop trigger t1.trg;
|
||||
drop trigger trg;
|
||||
|
||||
drop table t1;
|
||||
|
||||
@ -40,7 +40,7 @@ end|
|
||||
insert into t1 (i) values (1)|
|
||||
insert into t1 (i,j) values (2, 3)|
|
||||
select * from t1|
|
||||
drop trigger t1.trg|
|
||||
drop trigger trg|
|
||||
drop table t1|
|
||||
delimiter ;|
|
||||
|
||||
@ -52,7 +52,7 @@ create trigger trg after insert on t1 for each row
|
||||
set @a:="";
|
||||
insert into t1 values (2),(3),(4),(5);
|
||||
select @a;
|
||||
drop trigger t1.trg;
|
||||
drop trigger trg;
|
||||
drop table t1;
|
||||
|
||||
# PS doesn't work with multi-row statements
|
||||
@ -75,7 +75,7 @@ set @update_failed:=""|
|
||||
update t1 set balance=1500|
|
||||
select @update_failed;
|
||||
select * from t1|
|
||||
drop trigger t1.trg|
|
||||
drop trigger trg|
|
||||
drop table t1|
|
||||
delimiter ;|
|
||||
--enable_ps_protocol
|
||||
@ -88,7 +88,7 @@ create trigger trg after update on t1 for each row
|
||||
set @total_change:=0;
|
||||
update t1 set i=3;
|
||||
select @total_change;
|
||||
drop trigger t1.trg;
|
||||
drop trigger trg;
|
||||
drop table t1;
|
||||
|
||||
# Before delete trigger
|
||||
@ -100,7 +100,7 @@ create trigger trg before delete on t1 for each row
|
||||
set @del_sum:= 0;
|
||||
delete from t1 where i <= 3;
|
||||
select @del_sum;
|
||||
drop trigger t1.trg;
|
||||
drop trigger trg;
|
||||
drop table t1;
|
||||
|
||||
# After delete trigger.
|
||||
@ -111,7 +111,7 @@ create trigger trg after delete on t1 for each row set @del:= 1;
|
||||
set @del:= 0;
|
||||
delete from t1 where i <> 0;
|
||||
select @del;
|
||||
drop trigger t1.trg;
|
||||
drop trigger trg;
|
||||
drop table t1;
|
||||
|
||||
# Several triggers on one table
|
||||
@ -145,9 +145,9 @@ update t1 set j= 20;
|
||||
select @fired;
|
||||
select * from t1;
|
||||
|
||||
drop trigger t1.trg1;
|
||||
drop trigger t1.trg2;
|
||||
drop trigger t1.trg3;
|
||||
drop trigger trg1;
|
||||
drop trigger trg2;
|
||||
drop trigger trg3;
|
||||
drop table t1;
|
||||
|
||||
|
||||
@ -212,7 +212,7 @@ create trigger t1_ai after insert on t1 for each row
|
||||
insert into t1 (id, data) values (1, "one"), (2, "two");
|
||||
select * from t1;
|
||||
select * from t2;
|
||||
drop trigger t1.t1_ai;
|
||||
drop trigger t1_ai;
|
||||
# Trigger which uses couple of tables (and partially emulates FK constraint)
|
||||
delimiter |;
|
||||
create trigger t1_bi before insert on t1 for each row
|
||||
@ -282,6 +282,7 @@ drop table t1, t2;
|
||||
# Test of wrong column specifiers in triggers
|
||||
#
|
||||
create table t1 (i int);
|
||||
create table t3 (i int);
|
||||
|
||||
--error 1363
|
||||
create trigger trg before insert on t1 for each row set @a:= old.i;
|
||||
@ -301,7 +302,7 @@ create trigger trg before update on t1 for each row set @a:=old.j;
|
||||
|
||||
#
|
||||
# Let us test various trigger creation errors
|
||||
#
|
||||
# Also quickly test table namespace (bug#5892/6182)
|
||||
#
|
||||
--error 1146
|
||||
create trigger trg before insert on t2 for each row set @a:=1;
|
||||
@ -311,10 +312,14 @@ 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 1359
|
||||
create trigger trg2 before insert on t1 for each row set @a:=1;
|
||||
drop trigger t1.trg;
|
||||
--error 1359
|
||||
create trigger trg before insert on t3 for each row set @a:=1;
|
||||
create trigger trg2 before insert on t3 for each row set @a:=1;
|
||||
drop trigger trg2;
|
||||
drop trigger trg;
|
||||
|
||||
--error 1360
|
||||
drop trigger t1.trg;
|
||||
drop trigger trg;
|
||||
|
||||
create view v1 as select * from t1;
|
||||
--error 1347
|
||||
@ -322,6 +327,7 @@ create trigger trg before insert on v1 for each row set @a:=1;
|
||||
drop view v1;
|
||||
|
||||
drop table t1;
|
||||
drop table t3;
|
||||
|
||||
create temporary table t1 (i int);
|
||||
--error 1361
|
||||
@ -339,7 +345,7 @@ drop table t1;
|
||||
create table t1 (x1col char);
|
||||
create trigger tx1 before insert on t1 for each row set new.x1col = 'x';
|
||||
insert into t1 values ('y');
|
||||
drop trigger t1.tx1;
|
||||
drop trigger tx1;
|
||||
drop table t1;
|
||||
|
||||
#
|
||||
@ -355,8 +361,8 @@ create trigger trg2 after delete on t1 for each row set @del_after:= @del_after
|
||||
set @del_before:=0, @del_after:= 0;
|
||||
delete from t1;
|
||||
select @del_before, @del_after;
|
||||
drop trigger t1.trg1;
|
||||
drop trigger t1.trg2;
|
||||
drop trigger trg1;
|
||||
drop trigger trg2;
|
||||
drop table t1;
|
||||
|
||||
# Test for bug #5859 "DROP TABLE does not drop triggers". Trigger should not
|
||||
@ -378,6 +384,19 @@ create trigger trg1 before insert on t1 for each row set @a:= 1;
|
||||
drop database mysqltest;
|
||||
use test;
|
||||
|
||||
# Test for bug #8791
|
||||
# "Triggers: Allowed to create triggers on a subject table in a different DB".
|
||||
create database mysqltest;
|
||||
create table mysqltest.t1 (i int);
|
||||
--error 1429
|
||||
create trigger trg1 before insert on mysqltest.t1 for each row set @a:= 1;
|
||||
use mysqltest;
|
||||
--error 1429
|
||||
create trigger test.trg1 before insert on t1 for each row set @a:= 1;
|
||||
drop database mysqltest;
|
||||
use test;
|
||||
|
||||
|
||||
# Test for bug #5860 "Multi-table UPDATE does not activate update triggers"
|
||||
# We will also test how delete triggers wor for multi-table DELETE.
|
||||
create table t1 (i int, j int default 10, k int not null, key (k));
|
||||
@ -559,7 +578,7 @@ select * from t1;
|
||||
# To test properly code-paths different from those that are used
|
||||
# in ordinary INSERT we need to drop "before insert" trigger.
|
||||
alter table t1 add primary key (i);
|
||||
drop trigger t1.bi;
|
||||
drop trigger bi;
|
||||
--error 1054
|
||||
insert into t1 values (2, 4) on duplicate key update k= k + 10;
|
||||
select * from t1;
|
||||
@ -589,5 +608,5 @@ drop function bug5893;
|
||||
--error 1305
|
||||
update t1 set col2 = 4;
|
||||
# This should not crash server too.
|
||||
drop trigger t1.t1_bu;
|
||||
drop trigger t1_bu;
|
||||
drop table t1;
|
||||
|
@ -1182,7 +1182,7 @@ create view v1 as select * from t1 where s1 <> 127 with check option;
|
||||
insert into v1 values (0);
|
||||
select * from v1;
|
||||
select * from t1;
|
||||
drop trigger t1.t1_bi;
|
||||
drop trigger t1_bi;
|
||||
drop view v1;
|
||||
drop table t1;
|
||||
|
||||
|
Reference in New Issue
Block a user