xref: /netbsd-src/external/public-domain/sqlite/man/SQLITE_SYNC_NORMAL.3 (revision 82d56013d7b633d116a93943de88e08335357a7c)
1.Dd December 19, 2018
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