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