Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Add tests that demonstrate that PRAGMA defer_foreign_keys will reset to off at the conclusion of the next transaction. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
67e28a11de97e97889f0c0f41c056057 |
User & Date: | drh 2013-10-12 13:16:15.885 |
Context
2013-10-12
| ||
15:12 | Fix handling of "DROP TABLE" commands when "PRAGMA defer_foreign_keys=1" is set. (check-in: 27001356ed user: dan tags: trunk) | |
13:16 | Add tests that demonstrate that PRAGMA defer_foreign_keys will reset to off at the conclusion of the next transaction. (check-in: 67e28a11de user: drh tags: trunk) | |
02:33 | Fix harmless compiler warning. (check-in: 4b130f88fb user: mistachkin tags: trunk) | |
Changes
Changes to test/fkey6.test.
︙ | ︙ | |||
77 78 79 80 81 82 83 | BEGIN; DELETE FROM t1 WHERE x=3; } } {} do_test fkey6-1.9 { sqlite3_db_status db DBSTATUS_DEFERRED_FKS 0 } {0 1 0} | | > > > > | > | | | > > > > > | > | 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 104 105 106 107 | BEGIN; DELETE FROM t1 WHERE x=3; } } {} do_test fkey6-1.9 { sqlite3_db_status db DBSTATUS_DEFERRED_FKS 0 } {0 1 0} # EVIDENCE-OF: R-21752-26913 The defer_foreign_keys pragma is # automatically switched off at each COMMIT or ROLLBACK. Hence, the # defer_foreign_keys pragma must be separately enabled for each # transaction. do_execsql_test fkey6-1.10.1 { PRAGMA defer_foreign_keys; ROLLBACK; PRAGMA defer_foreign_keys; BEGIN; PRAGMA defer_foreign_keys=ON; PRAGMA defer_foreign_keys; COMMIT; PRAGMA defer_foreign_keys; BEGIN; } {1 0 1 0} do_test fkey6-1.10.2 { catchsql {DELETE FROM t1 WHERE x=3} } {1 {foreign key constraint failed}} db eval {ROLLBACK} do_test fkey6-1.20 { execsql { BEGIN; |
︙ | ︙ |