Index: pages/changes.in ================================================================== --- pages/changes.in +++ pages/changes.in @@ -53,10 +53,13 @@
The [defer_foreign_keys pragma] can be used to temporarily change all foreign + key constraints to deferred regardless of how they are declared.
^(The following example illustrates the effect of using a deferred foreign key constraint. Index: pages/pragma.in ================================================================== --- pages/pragma.in +++ pages/pragma.in @@ -311,10 +311,26 @@ that fired the trigger, whereas [sqlite3_changes()] and [sqlite3_total_changes()] do not. DISCLAIMER } + +Pragma defer_foreign_keys { +
PRAGMA defer_foreign_keys
+
PRAGMA defer_foreign_keys = boolean;
^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.
+ +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.
+} + LegacyPragma default_cache_size { ^(PRAGMA default_cache_size;PRAGMA query_only;
+
PRAGMA query_only = boolean;
The query_only pragma prevents all changes to database files when + enabled.
+} Pragma read_uncommitted {^(PRAGMA read_uncommitted;
PRAGMA read_uncommitted = boolean;
Query, set, or clear READ UNCOMMITTED isolation.)^ ^The default isolation