*** DRAFT ***

SQLite Requirement Matrix Details
c_config_covering_index_scan.html

Index Summary Markup Original


R-02748-19096-10502-39344-29556-06426-40271-21454 tcl slt th3 src

This option sets the threading mode to Single-thread.

src/main.c:445

/* IMP: R-02748-19096 */
# EVIDENCE-OF: R-02748-19096 This option sets the threading mode to
# Single-thread.

R-54466-46756-05959-55829-53224-11229-48614-30148 tcl slt th3 src

If SQLite is compiled with the SQLITE_THREADSAFE=0 compile-time option then it is not possible to change the threading mode from its default value of Single-thread and so sqlite3_config() will return SQLITE_ERROR if called with the SQLITE_CONFIG_SINGLETHREAD configuration option.

src/main.c:443

/* IMP: R-54466-46756 */
# EVIDENCE-OF: R-54466-46756 If SQLite is compiled with the
# SQLITE_THREADSAFE=0 compile-time option then it is not possible to
# change the threading mode from its default value of Single-thread and
# so sqlite3_config() will return SQLITE_ERROR if called with the
# SQLITE_CONFIG_SINGLETHREAD configuration option.

R-14374-42468-63596-09513-53214-31321-61248-26314 tcl slt th3 src

This option sets the threading mode to Multi-thread.

src/main.c:454

/* IMP: R-14374-42468 */
# EVIDENCE-OF: R-14374-42468 This option sets the threading mode to
# Multi-thread.

R-20520-54086-20387-28345-20691-46445-65238-30953 tcl slt th3 src

If SQLite is compiled with the SQLITE_THREADSAFE=0 compile-time option then it is not possible to set the Multi-thread threading mode and sqlite3_config() will return SQLITE_ERROR if called with the SQLITE_CONFIG_MULTITHREAD configuration option.

src/main.c:452

/* IMP: R-20520-54086 */
# EVIDENCE-OF: R-20520-54086 If SQLite is compiled with the
# SQLITE_THREADSAFE=0 compile-time option then it is not possible to set
# the Multi-thread threading mode and sqlite3_config() will return
# SQLITE_ERROR if called with the SQLITE_CONFIG_MULTITHREAD
# configuration option.

R-41220-51800-40113-04594-39111-44246-00162-60024 tcl slt th3 src

This option sets the threading mode to Serialized.

src/main.c:463

/* IMP: R-41220-51800 */
# EVIDENCE-OF: R-41220-51800 This option sets the threading mode to
# Serialized.

R-59593-21810-38757-57312-51798-28270-65217-02509 tcl slt th3 src

If SQLite is compiled with the SQLITE_THREADSAFE=0 compile-time option then it is not possible to set the Serialized threading mode and sqlite3_config() will return SQLITE_ERROR if called with the SQLITE_CONFIG_SERIALIZED configuration option.

src/main.c:461

/* IMP: R-59593-21810 */
# EVIDENCE-OF: R-59593-21810 If SQLite is compiled with the
# SQLITE_THREADSAFE=0 compile-time option then it is not possible to set
# the Serialized threading mode and sqlite3_config() will return
# SQLITE_ERROR if called with the SQLITE_CONFIG_SERIALIZED configuration
# option.

R-55594-21030-55644-51033-26913-03312-40389-27101 tcl slt th3 src

The SQLITE_CONFIG_MALLOC option takes a single argument which is a pointer to an instance of the sqlite3_mem_methods structure. The argument specifies alternative low-level memory allocation routines to be used in place of the memory allocation routines built into SQLite.

src/main.c:486   th3/th3oom.c:353

/* IMP: R-55594-21030 */
# EVIDENCE-OF: R-55594-21030 The SQLITE_CONFIG_MALLOC option takes a
# single argument which is a pointer to an instance of the
# sqlite3_mem_methods structure. The argument specifies alternative
# low-level memory allocation routines to be used in place of the memory
# allocation routines built into SQLite.

