1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-07-29 08:01:23 +03:00

Fix a problem in ALTER TABLE with handling "table.*" expressions within SELECT statements in triggers.

FossilOrigin-Name: 24755fd0657252e49793bb1fe906973a2dd84a1bde03bea9a762de36cc96c2d2
This commit is contained in:
dan
2022-04-19 20:47:18 +00:00
parent 1942d1f236
commit cbde37d8e4
4 changed files with 63 additions and 9 deletions

View File

@ -686,4 +686,54 @@ do_execsql_test 28.2 {
UPDATE "t2" SET (c,d)=(a,b);
END}}
#-------------------------------------------------------------------------
reset_db
do_execsql_test 29.1 {
CREATE TABLE t1(x, y);
CREATE TRIGGER Trigger1 DELETE ON t1
BEGIN
SELECT t1.*, t1.x FROM t1 ORDER BY t1.x;
END;
}
do_execsql_test 29.2 {
ALTER TABLE t1 RENAME x TO z;
}
do_execsql_test 29.3 {
ALTER TABLE t1 RENAME TO t2;
}
do_execsql_test 29.4 {
CREATE TRIGGER tr2 AFTER DELETE ON t2 BEGIN
SELECT z, y FROM (
SELECT t2.* FROM t2
);
END;
}
do_execsql_test 29.5 {
DELETE FROM t2
}
do_execsql_test 29.6 {
ALTER TABLE t2 RENAME TO t3;
}
do_execsql_test 29.7 {
SELECT sql FROM sqlite_schema WHERE type='trigger'
} {
{CREATE TRIGGER Trigger1 DELETE ON "t3"
BEGIN
SELECT "t3".*, "t3".z FROM "t3" ORDER BY "t3".z;
END}
{CREATE TRIGGER tr2 AFTER DELETE ON "t3" BEGIN
SELECT z, y FROM (
SELECT "t3".* FROM "t3"
);
END}
}
finish_test