xref: /netbsd-src/external/public-domain/sqlite/man/sqlite3_config.3 (revision b9988867a8ad969c45a52aa7628bc932ec98d46b)
1.Dd January 24, 2024
2.Dt SQLITE3_CONFIG 3
3.Os
4.Sh NAME
5.Nm sqlite3_config
6.Nd configuring the SQLite library
7.Sh SYNOPSIS
8.In sqlite3.h
9.Ft int
10.Fo sqlite3_config
11.Fa "int"
12.Fa "..."
13.Fc
14.Sh DESCRIPTION
15The sqlite3_config() interface is used to make global configuration
16changes to SQLite in order to tune SQLite to the specific needs of
17the application.
18The default configuration is recommended for most applications and
19so this routine is usually not necessary.
20It is provided to support rare applications with unusual needs.
21.Pp
22\fBThe sqlite3_config() interface is not threadsafe.
23The application must ensure that no other SQLite interfaces are invoked
24by other threads while sqlite3_config() is running.\fP
25.Pp
26The first argument to sqlite3_config() is an integer configuration option
27that determines what property of SQLite is to be configured.
28Subsequent arguments vary depending on the configuration option
29in the first argument.
30.Pp
31For most configuration options, the sqlite3_config() interface may
32only be invoked prior to library initialization using
33.Fn sqlite3_initialize
34or after shutdown by
35.Fn sqlite3_shutdown .
36The exceptional configuration options that may be invoked at any time
37are called "anytime configuration options".
38If sqlite3_config() is called after
39.Fn sqlite3_initialize
40and before
41.Fn sqlite3_shutdown
42with a first argument that is not an anytime configuration option,
43then the sqlite3_config() call will return SQLITE_MISUSE.
44Note, however, that sqlite3_config() can be called as part of the implementation
45of an application-defined
46.Fn sqlite3_os_init .
47When a configuration option is set, sqlite3_config() returns SQLITE_OK.
48If the option is unknown or SQLite is unable to set the option then
49this routine returns a non-zero error code.
50.Sh IMPLEMENTATION NOTES
51These declarations were extracted from the
52interface documentation at line 1647.
53.Bd -literal
54SQLITE_API int sqlite3_config(int, ...);
55.Ed
56.Sh SEE ALSO
57.Xr sqlite3_initialize 3 ,
58.Xr SQLITE_CONFIG_SINGLETHREAD 3 ,
59.Xr SQLITE_OK 3
60