summaryrefslogtreecommitdiff
path: root/mysql-test/t/trigger.test
diff options
context:
space:
mode:
authorbell@sanja.is.com.ua <>2005-07-28 22:39:11 +0300
committerbell@sanja.is.com.ua <>2005-07-28 22:39:11 +0300
commitb220fc47efcfe4a534b16c5c806d32f080cb40ec (patch)
treee93bc8d2975b833cb357ca7658f47ed7c4100ac2 /mysql-test/t/trigger.test
parentc1c504abf4501dfbdcaeedbeb70cc59c26961795 (diff)
downloadmariadb-git-b220fc47efcfe4a534b16c5c806d32f080cb40ec.tar.gz
store/restore sql_mode which was in force during ctrigger creation (BUG#5891)
other sql_mode fixes
Diffstat (limited to 'mysql-test/t/trigger.test')
-rw-r--r--mysql-test/t/trigger.test36
1 files changed, 36 insertions, 0 deletions
diff --git a/mysql-test/t/trigger.test b/mysql-test/t/trigger.test
index f6b3c714d28..17f2e85f2e8 100644
--- a/mysql-test/t/trigger.test
+++ b/mysql-test/t/trigger.test
@@ -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;