SQLITE_OPEN_READONLY(3)

SQLITE_OPEN_READONLY(3) | Library Functions Manual | SQLITE_OPEN_READONLY(3)

# NAME

`SQLITE_OPEN_READONLY`, `SQLITE_OPEN_READWRITE`, `SQLITE_OPEN_CREATE`, `SQLITE_OPEN_DELETEONCLOSE`, `SQLITE_OPEN_EXCLUSIVE`, `SQLITE_OPEN_AUTOPROXY`, `SQLITE_OPEN_URI`, `SQLITE_OPEN_MEMORY`, `SQLITE_OPEN_MAIN_DB`, `SQLITE_OPEN_TEMP_DB`, `SQLITE_OPEN_TRANSIENT_DB`, `SQLITE_OPEN_MAIN_JOURNAL`, `SQLITE_OPEN_TEMP_JOURNAL`, `SQLITE_OPEN_SUBJOURNAL`, `SQLITE_OPEN_SUPER_JOURNAL`, `SQLITE_OPEN_NOMUTEX`, `SQLITE_OPEN_FULLMUTEX`, `SQLITE_OPEN_SHAREDCACHE`, `SQLITE_OPEN_PRIVATECACHE`, `SQLITE_OPEN_WAL`, `SQLITE_OPEN_NOFOLLOW`, `SQLITE_OPEN_EXRESCODE` — flags for file open operations

# SYNOPSIS

`#include <sqlite3.h>`

`#define SQLITE_OPEN_READONLY`
`#define SQLITE_OPEN_READWRITE`
`#define SQLITE_OPEN_CREATE`
`#define SQLITE_OPEN_DELETEONCLOSE`
`#define SQLITE_OPEN_EXCLUSIVE`
`#define SQLITE_OPEN_AUTOPROXY`
`#define SQLITE_OPEN_URI`
`#define SQLITE_OPEN_MEMORY`
`#define SQLITE_OPEN_MAIN_DB`
`#define SQLITE_OPEN_TEMP_DB`
`#define SQLITE_OPEN_TRANSIENT_DB`
`#define SQLITE_OPEN_MAIN_JOURNAL`
`#define SQLITE_OPEN_TEMP_JOURNAL`
`#define SQLITE_OPEN_SUBJOURNAL`
`#define SQLITE_OPEN_SUPER_JOURNAL`
`#define SQLITE_OPEN_NOMUTEX`
`#define SQLITE_OPEN_FULLMUTEX`
`#define SQLITE_OPEN_SHAREDCACHE`
`#define SQLITE_OPEN_PRIVATECACHE`
`#define SQLITE_OPEN_WAL`
`#define SQLITE_OPEN_NOFOLLOW`
`#define SQLITE_OPEN_EXRESCODE`

# DESCRIPTION

These bit values are intended for use in the 3rd parameter to the `sqlite3_open_v2`() interface and in the 4th parameter to the sqlite3_vfs.xOpen method.

Only those flags marked as "Ok for sqlite3_open_v2()" may be used as the third argument to the `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.

Note in particular that passing the SQLITE_OPEN_EXCLUSIVE flag into `sqlite3_open_v2`() does *not* cause the underlying database file to be opened using O_EXCL. Passing SQLITE_OPEN_EXCLUSIVE into `sqlite3_open_v2`() has historically be a no-op and might become an error in future versions of SQLite.

# IMPLEMENTATION NOTES

These declarations were extracted from the interface documentation at line 574.

    #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 */

# SEE ALSO

sqlite3_open(3)

January 24, 2024 | NetBSD 11.0