Skip to content

Commit 7e5da9e

Browse files
committed
Add sqltests for trigger names
1 parent 9f267b3 commit 7e5da9e

File tree

1 file changed

+86
-0
lines changed

1 file changed

+86
-0
lines changed
Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
@database :memory:
2+
3+
setup schema {
4+
CREATE TABLE t(x);
5+
CREATE TABLE log(msg);
6+
}
7+
8+
@setup schema
9+
test trigger-same-name-as-table {
10+
CREATE TRIGGER t AFTER INSERT ON t BEGIN INSERT INTO log VALUES('fired'); END;
11+
INSERT INTO t VALUES(1);
12+
SELECT * FROM log;
13+
}
14+
expect {
15+
fired
16+
}
17+
18+
@setup schema
19+
test trigger-same-name-as-other-table {
20+
CREATE TABLE other(y);
21+
CREATE TRIGGER other AFTER INSERT ON t BEGIN INSERT INTO log VALUES('other_trigger'); END;
22+
INSERT INTO t VALUES(1);
23+
SELECT * FROM log;
24+
}
25+
expect {
26+
other_trigger
27+
}
28+
29+
@setup schema
30+
test trigger-same-name-as-index {
31+
CREATE INDEX idx ON t(x);
32+
CREATE TRIGGER idx AFTER INSERT ON t BEGIN INSERT INTO log VALUES('idx_trigger'); END;
33+
INSERT INTO t VALUES(1);
34+
SELECT * FROM log;
35+
}
36+
expect {
37+
idx_trigger
38+
}
39+
40+
@setup schema
41+
test trigger-if-not-exists-same-name-as-table {
42+
CREATE TRIGGER IF NOT EXISTS t AFTER INSERT ON t BEGIN INSERT INTO log VALUES('fired'); END;
43+
INSERT INTO t VALUES(1);
44+
SELECT * FROM log;
45+
}
46+
expect {
47+
fired
48+
}
49+
50+
@setup schema
51+
test trigger-same-name-as-view {
52+
CREATE VIEW v AS SELECT x FROM t;
53+
CREATE TRIGGER v AFTER INSERT ON t BEGIN INSERT INTO log VALUES('view_trigger'); END;
54+
INSERT INTO t VALUES(1);
55+
SELECT * FROM log;
56+
}
57+
expect {
58+
view_trigger
59+
}
60+
61+
@setup schema
62+
test drop-trigger-with-same-name-as-table {
63+
CREATE TRIGGER t AFTER INSERT ON t BEGIN INSERT INTO log VALUES('fired'); END;
64+
INSERT INTO t VALUES(1);
65+
DROP TRIGGER t;
66+
DELETE FROM log;
67+
INSERT INTO t VALUES(2);
68+
SELECT count(*) FROM log;
69+
}
70+
expect {
71+
0
72+
}
73+
74+
@setup schema
75+
test multiple-triggers-sharing-names-with-tables {
76+
CREATE TABLE a(v);
77+
CREATE TABLE b(v);
78+
CREATE TRIGGER a AFTER INSERT ON t BEGIN INSERT INTO log VALUES('trigger_a'); END;
79+
CREATE TRIGGER b AFTER INSERT ON t BEGIN INSERT INTO log VALUES('trigger_b'); END;
80+
INSERT INTO t VALUES(1);
81+
SELECT * FROM log;
82+
}
83+
expect unordered {
84+
trigger_a
85+
trigger_b
86+
}

0 commit comments

Comments
 (0)