R-24625-56801-43002-50418-06223-19456-53547-53426 tcl slt th3 src

SQLite makes its own private copy of the content of the sqlite3_mem_methods structure before the sqlite3_config() call returns.

th3/th3oom.c:362

/* IMP: R-24625-56801 */
# EVIDENCE-OF: R-24625-56801 SQLite makes its own private copy of the
# content of the sqlite3_mem_methods structure before the
# sqlite3_config() call returns.

R-51213-46414-44836-21808-03706-65472-27222-00802 tcl slt th3 src

The SQLITE_CONFIG_GETMALLOC option takes a single argument which is a pointer to an instance of the sqlite3_mem_methods structure. The sqlite3_mem_methods structure is filled with the currently defined memory allocation routines.

src/main.c:495   th3/th3oom.c:342   th3/th3oom.c:367

/* IMP: R-51213-46414 */
# EVIDENCE-OF: R-51213-46414 The SQLITE_CONFIG_GETMALLOC option takes a
# single argument which is a pointer to an instance of the
# sqlite3_mem_methods structure. The sqlite3_mem_methods structure is
# filled with the currently defined memory allocation routines.

R-24982-11525-35857-44633-64462-64682-47144-54575 tcl slt th3 src

The SQLITE_CONFIG_SMALL_MALLOC option takes single argument of type int, interpreted as a boolean, which if true provides a hint to SQLite that it should avoid large memory allocations if possible.

/* IMP: R-24982-11525 */
# EVIDENCE-OF: R-24982-11525 The SQLITE_CONFIG_SMALL_MALLOC option takes
# single argument of type int, interpreted as a boolean, which if true
# provides a hint to SQLite that it should avoid large memory
# allocations if possible.

R-61275-35157-49893-43294-29165-05746-06508-08638 tcl slt th3 src

The SQLITE_CONFIG_MEMSTATUS option takes single argument of type int, interpreted as a boolean, which enables or disables the collection of memory allocation statistics.

src/main.c:504   th3/th3main.c:1097

/* IMP: R-61275-35157 */
# EVIDENCE-OF: R-61275-35157 The SQLITE_CONFIG_MEMSTATUS option takes
# single argument of type int, interpreted as a boolean, which enables
# or disables the collection of memory allocation statistics.

R-16560-34565-42127-15402-21393-00583-21014-04940 tcl slt th3 src

When memory allocation statistics are disabled, the following SQLite interfaces become non-operational:

/* IMP: R-16560-34565 */
# EVIDENCE-OF: R-16560-34565 When memory allocation statistics are
# disabled, the following SQLite interfaces become non-operational:
# sqlite3_hard_heap_limit64() sqlite3_memory_used()
# sqlite3_memory_highwater() sqlite3_soft_heap_limit64()
# sqlite3_status64()

R-25715-37072-58552-52856-29858-64366-26989-17165 tcl slt th3 src

Memory allocation statistics are enabled by default unless SQLite is compiled with SQLITE_DEFAULT_MEMSTATUS=0 in which case memory allocation statistics are disabled by default.

src/sqliteInt.h:347

/* IMP: R-25715-37072 */
# EVIDENCE-OF: R-25715-37072 Memory allocation statistics are enabled by
# default unless SQLite is compiled with SQLITE_DEFAULT_MEMSTATUS=0 in
# which case memory allocation statistics are disabled by default.

R-00896-24328-65526-17085-61980-08171-20681-33021 tcl slt th3 src

The SQLITE_CONFIG_PAGECACHE option specifies a memory pool that SQLite can use for the database page cache with the default page cache implementation.

th3/cov1/main42.test:47

/* IMP: R-00896-24328 */
# EVIDENCE-OF: R-00896-24328 The SQLITE_CONFIG_PAGECACHE option
# specifies a memory pool that SQLite can use for the database page
# cache with the default page cache implementation.

