Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Run the column cache in a new context when generating code for trigger programs. Fix for ticket [efc02f9779]. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
dee1b8eb402f47c6d5ee60aac28f8e3d |
User & Date: | drh 2009-08-24 01:35:25.000 |
References
2009-09-17
| ||
00:47 | • Fixed ticket [e25d9ea771]: Cascading delete trigger fails. plus 4 other changes (artifact: df2f80f30b user: drh) | |
2009-09-14
| ||
22:28 | • Ticket [a696379c1f] Access violation error trying to insert into triggered view status still Open with 1 other change (artifact: 3e27afc20e user: drh) | |
2009-08-25
| ||
12:11 | Merge together the os_unix.c fix of [aa6acfa8ca] and the trigger fix of [dee1b8eb40]. (check-in: 1e2c6e134e user: drh tags: trunk) | |
2009-08-24
| ||
01:37 | • Fixed ticket [efc02f9779]: Trigger creation order affects query correctness plus 2 other changes (artifact: b60050895a user: drh) | |
Context
2009-08-28
| ||
18:53 | Changes to support recursive triggers. (check-in: 9b9c192115 user: dan tags: trunk) | |
2009-08-24
| ||
19:37 | Update the version number to 3.6.18, even though the actual release of that version is still a few weeks away. (check-in: c0ea4e9a7d user: drh tags: trunk) | |
01:35 | Run the column cache in a new context when generating code for trigger programs. Fix for ticket [efc02f9779]. (check-in: dee1b8eb40 user: drh tags: trunk) | |
2009-08-21
| ||
17:18 | When a database file is opened, try to find an unused file descriptor to reuse. This change affects unix (and other systems that use os_unix.c) only. Fix for cvstrac ticket #4018. (check-in: 9b4d9ab62d user: dan tags: trunk) | |
Changes
Deleted doc/report1.txt.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Changes to src/trigger.c.
︙ | ︙ | |||
852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 | pParse->trigStack = trigStackEntry.pNext; sqlite3ExprDelete(db, whenExpr); return 1; } sqlite3ExprIfFalse(pParse, whenExpr, endTrigger, SQLITE_JUMPIFNULL); sqlite3ExprDelete(db, whenExpr); codeTriggerProgram(pParse, p->step_list, orconf); /* Pop the entry off the trigger stack */ pParse->trigStack = trigStackEntry.pNext; sqlite3AuthContextPop(&sContext); sqlite3VdbeResolveLabel(pParse->pVdbe, endTrigger); } | > > | 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 | pParse->trigStack = trigStackEntry.pNext; sqlite3ExprDelete(db, whenExpr); return 1; } sqlite3ExprIfFalse(pParse, whenExpr, endTrigger, SQLITE_JUMPIFNULL); sqlite3ExprDelete(db, whenExpr); sqlite3ExprCachePush(pParse); codeTriggerProgram(pParse, p->step_list, orconf); sqlite3ExprCachePop(pParse, 1); /* Pop the entry off the trigger stack */ pParse->trigStack = trigStackEntry.pNext; sqlite3AuthContextPop(&sContext); sqlite3VdbeResolveLabel(pParse->pVdbe, endTrigger); } |
︙ | ︙ |
Changes to test/tkt3201.test.
︙ | ︙ | |||
65 66 67 68 69 70 71 72 73 74 | } execsql { SELECT a, b, c, d FROM t1, t3 } } {1 one 2 two} do_test tkt3201-7 { execsql { SELECT a, b, c, d FROM t1, t3 WHERE a < c } } {1 one 2 two} finish_test | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 | } execsql { SELECT a, b, c, d FROM t1, t3 } } {1 one 2 two} do_test tkt3201-7 { execsql { SELECT a, b, c, d FROM t1, t3 WHERE a < c } } {1 one 2 two} # Ticket [efc02f977919] # do_test tkt3201-4.0 { db eval { CREATE TABLE t4(x); CREATE TABLE t4_log(x); CREATE TRIGGER r4_1 AFTER INSERT ON t4 WHEN new.x=1 BEGIN INSERT INTO t4_log(x) VALUES(new.x); END; CREATE TRIGGER r4_2 AFTER INSERT ON t4 WHEN new.x=2 BEGIN INSERT INTO t4_log(x) VALUES(new.x); END; CREATE TRIGGER r4_3 AFTER INSERT ON t4 WHEN new.x=3 BEGIN INSERT INTO t4_log(x) VALUES(new.x); END; CREATE TRIGGER r4_4 AFTER INSERT ON t4 WHEN new.x=4 BEGIN INSERT INTO t4_log(x) VALUES(new.x); END; INSERT INTO t4 VALUES(1); INSERT INTO t4 VALUES(2); INSERT INTO t4 VALUES(3); INSERT INTO t4 VALUES(4); SELECT * FROM t4_log; } } {1 2 3 4} finish_test |