xref: /netbsd-src/external/public-domain/sqlite/man/SQLITE_SYNC_NORMAL.3 (revision bdc22b2e01993381dcefeff2bc9b56ca75a4235c)
1.Dd March 11, 2017
2.Dt SQLITE_SYNC_NORMAL 3
3.Os
4.Sh NAME
5.Nm SQLITE_SYNC_NORMAL ,
6.Nm SQLITE_SYNC_FULL ,
7.Nm SQLITE_SYNC_DATAONLY
8.Nd Synchronization Type Flags
9.Sh SYNOPSIS
10.Fd #define SQLITE_SYNC_NORMAL
11.Fd #define SQLITE_SYNC_FULL
12.Fd #define SQLITE_SYNC_DATAONLY
13.Sh DESCRIPTION
14When SQLite invokes the xSync() method of an sqlite3_io_methods
15object it uses a combination of these integer values as the second
16argument.
17.Pp
18When the SQLITE_SYNC_DATAONLY flag is used, it means that the sync
19operation only needs to flush data to mass storage.
20Inode information need not be flushed.
21If the lower four bits of the flag equal SQLITE_SYNC_NORMAL, that means
22to use normal fsync() semantics.
23If the lower four bits equal SQLITE_SYNC_FULL, that means to use Mac
24OS X style fullsync instead of fsync().
25.Pp
26Do not confuse the SQLITE_SYNC_NORMAL and SQLITE_SYNC_FULL flags with
27the PRAGMA synchronous=NORMAL and PRAGMA synchronous=FULL
28settings.
29The synchronous pragma determines when calls to the
30xSync VFS method occur and applies uniformly across all platforms.
31The SQLITE_SYNC_NORMAL and SQLITE_SYNC_FULL flags determine how energetic
32or rigorous or forceful the sync operations are and only make a difference
33on Mac OSX for the default SQLite code.
34(Third-party VFS implementations might also make the distinction between
35SQLITE_SYNC_NORMAL and SQLITE_SYNC_FULL, but among the operating systems
36natively supported by SQLite, only Mac OSX cares about the difference.)
37.Sh SEE ALSO
38.Xr sqlite3_io_methods 3
39