xref: /netbsd-src/external/public-domain/sqlite/man/SQLITE_IOCAP_ATOMIC.3 (revision bdc22b2e01993381dcefeff2bc9b56ca75a4235c)
1.Dd March 11, 2017
2.Dt SQLITE_IOCAP_ATOMIC 3
3.Os
4.Sh NAME
5.Nm SQLITE_IOCAP_ATOMIC ,
6.Nm SQLITE_IOCAP_ATOMIC512 ,
7.Nm SQLITE_IOCAP_ATOMIC1K ,
8.Nm SQLITE_IOCAP_ATOMIC2K ,
9.Nm SQLITE_IOCAP_ATOMIC4K ,
10.Nm SQLITE_IOCAP_ATOMIC8K ,
11.Nm SQLITE_IOCAP_ATOMIC16K ,
12.Nm SQLITE_IOCAP_ATOMIC32K ,
13.Nm SQLITE_IOCAP_ATOMIC64K ,
14.Nm SQLITE_IOCAP_SAFE_APPEND ,
15.Nm SQLITE_IOCAP_SEQUENTIAL ,
16.Nm SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN ,
17.Nm SQLITE_IOCAP_POWERSAFE_OVERWRITE ,
18.Nm SQLITE_IOCAP_IMMUTABLE
19.Nd Device Characteristics
20.Sh SYNOPSIS
21.Fd #define SQLITE_IOCAP_ATOMIC
22.Fd #define SQLITE_IOCAP_ATOMIC512
23.Fd #define SQLITE_IOCAP_ATOMIC1K
24.Fd #define SQLITE_IOCAP_ATOMIC2K
25.Fd #define SQLITE_IOCAP_ATOMIC4K
26.Fd #define SQLITE_IOCAP_ATOMIC8K
27.Fd #define SQLITE_IOCAP_ATOMIC16K
28.Fd #define SQLITE_IOCAP_ATOMIC32K
29.Fd #define SQLITE_IOCAP_ATOMIC64K
30.Fd #define SQLITE_IOCAP_SAFE_APPEND
31.Fd #define SQLITE_IOCAP_SEQUENTIAL
32.Fd #define SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN
33.Fd #define SQLITE_IOCAP_POWERSAFE_OVERWRITE
34.Fd #define SQLITE_IOCAP_IMMUTABLE
35.Sh DESCRIPTION
36The xDeviceCharacteristics method of the sqlite3_io_methods
37object returns an integer which is a vector of these bit values expressing
38I/O characteristics of the mass storage device that holds the file
39that the sqlite3_io_methods refers to.
40.Pp
41The SQLITE_IOCAP_ATOMIC property means that all writes of any size
42are atomic.
43The SQLITE_IOCAP_ATOMICnnn values mean that writes of blocks that are
44nnn bytes in size and are aligned to an address which is an integer
45multiple of nnn are atomic.
46The SQLITE_IOCAP_SAFE_APPEND value means that when data is appended
47to a file, the data is appended first then the size of the file is
48extended, never the other way around.
49The SQLITE_IOCAP_SEQUENTIAL property means that information is written
50to disk in the same order as calls to xWrite().
51The SQLITE_IOCAP_POWERSAFE_OVERWRITE property means that after reboot
52following a crash or power loss, the only bytes in a file that were
53written at the application level might have changed and that adjacent
54bytes, even bytes within the same sector are guaranteed to be unchanged.
55The SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN flag indicates that a file cannot
56be deleted when open.
57The SQLITE_IOCAP_IMMUTABLE flag indicates that the file is on read-only
58media and cannot be changed even by processes with elevated privileges.
59.Sh SEE ALSO
60.Xr sqlite3_io_methods 3
61