Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.
|Comment:||Fix comments on pager flag settings to include synchronous=EXTRA.|
|Downloads:||Tarball | ZIP archive | SQL archive|
|Timelines:||family | ancestors | descendants | both | trunk|
|Files:||files | file ages | folders|
|User & Date:||drh 2016-03-08 13:56:02|
|14:16||Fix ATTACH to use the symbolic name PAGER_SYNCHRONOUS_FULL rather than an integer literal. (check-in: c4e192a0 user: drh tags: trunk)|
|14:01||Merge coverage improvements and comment fixes from trunk. (check-in: 58023bfc user: drh tags: apple-osx)|
|13:56||Fix comments on pager flag settings to include synchronous=EXTRA. (check-in: 3a65a1fc user: drh tags: trunk)|
|02:59||Simplified error detection in the xBestIndex processing. (check-in: 82ca2131 user: drh tags: trunk)|
Changes to src/pager.c.
3456 3456 3457 3457 /* 3458 3458 ** Adjust settings of the pager to those specified in the pgFlags parameter. 3459 3459 ** 3460 3460 ** The "level" in pgFlags & PAGER_SYNCHRONOUS_MASK sets the robustness 3461 3461 ** of the database to damage due to OS crashes or power failures by 3462 3462 ** changing the number of syncs()s when writing the journals. 3463 -** There are three levels: 3463 +** There are four levels: 3464 3464 ** 3465 3465 ** OFF sqlite3OsSync() is never called. This is the default 3466 3466 ** for temporary and transient files. 3467 3467 ** 3468 3468 ** NORMAL The journal is synced once before writes begin on the 3469 3469 ** database. This is normally adequate protection, but 3470 3470 ** it is theoretically possible, though very unlikely, ................................................................................ 3475 3475 ** FULL The journal is synced twice before writes begin on the 3476 3476 ** database (with some additional information - the nRec field 3477 3477 ** of the journal header - being written in between the two 3478 3478 ** syncs). If we assume that writing a 3479 3479 ** single disk sector is atomic, then this mode provides 3480 3480 ** assurance that the journal will not be corrupted to the 3481 3481 ** point of causing damage to the database during rollback. 3482 +** 3483 +** EXTRA This is like FULL except that is also syncs the directory 3484 +** that contains the rollback journal after the rollback 3485 +** journal is unlinked. 3482 3486 ** 3483 3487 ** The above is for a rollback-journal mode. For WAL mode, OFF continues 3484 3488 ** to mean that no syncs ever occur. NORMAL means that the WAL is synced 3485 3489 ** prior to the start of checkpoint and that the database file is synced 3486 3490 ** at the conclusion of the checkpoint if the entire content of the WAL 3487 3491 ** was written back into the database. But no sync operations occur for 3488 3492 ** an ordinary commit in NORMAL mode with WAL. FULL means that the WAL 3489 3493 ** file is synced following each commit operation, in addition to the 3490 -** syncs associated with NORMAL. 3494 +** syncs associated with NORMAL. There is no difference between FULL 3495 +** and EXTRA for WAL mode. 3491 3496 ** 3492 3497 ** Do not confuse synchronous=FULL with SQLITE_SYNC_FULL. The 3493 3498 ** SQLITE_SYNC_FULL macro means to use the MacOSX-style full-fsync 3494 3499 ** using fcntl(F_FULLFSYNC). SQLITE_SYNC_NORMAL means to do an 3495 3500 ** ordinary fsync() call. There is no difference between SQLITE_SYNC_FULL 3496 3501 ** and SQLITE_SYNC_NORMAL on platforms other than MacOSX. But the 3497 3502 ** synchronous=FULL versus synchronous=NORMAL setting determines when