R-18761-36601-52477-41858-50422-48259-26249-60600 tcl slt th3 src

There are three arguments to SQLITE_CONFIG_PAGECACHE: A pointer to 8-byte aligned memory (pMem), the size of each page cache line (sz), and the number of cache lines (N).

src/main.c:515   th3/cov1/main42.test:51

/* IMP: R-18761-36601 */
# EVIDENCE-OF: R-18761-36601 There are three arguments to
# SQLITE_CONFIG_PAGECACHE: A pointer to 8-byte aligned memory (pMem),
# the size of each page cache line (sz), and the number of cache lines
# (N).

R-00442-36377-32354-02929-33916-13547-05175-00922 tcl slt th3 src

The number of extra bytes needed by the page header can be determined using SQLITE_CONFIG_PCACHE_HDRSZ.

th3/cov1/main42.test:34

/* IMP: R-00442-36377 */
# EVIDENCE-OF: R-00442-36377 The number of extra bytes needed by the
# page header can be determined using SQLITE_CONFIG_PCACHE_HDRSZ.

R-50503-22862-13388-40598-38770-05008-28550-22955 tcl slt th3 src

It is harmless, apart from the wasted memory, for the sz parameter to be larger than necessary.

th3/cov1/main42.test:136

/* IMP: R-50503-22862 */
# EVIDENCE-OF: R-50503-22862 It is harmless, apart from the wasted
# memory, for the sz parameter to be larger than necessary.

R-59103-42685-29407-49454-53607-22042-22472-58911 tcl slt th3 src

When pMem is not NULL, SQLite will strive to use the memory provided to satisfy page cache needs, falling back to sqlite3_malloc() if a page cache line is larger than sz bytes or if all of the pMem buffer is exhausted.

/* IMP: R-59103-42685 */
# EVIDENCE-OF: R-59103-42685 When pMem is not NULL, SQLite will strive
# to use the memory provided to satisfy page cache needs, falling back
# to sqlite3_malloc() if a page cache line is larger than sz bytes or if
# all of the pMem buffer is exhausted.

R-35105-34724-05666-13344-17136-11047-06163-46281 tcl slt th3 src

If pMem is NULL and N is non-zero, then each database connection does an initial bulk allocation for page cache memory from sqlite3_malloc() sufficient for N cache lines if N is positive or of -1024*N bytes if N is negative, .

/* IMP: R-35105-34724 */
# EVIDENCE-OF: R-35105-34724 If pMem is NULL and N is non-zero, then
# each database connection does an initial bulk allocation for page
# cache memory from sqlite3_malloc() sufficient for N cache lines if N
# is positive or of -1024*N bytes if N is negative, .

R-59294-22119-53141-34603-32613-50931-06947-25796 tcl slt th3 src

If additional page cache memory is needed beyond what is provided by the initial allocation, then SQLite goes to sqlite3_malloc() separately for each additional cache line.

th3/cov1/main42.test:129

/* IMP: R-59294-22119 */
# EVIDENCE-OF: R-59294-22119 If additional page cache memory is needed
# beyond what is provided by the initial allocation, then SQLite goes to
# sqlite3_malloc() separately for each additional cache line.

R-08966-11138-53751-32192-40537-45377-40964-32570 tcl slt th3 src

The SQLITE_CONFIG_HEAP option specifies a static memory buffer that SQLite will use for all of its dynamic memory allocation needs beyond those provided for by SQLITE_CONFIG_PAGECACHE.

th3/th3main.c:1036

/* IMP: R-08966-11138 */
# EVIDENCE-OF: R-08966-11138 The SQLITE_CONFIG_HEAP option specifies a
# static memory buffer that SQLite will use for all of its dynamic
# memory allocation needs beyond those provided for by
# SQLITE_CONFIG_PAGECACHE.

R-06626-12911-45896-07127-03501-58228-62690-15323 tcl slt th3 src

