xref: /netbsd-src/external/public-domain/sqlite/man/sqlite3_config.3 (revision bdc22b2e01993381dcefeff2bc9b56ca75a4235c)
1.Dd March 11, 2017
2.Dt SQLITE3_CONFIG 3
3.Os
4.Sh NAME
5.Nm sqlite3_config
6.Nd Configuring The SQLite Library
7.Sh SYNOPSIS
8.Ft int
9.Fo sqlite3_config
10.Fa "int"
11.Fa "..."
12.Fc
13.Sh DESCRIPTION
14The sqlite3_config() interface is used to make global configuration
15changes to SQLite in order to tune SQLite to the specific needs of
16the application.
17The default configuration is recommended for most applications and
18so this routine is usually not necessary.
19It is provided to support rare applications with unusual needs.
20.Pp
21\fBThe sqlite3_config() interface is not threadsafe.
22The application must ensure that no other SQLite interfaces are invoked
23by other threads while sqlite3_config() is running.\fP
24.Pp
25The sqlite3_config() interface may only be invoked prior to library
26initialization using sqlite3_initialize() or after
27shutdown by sqlite3_shutdown().
28If sqlite3_config() is called after sqlite3_initialize()
29and before sqlite3_shutdown() then it will return
30SQLITE_MISUSE.
31Note, however, that  sqlite3_config() can be called as part of the
32implementation of an application-defined sqlite3_os_init().
33.Pp
34The first argument to sqlite3_config() is an integer configuration option
35that determines what property of SQLite is to be configured.
36Subsequent arguments vary depending on the configuration option
37in the first argument.
38.Pp
39When a configuration option is set, sqlite3_config() returns SQLITE_OK.
40If the option is unknown or SQLite is unable to set the option then
41this routine returns a non-zero error code.
42.Sh SEE ALSO
43.Xr SQLITE_CONFIG_SINGLETHREAD 3 ,
44.Xr sqlite3_initialize 3 ,
45.Xr SQLITE_OK 3
46