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