The SQLITE_CONFIG_HEAP option is only available if SQLite is compiled with either SQLITE_ENABLE_MEMSYS3 or SQLITE_ENABLE_MEMSYS5 and returns SQLITE_ERROR if invoked otherwise.

src/main.c:566   th3/th3oom.c:419

/* IMP: R-06626-12911 */
# EVIDENCE-OF: R-06626-12911 The SQLITE_CONFIG_HEAP option is only
# available if SQLite is compiled with either SQLITE_ENABLE_MEMSYS3 or
# SQLITE_ENABLE_MEMSYS5 and returns SQLITE_ERROR if invoked otherwise.

R-19854-42126-27972-10302-08269-22410-63996-33681 tcl slt th3 src

There are three arguments to SQLITE_CONFIG_HEAP: An 8-byte aligned pointer to the memory, the number of bytes in the memory buffer, and the minimum allocation size.

src/main.c:571   th3/th3main.c:1041   th3/th3main.c:1084

/* IMP: R-19854-42126 */
# EVIDENCE-OF: R-19854-42126 There are three arguments to
# SQLITE_CONFIG_HEAP: An 8-byte aligned pointer to the memory, the
# number of bytes in the memory buffer, and the minimum allocation size.

R-49920-60189-48669-35973-51094-40513-29191-34461 tcl slt th3 src

If the first pointer (the memory pointer) is NULL, then SQLite reverts to using its default memory allocator (the system malloc() implementation), undoing any prior invocation of SQLITE_CONFIG_MALLOC.

src/main.c:587   th3/th3oom.c:412

/* IMP: R-49920-60189 */
# EVIDENCE-OF: R-49920-60189 If the first pointer (the memory pointer)
# is NULL, then SQLite reverts to using its default memory allocator
# (the system malloc() implementation), undoing any prior invocation of
# SQLITE_CONFIG_MALLOC.

R-61006-08918-45261-48717-64220-57830-55931-08839 tcl slt th3 src

If the memory pointer is not NULL then the alternative memory allocator is engaged to handle all of SQLites memory allocation needs.

src/main.c:597

/* IMP: R-61006-08918 */
# EVIDENCE-OF: R-61006-08918 If the memory pointer is not NULL then the
# alternative memory allocator is engaged to handle all of SQLites
# memory allocation needs.

R-05050-19932-51228-07490-05961-18569-19924-51856 tcl slt th3 src

The SQLITE_CONFIG_MUTEX option takes a single argument which is a pointer to an instance of the sqlite3_mutex_methods structure. The argument specifies alternative low-level mutex routines to be used in place the mutex routines built into SQLite.

th3/th3main.c:981

/* IMP: R-05050-19932 */
# EVIDENCE-OF: R-05050-19932 The SQLITE_CONFIG_MUTEX option takes a
# single argument which is a pointer to an instance of the
# sqlite3_mutex_methods structure. The argument specifies alternative
# low-level mutex routines to be used in place the mutex routines built
# into SQLite.

R-49876-15090-54531-12360-51762-42464-27372-16242 tcl slt th3 src

SQLite makes a copy of the content of the sqlite3_mutex_methods structure before the call to sqlite3_config() returns.

th3/th3main.c:987

/* IMP: R-49876-15090 */
# EVIDENCE-OF: R-49876-15090 SQLite makes a copy of the content of the
# sqlite3_mutex_methods structure before the call to sqlite3_config()
# returns.

R-63666-48755-16443-16891-11864-30751-29625-02647 tcl slt th3 src

If SQLite is compiled with the SQLITE_THREADSAFE=0 compile-time option then the entire mutexing subsystem is omitted from the build and hence calls to sqlite3_config() with the SQLITE_CONFIG_MUTEX configuration option will return SQLITE_ERROR.

src/main.c:470   th3/th3main.c:1010

