1
0
mirror of https://github.com/sqlite/sqlite.git synced 2026-01-06 08:01:16 +03:00

Test cases for the row-value UPDATE TRIGGER fix.

FossilOrigin-Name: b9b964373c89a491649f366ad7d70ae4d69b891d
This commit is contained in:
drh
2017-01-02 23:43:03 +00:00
parent 3f50bb84f5
commit 90a7eae84c
3 changed files with 28 additions and 7 deletions

View File

@@ -334,4 +334,25 @@ do_catchsql_test 15.5 {
INSERT INTO x1(a,b) VALUES(1,(SELECT * FROM (SELECT 1,2))<3);
} {1 {row value misused}}
#-------------------------------------------------------------------------
# Row-values used in UPDATE statements within TRIGGERs
#
# Ticket https://www.sqlite.org/src/info/8c9458e703666e1a
#
do_execsql_test 16.1 {
CREATE TABLE t16a(a,b,c);
INSERT INTO t16a VALUES(1,2,3);
CREATE TABLE t16b(x);
INSERT INTO t16b(x) VALUES(1);
CREATE TRIGGER t16r AFTER UPDATE ON t16b BEGIN
UPDATE t16a SET (a,b,c)=(SELECT new.x,new.x+1,new.x+2);
END;
UPDATE t16b SET x=7;
SELECT * FROM t16a;
} {7 8 9}
do_execsql_test 16.2 {
UPDATE t16b SET x=97;
SELECT * FROM t16a;
} {97 98 99}
finish_test