xref: /netbsd-src/external/public-domain/sqlite/man/SQLITE_OPEN_READONLY.3 (revision b9988867a8ad969c45a52aa7628bc932ec98d46b)
1.Dd January 24, 2024
2.Dt SQLITE_OPEN_READONLY 3
3.Os
4.Sh NAME
5.Nm SQLITE_OPEN_READONLY ,
6.Nm SQLITE_OPEN_READWRITE ,
7.Nm SQLITE_OPEN_CREATE ,
8.Nm SQLITE_OPEN_DELETEONCLOSE ,
9.Nm SQLITE_OPEN_EXCLUSIVE ,
10.Nm SQLITE_OPEN_AUTOPROXY ,
11.Nm SQLITE_OPEN_URI ,
12.Nm SQLITE_OPEN_MEMORY ,
13.Nm SQLITE_OPEN_MAIN_DB ,
14.Nm SQLITE_OPEN_TEMP_DB ,
15.Nm SQLITE_OPEN_TRANSIENT_DB ,
16.Nm SQLITE_OPEN_MAIN_JOURNAL ,
17.Nm SQLITE_OPEN_TEMP_JOURNAL ,
18.Nm SQLITE_OPEN_SUBJOURNAL ,
19.Nm SQLITE_OPEN_SUPER_JOURNAL ,
20.Nm SQLITE_OPEN_NOMUTEX ,
21.Nm SQLITE_OPEN_FULLMUTEX ,
22.Nm SQLITE_OPEN_SHAREDCACHE ,
23.Nm SQLITE_OPEN_PRIVATECACHE ,
24.Nm SQLITE_OPEN_WAL ,
25.Nm SQLITE_OPEN_NOFOLLOW ,
26.Nm SQLITE_OPEN_EXRESCODE
27.Nd flags for file open operations
28.Sh SYNOPSIS
29.In sqlite3.h
30.Fd #define SQLITE_OPEN_READONLY
31.Fd #define SQLITE_OPEN_READWRITE
32.Fd #define SQLITE_OPEN_CREATE
33.Fd #define SQLITE_OPEN_DELETEONCLOSE
34.Fd #define SQLITE_OPEN_EXCLUSIVE
35.Fd #define SQLITE_OPEN_AUTOPROXY
36.Fd #define SQLITE_OPEN_URI
37.Fd #define SQLITE_OPEN_MEMORY
38.Fd #define SQLITE_OPEN_MAIN_DB
39.Fd #define SQLITE_OPEN_TEMP_DB
40.Fd #define SQLITE_OPEN_TRANSIENT_DB
41.Fd #define SQLITE_OPEN_MAIN_JOURNAL
42.Fd #define SQLITE_OPEN_TEMP_JOURNAL
43.Fd #define SQLITE_OPEN_SUBJOURNAL
44.Fd #define SQLITE_OPEN_SUPER_JOURNAL
45.Fd #define SQLITE_OPEN_NOMUTEX
46.Fd #define SQLITE_OPEN_FULLMUTEX
47.Fd #define SQLITE_OPEN_SHAREDCACHE
48.Fd #define SQLITE_OPEN_PRIVATECACHE
49.Fd #define SQLITE_OPEN_WAL
50.Fd #define SQLITE_OPEN_NOFOLLOW
51.Fd #define SQLITE_OPEN_EXRESCODE
52.Sh DESCRIPTION
53These bit values are intended for use in the 3rd parameter to the
54.Fn sqlite3_open_v2
55interface and in the 4th parameter to the sqlite3_vfs.xOpen
56method.
57.Pp
58Only those flags marked as "Ok for sqlite3_open_v2()" may be used as
59the third argument to the
60.Fn sqlite3_open_v2
61interface.
62The other flags have historically been ignored by sqlite3_open_v2(),
63though future versions of SQLite might change so that an error is raised
64if any of the disallowed bits are passed into sqlite3_open_v2().
65Applications should not depend on the historical behavior.
66.Pp
67Note in particular that passing the SQLITE_OPEN_EXCLUSIVE flag into
68.Fn sqlite3_open_v2
69does *not* cause the underlying database file to be opened using O_EXCL.
70Passing SQLITE_OPEN_EXCLUSIVE into
71.Fn sqlite3_open_v2
72has historically be a no-op and might become an error in future versions
73of SQLite.
74.Sh IMPLEMENTATION NOTES
75These declarations were extracted from the
76interface documentation at line 574.
77.Bd -literal
78#define SQLITE_OPEN_READONLY         0x00000001  /* Ok for sqlite3_open_v2() */
79#define SQLITE_OPEN_READWRITE        0x00000002  /* Ok for sqlite3_open_v2() */
80#define SQLITE_OPEN_CREATE           0x00000004  /* Ok for sqlite3_open_v2() */
81#define SQLITE_OPEN_DELETEONCLOSE    0x00000008  /* VFS only */
82#define SQLITE_OPEN_EXCLUSIVE        0x00000010  /* VFS only */
83#define SQLITE_OPEN_AUTOPROXY        0x00000020  /* VFS only */
84#define SQLITE_OPEN_URI              0x00000040  /* Ok for sqlite3_open_v2() */
85#define SQLITE_OPEN_MEMORY           0x00000080  /* Ok for sqlite3_open_v2() */
86#define SQLITE_OPEN_MAIN_DB          0x00000100  /* VFS only */
87#define SQLITE_OPEN_TEMP_DB          0x00000200  /* VFS only */
88#define SQLITE_OPEN_TRANSIENT_DB     0x00000400  /* VFS only */
89#define SQLITE_OPEN_MAIN_JOURNAL     0x00000800  /* VFS only */
90#define SQLITE_OPEN_TEMP_JOURNAL     0x00001000  /* VFS only */
91#define SQLITE_OPEN_SUBJOURNAL       0x00002000  /* VFS only */
92#define SQLITE_OPEN_SUPER_JOURNAL    0x00004000  /* VFS only */
93#define SQLITE_OPEN_NOMUTEX          0x00008000  /* Ok for sqlite3_open_v2() */
94#define SQLITE_OPEN_FULLMUTEX        0x00010000  /* Ok for sqlite3_open_v2() */
95#define SQLITE_OPEN_SHAREDCACHE      0x00020000  /* Ok for sqlite3_open_v2() */
96#define SQLITE_OPEN_PRIVATECACHE     0x00040000  /* Ok for sqlite3_open_v2() */
97#define SQLITE_OPEN_WAL              0x00080000  /* VFS only */
98#define SQLITE_OPEN_NOFOLLOW         0x01000000  /* Ok for sqlite3_open_v2() */
99#define SQLITE_OPEN_EXRESCODE        0x02000000  /* Extended result codes */
100.Ed
101.Sh SEE ALSO
102.Xr sqlite3_open 3
103