/* IMP: R-63666-48755 */
# EVIDENCE-OF: R-63666-48755 If SQLite is compiled with the
# SQLITE_THREADSAFE=0 compile-time option then the entire mutexing
# subsystem is omitted from the build and hence calls to
# sqlite3_config() with the SQLITE_CONFIG_MUTEX configuration option
# will return SQLITE_ERROR.

R-51136-58806-61234-62019-55007-59360-42389-06217 tcl slt th3 src

The SQLITE_CONFIG_GETMUTEX option takes a single argument which is a pointer to an instance of the sqlite3_mutex_methods structure. The sqlite3_mutex_methods structure is filled with the currently defined mutex routines.

th3/th3main.c:1000

/* IMP: R-51136-58806 */
# EVIDENCE-OF: R-51136-58806 The SQLITE_CONFIG_GETMUTEX option takes a
# single argument which is a pointer to an instance of the
# sqlite3_mutex_methods structure. The sqlite3_mutex_methods structure
# is filled with the currently defined mutex routines.

R-14450-37597-62750-52193-20411-23547-30776-32199 tcl slt th3 src

If SQLite is compiled with the SQLITE_THREADSAFE=0 compile-time option then the entire mutexing subsystem is omitted from the build and hence calls to sqlite3_config() with the SQLITE_CONFIG_GETMUTEX configuration option will return SQLITE_ERROR.

src/main.c:477   th3/th3main.c:1017

/* IMP: R-14450-37597 */
# EVIDENCE-OF: R-14450-37597 If SQLite is compiled with the
# SQLITE_THREADSAFE=0 compile-time option then the entire mutexing
# subsystem is omitted from the build and hence calls to
# sqlite3_config() with the SQLITE_CONFIG_GETMUTEX configuration option
# will return SQLITE_ERROR.

R-03669-30599-21217-06896-17769-44438-31618-26741 tcl slt th3 src

The SQLITE_CONFIG_LOOKASIDE option takes two arguments that determine the default size of lookaside memory on each database connection. The first argument is the size of each lookaside buffer slot and the second is the number of slots allocated to each database connection.

th3/th3main.c:1054

/* IMP: R-03669-30599 */
# EVIDENCE-OF: R-03669-30599 The SQLITE_CONFIG_LOOKASIDE option takes
# two arguments that determine the default size of lookaside memory on
# each database connection. The first argument is the size of each
# lookaside buffer slot and the second is the number of slots allocated
# to each database connection.

R-16423-47210-04827-18220-00892-21798-11379-58569 tcl slt th3 src

SQLITE_CONFIG_LOOKASIDE sets the default lookaside size. The SQLITE_DBCONFIG_LOOKASIDE option to sqlite3_db_config() can be used to change the lookaside configuration on individual connections.

/* IMP: R-16423-47210 */
# EVIDENCE-OF: R-16423-47210 SQLITE_CONFIG_LOOKASIDE sets the default
# lookaside size. The SQLITE_DBCONFIG_LOOKASIDE option to
# sqlite3_db_config() can be used to change the lookaside configuration
# on individual connections.

R-63325-48378-49771-42071-13733-04560-14136-48632 tcl slt th3 src

The SQLITE_CONFIG_PCACHE2 option takes a single argument which is a pointer to an sqlite3_pcache_methods2 object. This object specifies the interface to a custom page cache implementation.

src/main.c:547   th3/th3pcache.c:617

/* IMP: R-63325-48378 */
# EVIDENCE-OF: R-63325-48378 The SQLITE_CONFIG_PCACHE2 option takes a
# single argument which is a pointer to an sqlite3_pcache_methods2
# object. This object specifies the interface to a custom page cache
# implementation.

R-40373-33294-50231-39382-53294-24447-44855-24711 tcl slt th3 src

SQLite makes a copy of the sqlite3_pcache_methods2 object.

th3/th3pcache.c:628

