mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
store/restore sql_mode which was in force during ctrigger creation (BUG#5891)
other sql_mode fixes
This commit is contained in:
@ -610,3 +610,39 @@ update t1 set col2 = 4;
|
||||
# This should not crash server too.
|
||||
drop trigger t1_bu;
|
||||
drop table t1;
|
||||
|
||||
#
|
||||
# storing and restoring parsing modes for triggers (BUG#5891)
|
||||
#
|
||||
set sql_mode='ansi';
|
||||
create table t1 ("t1 column" int);
|
||||
create trigger t1_bi before insert on t1 for each row set new."t1 column" = 5;
|
||||
set sql_mode=default;
|
||||
insert into t1 values (0);
|
||||
# create trigger with different sql_mode
|
||||
create trigger t1_af after insert on t1 for each row set @a=10;
|
||||
insert into t1 values (0);
|
||||
select * from t1;
|
||||
select @a;
|
||||
--replace_column 6 #
|
||||
show triggers;
|
||||
--replace_column 17 #
|
||||
select * from information_schema.triggers;
|
||||
drop table t1;
|
||||
# check that rigger preserve sql_mode during execution
|
||||
set sql_mode="traditional";
|
||||
create table t1 (a date);
|
||||
-- error 1292
|
||||
insert into t1 values ('2004-01-00');
|
||||
set sql_mode="";
|
||||
create trigger t1_bi before insert on t1 for each row set new.a = '2004-01-00';
|
||||
set sql_mode="traditional";
|
||||
insert into t1 values ('2004-01-01');
|
||||
select * from t1;
|
||||
set sql_mode=default;
|
||||
show create table t1;
|
||||
--replace_column 6 #
|
||||
show triggers;
|
||||
--replace_column 17 #
|
||||
select * from information_schema.triggers;
|
||||
drop table t1;
|
||||
|
Reference in New Issue
Block a user