1.Dd January 24, 2024 2.Dt SQLITE_CONFIG_SINGLETHREAD 3 3.Os 4.Sh NAME 5.Nm SQLITE_CONFIG_SINGLETHREAD , 6.Nm SQLITE_CONFIG_MULTITHREAD , 7.Nm SQLITE_CONFIG_SERIALIZED , 8.Nm SQLITE_CONFIG_MALLOC , 9.Nm SQLITE_CONFIG_GETMALLOC , 10.Nm SQLITE_CONFIG_SCRATCH , 11.Nm SQLITE_CONFIG_PAGECACHE , 12.Nm SQLITE_CONFIG_HEAP , 13.Nm SQLITE_CONFIG_MEMSTATUS , 14.Nm SQLITE_CONFIG_MUTEX , 15.Nm SQLITE_CONFIG_GETMUTEX , 16.Nm SQLITE_CONFIG_LOOKASIDE , 17.Nm SQLITE_CONFIG_PCACHE , 18.Nm SQLITE_CONFIG_GETPCACHE , 19.Nm SQLITE_CONFIG_LOG , 20.Nm SQLITE_CONFIG_URI , 21.Nm SQLITE_CONFIG_PCACHE2 , 22.Nm SQLITE_CONFIG_GETPCACHE2 , 23.Nm SQLITE_CONFIG_COVERING_INDEX_SCAN , 24.Nm SQLITE_CONFIG_SQLLOG , 25.Nm SQLITE_CONFIG_MMAP_SIZE , 26.Nm SQLITE_CONFIG_WIN32_HEAPSIZE , 27.Nm SQLITE_CONFIG_PCACHE_HDRSZ , 28.Nm SQLITE_CONFIG_PMASZ , 29.Nm SQLITE_CONFIG_STMTJRNL_SPILL , 30.Nm SQLITE_CONFIG_SMALL_MALLOC , 31.Nm SQLITE_CONFIG_SORTERREF_SIZE , 32.Nm SQLITE_CONFIG_MEMDB_MAXSIZE 33.Nd configuration options 34.Sh SYNOPSIS 35.In sqlite3.h 36.Fd #define SQLITE_CONFIG_SINGLETHREAD 37.Fd #define SQLITE_CONFIG_MULTITHREAD 38.Fd #define SQLITE_CONFIG_SERIALIZED 39.Fd #define SQLITE_CONFIG_MALLOC 40.Fd #define SQLITE_CONFIG_GETMALLOC 41.Fd #define SQLITE_CONFIG_SCRATCH 42.Fd #define SQLITE_CONFIG_PAGECACHE 43.Fd #define SQLITE_CONFIG_HEAP 44.Fd #define SQLITE_CONFIG_MEMSTATUS 45.Fd #define SQLITE_CONFIG_MUTEX 46.Fd #define SQLITE_CONFIG_GETMUTEX 47.Fd #define SQLITE_CONFIG_LOOKASIDE 48.Fd #define SQLITE_CONFIG_PCACHE 49.Fd #define SQLITE_CONFIG_GETPCACHE 50.Fd #define SQLITE_CONFIG_LOG 51.Fd #define SQLITE_CONFIG_URI 52.Fd #define SQLITE_CONFIG_PCACHE2 53.Fd #define SQLITE_CONFIG_GETPCACHE2 54.Fd #define SQLITE_CONFIG_COVERING_INDEX_SCAN 55.Fd #define SQLITE_CONFIG_SQLLOG 56.Fd #define SQLITE_CONFIG_MMAP_SIZE 57.Fd #define SQLITE_CONFIG_WIN32_HEAPSIZE 58.Fd #define SQLITE_CONFIG_PCACHE_HDRSZ 59.Fd #define SQLITE_CONFIG_PMASZ 60.Fd #define SQLITE_CONFIG_STMTJRNL_SPILL 61.Fd #define SQLITE_CONFIG_SMALL_MALLOC 62.Fd #define SQLITE_CONFIG_SORTERREF_SIZE 63.Fd #define SQLITE_CONFIG_MEMDB_MAXSIZE 64.Sh DESCRIPTION 65These constants are the available integer configuration options that 66can be passed as the first argument to the 67.Fn sqlite3_config 68interface. 69.Pp 70Most of the configuration options for sqlite3_config() will only work 71if invoked prior to 72.Fn sqlite3_initialize 73or after 74.Fn sqlite3_shutdown . 75The few exceptions to this rule are called "anytime configuration options". 76Calling 77.Fn sqlite3_config 78with a first argument that is not an anytime configuration option in 79between calls to 80.Fn sqlite3_initialize 81and 82.Fn sqlite3_shutdown 83is a no-op that returns SQLITE_MISUSE. 84.Pp 85The set of anytime configuration options can change (by insertions 86and/or deletions) from one release of SQLite to the next. 87As of SQLite version 3.42.0, the complete set of anytime configuration 88options is: 89.Bl -bullet 90.It 91SQLITE_CONFIG_LOG 92.It 93SQLITE_CONFIG_PCACHE_HDRSZ 94.El 95.Pp 96New configuration options may be added in future releases of SQLite. 97Existing configuration options might be discontinued. 98Applications should check the return code from 99.Fn sqlite3_config 100to make sure that the call worked. 101The 102.Fn sqlite3_config 103interface will return a non-zero error code if a discontinued 104or unsupported configuration option is invoked. 105.Bl -tag -width Ds 106.It SQLITE_CONFIG_SINGLETHREAD 107There are no arguments to this option. 108This option sets the threading mode to Single-thread. 109In other words, it disables all mutexing and puts SQLite into a mode 110where it can only be used by a single thread. 111If SQLite is compiled with the SQLITE_THREADSAFE=0 112compile-time option then it is not possible to change the threading mode 113from its default value of Single-thread and so 114.Fn sqlite3_config 115will return SQLITE_ERROR if called with the SQLITE_CONFIG_SINGLETHREAD 116configuration option. 117.It SQLITE_CONFIG_MULTITHREAD 118There are no arguments to this option. 119This option sets the threading mode to Multi-thread. 120In other words, it disables mutexing on database connection 121and prepared statement objects. 122The application is responsible for serializing access to database connections 123and prepared statements. 124But other mutexes are enabled so that SQLite will be safe to use in 125a multi-threaded environment as long as no two threads attempt to use 126the same database connection at the same time. 127If SQLite is compiled with the SQLITE_THREADSAFE=0 128compile-time option then it is not possible to set the Multi-thread 129threading mode and 130.Fn sqlite3_config 131will return SQLITE_ERROR if called with the SQLITE_CONFIG_MULTITHREAD 132configuration option. 133.It SQLITE_CONFIG_SERIALIZED 134There are no arguments to this option. 135This option sets the threading mode to Serialized. 136In other words, this option enables all mutexes including the recursive 137mutexes on database connection and prepared statement 138objects. 139In this mode (which is the default when SQLite is compiled with SQLITE_THREADSAFE=1) 140the SQLite library will itself serialize access to database connections 141and prepared statements so that the application 142is free to use the same database connection or the 143same prepared statement in different threads at the 144same time. 145If SQLite is compiled with the SQLITE_THREADSAFE=0 146compile-time option then it is not possible to set the Serialized threading mode 147and 148.Fn sqlite3_config 149will return SQLITE_ERROR if called with the SQLITE_CONFIG_SERIALIZED 150configuration option. 151.It SQLITE_CONFIG_MALLOC 152The SQLITE_CONFIG_MALLOC option takes a single argument which is a 153pointer to an instance of the sqlite3_mem_methods 154structure. 155The argument specifies alternative low-level memory allocation routines 156to be used in place of the memory allocation routines built into SQLite. 157SQLite makes its own private copy of the content of the sqlite3_mem_methods 158structure before the 159.Fn sqlite3_config 160call returns. 161.It SQLITE_CONFIG_GETMALLOC 162The SQLITE_CONFIG_GETMALLOC option takes a single argument which is 163a pointer to an instance of the sqlite3_mem_methods 164structure. 165The sqlite3_mem_methods structure is filled with 166the currently defined memory allocation routines. 167This option can be used to overload the default memory allocation routines 168with a wrapper that simulations memory allocation failure or tracks 169memory usage, for example. 170.It SQLITE_CONFIG_SMALL_MALLOC 171The SQLITE_CONFIG_SMALL_MALLOC option takes single argument of type 172int, interpreted as a boolean, which if true provides a hint to SQLite 173that it should avoid large memory allocations if possible. 174SQLite will run faster if it is free to make large memory allocations, 175but some application might prefer to run slower in exchange for guarantees 176about memory fragmentation that are possible if large allocations are 177avoided. 178This hint is normally off. 179.It SQLITE_CONFIG_MEMSTATUS 180The SQLITE_CONFIG_MEMSTATUS option takes single argument of type int, 181interpreted as a boolean, which enables or disables the collection 182of memory allocation statistics. 183When memory allocation statistics are disabled, the following SQLite 184interfaces become non-operational: 185.Bl -bullet 186.It 187.Fn sqlite3_hard_heap_limit64 188.It 189.Fn sqlite3_memory_used 190.It 191.Fn sqlite3_memory_highwater 192.It 193.Fn sqlite3_soft_heap_limit64 194.It 195.Fn sqlite3_status64 196.El 197.Pp 198Memory allocation statistics are enabled by default unless SQLite is 199compiled with SQLITE_DEFAULT_MEMSTATUS=0 in 200which case memory allocation statistics are disabled by default. 201.It SQLITE_CONFIG_SCRATCH 202The SQLITE_CONFIG_SCRATCH option is no longer used. 203.It SQLITE_CONFIG_PAGECACHE 204The SQLITE_CONFIG_PAGECACHE option specifies a memory pool that SQLite 205can use for the database page cache with the default page cache implementation. 206This configuration option is a no-op if an application-defined page 207cache implementation is loaded using the SQLITE_CONFIG_PCACHE2. 208There are three arguments to SQLITE_CONFIG_PAGECACHE: A pointer to 2098-byte aligned memory (pMem), the size of each page cache line (sz), 210and the number of cache lines (N). 211The sz argument should be the size of the largest database page (a 212power of two between 512 and 65536) plus some extra bytes for each 213page header. 214The number of extra bytes needed by the page header can be determined 215using SQLITE_CONFIG_PCACHE_HDRSZ. 216It is harmless, apart from the wasted memory, for the sz parameter 217to be larger than necessary. 218The pMem argument must be either a NULL pointer or a pointer to an 2198-byte aligned block of memory of at least sz*N bytes, otherwise subsequent 220behavior is undefined. 221When pMem is not NULL, SQLite will strive to use the memory provided 222to satisfy page cache needs, falling back to 223.Fn sqlite3_malloc 224if a page cache line is larger than sz bytes or if all of the pMem 225buffer is exhausted. 226If pMem is NULL and N is non-zero, then each database connection does 227an initial bulk allocation for page cache memory from 228.Fn sqlite3_malloc 229sufficient for N cache lines if N is positive or of -1024*N bytes if 230N is negative, . 231If additional page cache memory is needed beyond what is provided by 232the initial allocation, then SQLite goes to 233.Fn sqlite3_malloc 234separately for each additional cache line. 235.It SQLITE_CONFIG_HEAP 236The SQLITE_CONFIG_HEAP option specifies a static memory buffer that 237SQLite will use for all of its dynamic memory allocation needs beyond 238those provided for by SQLITE_CONFIG_PAGECACHE. 239The SQLITE_CONFIG_HEAP option is only available if SQLite is compiled 240with either SQLITE_ENABLE_MEMSYS3 or SQLITE_ENABLE_MEMSYS5 241and returns SQLITE_ERROR if invoked otherwise. 242There are three arguments to SQLITE_CONFIG_HEAP: An 8-byte aligned 243pointer to the memory, the number of bytes in the memory buffer, and 244the minimum allocation size. 245If the first pointer (the memory pointer) is NULL, then SQLite reverts 246to using its default memory allocator (the system malloc() implementation), 247undoing any prior invocation of SQLITE_CONFIG_MALLOC. 248If the memory pointer is not NULL then the alternative memory allocator 249is engaged to handle all of SQLites memory allocation needs. 250The first pointer (the memory pointer) must be aligned to an 8-byte 251boundary or subsequent behavior of SQLite will be undefined. 252The minimum allocation size is capped at 2**12. 253Reasonable values for the minimum allocation size are 2**5 through 2542**8. 255.It SQLITE_CONFIG_MUTEX 256The SQLITE_CONFIG_MUTEX option takes a single argument which is a pointer 257to an instance of the sqlite3_mutex_methods structure. 258The argument specifies alternative low-level mutex routines to be used 259in place the mutex routines built into SQLite. 260SQLite makes a copy of the content of the sqlite3_mutex_methods 261structure before the call to 262.Fn sqlite3_config 263returns. 264If SQLite is compiled with the SQLITE_THREADSAFE=0 265compile-time option then the entire mutexing subsystem is omitted from 266the build and hence calls to 267.Fn sqlite3_config 268with the SQLITE_CONFIG_MUTEX configuration option will return SQLITE_ERROR. 269.It SQLITE_CONFIG_GETMUTEX 270The SQLITE_CONFIG_GETMUTEX option takes a single argument which is 271a pointer to an instance of the sqlite3_mutex_methods 272structure. 273The sqlite3_mutex_methods structure is filled 274with the currently defined mutex routines. 275This option can be used to overload the default mutex allocation routines 276with a wrapper used to track mutex usage for performance profiling 277or testing, for example. 278If SQLite is compiled with the SQLITE_THREADSAFE=0 279compile-time option then the entire mutexing subsystem is omitted from 280the build and hence calls to 281.Fn sqlite3_config 282with the SQLITE_CONFIG_GETMUTEX configuration option will return SQLITE_ERROR. 283.It SQLITE_CONFIG_LOOKASIDE 284The SQLITE_CONFIG_LOOKASIDE option takes two arguments that determine 285the default size of lookaside memory on each database connection. 286The first argument is the size of each lookaside buffer slot and the 287second is the number of slots allocated to each database connection. 288SQLITE_CONFIG_LOOKASIDE sets the \fIdefault\fP lookaside size. 289The SQLITE_DBCONFIG_LOOKASIDE option to 290.Fn sqlite3_db_config 291can be used to change the lookaside configuration on individual connections. 292.It SQLITE_CONFIG_PCACHE2 293The SQLITE_CONFIG_PCACHE2 option takes a single argument which is a 294pointer to an sqlite3_pcache_methods2 object. 295This object specifies the interface to a custom page cache implementation. 296SQLite makes a copy of the sqlite3_pcache_methods2 297object. 298.It SQLITE_CONFIG_GETPCACHE2 299The SQLITE_CONFIG_GETPCACHE2 option takes a single argument which is 300a pointer to an sqlite3_pcache_methods2 object. 301SQLite copies of the current page cache implementation into that object. 302.It SQLITE_CONFIG_LOG 303The SQLITE_CONFIG_LOG option is used to configure the SQLite global 304error log. 305(The SQLITE_CONFIG_LOG option takes two arguments: a pointer to a function 306with a call signature of void(*)(void*,int,const char*), and a pointer 307to void. 308If the function pointer is not NULL, it is invoked by 309.Fn sqlite3_log 310to process each logging event. 311If the function pointer is NULL, the 312.Fn sqlite3_log 313interface becomes a no-op. 314The void pointer that is the second argument to SQLITE_CONFIG_LOG is 315passed through as the first parameter to the application-defined logger 316function whenever that function is invoked. 317The second parameter to the logger function is a copy of the first 318parameter to the corresponding 319.Fn sqlite3_log 320call and is intended to be a result code or an extended result code. 321The third parameter passed to the logger is log message after formatting 322via 323.Fn sqlite3_snprintf . 324The SQLite logging interface is not reentrant; the logger function 325supplied by the application must not invoke any SQLite interface. 326In a multi-threaded application, the application-defined logger function 327must be threadsafe. 328.It SQLITE_CONFIG_URI 329The SQLITE_CONFIG_URI option takes a single argument of type int. 330If non-zero, then URI handling is globally enabled. 331If the parameter is zero, then URI handling is globally disabled. 332If URI handling is globally enabled, all filenames passed to 333.Fn sqlite3_open , 334.Fn sqlite3_open_v2 , 335.Fn sqlite3_open16 336or specified as part of ATTACH commands are interpreted as URIs, 337regardless of whether or not the SQLITE_OPEN_URI flag 338is set when the database connection is opened. 339If it is globally disabled, filenames are only interpreted as URIs 340if the SQLITE_OPEN_URI flag is set when the database connection is 341opened. 342By default, URI handling is globally disabled. 343The default value may be changed by compiling with the SQLITE_USE_URI 344symbol defined. 345.It SQLITE_CONFIG_COVERING_INDEX_SCAN 346The SQLITE_CONFIG_COVERING_INDEX_SCAN option takes a single integer 347argument which is interpreted as a boolean in order to enable or disable 348the use of covering indices for full table scans in the query optimizer. 349The default setting is determined by the SQLITE_ALLOW_COVERING_INDEX_SCAN 350compile-time option, or is "on" if that compile-time option is omitted. 351The ability to disable the use of covering indices for full table scans 352is because some incorrectly coded legacy applications might malfunction 353when the optimization is enabled. 354Providing the ability to disable the optimization allows the older, 355buggy application code to work without change even with newer versions 356of SQLite. 357.It SQLITE_CONFIG_PCACHE and SQLITE_CONFIG_GETPCACHE 358These options are obsolete and should not be used by new code. 359They are retained for backwards compatibility but are now no-ops. 360.It SQLITE_CONFIG_SQLLOG 361This option is only available if sqlite is compiled with the SQLITE_ENABLE_SQLLOG 362pre-processor macro defined. 363The first argument should be a pointer to a function of type void(*)(void*,sqlite3*,const 364char*, int). 365The second should be of type (void*). 366The callback is invoked by the library in three separate circumstances, 367identified by the value passed as the fourth parameter. 368If the fourth parameter is 0, then the database connection passed as 369the second argument has just been opened. 370The third argument points to a buffer containing the name of the main 371database file. 372If the fourth parameter is 1, then the SQL statement that the third 373parameter points to has just been executed. 374Or, if the fourth parameter is 2, then the connection being passed 375as the second parameter is being closed. 376The third parameter is passed NULL In this case. 377An example of using this configuration option can be seen in the "test_sqllog.c" 378source file in the canonical SQLite source tree. 379.It SQLITE_CONFIG_MMAP_SIZE 380SQLITE_CONFIG_MMAP_SIZE takes two 64-bit integer (sqlite3_int64) values 381that are the default mmap size limit (the default setting for PRAGMA mmap_size) 382and the maximum allowed mmap size limit. 383The default setting can be overridden by each database connection using 384either the PRAGMA mmap_size command, or by using the 385SQLITE_FCNTL_MMAP_SIZE file control. 386The maximum allowed mmap size will be silently truncated if necessary 387so that it does not exceed the compile-time maximum mmap size set by 388the SQLITE_MAX_MMAP_SIZE compile-time option. 389If either argument to this option is negative, then that argument is 390changed to its compile-time default. 391.It SQLITE_CONFIG_WIN32_HEAPSIZE 392The SQLITE_CONFIG_WIN32_HEAPSIZE option is only available if SQLite 393is compiled for Windows with the SQLITE_WIN32_MALLOC 394pre-processor macro defined. 395SQLITE_CONFIG_WIN32_HEAPSIZE takes a 32-bit unsigned integer value 396that specifies the maximum size of the created heap. 397.It SQLITE_CONFIG_PCACHE_HDRSZ 398The SQLITE_CONFIG_PCACHE_HDRSZ option takes a single parameter which 399is a pointer to an integer and writes into that integer the number 400of extra bytes per page required for each page in SQLITE_CONFIG_PAGECACHE. 401The amount of extra space required can change depending on the compiler, 402target platform, and SQLite version. 403.It SQLITE_CONFIG_PMASZ 404The SQLITE_CONFIG_PMASZ option takes a single parameter which is an 405unsigned integer and sets the "Minimum PMA Size" for the multithreaded 406sorter to that integer. 407The default minimum PMA Size is set by the SQLITE_SORTER_PMASZ 408compile-time option. 409New threads are launched to help with sort operations when multithreaded 410sorting is enabled (using the PRAGMA threads command) 411and the amount of content to be sorted exceeds the page size times 412the minimum of the PRAGMA cache_size setting and this 413value. 414.It SQLITE_CONFIG_STMTJRNL_SPILL 415The SQLITE_CONFIG_STMTJRNL_SPILL option takes a single parameter which 416becomes the statement journal spill-to-disk threshold. 417Statement journals are held in memory until their 418size (in bytes) exceeds this threshold, at which point they are written 419to disk. 420Or if the threshold is -1, statement journals are always held exclusively 421in memory. 422Since many statement journals never become large, setting the spill 423threshold to a value such as 64KiB can greatly reduce the amount of 424I/O required to support statement rollback. 425The default value for this setting is controlled by the SQLITE_STMTJRNL_SPILL 426compile-time option. 427.It SQLITE_CONFIG_SORTERREF_SIZE 428The SQLITE_CONFIG_SORTERREF_SIZE option accepts a single parameter 429of type (int) - the new value of the sorter-reference size threshold. 430Usually, when SQLite uses an external sort to order records according 431to an ORDER BY clause, all fields required by the caller are present 432in the sorted records. 433However, if SQLite determines based on the declared type of a table 434column that its values are likely to be very large - larger than the 435configured sorter-reference size threshold - then a reference is stored 436in each sorted record and the required column values loaded from the 437database as records are returned in sorted order. 438The default value for this option is to never use this optimization. 439Specifying a negative value for this option restores the default behavior. 440This option is only available if SQLite is compiled with the SQLITE_ENABLE_SORTER_REFERENCES 441compile-time option. 442.It SQLITE_CONFIG_MEMDB_MAXSIZE 443The SQLITE_CONFIG_MEMDB_MAXSIZE option accepts a single parameter sqlite3_int64 444parameter which is the default maximum size for an in-memory database 445created using 446.Fn sqlite3_deserialize . 447This default maximum size can be adjusted up or down for individual 448databases using the SQLITE_FCNTL_SIZE_LIMIT 449file-control. 450If this configuration setting is never used, then the default maximum 451is determined by the SQLITE_MEMDB_DEFAULT_MAXSIZE 452compile-time option. 453If that compile-time option is not set, then the default maximum is 4541073741824. 455.El 456.Pp 457.Sh IMPLEMENTATION NOTES 458These declarations were extracted from the 459interface documentation at line 1777. 460.Bd -literal 461#define SQLITE_CONFIG_SINGLETHREAD 1 /* nil */ 462#define SQLITE_CONFIG_MULTITHREAD 2 /* nil */ 463#define SQLITE_CONFIG_SERIALIZED 3 /* nil */ 464#define SQLITE_CONFIG_MALLOC 4 /* sqlite3_mem_methods* */ 465#define SQLITE_CONFIG_GETMALLOC 5 /* sqlite3_mem_methods* */ 466#define SQLITE_CONFIG_SCRATCH 6 /* No longer used */ 467#define SQLITE_CONFIG_PAGECACHE 7 /* void*, int sz, int N */ 468#define SQLITE_CONFIG_HEAP 8 /* void*, int nByte, int min */ 469#define SQLITE_CONFIG_MEMSTATUS 9 /* boolean */ 470#define SQLITE_CONFIG_MUTEX 10 /* sqlite3_mutex_methods* */ 471#define SQLITE_CONFIG_GETMUTEX 11 /* sqlite3_mutex_methods* */ 472/* previously SQLITE_CONFIG_CHUNKALLOC 12 which is now unused. */ 473#define SQLITE_CONFIG_LOOKASIDE 13 /* int int */ 474#define SQLITE_CONFIG_PCACHE 14 /* no-op */ 475#define SQLITE_CONFIG_GETPCACHE 15 /* no-op */ 476#define SQLITE_CONFIG_LOG 16 /* xFunc, void* */ 477#define SQLITE_CONFIG_URI 17 /* int */ 478#define SQLITE_CONFIG_PCACHE2 18 /* sqlite3_pcache_methods2* */ 479#define SQLITE_CONFIG_GETPCACHE2 19 /* sqlite3_pcache_methods2* */ 480#define SQLITE_CONFIG_COVERING_INDEX_SCAN 20 /* int */ 481#define SQLITE_CONFIG_SQLLOG 21 /* xSqllog, void* */ 482#define SQLITE_CONFIG_MMAP_SIZE 22 /* sqlite3_int64, sqlite3_int64 */ 483#define SQLITE_CONFIG_WIN32_HEAPSIZE 23 /* int nByte */ 484#define SQLITE_CONFIG_PCACHE_HDRSZ 24 /* int *psz */ 485#define SQLITE_CONFIG_PMASZ 25 /* unsigned int szPma */ 486#define SQLITE_CONFIG_STMTJRNL_SPILL 26 /* int nByte */ 487#define SQLITE_CONFIG_SMALL_MALLOC 27 /* boolean */ 488#define SQLITE_CONFIG_SORTERREF_SIZE 28 /* int nByte */ 489#define SQLITE_CONFIG_MEMDB_MAXSIZE 29 /* sqlite3_int64 */ 490.Ed 491.Sh SEE ALSO 492.Xr sqlite3 3 , 493.Xr sqlite3_config 3 , 494.Xr sqlite3_db_config 3 , 495.Xr sqlite3_deserialize 3 , 496.Xr sqlite3_file_control 3 , 497.Xr sqlite3_initialize 3 , 498.Xr sqlite3_log 3 , 499.Xr sqlite3_malloc 3 , 500.Xr sqlite3_mem_methods 3 , 501.Xr sqlite3_memory_used 3 , 502.Xr sqlite3_mprintf 3 , 503.Xr sqlite3_mutex_methods 3 , 504.Xr sqlite3_open 3 , 505.Xr sqlite3_pcache_methods2 3 , 506.Xr sqlite3_soft_heap_limit64 3 , 507.Xr sqlite3_status 3 , 508.Xr sqlite3_stmt 3 , 509.Xr SQLITE_DBCONFIG_MAINDBNAME 3 , 510.Xr SQLITE_FCNTL_LOCKSTATE 3 , 511.Xr sqlite_int64 3 , 512.Xr SQLITE_OK 3 , 513.Xr SQLITE_OPEN_READONLY 3 514