/* IMP: R-40373-33294 */
# EVIDENCE-OF: R-40373-33294 SQLite makes a copy of the
# sqlite3_pcache_methods2 object.

R-22035-46182-36006-24131-28314-61788-09848-09790 tcl slt th3 src

The SQLITE_CONFIG_GETPCACHE2 option takes a single argument which is a pointer to an sqlite3_pcache_methods2 object. SQLite copies of the current page cache implementation into that object.

src/main.c:555   th3/th3pcache.c:623

/* IMP: R-22035-46182 */
# EVIDENCE-OF: R-22035-46182 The SQLITE_CONFIG_GETPCACHE2 option takes a
# single argument which is a pointer to an sqlite3_pcache_methods2
# object. SQLite copies of the current page cache implementation into
# that object.

R-37795-21752-00915-21672-38602-04515-27824-24579 tcl slt th3 src

The SQLITE_CONFIG_LOG option takes two arguments: a pointer to a function with a call signature of void(*)(void*,int,const char*), and a pointer to void.

th3/cov1/log01.test:55   th3/th3main.c:952

/* IMP: R-37795-21752 */
# EVIDENCE-OF: R-37795-21752 The SQLITE_CONFIG_LOG option takes two
# arguments: a pointer to a function with a call signature of
# void(*)(void*,int,const char*), and a pointer to void.

R-61189-52809-58613-48789-49594-50841-42659-38002 tcl slt th3 src

If the function pointer is not NULL, it is invoked by sqlite3_log() to process each logging event.

th3/cov1/log01.test:59

/* IMP: R-61189-52809 */
# EVIDENCE-OF: R-61189-52809 If the function pointer is not NULL, it is
# invoked by sqlite3_log() to process each logging event.

R-14213-41276-38760-54552-34093-20752-64281-40652 tcl slt th3 src

If the function pointer is NULL, the sqlite3_log() interface becomes a no-op.

th3/cov1/log01.test:71

/* IMP: R-14213-41276 */
# EVIDENCE-OF: R-14213-41276 If the function pointer is NULL, the
# sqlite3_log() interface becomes a no-op.

R-42990-60904-19508-54128-30417-12976-04052-35475 tcl slt th3 src

The void pointer that is the second argument to SQLITE_CONFIG_LOG is passed through as the first parameter to the application-defined logger function whenever that function is invoked.

th3/cov1/log01.test:30

/* IMP: R-42990-60904 */
# EVIDENCE-OF: R-42990-60904 The void pointer that is the second
# argument to SQLITE_CONFIG_LOG is passed through as the first parameter
# to the application-defined logger function whenever that function is
# invoked.

R-15331-08345-58118-19144-46490-41902-30698-42442 tcl slt th3 src

The second parameter to the logger function is a copy of the first parameter to the corresponding sqlite3_log() call and is intended to be a result code or an extended result code.

th3/cov1/log01.test:36

/* IMP: R-15331-08345 */
# EVIDENCE-OF: R-15331-08345 The second parameter to the logger function
# is a copy of the first parameter to the corresponding sqlite3_log()
# call and is intended to be a result code or an extended result code.

R-18658-48735-17951-17191-40214-20850-63941-45114 tcl slt th3 src

The third parameter passed to the logger is log message after formatting via sqlite3_snprintf().

th3/cov1/log01.test:40

/* IMP: R-18658-48735 */
# EVIDENCE-OF: R-18658-48735 The third parameter passed to the logger is
# log message after formatting via sqlite3_snprintf().

R-25451-61125-57795-23914-51441-34414-44666-54346 tcl slt th3 src

The SQLITE_CONFIG_URI option takes a single argument of type int. If non-zero, then URI handling is globally enabled. If the parameter is zero, then URI handling is globally disabled.

src/main.c:638

