aboutsummaryrefslogtreecommitdiff
path: root/test/trigger9.test
diff options
context:
space:
mode:
Diffstat (limited to 'test/trigger9.test')
-rw-r--r--test/trigger9.test33
1 files changed, 33 insertions, 0 deletions
diff --git a/test/trigger9.test b/test/trigger9.test
index f56c8acbc..326fa63d4 100644
--- a/test/trigger9.test
+++ b/test/trigger9.test
@@ -32,6 +32,7 @@ ifcapable {!trigger} {
finish_test
return
}
+set ::testprefix trigger9
proc has_rowdata {sql} {
expr {[lsearch [execsql "explain $sql"] RowData]>=0}
@@ -220,4 +221,36 @@ ifcapable compound {
} {2}
}
+reset_db
+do_execsql_test 4.1 {
+ CREATE TABLE t1(a, b);
+ CREATE TABLE log(x);
+ INSERT INTO t1 VALUES(1, 2);
+ INSERT INTO t1 VALUES(3, 4);
+ CREATE VIEW v1 AS SELECT a, b FROM t1;
+
+ CREATE TRIGGER tr1 INSTEAD OF DELETE ON v1 BEGIN
+ INSERT INTO log VALUES('delete');
+ END;
+
+ CREATE TRIGGER tr2 INSTEAD OF UPDATE ON v1 BEGIN
+ INSERT INTO log VALUES('update');
+ END;
+
+ CREATE TRIGGER tr3 INSTEAD OF INSERT ON v1 BEGIN
+ INSERT INTO log VALUES('insert');
+ END;
+}
+
+do_execsql_test 4.2 {
+ DELETE FROM v1 WHERE rowid=1;
+} {}
+
+do_execsql_test 4.3 {
+ UPDATE v1 SET a=b WHERE rowid=2;
+} {}
+
+
+
+
finish_test