NAME
SQLITE_SYNC_NORMAL,
SQLITE_SYNC_FULL,
SQLITE_SYNC_DATAONLY —
Synchronization Type Flags
SYNOPSIS
#define SQLITE_SYNC_NORMAL
#define SQLITE_SYNC_FULL
#define SQLITE_SYNC_DATAONLY
DESCRIPTION
When SQLite invokes the xSync() method of an sqlite3_io_methods object it uses a
combination of these integer values as the second argument.
When the SQLITE_SYNC_DATAONLY flag is used, it means that the sync operation
only needs to flush data to mass storage. Inode information need not be
flushed. If the lower four bits of the flag equal SQLITE_SYNC_NORMAL, that
means to use normal fsync() semantics. If the lower four bits equal
SQLITE_SYNC_FULL, that means to use Mac OS X style fullsync instead of
fsync().
Do not confuse the SQLITE_SYNC_NORMAL and SQLITE_SYNC_FULL flags with the PRAGMA
synchronous=NORMAL and PRAGMA synchronous=FULL settings. The synchronous
pragma determines when calls to the xSync VFS method occur and applies
uniformly across all platforms. The SQLITE_SYNC_NORMAL and SQLITE_SYNC_FULL
flags determine how energetic or rigorous or forceful the sync operations are
and only make a difference on Mac OSX for the default SQLite code.
(Third-party VFS implementations might also make the distinction between
SQLITE_SYNC_NORMAL and SQLITE_SYNC_FULL, but among the operating systems
natively supported by SQLite, only Mac OSX cares about the difference.)
SEE ALSO
sqlite3_io_methods(3)