/* IMP: R-25451-61125 */
# EVIDENCE-OF: R-25451-61125 The SQLITE_CONFIG_URI option takes a single
# argument of type int. If non-zero, then URI handling is globally
# enabled. If the parameter is zero, then URI handling is globally
# disabled.

R-51689-46548-01385-34358-38620-06240-42232-09514 tcl slt th3 src

If URI handling is globally enabled, all filenames passed to sqlite3_open(), sqlite3_open_v2(), sqlite3_open16() or specified as part of ATTACH commands are interpreted as URIs, regardless of whether or not the SQLITE_OPEN_URI flag is set when the database connection is opened.

src/main.c:2943

/* IMP: R-51689-46548 */
# EVIDENCE-OF: R-51689-46548 If URI handling is globally enabled, all
# filenames passed to sqlite3_open(), sqlite3_open_v2(),
# sqlite3_open16() or specified as part of ATTACH commands are
# interpreted as URIs, regardless of whether or not the SQLITE_OPEN_URI
# flag is set when the database connection is opened.

R-48725-32206-13295-21825-58953-47648-55693-43130 tcl slt th3 src

If it is globally disabled, filenames are only interpreted as URIs if the SQLITE_OPEN_URI flag is set when the database connection is opened.

src/main.c:2942

/* IMP: R-48725-32206 */
# EVIDENCE-OF: R-48725-32206 If it is globally disabled, filenames are
# only interpreted as URIs if the SQLITE_OPEN_URI flag is set when the
# database connection is opened.

R-43642-56306-35814-07631-25075-47179-35702-00473 tcl slt th3 src

By default, URI handling is globally disabled. The default value may be changed by compiling with the SQLITE_USE_URI symbol defined.

src/global.c:163

/* IMP: R-43642-56306 */
# EVIDENCE-OF: R-43642-56306 By default, URI handling is globally
# disabled. The default value may be changed by compiling with the
# SQLITE_USE_URI symbol defined.

R-36592-02772-49597-21134-35176-13314-34028-16274 tcl slt th3 src

The SQLITE_CONFIG_COVERING_INDEX_SCAN option takes a single integer argument which is interpreted as a boolean in order to enable or disable the use of covering indices for full table scans in the query optimizer.

src/main.c:647

/* IMP: R-36592-02772 */
# EVIDENCE-OF: R-36592-02772 The SQLITE_CONFIG_COVERING_INDEX_SCAN
# option takes a single integer argument which is interpreted as a
# boolean in order to enable or disable the use of covering indices for
# full table scans in the query optimizer.

R-38720-18127-00182-16789-56682-25353-36594-39383 tcl slt th3 src

The default setting is determined by the SQLITE_ALLOW_COVERING_INDEX_SCAN compile-time option, or is "on" if that compile-time option is omitted.

src/global.c:171

/* IMP: R-38720-18127 */
# EVIDENCE-OF: R-38720-18127 The default setting is determined by the
# SQLITE_ALLOW_COVERING_INDEX_SCAN compile-time option, or is "on" if
# that compile-time option is omitted.

R-58063-38258-54804-43004-10220-55460-06574-61060 tcl slt th3 src

SQLITE_CONFIG_MMAP_SIZE takes two 64-bit integer (sqlite3_int64) values that are the default mmap size limit (the default setting for PRAGMA mmap_size) and the maximum allowed mmap size limit.

src/main.c:665   th3/th3main.c:944

/* IMP: R-58063-38258 */
# EVIDENCE-OF: R-58063-38258 SQLITE_CONFIG_MMAP_SIZE takes two 64-bit
# integer (sqlite3_int64) values that are the default mmap size limit
# (the default setting for PRAGMA mmap_size) and the maximum allowed
# mmap size limit.

R-45910-50363-25944-16530-55356-15445-20890-14687 tcl slt th3 src

The default setting can be overridden by each database connection using either the PRAGMA mmap_size command, or by using the SQLITE_FCNTL_MMAP_SIZE file control.

