.Dd January 24, 2024 .Dt SQLITE3_CONFIG 3 .Os .Sh NAME .Nm sqlite3_config .Nd configuring the SQLite library .Sh SYNOPSIS .In sqlite3.h .Ft int .Fo sqlite3_config .Fa "int" .Fa "..." .Fc .Sh DESCRIPTION The sqlite3_config() interface is used to make global configuration changes to SQLite in order to tune SQLite to the specific needs of the application. The default configuration is recommended for most applications and so this routine is usually not necessary. It is provided to support rare applications with unusual needs. .Pp \fBThe sqlite3_config() interface is not threadsafe. The application must ensure that no other SQLite interfaces are invoked by other threads while sqlite3_config() is running.\fP .Pp The first argument to sqlite3_config() is an integer configuration option that determines what property of SQLite is to be configured. Subsequent arguments vary depending on the configuration option in the first argument. .Pp For most configuration options, the sqlite3_config() interface may only be invoked prior to library initialization using .Fn sqlite3_initialize or after shutdown by .Fn sqlite3_shutdown . The exceptional configuration options that may be invoked at any time are called "anytime configuration options". If sqlite3_config() is called after .Fn sqlite3_initialize and before .Fn sqlite3_shutdown with a first argument that is not an anytime configuration option, then the sqlite3_config() call will return SQLITE_MISUSE. Note, however, that sqlite3_config() can be called as part of the implementation of an application-defined .Fn sqlite3_os_init . When a configuration option is set, sqlite3_config() returns SQLITE_OK. If the option is unknown or SQLite is unable to set the option then this routine returns a non-zero error code. .Sh IMPLEMENTATION NOTES These declarations were extracted from the interface documentation at line 1647. .Bd -literal SQLITE_API int sqlite3_config(int, ...); .Ed .Sh SEE ALSO .Xr sqlite3_initialize 3 , .Xr SQLITE_CONFIG_SINGLETHREAD 3 , .Xr SQLITE_OK 3