summaryrefslogtreecommitdiffstats
path: root/mysql-test/main/trigger_no_defaults-11698.test
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-04 18:00:34 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-04 18:00:34 +0000
commit3f619478f796eddbba6e39502fe941b285dd97b1 (patch)
treee2c7b5777f728320e5b5542b6213fd3591ba51e2 /mysql-test/main/trigger_no_defaults-11698.test
parentInitial commit. (diff)
downloadmariadb-3f619478f796eddbba6e39502fe941b285dd97b1.tar.xz
mariadb-3f619478f796eddbba6e39502fe941b285dd97b1.zip
Adding upstream version 1:10.11.6.upstream/1%10.11.6upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'mysql-test/main/trigger_no_defaults-11698.test')
-rw-r--r--mysql-test/main/trigger_no_defaults-11698.test42
1 files changed, 42 insertions, 0 deletions
diff --git a/mysql-test/main/trigger_no_defaults-11698.test b/mysql-test/main/trigger_no_defaults-11698.test
new file mode 100644
index 00000000..c10bec68
--- /dev/null
+++ b/mysql-test/main/trigger_no_defaults-11698.test
@@ -0,0 +1,42 @@
+#
+# MDEV-11698 Old Bug possibly not fixed; BEFORE INSERT Trigger on NOT NULL
+#
+set sql_mode='strict_all_tables';
+create table t1 (a int not null, b int);
+--error ER_NO_DEFAULT_FOR_FIELD
+insert t1 (b) values (1);
+delimiter |;
+create trigger trgi before insert on t1 for each row
+ case new.b
+ when 10 then
+ set new.a = new.b;
+ when 30 then
+ set new.a = new.a;
+ else
+ do 1;
+ end case|
+delimiter ;|
+insert t1 (b) values (10);
+--error ER_NO_DEFAULT_FOR_FIELD
+insert t1 (b) values (20);
+# arguably the statement below should fail too
+insert t1 (b) values (30);
+select * from t1;
+drop table t1;
+set sql_mode=default;
+
+#
+# MDEV-11842 Fail to insert on a table where a field has no default
+#
+set sql_mode='';
+create table t1 (
+ id int(11) not null auto_increment primary key,
+ data1 varchar(10) not null,
+ data2 varchar(10) not null
+);
+insert into t1 (data2) values ('x');
+create trigger test_trigger before insert on t1 for each row begin end;
+insert into t1 (data2) values ('y');
+select * from t1;
+drop table t1;
+set sql_mode=default;