/* IMP: R-45910-50363 */
# EVIDENCE-OF: R-45910-50363 The default setting can be overridden by
# each database connection using either the PRAGMA mmap_size command, or
# by using the SQLITE_FCNTL_MMAP_SIZE file control.

R-34993-45031-36632-60048-51944-50307-62063-53207 tcl slt th3 src

The maximum allowed mmap size will be silently truncated if necessary so that it does not exceed the compile-time maximum mmap size set by the SQLITE_MAX_MMAP_SIZE compile-time option.

src/main.c:674

/* IMP: R-34993-45031 */
# EVIDENCE-OF: R-34993-45031 The maximum allowed mmap size will be
# silently truncated if necessary so that it does not exceed the
# compile-time maximum mmap size set by the SQLITE_MAX_MMAP_SIZE
# compile-time option.

R-53367-43190-16013-34482-35638-20487-30911-18864 tcl slt th3 src

If either argument to this option is negative, then that argument is changed to its compile-time default.

src/main.c:671

/* IMP: R-53367-43190 */
# EVIDENCE-OF: R-53367-43190 If either argument to this option is
# negative, then that argument is changed to its compile-time default.

R-04780-55815-53305-18116-10339-17181-34629-39653 tcl slt th3 src

The SQLITE_CONFIG_WIN32_HEAPSIZE option is only available if SQLite is compiled for Windows with the SQLITE_WIN32_MALLOC pre-processor macro defined.

src/main.c:689

/* IMP: R-04780-55815 */
# EVIDENCE-OF: R-04780-55815 The SQLITE_CONFIG_WIN32_HEAPSIZE option is
# only available if SQLite is compiled for Windows with the
# SQLITE_WIN32_MALLOC pre-processor macro defined.

R-34926-03360-27843-47752-48355-13649-05844-37285 tcl slt th3 src

SQLITE_CONFIG_WIN32_HEAPSIZE takes a 32-bit unsigned integer value that specifies the maximum size of the created heap.

src/main.c:691

/* IMP: R-34926-03360 */
# EVIDENCE-OF: R-34926-03360 SQLITE_CONFIG_WIN32_HEAPSIZE takes a 32-bit
# unsigned integer value that specifies the maximum size of the created
# heap.

R-39100-27317-10483-05917-57976-22690-13501-50723 tcl slt th3 src

The SQLITE_CONFIG_PCACHE_HDRSZ option takes a single parameter which is a pointer to an integer and writes into that integer the number of extra bytes per page required for each page in SQLITE_CONFIG_PAGECACHE.

src/main.c:525   th3/cov1/main42.test:29

/* IMP: R-39100-27317 */
# EVIDENCE-OF: R-39100-27317 The SQLITE_CONFIG_PCACHE_HDRSZ option takes
# a single parameter which is a pointer to an integer and writes into
# that integer the number of extra bytes per page required for each page
# in SQLITE_CONFIG_PAGECACHE.

R-02136-28803-61484-06431-31373-63795-12521-56561 tcl slt th3 src

The SQLITE_CONFIG_PMASZ option takes a single parameter which is an unsigned integer and sets the "Minimum PMA Size" for the multithreaded sorter to that integer.

/* IMP: R-02136-28803 */
# EVIDENCE-OF: R-02136-28803 The SQLITE_CONFIG_PMASZ option takes a
# single parameter which is an unsigned integer and sets the "Minimum
# PMA Size" for the multithreaded sorter to that integer.

R-61413-50265-52071-27114-12254-11492-58681-53001 tcl slt th3 src

The SQLITE_CONFIG_STMTJRNL_SPILL option takes a single parameter which becomes the statement journal spill-to-disk threshold.

/* IMP: R-61413-50265 */
# EVIDENCE-OF: R-61413-50265 The SQLITE_CONFIG_STMTJRNL_SPILL option
# takes a single parameter which becomes the statement journal
# spill-to-disk threshold.