Documentation Source Text

Check-in [651b3720a7]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Fix the PRAGMA defer_foreign_keys documentation to explain that deferral is disabled whenever a transaction completes.
Downloads: Tarball | ZIP archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 651b3720a77d3c98919dc73d2af81e40c0100657
User & Date: drh 2013-10-12 13:10:40.253
Context
2013-10-12
20:43
Update the change log and the pragma documentation to reflect restoring PRAGMA index_list to its old behavior. (check-in: d585c58e71 user: drh tags: trunk)
13:10
Fix the PRAGMA defer_foreign_keys documentation to explain that deferral is disabled whenever a transaction completes. (check-in: 651b3720a7 user: drh tags: trunk)
2013-10-11
23:33
Improved documentation for DETACH - explain how behavior changes in shared cache mode. Update the makefile to scan the th3/core/*.c files for requirements marks. (check-in: 949c314919 user: drh tags: trunk)
Changes
Unified Diff Ignore Whitespace Patch
Changes to pages/pragma.in.
317
318
319
320
321
322
323
324



325
326
327
328
329
330
331
Pragma defer_foreign_keys {
    <p><b>PRAGMA defer_foreign_keys
       <br>PRAGMA defer_foreign_keys = </b><i>boolean</i><b>;</b></p>
    <p>^When the defer_foreign_keys [PRAGMA] is on,
    enforcement of all [foreign key constraints] is delayed until the
    outermost transaction is committed.  ^The defer_foreign_keys pragma
    defaults to OFF so that foreign key constraints are only deferred if
    they are created as "DEFERRABLE INITIALLY DEFERRED".  This pragma is



    only meaningful if foreign key constraints are enabled, of course.</p>

    <p>The [sqlite3_db_status](db,[SQLITE_DBSTATUS_DEFERRED_FKS],...)
    C-language interface can be used during a transaction to determine 
    if there are deferred and unresolved foreign key constraints.</p>
}








|
>
>
>







317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
Pragma defer_foreign_keys {
    <p><b>PRAGMA defer_foreign_keys
       <br>PRAGMA defer_foreign_keys = </b><i>boolean</i><b>;</b></p>
    <p>^When the defer_foreign_keys [PRAGMA] is on,
    enforcement of all [foreign key constraints] is delayed until the
    outermost transaction is committed.  ^The defer_foreign_keys pragma
    defaults to OFF so that foreign key constraints are only deferred if
    they are created as "DEFERRABLE INITIALLY DEFERRED".  ^(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.)^  This pragma is
    only meaningful if foreign key constraints are enabled, of course.</p>

    <p>The [sqlite3_db_status](db,[SQLITE_DBSTATUS_DEFERRED_FKS],...)
    C-language interface can be used during a transaction to determine 
    if there are deferred and unresolved foreign key constraints.</p>
}