diff options
Diffstat (limited to 'ext/sqlite3/libsqlite')
| -rw-r--r-- | ext/sqlite3/libsqlite/sqlite3.h | 1184 | ||||
| -rw-r--r-- | ext/sqlite3/libsqlite/sqlite3ext.h | 6 | 
2 files changed, 595 insertions, 595 deletions
diff --git a/ext/sqlite3/libsqlite/sqlite3.h b/ext/sqlite3/libsqlite/sqlite3.h index 5f28e036b3..fa98be65fe 100644 --- a/ext/sqlite3/libsqlite/sqlite3.h +++ b/ext/sqlite3/libsqlite/sqlite3.h @@ -108,7 +108,7 @@ extern "C" {  ** be held constant and Z will be incremented or else Y will be incremented  ** and Z will be reset to zero.  ** -** Since [version 3.6.18] ([dateof:3.6.18]),  +** Since [version 3.6.18] ([dateof:3.6.18]),  ** SQLite source code has been stored in the  ** <a href="http://www.fossil-scm.org/">Fossil configuration management  ** system</a>.  ^The SQLITE_SOURCE_ID macro evaluates to @@ -151,8 +151,8 @@ extern "C" {  ** function is provided for use in DLLs since DLL users usually do not have  ** direct access to string constants within the DLL.  ^The  ** sqlite3_libversion_number() function returns an integer equal to -** [SQLITE_VERSION_NUMBER].  ^(The sqlite3_sourceid() function returns  -** a pointer to a string constant whose value is the same as the  +** [SQLITE_VERSION_NUMBER].  ^(The sqlite3_sourceid() function returns +** a pointer to a string constant whose value is the same as the  ** [SQLITE_SOURCE_ID] C preprocessor macro.  Except if SQLite is built  ** using an edited copy of [the amalgamation], then the last four characters  ** of the hash might be different from [SQLITE_SOURCE_ID].)^ @@ -167,20 +167,20 @@ SQLITE_API int sqlite3_libversion_number(void);  /*  ** CAPI3REF: Run-Time Library Compilation Options Diagnostics  ** -** ^The sqlite3_compileoption_used() function returns 0 or 1  -** indicating whether the specified option was defined at  -** compile time.  ^The SQLITE_ prefix may be omitted from the  -** option name passed to sqlite3_compileoption_used().   +** ^The sqlite3_compileoption_used() function returns 0 or 1 +** indicating whether the specified option was defined at +** compile time.  ^The SQLITE_ prefix may be omitted from the +** option name passed to sqlite3_compileoption_used().  **  ** ^The sqlite3_compileoption_get() function allows iterating  ** over the list of options that were defined at compile time by  ** returning the N-th compile time option string.  ^If N is out of range, -** sqlite3_compileoption_get() returns a NULL pointer.  ^The SQLITE_  -** prefix is omitted from any strings returned by  +** sqlite3_compileoption_get() returns a NULL pointer.  ^The SQLITE_ +** prefix is omitted from any strings returned by  ** sqlite3_compileoption_get().  **  ** ^Support for the diagnostic functions sqlite3_compileoption_used() -** and sqlite3_compileoption_get() may be omitted by specifying the  +** and sqlite3_compileoption_get() may be omitted by specifying the  ** [SQLITE_OMIT_COMPILEOPTION_DIAGS] option at compile time.  **  ** See also: SQL functions [sqlite_compileoption_used()] and @@ -201,7 +201,7 @@ SQLITE_API const char *sqlite3_compileoption_get(int N);  ** SQLite can be compiled with or without mutexes.  When  ** the [SQLITE_THREADSAFE] C preprocessor macro is 1 or 2, mutexes  ** are enabled and SQLite is threadsafe.  When the -** [SQLITE_THREADSAFE] macro is 0,  +** [SQLITE_THREADSAFE] macro is 0,  ** the mutexes are omitted.  Without the mutexes, it is not safe  ** to use SQLite concurrently from more than one thread.  ** @@ -258,14 +258,14 @@ typedef struct sqlite3 sqlite3;  **  ** ^The sqlite3_int64 and sqlite_int64 types can store integer values  ** between -9223372036854775808 and +9223372036854775807 inclusive.  ^The -** sqlite3_uint64 and sqlite_uint64 types can store integer values  +** sqlite3_uint64 and sqlite_uint64 types can store integer values  ** between 0 and +18446744073709551615 inclusive.  */  #ifdef SQLITE_INT64_TYPE    typedef SQLITE_INT64_TYPE sqlite_int64;  # ifdef SQLITE_UINT64_TYPE      typedef SQLITE_UINT64_TYPE sqlite_uint64; -# else   +# else      typedef unsigned SQLITE_INT64_TYPE sqlite_uint64;  # endif  #elif defined(_MSC_VER) || defined(__BORLANDC__) @@ -308,7 +308,7 @@ typedef sqlite_uint64 sqlite3_uint64;  ** destructors are called is arbitrary.  **  ** Applications should [sqlite3_finalize | finalize] all [prepared statements], -** [sqlite3_blob_close | close] all [BLOB handles], and  +** [sqlite3_blob_close | close] all [BLOB handles], and  ** [sqlite3_backup_finish | finish] all [sqlite3_backup] objects associated  ** with the [sqlite3] object prior to attempting to close the object.  ^If  ** sqlite3_close_v2() is called on a [database connection] that still has @@ -345,7 +345,7 @@ typedef int (*sqlite3_callback)(void*,int,char**, char**);  ** The sqlite3_exec() interface is a convenience wrapper around  ** [sqlite3_prepare_v2()], [sqlite3_step()], and [sqlite3_finalize()],  ** that allows an application to run multiple statements of SQL -** without having to use a lot of C code.  +** without having to use a lot of C code.  **  ** ^The sqlite3_exec() interface runs zero or more UTF-8 encoded,  ** semicolon-separate SQL statements passed into its 2nd argument, @@ -385,7 +385,7 @@ typedef int (*sqlite3_callback)(void*,int,char**, char**);  ** from [sqlite3_column_name()].  **  ** ^If the 2nd parameter to sqlite3_exec() is a NULL pointer, a pointer -** to an empty string, or a pointer that contains only whitespace and/or  +** to an empty string, or a pointer that contains only whitespace and/or  ** SQL comments, then no SQL statements are evaluated and the database  ** is not changed.  ** @@ -655,7 +655,7 @@ SQLITE_API int sqlite3_exec(  /*  ** CAPI3REF: OS Interface Open File Handle  ** -** An [sqlite3_file] object represents an open file in the  +** An [sqlite3_file] object represents an open file in the  ** [sqlite3_vfs | OS interface layer].  Individual OS interface  ** implementations will  ** want to subclass this object by appending additional fields @@ -677,7 +677,7 @@ struct sqlite3_file {  ** This object defines the methods used to perform various operations  ** against the open file represented by the [sqlite3_file] object.  ** -** If the [sqlite3_vfs.xOpen] method sets the sqlite3_file.pMethods element  +** If the [sqlite3_vfs.xOpen] method sets the sqlite3_file.pMethods element  ** to a non-NULL pointer, then the sqlite3_io_methods.xClose method  ** may be invoked even if the [sqlite3_vfs.xOpen] reported that it failed.  The  ** only way to prevent a call to xClose following a failed [sqlite3_vfs.xOpen] @@ -818,7 +818,7 @@ struct sqlite3_io_methods {  ** <li>[[SQLITE_FCNTL_CHUNK_SIZE]]  ** The [SQLITE_FCNTL_CHUNK_SIZE] opcode is used to request that the VFS  ** extends and truncates the database file in chunks of a size specified -** by the user. The fourth argument to [sqlite3_file_control()] should  +** by the user. The fourth argument to [sqlite3_file_control()] should  ** point to an integer (type int) containing the new chunk-size to use  ** for the nominated database. Allocating database file space in large  ** chunks (say 1MB at a time), may reduce file-system fragmentation and @@ -841,24 +841,24 @@ struct sqlite3_io_methods {  ** <li>[[SQLITE_FCNTL_SYNC]]  ** The [SQLITE_FCNTL_SYNC] opcode is generated internally by SQLite and  ** sent to the VFS immediately before the xSync method is invoked on a -** database file descriptor. Or, if the xSync method is not invoked  -** because the user has configured SQLite with  -** [PRAGMA synchronous | PRAGMA synchronous=OFF] it is invoked in place  +** database file descriptor. Or, if the xSync method is not invoked +** because the user has configured SQLite with +** [PRAGMA synchronous | PRAGMA synchronous=OFF] it is invoked in place  ** of the xSync method. In most cases, the pointer argument passed with  ** this file-control is NULL. However, if the database file is being synced  ** as part of a multi-database commit, the argument points to a nul-terminated -** string containing the transactions master-journal file name. VFSes that  -** do not need this signal should silently ignore this opcode. Applications  -** should not call [sqlite3_file_control()] with this opcode as doing so may  -** disrupt the operation of the specialized VFSes that do require it.   +** string containing the transactions master-journal file name. VFSes that +** do not need this signal should silently ignore this opcode. Applications +** should not call [sqlite3_file_control()] with this opcode as doing so may +** disrupt the operation of the specialized VFSes that do require it.  **  ** <li>[[SQLITE_FCNTL_COMMIT_PHASETWO]]  ** The [SQLITE_FCNTL_COMMIT_PHASETWO] opcode is generated internally by SQLite  ** and sent to the VFS after a transaction has been committed immediately  ** but before the database is unlocked. VFSes that do not need this signal  ** should silently ignore this opcode. Applications should not call -** [sqlite3_file_control()] with this opcode as doing so may disrupt the  -** operation of the specialized VFSes that do require it.   +** [sqlite3_file_control()] with this opcode as doing so may disrupt the +** operation of the specialized VFSes that do require it.  **  ** <li>[[SQLITE_FCNTL_WIN32_AV_RETRY]]  ** ^The [SQLITE_FCNTL_WIN32_AV_RETRY] opcode is used to configure automatic @@ -905,13 +905,13 @@ struct sqlite3_io_methods {  ** <li>[[SQLITE_FCNTL_OVERWRITE]]  ** ^The [SQLITE_FCNTL_OVERWRITE] opcode is invoked by SQLite after opening  ** a write transaction to indicate that, unless it is rolled back for some -** reason, the entire database file will be overwritten by the current  +** reason, the entire database file will be overwritten by the current  ** transaction. This is used by VACUUM operations.  **  ** <li>[[SQLITE_FCNTL_VFSNAME]]  ** ^The [SQLITE_FCNTL_VFSNAME] opcode can be used to obtain the names of  ** all [VFSes] in the VFS stack.  The names are of all VFS shims and the -** final bottom-level VFS are written into memory obtained from  +** final bottom-level VFS are written into memory obtained from  ** [sqlite3_malloc()] and the result is stored in the char* variable  ** that the fourth parameter of [sqlite3_file_control()] points to.  ** The caller is responsible for freeing the memory when done.  As with @@ -930,7 +930,7 @@ struct sqlite3_io_methods {  ** upper-most shim only.  **  ** <li>[[SQLITE_FCNTL_PRAGMA]] -** ^Whenever a [PRAGMA] statement is parsed, an [SQLITE_FCNTL_PRAGMA]  +** ^Whenever a [PRAGMA] statement is parsed, an [SQLITE_FCNTL_PRAGMA]  ** file control is sent to the open [sqlite3_file] object corresponding  ** to the database file to which the pragma statement refers. ^The argument  ** to the [SQLITE_FCNTL_PRAGMA] file control is an array of @@ -941,7 +941,7 @@ struct sqlite3_io_methods {  ** of the char** argument point to a string obtained from [sqlite3_mprintf()]  ** or the equivalent and that string will become the result of the pragma or  ** the error message if the pragma fails. ^If the -** [SQLITE_FCNTL_PRAGMA] file control returns [SQLITE_NOTFOUND], then normal  +** [SQLITE_FCNTL_PRAGMA] file control returns [SQLITE_NOTFOUND], then normal  ** [PRAGMA] processing continues.  ^If the [SQLITE_FCNTL_PRAGMA]  ** file control returns [SQLITE_OK], then the parser assumes that the  ** VFS has handled the PRAGMA itself and the parser generates a no-op @@ -981,7 +981,7 @@ struct sqlite3_io_methods {  ** The argument is a pointer to a value of type sqlite3_int64 that  ** is an advisory maximum number of bytes in the file to memory map.  The  ** pointer is overwritten with the old value.  The limit is not changed if -** the value originally pointed to is negative, and so the current limit  +** the value originally pointed to is negative, and so the current limit  ** can be queried by passing in a pointer to a negative number.  This  ** file-control is used internally to implement [PRAGMA mmap_size].  ** @@ -1025,7 +1025,7 @@ struct sqlite3_io_methods {  ** <li>[[SQLITE_FCNTL_RBU]]  ** The [SQLITE_FCNTL_RBU] opcode is implemented by the special VFS used by  ** the RBU extension only.  All other VFS should return SQLITE_NOTFOUND for -** this opcode.   +** this opcode.  **  ** <li>[[SQLITE_FCNTL_BEGIN_ATOMIC_WRITE]]  ** If the [SQLITE_FCNTL_BEGIN_ATOMIC_WRITE] opcode returns SQLITE_OK, then @@ -1042,7 +1042,7 @@ struct sqlite3_io_methods {  **  ** <li>[[SQLITE_FCNTL_COMMIT_ATOMIC_WRITE]]  ** The [SQLITE_FCNTL_COMMIT_ATOMIC_WRITE] opcode causes all write -** operations since the previous successful call to  +** operations since the previous successful call to  ** [SQLITE_FCNTL_BEGIN_ATOMIC_WRITE] to be performed atomically.  ** This file control returns [SQLITE_OK] if and only if the writes were  ** all performed successfully and have been committed to persistent storage. @@ -1054,7 +1054,7 @@ struct sqlite3_io_methods {  **  ** <li>[[SQLITE_FCNTL_ROLLBACK_ATOMIC_WRITE]]  ** The [SQLITE_FCNTL_ROLLBACK_ATOMIC_WRITE] opcode causes all write -** operations since the previous successful call to  +** operations since the previous successful call to  ** [SQLITE_FCNTL_BEGIN_ATOMIC_WRITE] to be rolled back.  ** ^This file control takes the file descriptor out of batch write mode  ** so that all subsequent write operations are independent. @@ -1171,14 +1171,14 @@ typedef struct sqlite3_api_routines sqlite3_api_routines;  ** the [sqlite3_file] can safely store a pointer to the  ** filename if it needs to remember the filename for some reason.  ** If the zFilename parameter to xOpen is a NULL pointer then xOpen -** must invent its own temporary name for the file.  ^Whenever the  +** must invent its own temporary name for the file.  ^Whenever the  ** xFilename parameter is NULL it will also be the case that the  ** flags parameter will include [SQLITE_OPEN_DELETEONCLOSE].  **  ** The flags argument to xOpen() includes all bits set in  ** the flags argument to [sqlite3_open_v2()].  Or if [sqlite3_open()]  ** or [sqlite3_open16()] is used, then flags includes at least -** [SQLITE_OPEN_READWRITE] | [SQLITE_OPEN_CREATE].  +** [SQLITE_OPEN_READWRITE] | [SQLITE_OPEN_CREATE].  ** If xOpen() opens a file read-only then it sets *pOutFlags to  ** include [SQLITE_OPEN_READONLY].  Other bits in *pOutFlags may be set.  ** @@ -1220,10 +1220,10 @@ typedef struct sqlite3_api_routines sqlite3_api_routines;  ** ^The [SQLITE_OPEN_EXCLUSIVE] flag is always used in conjunction  ** with the [SQLITE_OPEN_CREATE] flag, which are both directly  ** analogous to the O_EXCL and O_CREAT flags of the POSIX open() -** API.  The SQLITE_OPEN_EXCLUSIVE flag, when paired with the  +** API.  The SQLITE_OPEN_EXCLUSIVE flag, when paired with the  ** SQLITE_OPEN_CREATE, is used to indicate that file should always  ** be created, and that it is an error if it already exists. -** It is <i>not</i> used to indicate the file should be opened  +** It is <i>not</i> used to indicate the file should be opened  ** for exclusive access.  **  ** ^At least szOsFile bytes of memory are allocated by SQLite @@ -1261,16 +1261,16 @@ typedef struct sqlite3_api_routines sqlite3_api_routines;  ** method returns a Julian Day Number for the current date and time as  ** a floating point value.  ** ^The xCurrentTimeInt64() method returns, as an integer, the Julian -** Day Number multiplied by 86400000 (the number of milliseconds in  -** a 24-hour day).   +** Day Number multiplied by 86400000 (the number of milliseconds in +** a 24-hour day).  ** ^SQLite will use the xCurrentTimeInt64() method to get the current -** date and time if that method is available (if iVersion is 2 or  +** date and time if that method is available (if iVersion is 2 or  ** greater and the function pointer is not NULL) and will fall back  ** to xCurrentTime() if xCurrentTimeInt64() is unavailable.  **  ** ^The xSetSystemCall(), xGetSystemCall(), and xNestSystemCall() interfaces  ** are not used by the SQLite core.  These optional interfaces are provided -** by some VFSes to facilitate testing of the VFS code. By overriding  +** by some VFSes to facilitate testing of the VFS code. By overriding  ** system calls with functions under its control, a test program can  ** simulate faults and error conditions that would otherwise be difficult  ** or impossible to induce.  The set of system calls that can be overridden @@ -1317,7 +1317,7 @@ struct sqlite3_vfs {    /*    ** The methods above are in versions 1 through 3 of the sqlite_vfs object.    ** New fields may be appended in future versions.  The iVersion -  ** value will increment whenever this happens.  +  ** value will increment whenever this happens.    */  }; @@ -1361,7 +1361,7 @@ struct sqlite3_vfs {  ** </ul>  **  ** When unlocking, the same SHARED or EXCLUSIVE flag must be supplied as -** was given on the corresponding lock.   +** was given on the corresponding lock.  **  ** The xShmLock method can transition between unlocked and SHARED or  ** between unlocked and EXCLUSIVE.  It cannot transition between SHARED @@ -1506,7 +1506,7 @@ SQLITE_API int sqlite3_config(int, ...);  ** [database connection] (specified in the first argument).  **  ** The second argument to sqlite3_db_config(D,V,...)  is the -** [SQLITE_DBCONFIG_LOOKASIDE | configuration verb] - an integer code  +** [SQLITE_DBCONFIG_LOOKASIDE | configuration verb] - an integer code  ** that indicates what aspect of the [database connection] is being configured.  ** Subsequent arguments vary depending on the configuration verb.  ** @@ -1524,7 +1524,7 @@ SQLITE_API int sqlite3_db_config(sqlite3*, int op, ...);  ** This object is used in only one place in the SQLite interface.  ** A pointer to an instance of this object is the argument to  ** [sqlite3_config()] when the configuration option is -** [SQLITE_CONFIG_MALLOC] or [SQLITE_CONFIG_GETMALLOC].   +** [SQLITE_CONFIG_MALLOC] or [SQLITE_CONFIG_GETMALLOC].  ** By creating an instance of this object  ** and passing it to [sqlite3_config]([SQLITE_CONFIG_MALLOC])  ** during configuration, an application can specify an alternative @@ -1554,7 +1554,7 @@ SQLITE_API int sqlite3_db_config(sqlite3*, int op, ...);  ** allocators round up memory allocations at least to the next multiple  ** of 8.  Some allocators round up to a larger multiple or to a power of 2.  ** Every memory allocation request coming in through [sqlite3_malloc()] -** or [sqlite3_realloc()] first calls xRoundup.  If xRoundup returns 0,  +** or [sqlite3_realloc()] first calls xRoundup.  If xRoundup returns 0,  ** that causes the corresponding memory allocation to fail.  **  ** The xInit method initializes the memory allocator.  For example, @@ -1612,7 +1612,7 @@ struct sqlite3_mem_methods {  ** by a single thread.   ^If SQLite is compiled with  ** the [SQLITE_THREADSAFE | 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  +** value of Single-thread and so [sqlite3_config()] will return  ** [SQLITE_ERROR] if called with the SQLITE_CONFIG_SINGLETHREAD  ** configuration option.</dd>  ** @@ -1647,7 +1647,7 @@ struct sqlite3_mem_methods {  ** SQLITE_CONFIG_SERIALIZED configuration option.</dd>  **  ** [[SQLITE_CONFIG_MALLOC]] <dt>SQLITE_CONFIG_MALLOC</dt> -** <dd> ^(The SQLITE_CONFIG_MALLOC option takes a single argument which is  +** <dd> ^(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 @@ -1697,7 +1697,7 @@ struct sqlite3_mem_methods {  ** [[SQLITE_CONFIG_PAGECACHE]] <dt>SQLITE_CONFIG_PAGECACHE</dt>  ** <dd> ^The SQLITE_CONFIG_PAGECACHE option specifies a memory pool  ** that SQLite can use for the database page cache with the default page -** cache implementation.   +** cache implementation.  ** This configuration option is a no-op if an application-define page  ** cache implementation is loaded using the [SQLITE_CONFIG_PCACHE2].  ** ^There are three arguments to SQLITE_CONFIG_PAGECACHE: A pointer to @@ -1725,7 +1725,7 @@ struct sqlite3_mem_methods {  ** additional cache line. </dd>  **  ** [[SQLITE_CONFIG_HEAP]] <dt>SQLITE_CONFIG_HEAP</dt> -** <dd> ^The SQLITE_CONFIG_HEAP option specifies a static memory buffer  +** <dd> ^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].  ** ^The SQLITE_CONFIG_HEAP option is only available if SQLite is compiled @@ -1780,7 +1780,7 @@ struct sqlite3_mem_methods {  ** configuration on individual connections.)^ </dd>  **  ** [[SQLITE_CONFIG_PCACHE2]] <dt>SQLITE_CONFIG_PCACHE2</dt> -** <dd> ^(The SQLITE_CONFIG_PCACHE2 option takes a single argument which is  +** <dd> ^(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.)^  ** ^SQLite makes a copy of the [sqlite3_pcache_methods2] object.</dd> @@ -1794,7 +1794,7 @@ struct sqlite3_mem_methods {  ** <dd> The SQLITE_CONFIG_LOG option is used to configure the SQLite  ** global [error log].  ** (^The SQLITE_CONFIG_LOG option takes two arguments: a pointer to a -** function with a call signature of void(*)(void*,int,const char*),  +** function with a call signature of void(*)(void*,int,const char*),  ** and a pointer to void. ^If the function pointer is not NULL, it is  ** invoked by [sqlite3_log()] to process each logging event.  ^If the  ** function pointer is NULL, the [sqlite3_log()] interface becomes a no-op. @@ -1903,7 +1903,7 @@ struct sqlite3_mem_methods {  ** [[SQLITE_CONFIG_STMTJRNL_SPILL]]  ** <dt>SQLITE_CONFIG_STMTJRNL_SPILL  ** <dd>^The SQLITE_CONFIG_STMTJRNL_SPILL option takes a single parameter which -** becomes the [statement journal] spill-to-disk threshold.   +** becomes the [statement journal] spill-to-disk threshold.  ** [Statement journals] are held in memory until their size (in bytes)  ** exceeds this threshold, at which point they are written to disk.  ** Or if the threshold is -1, statement journals are always held @@ -1926,7 +1926,7 @@ struct sqlite3_mem_methods {  #define SQLITE_CONFIG_MEMSTATUS     9  /* boolean */  #define SQLITE_CONFIG_MUTEX        10  /* sqlite3_mutex_methods* */  #define SQLITE_CONFIG_GETMUTEX     11  /* sqlite3_mutex_methods* */ -/* previously SQLITE_CONFIG_CHUNKALLOC 12 which is now unused. */  +/* previously SQLITE_CONFIG_CHUNKALLOC 12 which is now unused. */  #define SQLITE_CONFIG_LOOKASIDE    13  /* int int */  #define SQLITE_CONFIG_PCACHE       14  /* no-op */  #define SQLITE_CONFIG_GETPCACHE    15  /* no-op */ @@ -1958,7 +1958,7 @@ struct sqlite3_mem_methods {  **  ** <dl>  ** <dt>SQLITE_DBCONFIG_LOOKASIDE</dt> -** <dd> ^This option takes three additional arguments that determine the  +** <dd> ^This option takes three additional arguments that determine the  ** [lookaside memory allocator] configuration for the [database connection].  ** ^The first argument (the third parameter to [sqlite3_db_config()] is a  ** pointer to a memory buffer to use for lookaside memory. @@ -1976,7 +1976,7 @@ struct sqlite3_mem_methods {  ** when the "current value" returned by  ** [sqlite3_db_status](D,[SQLITE_CONFIG_LOOKASIDE],...) is zero.  ** Any attempt to change the lookaside memory configuration when lookaside -** memory is in use leaves the configuration unchanged and returns  +** memory is in use leaves the configuration unchanged and returns  ** [SQLITE_BUSY].)^</dd>  **  ** <dt>SQLITE_DBCONFIG_ENABLE_FKEY</dt> @@ -2039,9 +2039,9 @@ struct sqlite3_mem_methods {  ** </dd>  **  ** <dt>SQLITE_DBCONFIG_NO_CKPT_ON_CLOSE</dt> -** <dd> Usually, when a database in wal mode is closed or detached from a  -** database handle, SQLite checks if this will mean that there are now no  -** connections at all to the database. If so, it performs a checkpoint  +** <dd> Usually, when a database in wal mode is closed or detached from a +** database handle, SQLite checks if this will mean that there are now no +** connections at all to the database. If so, it performs a checkpoint  ** operation before closing the connection. This option may be used to  ** override this behaviour. The first parameter passed to this operation  ** is an integer - non-zero to disable checkpoints-on-close, or zero (the @@ -2098,8 +2098,8 @@ SQLITE_API int sqlite3_extended_result_codes(sqlite3*, int onoff);  ** ^The sqlite3_last_insert_rowid(D) interface usually returns the [rowid] of  ** the most recent successful [INSERT] into a rowid table or [virtual table]  ** on database connection D. ^Inserts into [WITHOUT ROWID] tables are not -** recorded. ^If no successful [INSERT]s into rowid tables have ever occurred  -** on the database connection D, then sqlite3_last_insert_rowid(D) returns  +** recorded. ^If no successful [INSERT]s into rowid tables have ever occurred +** on the database connection D, then sqlite3_last_insert_rowid(D) returns  ** zero.  **  ** As well as being set automatically as rows are inserted into database @@ -2109,15 +2109,15 @@ SQLITE_API int sqlite3_extended_result_codes(sqlite3*, int onoff);  ** Some virtual table implementations may INSERT rows into rowid tables as  ** part of committing a transaction (e.g. to flush data accumulated in memory  ** to disk). In this case subsequent calls to this function return the rowid -** associated with these internal INSERT operations, which leads to  +** associated with these internal INSERT operations, which leads to  ** unintuitive results. Virtual table implementations that do write to rowid -** tables in this way can avoid this problem by restoring the original  -** rowid value using [sqlite3_set_last_insert_rowid()] before returning  +** tables in this way can avoid this problem by restoring the original +** rowid value using [sqlite3_set_last_insert_rowid()] before returning  ** control to the user.  ** -** ^(If an [INSERT] occurs within a trigger then this routine will  -** return the [rowid] of the inserted row as long as the trigger is  -** running. Once the trigger program ends, the value returned  +** ^(If an [INSERT] occurs within a trigger then this routine will +** return the [rowid] of the inserted row as long as the trigger is +** running. Once the trigger program ends, the value returned  ** by this routine reverts to what it was before the trigger was fired.)^  **  ** ^An [INSERT] that fails due to a constraint violation is not a @@ -2150,7 +2150,7 @@ SQLITE_API sqlite3_int64 sqlite3_last_insert_rowid(sqlite3*);  ** METHOD: sqlite3  **  ** The sqlite3_set_last_insert_rowid(D, R) method allows the application to -** set the value returned by calling sqlite3_last_insert_rowid(D) to R  +** set the value returned by calling sqlite3_last_insert_rowid(D) to R  ** without inserting a row into the database.  */  SQLITE_API void sqlite3_set_last_insert_rowid(sqlite3*,sqlite3_int64); @@ -2166,37 +2166,37 @@ SQLITE_API void sqlite3_set_last_insert_rowid(sqlite3*,sqlite3_int64);  ** returned by this function.  **  ** ^Only changes made directly by the INSERT, UPDATE or DELETE statement are -** considered - auxiliary changes caused by [CREATE TRIGGER | triggers],  +** considered - auxiliary changes caused by [CREATE TRIGGER | triggers],  ** [foreign key actions] or [REPLACE] constraint resolution are not counted. -**  -** Changes to a view that are intercepted by  -** [INSTEAD OF trigger | INSTEAD OF triggers] are not counted. ^The value  -** returned by sqlite3_changes() immediately after an INSERT, UPDATE or  -** DELETE statement run on a view is always zero. Only changes made to real  +** +** Changes to a view that are intercepted by +** [INSTEAD OF trigger | INSTEAD OF triggers] are not counted. ^The value +** returned by sqlite3_changes() immediately after an INSERT, UPDATE or +** DELETE statement run on a view is always zero. Only changes made to real  ** tables are counted.  **  ** Things are more complicated if the sqlite3_changes() function is  ** executed while a trigger program is running. This may happen if the  ** program uses the [changes() SQL function], or if some other callback  ** function invokes sqlite3_changes() directly. Essentially: -**  +**  ** <ul>  **   <li> ^(Before entering a trigger program the value returned by -**        sqlite3_changes() function is saved. After the trigger program  +**        sqlite3_changes() function is saved. After the trigger program  **        has finished, the original value is restored.)^ -**  -**   <li> ^(Within a trigger program each INSERT, UPDATE and DELETE  -**        statement sets the value returned by sqlite3_changes()  -**        upon completion as normal. Of course, this value will not include  -**        any changes performed by sub-triggers, as the sqlite3_changes()  +** +**   <li> ^(Within a trigger program each INSERT, UPDATE and DELETE +**        statement sets the value returned by sqlite3_changes() +**        upon completion as normal. Of course, this value will not include +**        any changes performed by sub-triggers, as the sqlite3_changes()  **        value will be saved and restored after each sub-trigger has run.)^  ** </ul> -**  +**  ** ^This means that if the changes() SQL function (or similar) is used -** by the first INSERT, UPDATE or DELETE statement within a trigger, it  +** by the first INSERT, UPDATE or DELETE statement within a trigger, it  ** returns the value as set when the calling statement began executing. -** ^If it is used by the second or subsequent such statement within a trigger  -** program, the value returned reflects the number of rows modified by the  +** ^If it is used by the second or subsequent such statement within a trigger +** program, the value returned reflects the number of rows modified by the  ** previous INSERT, UPDATE or DELETE statement within the same trigger.  **  ** See also the [sqlite3_total_changes()] interface, the @@ -2217,12 +2217,12 @@ SQLITE_API int sqlite3_changes(sqlite3*);  ** since the database connection was opened, including those executed as  ** part of trigger programs. ^Executing any other type of SQL statement  ** does not affect the value returned by sqlite3_total_changes(). -**  +**  ** ^Changes made as part of [foreign key actions] are included in the  ** count, but those made as part of REPLACE constraint resolution are -** not. ^Changes to a view that are intercepted by INSTEAD OF triggers  +** not. ^Changes to a view that are intercepted by INSTEAD OF triggers  ** are not counted. -**  +**  ** See also the [sqlite3_changes()] interface, the  ** [count_changes pragma], and the [total_changes() SQL function].  ** @@ -2258,7 +2258,7 @@ SQLITE_API int sqlite3_total_changes(sqlite3*);  **  ** ^The sqlite3_interrupt(D) call is in effect until all currently running  ** SQL statements on [database connection] D complete.  ^Any new SQL statements -** that are started after the sqlite3_interrupt() call and before the  +** that are started after the sqlite3_interrupt() call and before the  ** running statements reaches zero are interrupted as if they had been  ** running prior to the sqlite3_interrupt() call.  ^New SQL statements  ** that are started after the running statement count reaches zero are @@ -2290,7 +2290,7 @@ SQLITE_API void sqlite3_interrupt(sqlite3*);  ** ^These routines do not parse the SQL statements thus  ** will not detect syntactically incorrect SQL.  ** -** ^(If SQLite has not been initialized using [sqlite3_initialize()] prior  +** ^(If SQLite has not been initialized using [sqlite3_initialize()] prior  ** to invoking sqlite3_complete16() then sqlite3_initialize() is invoked  ** automatically by sqlite3_complete16().  If that initialization fails,  ** then the return value from sqlite3_complete16() will be non-zero @@ -2335,7 +2335,7 @@ SQLITE_API int sqlite3_complete16(const void *sql);  ** The presence of a busy handler does not guarantee that it will be invoked  ** when there is lock contention. ^If SQLite determines that invoking the busy  ** handler could result in a deadlock, it will go ahead and return [SQLITE_BUSY] -** to the application instead of invoking the  +** to the application instead of invoking the  ** busy handler.  ** Consider a scenario where one process is holding a read lock that  ** it is trying to promote to a reserved lock and @@ -2360,7 +2360,7 @@ SQLITE_API int sqlite3_complete16(const void *sql);  ** database connection that invoked the busy handler.  In other words,  ** the busy handler is not reentrant.  Any such actions  ** result in undefined behavior. -**  +**  ** A busy handler must not close the database connection  ** or [prepared statement] that invoked the busy handler.  */ @@ -2751,7 +2751,7 @@ SQLITE_API void sqlite3_randomness(int N, void *P);  ** requested is ok.  ^When the callback returns [SQLITE_DENY], the  ** [sqlite3_prepare_v2()] or equivalent call that triggered the  ** authorizer will fail with an error message explaining that -** access is denied.  +** access is denied.  **  ** ^The first parameter to the authorizer callback is a copy of the third  ** parameter to the sqlite3_set_authorizer() interface. ^The second parameter @@ -2804,7 +2804,7 @@ SQLITE_API void sqlite3_randomness(int N, void *P);  ** database connections for the meaning of "modify" in this paragraph.  **  ** ^When [sqlite3_prepare_v2()] is used to prepare a statement, the -** statement might be re-prepared during [sqlite3_step()] due to a  +** statement might be re-prepared during [sqlite3_step()] due to a  ** schema change.  Hence, the application should ensure that the  ** correct authorizer callback remains in place during the [sqlite3_step()].  ** @@ -2952,7 +2952,7 @@ SQLITE_API SQLITE_DEPRECATED void *sqlite3_profile(sqlite3*,  ** execution of the prepared statement, such as at the start of each  ** trigger subprogram. ^The P argument is a pointer to the  ** [prepared statement]. ^The X argument is a pointer to a string which -** is the unexpanded SQL text of the prepared statement or an SQL comment  +** is the unexpanded SQL text of the prepared statement or an SQL comment  ** that indicates the invocation of a trigger.  ^The callback can compute  ** the same text that would have been returned by the legacy [sqlite3_trace()]  ** interface by using the X argument when X begins with "--" and invoking @@ -2968,7 +2968,7 @@ SQLITE_API SQLITE_DEPRECATED void *sqlite3_profile(sqlite3*,  **  ** [[SQLITE_TRACE_ROW]] <dt>SQLITE_TRACE_ROW</dt>  ** <dd>^An SQLITE_TRACE_ROW callback is invoked whenever a prepared -** statement generates a single row of result.   +** statement generates a single row of result.  ** ^The P argument is a pointer to the [prepared statement] and the  ** X argument is unused.  ** @@ -2995,10 +2995,10 @@ SQLITE_API SQLITE_DEPRECATED void *sqlite3_profile(sqlite3*,  ** M argument should be the bitwise OR-ed combination of  ** zero or more [SQLITE_TRACE] constants.  ** -** ^Each call to either sqlite3_trace() or sqlite3_trace_v2() overrides  +** ^Each call to either sqlite3_trace() or sqlite3_trace_v2() overrides  ** (cancels) any prior calls to sqlite3_trace() or sqlite3_trace_v2().  ** -** ^The X callback is invoked whenever any of the events identified by  +** ^The X callback is invoked whenever any of the events identified by  ** mask M occur.  ^The integer return value from the callback is currently  ** ignored, though this may change in future releases.  Callback  ** implementations should return zero to ensure future compatibility. @@ -3030,8 +3030,8 @@ SQLITE_API int sqlite3_trace_v2(  ** database connection D.  An example use for this  ** interface is to keep a GUI updated during a large query.  ** -** ^The parameter P is passed through as the only parameter to the  -** callback function X.  ^The parameter N is the approximate number of  +** ^The parameter P is passed through as the only parameter to the +** callback function X.  ^The parameter N is the approximate number of  ** [virtual machine instructions] that are evaluated between successive  ** invocations of the callback X.  ^If N is less than one then the progress  ** handler is disabled. @@ -3058,7 +3058,7 @@ SQLITE_API void sqlite3_progress_handler(sqlite3*, int, int(*)(void*), void*);  ** CAPI3REF: Opening A New Database Connection  ** CONSTRUCTOR: sqlite3  ** -** ^These routines open an SQLite database file as specified by the  +** ^These routines open an SQLite database file as specified by the  ** filename argument. ^The filename argument is interpreted as UTF-8 for  ** sqlite3_open() and sqlite3_open_v2() and as UTF-16 in the native byte  ** order for sqlite3_open16(). ^(A [database connection] handle is usually @@ -3083,7 +3083,7 @@ SQLITE_API void sqlite3_progress_handler(sqlite3*, int, int(*)(void*), void*);  ** except that it accepts two additional parameters for additional control  ** over the new database connection.  ^(The flags parameter to  ** sqlite3_open_v2() can take one of -** the following three values, optionally combined with the  +** the following three values, optionally combined with the  ** [SQLITE_OPEN_NOMUTEX], [SQLITE_OPEN_FULLMUTEX], [SQLITE_OPEN_SHAREDCACHE],  ** [SQLITE_OPEN_PRIVATECACHE], and/or [SQLITE_OPEN_URI] flags:)^  ** @@ -3151,17 +3151,17 @@ SQLITE_API void sqlite3_progress_handler(sqlite3*, int, int(*)(void*), void*);  ** information.  **  ** URI filenames are parsed according to RFC 3986. ^If the URI contains an -** authority, then it must be either an empty string or the string  -** "localhost". ^If the authority is not an empty string or "localhost", an  -** error is returned to the caller. ^The fragment component of a URI, if  +** authority, then it must be either an empty string or the string +** "localhost". ^If the authority is not an empty string or "localhost", an +** error is returned to the caller. ^The fragment component of a URI, if  ** present, is ignored.  **  ** ^SQLite uses the path component of the URI as the name of the disk file -** which contains the database. ^If the path begins with a '/' character,  -** then it is interpreted as an absolute path. ^If the path does not begin  +** which contains the database. ^If the path begins with a '/' character, +** then it is interpreted as an absolute path. ^If the path does not begin  ** with a '/' (meaning that the authority section is omitted from the URI) -** then the path is interpreted as a relative path.  -** ^(On windows, the first component of an absolute path  +** then the path is interpreted as a relative path. +** ^(On windows, the first component of an absolute path  ** is a drive specification (e.g. "C:").)^  **  ** [[core URI query parameters]] @@ -3181,13 +3181,13 @@ SQLITE_API void sqlite3_progress_handler(sqlite3*, int, int(*)(void*), void*);  **  **   <li> <b>mode</b>: ^(The mode parameter may be set to either "ro", "rw",  **     "rwc", or "memory". Attempting to set it to any other value is -**     an error)^.  -**     ^If "ro" is specified, then the database is opened for read-only  -**     access, just as if the [SQLITE_OPEN_READONLY] flag had been set in the  -**     third argument to sqlite3_open_v2(). ^If the mode option is set to  -**     "rw", then the database is opened for read-write (but not create)  -**     access, as if SQLITE_OPEN_READWRITE (but not SQLITE_OPEN_CREATE) had  -**     been set. ^Value "rwc" is equivalent to setting both  +**     an error)^. +**     ^If "ro" is specified, then the database is opened for read-only +**     access, just as if the [SQLITE_OPEN_READONLY] flag had been set in the +**     third argument to sqlite3_open_v2(). ^If the mode option is set to +**     "rw", then the database is opened for read-write (but not create) +**     access, as if SQLITE_OPEN_READWRITE (but not SQLITE_OPEN_CREATE) had +**     been set. ^Value "rwc" is equivalent to setting both  **     SQLITE_OPEN_READWRITE and SQLITE_OPEN_CREATE.  ^If the mode option is  **     set to "memory" then a pure [in-memory database] that never reads  **     or writes from disk is used. ^It is an error to specify a value for @@ -3197,7 +3197,7 @@ SQLITE_API void sqlite3_progress_handler(sqlite3*, int, int(*)(void*), void*);  **   <li> <b>cache</b>: ^The cache parameter may be set to either "shared" or  **     "private". ^Setting it to "shared" is equivalent to setting the  **     SQLITE_OPEN_SHAREDCACHE bit in the flags argument passed to -**     sqlite3_open_v2(). ^Setting the cache parameter to "private" is  +**     sqlite3_open_v2(). ^Setting the cache parameter to "private" is  **     equivalent to setting the SQLITE_OPEN_PRIVATECACHE bit.  **     ^If sqlite3_open_v2() is used and the "cache" parameter is present in  **     a URI filename, its value overrides any behavior requested by setting @@ -3223,7 +3223,7 @@ SQLITE_API void sqlite3_progress_handler(sqlite3*, int, int(*)(void*), void*);  **     property on a database file that does in fact change can result  **     in incorrect query results and/or [SQLITE_CORRUPT] errors.  **     See also: [SQLITE_IOCAP_IMMUTABLE]. -**        +**  ** </ul>  **  ** ^Specifying an unknown parameter in the query component of a URI is not an @@ -3235,36 +3235,36 @@ SQLITE_API void sqlite3_progress_handler(sqlite3*, int, int(*)(void*), void*);  **  ** <table border="1" align=center cellpadding=5>  ** <tr><th> URI filenames <th> Results -** <tr><td> file:data.db <td>  +** <tr><td> file:data.db <td>  **          Open the file "data.db" in the current directory.  ** <tr><td> file:/home/fred/data.db<br> -**          file:///home/fred/data.db <br>  -**          file://localhost/home/fred/data.db <br> <td>  +**          file:///home/fred/data.db <br> +**          file://localhost/home/fred/data.db <br> <td>  **          Open the database file "/home/fred/data.db". -** <tr><td> file://darkstar/home/fred/data.db <td>  +** <tr><td> file://darkstar/home/fred/data.db <td>  **          An error. "darkstar" is not a recognized authority. -** <tr><td style="white-space:nowrap">  +** <tr><td style="white-space:nowrap">  **          file:///C:/Documents%20and%20Settings/fred/Desktop/data.db  **     <td> Windows only: Open the file "data.db" on fred's desktop on drive -**          C:. Note that the %20 escaping in this example is not strictly  +**          C:. Note that the %20 escaping in this example is not strictly  **          necessary - space characters can be used literally  **          in URI filenames. -** <tr><td> file:data.db?mode=ro&cache=private <td>  +** <tr><td> file:data.db?mode=ro&cache=private <td>  **          Open file "data.db" in the current directory for read-only access.  **          Regardless of whether or not shared-cache mode is enabled by  **          default, use a private cache.  ** <tr><td> file:/home/fred/data.db?vfs=unix-dotfile <td>  **          Open file "/home/fred/data.db". Use the special VFS "unix-dotfile"  **          that uses dot-files in place of posix advisory locking. -** <tr><td> file:data.db?mode=readonly <td>  +** <tr><td> file:data.db?mode=readonly <td>  **          An error. "readonly" is not a valid option for the "mode" parameter.  ** </table>  **  ** ^URI hexadecimal escape sequences (%HH) are supported within the path and  ** query components of a URI. A hexadecimal escape sequence consists of a -** percent sign - "%" - followed by exactly two hexadecimal digits  +** percent sign - "%" - followed by exactly two hexadecimal digits  ** specifying an octet value. ^Before the path or query components of a -** URI filename are interpreted, they are encoded using UTF-8 and all  +** URI filename are interpreted, they are encoded using UTF-8 and all  ** hexadecimal escape sequences replaced by a single byte containing the  ** corresponding octet. If this process generates an invalid UTF-8 encoding,  ** the results are undefined. @@ -3300,15 +3300,15 @@ SQLITE_API int sqlite3_open_v2(  ** CAPI3REF: Obtain Values For URI Parameters  **  ** These are utility routines, useful to VFS implementations, that check -** to see if a database file was a URI that contained a specific query  +** to see if a database file was a URI that contained a specific query  ** parameter, and if so obtains the value of that query parameter.  ** -** If F is the database filename pointer passed into the xOpen() method of  -** a VFS implementation when the flags parameter to xOpen() has one or  +** If F is the database filename pointer passed into the xOpen() method of +** a VFS implementation when the flags parameter to xOpen() has one or  ** more of the [SQLITE_OPEN_URI] or [SQLITE_OPEN_MAIN_DB] bits set and  ** P is the name of the query parameter, then  ** sqlite3_uri_parameter(F,P) returns the value of the P -** parameter if it exists or a NULL pointer if P does not appear as a  +** parameter if it exists or a NULL pointer if P does not appear as a  ** query parameter on F.  If P is a query parameter of F  ** has no explicit value, then sqlite3_uri_parameter(F,P) returns  ** a pointer to an empty string. @@ -3317,7 +3317,7 @@ SQLITE_API int sqlite3_open_v2(  ** parameter and returns true (1) or false (0) according to the value  ** of P.  The sqlite3_uri_boolean(F,P,B) routine returns true (1) if the  ** value of query parameter P is one of "yes", "true", or "on" in any -** case or if the value begins with a non-zero number.  The  +** case or if the value begins with a non-zero number.  The  ** sqlite3_uri_boolean(F,P,B) routines returns false (0) if the value of  ** query parameter P is one of "no", "false", or "off" in any case or  ** if the value begins with a numeric zero.  If P is not a query @@ -3328,7 +3328,7 @@ SQLITE_API int sqlite3_open_v2(  ** 64-bit signed integer and returns that integer, or D if P does not  ** exist.  If the value of P is something other than an integer, then  ** zero is returned. -**  +**  ** If F is a NULL pointer, then sqlite3_uri_parameter(F,P) returns NULL and  ** sqlite3_uri_boolean(F,P,B) returns B.  If F is not a NULL pointer and  ** is not a database file pathname pointer that SQLite passed into the xOpen @@ -3344,14 +3344,14 @@ SQLITE_API sqlite3_int64 sqlite3_uri_int64(const char*, const char*, sqlite3_int  ** CAPI3REF: Error Codes And Messages  ** METHOD: sqlite3  ** -** ^If the most recent sqlite3_* API call associated with  +** ^If the most recent sqlite3_* API call associated with  ** [database connection] D failed, then the sqlite3_errcode(D) interface  ** returns the numeric [result code] or [extended result code] for that  ** API call.  ** If the most recent API call was successful,  ** then the return value from sqlite3_errcode() is undefined.  ** ^The sqlite3_extended_errcode() -** interface is the same except that it always returns the  +** interface is the same except that it always returns the  ** [extended result code] even when extended result codes are  ** disabled.  ** @@ -3395,7 +3395,7 @@ SQLITE_API const char *sqlite3_errstr(int);  ** has been compiled into binary form and is ready to be evaluated.  **  ** Think of each SQL statement as a separate computer program.  The -** original SQL text is source code.  A prepared statement object  +** original SQL text is source code.  A prepared statement object  ** is the compiled object code.  All SQL must be converted into a  ** prepared statement before it can be run.  ** @@ -3425,7 +3425,7 @@ typedef struct sqlite3_stmt sqlite3_stmt;  ** new limit for that construct.)^  **  ** ^If the new limit is a negative number, the limit is unchanged. -** ^(For each limit category SQLITE_LIMIT_<i>NAME</i> there is a  +** ^(For each limit category SQLITE_LIMIT_<i>NAME</i> there is a  ** [limits | hard upper bound]  ** set at compile-time by a C preprocessor macro called  ** [limits | SQLITE_MAX_<i>NAME</i>]. @@ -3433,7 +3433,7 @@ typedef struct sqlite3_stmt sqlite3_stmt;  ** ^Attempts to increase a limit above its hard upper bound are  ** silently truncated to the hard upper bound.  ** -** ^Regardless of whether or not the limit was changed, the  +** ^Regardless of whether or not the limit was changed, the  ** [sqlite3_limit()] interface returns the prior value of the limit.  ** ^Hence, to find the current value of a limit without changing it,  ** simply invoke this interface with the third parameter set to -1. @@ -3538,7 +3538,7 @@ SQLITE_API int sqlite3_limit(sqlite3*, int id, int newVal);  ** <dd>The SQLITE_PREPARE_PERSISTENT flag is a hint to the query planner  ** that the prepared statement will be retained for a long time and  ** probably reused many times.)^ ^Without this flag, [sqlite3_prepare_v3()] -** and [sqlite3_prepare16_v3()] assume that the prepared statement will  +** and [sqlite3_prepare16_v3()] assume that the prepared statement will  ** be used just once or at most a few times and then destroyed using  ** [sqlite3_finalize()] relatively soon. The current implementation acts  ** on this hint by avoiding the use of [lookaside memory] so as not to @@ -3630,12 +3630,12 @@ SQLITE_API int sqlite3_limit(sqlite3*, int id, int newVal);  ** </li>  **  ** <li> -** ^If the specific value bound to [parameter | host parameter] in the  +** ^If the specific value bound to [parameter | host parameter] in the  ** WHERE clause might influence the choice of query plan for a statement, -** then the statement will be automatically recompiled, as if there had been  +** then the statement will be automatically recompiled, as if there had been  ** a schema change, on the first  [sqlite3_step()] call following any change -** to the [sqlite3_bind_text | bindings] of that [parameter].  -** ^The specific value of WHERE-clause [parameter] might influence the  +** to the [sqlite3_bind_text | bindings] of that [parameter]. +** ^The specific value of WHERE-clause [parameter] might influence the  ** choice of query plan if the parameter is the left-hand side of a [LIKE]  ** or [GLOB] operator or if the parameter is compared to an indexed column  ** and the [SQLITE_ENABLE_STAT3] compile-time option is enabled. @@ -3737,8 +3737,8 @@ SQLITE_API char *sqlite3_expanded_sql(sqlite3_stmt *pStmt);  ** the content of the database file.  **  ** Note that [application-defined SQL functions] or -** [virtual tables] might change the database indirectly as a side effect.   -** ^(For example, if an application defines a function "eval()" that  +** [virtual tables] might change the database indirectly as a side effect. +** ^(For example, if an application defines a function "eval()" that  ** calls [sqlite3_exec()], then the following SQL statement would  ** change the database file through side-effects:  ** @@ -3752,10 +3752,10 @@ SQLITE_API char *sqlite3_expanded_sql(sqlite3_stmt *pStmt);  ** ^Transaction control statements such as [BEGIN], [COMMIT], [ROLLBACK],  ** [SAVEPOINT], and [RELEASE] cause sqlite3_stmt_readonly() to return true,  ** since the statements themselves do not actually modify the database but -** rather they control the timing of when other statements modify the  +** rather they control the timing of when other statements modify the  ** database.  ^The [ATTACH] and [DETACH] statements also cause  ** sqlite3_stmt_readonly() to return true since, while those statements -** change the configuration of a database connection, they do not make  +** change the configuration of a database connection, they do not make  ** changes to the content of the database files on disk.  ** ^The sqlite3_stmt_readonly() interface returns true for [BEGIN] since  ** [BEGIN] merely sets internal flags, but the [BEGIN|BEGIN IMMEDIATE] and @@ -3769,18 +3769,18 @@ SQLITE_API int sqlite3_stmt_readonly(sqlite3_stmt *pStmt);  ** METHOD: sqlite3_stmt  **  ** ^The sqlite3_stmt_busy(S) interface returns true (non-zero) if the -** [prepared statement] S has been stepped at least once using  +** [prepared statement] S has been stepped at least once using  ** [sqlite3_step(S)] but has neither run to completion (returned  ** [SQLITE_DONE] from [sqlite3_step(S)]) nor  ** been reset using [sqlite3_reset(S)].  ^The sqlite3_stmt_busy(S) -** interface returns false if S is a NULL pointer.  If S is not a  +** interface returns false if S is a NULL pointer.  If S is not a  ** NULL pointer and is not a pointer to a valid [prepared statement]  ** object, then the behavior is undefined and probably undesirable.  **  ** This interface can be used in combination [sqlite3_next_stmt()] -** to locate all prepared statements associated with a database  +** to locate all prepared statements associated with a database  ** connection that are in need of being reset.  This can be used, -** for example, in diagnostic routines to search for prepared  +** for example, in diagnostic routines to search for prepared  ** statements that are holding a transaction open.  */  SQLITE_API int sqlite3_stmt_busy(sqlite3_stmt*); @@ -3799,7 +3799,7 @@ SQLITE_API int sqlite3_stmt_busy(sqlite3_stmt*);  ** will accept either a protected or an unprotected sqlite3_value.  ** Every interface that accepts sqlite3_value arguments specifies  ** whether or not it requires a protected sqlite3_value.  The -** [sqlite3_value_dup()] interface can be used to construct a new  +** [sqlite3_value_dup()] interface can be used to construct a new  ** protected sqlite3_value from an unprotected sqlite3_value.  **  ** The terms "protected" and "unprotected" refer to whether or not @@ -3807,7 +3807,7 @@ SQLITE_API int sqlite3_stmt_busy(sqlite3_stmt*);  ** sqlite3_value object but no mutex is held for an unprotected  ** sqlite3_value object.  If SQLite is compiled to be single-threaded  ** (with [SQLITE_THREADSAFE=0] and with [sqlite3_threadsafe()] returning 0) -** or if SQLite is run in one of reduced mutex modes  +** or if SQLite is run in one of reduced mutex modes  ** [SQLITE_CONFIG_SINGLETHREAD] or [SQLITE_CONFIG_MULTITHREAD]  ** then there is no distinction between protected and unprotected  ** sqlite3_value objects and they can be used interchangeably.  However, @@ -3895,7 +3895,7 @@ typedef struct sqlite3_context sqlite3_context;  ** or sqlite3_bind_text16() or sqlite3_bind_text64() then  ** that parameter must be the byte offset  ** where the NUL terminator would occur assuming the string were NUL -** terminated.  If any NUL characters occur at byte offsets less than  +** terminated.  If any NUL characters occur at byte offsets less than  ** the value of the fourth parameter then the resulting string value will  ** contain embedded NULs.  The result of expressions involving strings  ** with embedded NULs is undefined. @@ -4055,7 +4055,7 @@ SQLITE_API int sqlite3_clear_bindings(sqlite3_stmt*);  ** METHOD: sqlite3_stmt  **  ** ^Return the number of columns in the result set returned by the -** [prepared statement]. ^If this routine returns 0, that means the  +** [prepared statement]. ^If this routine returns 0, that means the  ** [prepared statement] returns no data (for example an [UPDATE]).  ** ^However, just because this routine returns a positive number does not  ** mean that one or more rows of data will be returned.  ^A SELECT statement @@ -4241,7 +4241,7 @@ SQLITE_API const void *sqlite3_column_decltype16(sqlite3_stmt*,int);  ** For all versions of SQLite up to and including 3.6.23.1, a call to  ** [sqlite3_reset()] was required after sqlite3_step() returned anything  ** other than [SQLITE_ROW] before any subsequent invocation of -** sqlite3_step().  Failure to reset the prepared statement using  +** sqlite3_step().  Failure to reset the prepared statement using  ** [sqlite3_reset()] would result in an [SQLITE_MISUSE] return from  ** sqlite3_step().  But after [version 3.6.23.1] ([dateof:3.6.23.1],  ** sqlite3_step() began @@ -4332,7 +4332,7 @@ SQLITE_API int sqlite3_data_count(sqlite3_stmt *pStmt);  ** <tr><td><b>sqlite3_column_int64</b><td>→<td>64-bit INTEGER result  ** <tr><td><b>sqlite3_column_text</b><td>→<td>UTF-8 TEXT result  ** <tr><td><b>sqlite3_column_text16</b><td>→<td>UTF-16 TEXT result -** <tr><td><b>sqlite3_column_value</b><td>→<td>The result as an  +** <tr><td><b>sqlite3_column_value</b><td>→<td>The result as an  ** [sqlite3_value|unprotected sqlite3_value] object.  ** <tr><td> <td> <td>   ** <tr><td><b>sqlite3_column_bytes</b><td>→<td>Size of a BLOB @@ -4380,7 +4380,7 @@ SQLITE_API int sqlite3_data_count(sqlite3_stmt *pStmt);  ** The return value of sqlite3_column_type() can be used to decide which  ** of the first six interface should be used to extract the column value.  ** The value returned by sqlite3_column_type() is only meaningful if no -** automatic type conversions have occurred for the value in question.   +** automatic type conversions have occurred for the value in question.  ** After a type conversion, the result of calling sqlite3_column_type()  ** is undefined, though harmless.  Future  ** versions of SQLite may change the behavior of sqlite3_column_type() @@ -4408,7 +4408,7 @@ SQLITE_API int sqlite3_data_count(sqlite3_stmt *pStmt);  ** the number of bytes in that string.  ** ^If the result is NULL, then sqlite3_column_bytes16() returns zero.  ** -** ^The values returned by [sqlite3_column_bytes()] and  +** ^The values returned by [sqlite3_column_bytes()] and  ** [sqlite3_column_bytes16()] do not include the zero terminators at the end  ** of the string.  ^For clarity: the values returned by  ** [sqlite3_column_bytes()] and [sqlite3_column_bytes16()] are the number of @@ -4427,7 +4427,7 @@ SQLITE_API int sqlite3_data_count(sqlite3_stmt *pStmt);  ** to routines like [sqlite3_value_int()], [sqlite3_value_text()],  ** or [sqlite3_value_bytes()], the behavior is not threadsafe.  ** Hence, the sqlite3_column_value() interface -** is normally only useful within the implementation of  +** is normally only useful within the implementation of  ** [application-defined SQL functions] or [virtual tables], not within  ** top-level application code.  ** @@ -4603,7 +4603,7 @@ SQLITE_API int sqlite3_reset(sqlite3_stmt *pStmt);  ** ^The second parameter is the name of the SQL function to be created or  ** redefined.  ^The length of the name is limited to 255 bytes in a UTF-8  ** representation, exclusive of the zero-terminator.  ^Note that the name -** length limit is in UTF-8 bytes, not characters nor UTF-16 bytes.   +** length limit is in UTF-8 bytes, not characters nor UTF-16 bytes.  ** ^Any attempt to create a function with a longer name  ** will result in [SQLITE_MISUSE] being returned.  ** @@ -4618,7 +4618,7 @@ SQLITE_API int sqlite3_reset(sqlite3_stmt *pStmt);  ** ^The fourth parameter, eTextRep, specifies what  ** [SQLITE_UTF8 | text encoding] this SQL function prefers for  ** its parameters.  The application should set this parameter to -** [SQLITE_UTF16LE] if the function implementation invokes  +** [SQLITE_UTF16LE] if the function implementation invokes  ** [sqlite3_value_text16le()] on an input, or [SQLITE_UTF16BE] if the  ** implementation invokes [sqlite3_value_text16be()] on an input, or  ** [SQLITE_UTF16] if [sqlite3_value_text16()] is used, or [SQLITE_UTF8] @@ -4649,13 +4649,13 @@ SQLITE_API int sqlite3_reset(sqlite3_stmt *pStmt);  ** callbacks.  **  ** ^(If the ninth parameter to sqlite3_create_function_v2() is not NULL, -** then it is destructor for the application data pointer.  +** then it is destructor for the application data pointer.  ** The destructor is invoked when the function is deleted, either by being  ** overloaded or when the database connection closes.)^  ** ^The destructor is also invoked if the call to  ** sqlite3_create_function_v2() fails.  ** ^When the destructor callback of the tenth parameter is invoked, it -** is passed a single argument which is a copy of the application data  +** is passed a single argument which is a copy of the application data  ** pointer which was the fifth parameter to sqlite3_create_function_v2().  **  ** ^It is permitted to register multiple implementations of the same @@ -4666,7 +4666,7 @@ SQLITE_API int sqlite3_reset(sqlite3_stmt *pStmt);  ** nArg parameter is a better match than a function implementation with  ** a negative nArg.  ^A function where the preferred text encoding  ** matches the database encoding is a better -** match than a function where the encoding is different.   +** match than a function where the encoding is different.  ** ^A function where the encoding difference is between UTF16le and UTF16be  ** is a closer match than a function where the encoding difference is  ** between UTF8 and UTF16. @@ -4726,7 +4726,7 @@ SQLITE_API int sqlite3_create_function_v2(  /*  ** CAPI3REF: Function Flags  ** -** These constants may be ORed together with the  +** These constants may be ORed together with the  ** [SQLITE_UTF8 | preferred text encoding] as the fourth argument  ** to [sqlite3_create_function()], [sqlite3_create_function16()], or  ** [sqlite3_create_function_v2()]. @@ -4738,7 +4738,7 @@ SQLITE_API int sqlite3_create_function_v2(  ** DEPRECATED  **  ** These functions are [deprecated].  In order to maintain -** backwards compatibility with older code, these functions continue  +** backwards compatibility with older code, these functions continue  ** to be supported.  However, new applications should avoid  ** the use of these functions.  To encourage programmers to avoid  ** these functions, we will not explain what they do. @@ -4801,11 +4801,11 @@ SQLITE_API SQLITE_DEPRECATED int sqlite3_memory_alarm(void(*)(void*,sqlite3_int6  ** sqlite3_value_text16be() and sqlite3_value_text16le() interfaces  ** extract UTF-16 strings as big-endian and little-endian respectively.  ** -** ^If [sqlite3_value] object V was initialized  +** ^If [sqlite3_value] object V was initialized  ** using [sqlite3_bind_pointer(S,I,P,X,D)] or [sqlite3_result_pointer(C,P,X,D)]  ** and if X and Y are strings that compare equal according to strcmp(X,Y),  ** then sqlite3_value_pointer(V,Y) will return the pointer P.  ^Otherwise, -** sqlite3_value_pointer(V,Y) returns a NULL. The sqlite3_bind_pointer()  +** sqlite3_value_pointer(V,Y) returns a NULL. The sqlite3_bind_pointer()  ** routine is part of the [pointer passing interface] added for SQLite 3.20.0.  **  ** ^(The sqlite3_value_type(V) interface returns the @@ -4886,7 +4886,7 @@ SQLITE_API void sqlite3_value_free(sqlite3_value*);  ** Implementations of aggregate SQL functions use this  ** routine to allocate memory for storing their state.  ** -** ^The first time the sqlite3_aggregate_context(C,N) routine is called  +** ^The first time the sqlite3_aggregate_context(C,N) routine is called  ** for a particular aggregate function, SQLite  ** allocates N of memory, zeroes out that memory, and returns a pointer  ** to the new memory. ^On second and subsequent calls to @@ -4899,7 +4899,7 @@ SQLITE_API void sqlite3_value_free(sqlite3_value*);  ** In those cases, sqlite3_aggregate_context() might be called for the  ** first time from within xFinal().)^  ** -** ^The sqlite3_aggregate_context(C,N) routine returns a NULL pointer  +** ^The sqlite3_aggregate_context(C,N) routine returns a NULL pointer  ** when first called if N is less than or equal to zero or if a memory  ** allocate error occurs.  ** @@ -4908,10 +4908,10 @@ SQLITE_API void sqlite3_value_free(sqlite3_value*);  ** value of N in subsequent call to sqlite3_aggregate_context() within  ** the same aggregate function instance will not resize the memory  ** allocation.)^  Within the xFinal callback, it is customary to set -** N=0 in calls to sqlite3_aggregate_context(C,N) so that no  +** N=0 in calls to sqlite3_aggregate_context(C,N) so that no  ** pointless memory allocations occur.  ** -** ^SQLite automatically frees the memory allocated by  +** ^SQLite automatically frees the memory allocated by  ** sqlite3_aggregate_context() when the aggregate query concludes.  **  ** The first parameter must be a copy of the @@ -4961,7 +4961,7 @@ SQLITE_API sqlite3 *sqlite3_context_db_handle(sqlite3_context*);  ** some circumstances the associated metadata may be preserved.  An example  ** of where this might be useful is in a regular-expression matching  ** function. The compiled version of the regular expression can be stored as -** metadata associated with the pattern string.   +** metadata associated with the pattern string.  ** Then as long as the pattern string remains the same,  ** the compiled regular expression can be reused on multiple  ** invocations of the same function. @@ -4987,10 +4987,10 @@ SQLITE_API sqlite3 *sqlite3_context_db_handle(sqlite3_context*);  **      SQL statement)^, or  ** <li> ^(when sqlite3_set_auxdata() is invoked again on the same  **       parameter)^, or -** <li> ^(during the original sqlite3_set_auxdata() call when a memory  +** <li> ^(during the original sqlite3_set_auxdata() call when a memory  **      allocation error occurs.)^ </ul>  ** -** Note the last bullet in particular.  The destructor X in  +** Note the last bullet in particular.  The destructor X in  ** sqlite3_set_auxdata(C,N,P,X) might be called immediately, before the  ** sqlite3_set_auxdata() interface even returns.  Hence sqlite3_set_auxdata()  ** should be called near the end of the function implementation and the @@ -5143,7 +5143,7 @@ typedef void (*sqlite3_destructor_type)(void*);  **  ** ^The sqlite3_result_pointer(C,P,T,D) interface sets the result to an  ** SQL NULL value, just like [sqlite3_result_null(C)], except that it -** also associates the host-language pointer P or type T with that  +** also associates the host-language pointer P or type T with that  ** NULL value such that the pointer can be retrieved within an  ** [application-defined SQL function] using [sqlite3_value_pointer()].  ** ^If the D parameter is not NULL, then it is a pointer to a destructor @@ -5185,8 +5185,8 @@ SQLITE_API int sqlite3_result_zeroblob64(sqlite3_context*, sqlite3_uint64 n);  ** METHOD: sqlite3_context  **  ** The sqlite3_result_subtype(C,T) function causes the subtype of -** the result from the [application-defined SQL function] with  -** [sqlite3_context] C to be the value T.  Only the lower 8 bits  +** the result from the [application-defined SQL function] with +** [sqlite3_context] C to be the value T.  Only the lower 8 bits  ** of the subtype T are preserved in current versions of SQLite;  ** higher order bits are discarded.  ** The number of subtype bytes preserved by SQLite might increase @@ -5233,7 +5233,7 @@ SQLITE_API void sqlite3_result_subtype(sqlite3_context*,unsigned int);  ** deleted.  ^When all collating functions having the same name are deleted,  ** that collation is no longer usable.  ** -** ^The collating function callback is invoked with a copy of the pArg  +** ^The collating function callback is invoked with a copy of the pArg  ** application data pointer and with two strings in the encoding specified  ** by the eTextRep argument.  The collating function must return an  ** integer that is negative, zero, or positive @@ -5263,36 +5263,36 @@ SQLITE_API void sqlite3_result_subtype(sqlite3_context*,unsigned int);  ** calls to the collation creation functions or when the  ** [database connection] is closed using [sqlite3_close()].  ** -** ^The xDestroy callback is <u>not</u> called if the  +** ^The xDestroy callback is <u>not</u> called if the  ** sqlite3_create_collation_v2() function fails.  Applications that invoke -** sqlite3_create_collation_v2() with a non-NULL xDestroy argument should  +** sqlite3_create_collation_v2() with a non-NULL xDestroy argument should  ** check the return code and dispose of the application data pointer  ** themselves rather than expecting SQLite to deal with it for them. -** This is different from every other SQLite interface.  The inconsistency  -** is unfortunate but cannot be changed without breaking backwards  +** This is different from every other SQLite interface.  The inconsistency +** is unfortunate but cannot be changed without breaking backwards  ** compatibility.  **  ** See also:  [sqlite3_collation_needed()] and [sqlite3_collation_needed16()].  */  SQLITE_API int sqlite3_create_collation( -  sqlite3*,  -  const char *zName,  -  int eTextRep,  +  sqlite3*, +  const char *zName, +  int eTextRep,    void *pArg,    int(*xCompare)(void*,int,const void*,int,const void*)  );  SQLITE_API int sqlite3_create_collation_v2( -  sqlite3*,  -  const char *zName,  -  int eTextRep,  +  sqlite3*, +  const char *zName, +  int eTextRep,    void *pArg,    int(*xCompare)(void*,int,const void*,int,const void*),    void(*xDestroy)(void*)  );  SQLITE_API int sqlite3_create_collation16( -  sqlite3*,  +  sqlite3*,    const void *zName, -  int eTextRep,  +  int eTextRep,    void *pArg,    int(*xCompare)(void*,int,const void*,int,const void*)  ); @@ -5325,12 +5325,12 @@ SQLITE_API int sqlite3_create_collation16(  ** [sqlite3_create_collation_v2()].  */  SQLITE_API int sqlite3_collation_needed( -  sqlite3*,  -  void*,  +  sqlite3*, +  void*,    void(*)(void*,sqlite3*,int eTextRep,const char*)  );  SQLITE_API int sqlite3_collation_needed16( -  sqlite3*,  +  sqlite3*,    void*,    void(*)(void*,sqlite3*,int eTextRep,const void*)  ); @@ -5372,7 +5372,7 @@ SQLITE_API int sqlite3_rekey_v2(  );  /* -** Specify the activation key for a SEE database.  Unless  +** Specify the activation key for a SEE database.  Unless  ** activated, none of the SEE routines will work.  */  SQLITE_API void sqlite3_activate_see( @@ -5382,7 +5382,7 @@ SQLITE_API void sqlite3_activate_see(  #ifdef SQLITE_ENABLE_CEROD  /* -** Specify the activation key for a CEROD database.  Unless  +** Specify the activation key for a CEROD database.  Unless  ** activated, none of the CEROD routines will work.  */  SQLITE_API void sqlite3_activate_cerod( @@ -5438,7 +5438,7 @@ SQLITE_API int sqlite3_sleep(int);  ** ^The [temp_store_directory pragma] may modify this variable and cause  ** it to point to memory obtained from [sqlite3_malloc].  ^Furthermore,  ** the [temp_store_directory pragma] always assumes that any string -** that this variable points to is held in memory obtained from  +** that this variable points to is held in memory obtained from  ** [sqlite3_malloc] and the pragma may attempt to free that memory  ** using [sqlite3_free].  ** Hence, if this variable is modified directly, either it should be @@ -5495,7 +5495,7 @@ SQLITE_API SQLITE_EXTERN char *sqlite3_temp_directory;  ** ^The [data_store_directory pragma] may modify this variable and cause  ** it to point to memory obtained from [sqlite3_malloc].  ^Furthermore,  ** the [data_store_directory pragma] always assumes that any string -** that this variable points to is held in memory obtained from  +** that this variable points to is held in memory obtained from  ** [sqlite3_malloc] and the pragma may attempt to free that memory  ** using [sqlite3_free].  ** Hence, if this variable is modified directly, either it should be @@ -5684,7 +5684,7 @@ SQLITE_API void *sqlite3_rollback_hook(sqlite3*, void(*)(void *), void*);  ** and [sqlite3_preupdate_hook()] interfaces.  */  SQLITE_API void *sqlite3_update_hook( -  sqlite3*,  +  sqlite3*,    void(*)(void *,int ,char const *,char const *,sqlite3_int64),    void*  ); @@ -5698,7 +5698,7 @@ SQLITE_API void *sqlite3_update_hook(  ** and disabled if the argument is false.)^  **  ** ^Cache sharing is enabled and disabled for an entire process. -** This is a change as of SQLite [version 3.5.0] ([dateof:3.5.0]).  +** This is a change as of SQLite [version 3.5.0] ([dateof:3.5.0]).  ** In prior versions of SQLite,  ** sharing was enabled or disabled for each thread separately.  ** @@ -5715,8 +5715,8 @@ SQLITE_API void *sqlite3_update_hook(  ** cache setting should set it explicitly.  **  ** Note: This method is disabled on MacOS X 10.7 and iOS version 5.0 -** and will always return SQLITE_MISUSE. On those systems,  -** shared cache mode should be enabled per-database connection via  +** and will always return SQLITE_MISUSE. On those systems, +** shared cache mode should be enabled per-database connection via  ** [sqlite3_open_v2()] with [SQLITE_OPEN_SHAREDCACHE].  **  ** This interface is threadsafe on processors where writing a @@ -5766,7 +5766,7 @@ SQLITE_API int sqlite3_db_release_memory(sqlite3*);  ** as heap memory usages approaches the limit.  ** ^The soft heap limit is "soft" because even though SQLite strives to stay  ** below the limit, it will exceed the limit rather than generate -** an [SQLITE_NOMEM] error.  In other words, the soft heap limit  +** an [SQLITE_NOMEM] error.  In other words, the soft heap limit  ** is advisory only.  **  ** ^The return value from sqlite3_soft_heap_limit64() is the size of @@ -5793,7 +5793,7 @@ SQLITE_API int sqlite3_db_release_memory(sqlite3*);  **      from the heap.  ** </ul>)^  ** -** Beginning with SQLite [version 3.7.3] ([dateof:3.7.3]),  +** Beginning with SQLite [version 3.7.3] ([dateof:3.7.3]),  ** the soft heap limit is enforced  ** regardless of whether or not the [SQLITE_ENABLE_MEMORY_MANAGEMENT]  ** compile-time option is invoked.  With [SQLITE_ENABLE_MEMORY_MANAGEMENT], @@ -5871,7 +5871,7 @@ SQLITE_API SQLITE_DEPRECATED void sqlite3_soft_heap_limit(int N);  **  ** ^If the specified table is actually a view, an [error code] is returned.  ** -** ^If the specified column is "rowid", "oid" or "_rowid_" and the table  +** ^If the specified column is "rowid", "oid" or "_rowid_" and the table  ** is not a [WITHOUT ROWID] table and an  ** [INTEGER PRIMARY KEY] column has been explicitly declared, then the output  ** parameters are set for the explicitly declared column. ^(If there is no @@ -5937,7 +5937,7 @@ SQLITE_API int sqlite3_table_column_metadata(  ** prior to calling this API,  ** otherwise an error will be returned.  ** -** <b>Security warning:</b> It is recommended that the  +** <b>Security warning:</b> It is recommended that the  ** [SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION] method be used to enable only this  ** interface.  The use of the [sqlite3_enable_load_extension()] interface  ** should be avoided.  This will keep the SQL function [load_extension()] @@ -6024,7 +6024,7 @@ SQLITE_API int sqlite3_auto_extension(void(*xEntryPoint)(void));  ** ^The [sqlite3_cancel_auto_extension(X)] interface unregisters the  ** initialization routine X that was registered using a prior call to  ** [sqlite3_auto_extension(X)].  ^The [sqlite3_cancel_auto_extension(X)] -** routine returns 1 if initialization routine X was successfully  +** routine returns 1 if initialization routine X was successfully  ** unregistered and it returns 0 if X was not on the list of initialization  ** routines.  */ @@ -6059,8 +6059,8 @@ typedef struct sqlite3_module sqlite3_module;  ** CAPI3REF: Virtual Table Object  ** KEYWORDS: sqlite3_module {virtual table module}  ** -** This structure, sometimes called a "virtual table module",  -** defines the implementation of a [virtual tables].   +** This structure, sometimes called a "virtual table module", +** defines the implementation of a [virtual tables].  ** This structure consists mostly of methods for the module.  **  ** ^A virtual table module is created by filling in a persistent @@ -6099,7 +6099,7 @@ struct sqlite3_module {                         void (**pxFunc)(sqlite3_context*,int,sqlite3_value**),                         void **ppArg);    int (*xRename)(sqlite3_vtab *pVtab, const char *zNew); -  /* The methods above are in version 1 of the sqlite_module object. Those  +  /* The methods above are in version 1 of the sqlite_module object. Those    ** below are for version 2 and greater. */    int (*xSavepoint)(sqlite3_vtab *pVTab, int);    int (*xRelease)(sqlite3_vtab *pVTab, int); @@ -6146,7 +6146,7 @@ struct sqlite3_module {  ** required by SQLite. If the table has at least 64 columns and any column  ** to the right of the first 63 is required, then bit 63 of colUsed is also  ** set. In other words, column iCol may be required if the expression -** (colUsed & ((sqlite3_uint64)1 << (iCol>=63 ? 63 : iCol))) evaluates to  +** (colUsed & ((sqlite3_uint64)1 << (iCol>=63 ? 63 : iCol))) evaluates to  ** non-zero.  **  ** The [xBestIndex] method must fill aConstraintUsage[] with information @@ -6167,17 +6167,17 @@ struct sqlite3_module {  **  ** ^The estimatedCost value is an estimate of the cost of a particular  ** strategy. A cost of N indicates that the cost of the strategy is similar -** to a linear scan of an SQLite table with N rows. A cost of log(N)  +** to a linear scan of an SQLite table with N rows. A cost of log(N)  ** indicates that the expense of the operation is similar to that of a  ** binary search on a unique indexed field of an SQLite table with N rows.  **  ** ^The estimatedRows value is an estimate of the number of rows that  ** will be returned by the strategy.  ** -** The xBestIndex method may optionally populate the idxFlags field with a  +** The xBestIndex method may optionally populate the idxFlags field with a  ** mask of SQLITE_INDEX_SCAN_* flags. Currently there is only one such flag -  ** SQLITE_INDEX_SCAN_UNIQUE. If the xBestIndex method sets this flag, SQLite -** assumes that the strategy may visit at most one row.  +** assumes that the strategy may visit at most one row.  **  ** Additionally, if xBestIndex sets the SQLITE_INDEX_SCAN_UNIQUE flag, then  ** SQLite also assumes that if a call to the xUpdate() method is made as @@ -6190,14 +6190,14 @@ struct sqlite3_module {  ** the xUpdate method are automatically rolled back by SQLite.  **  ** IMPORTANT: The estimatedRows field was added to the sqlite3_index_info -** structure for SQLite [version 3.8.2] ([dateof:3.8.2]).  +** structure for SQLite [version 3.8.2] ([dateof:3.8.2]).  ** If a virtual table extension is -** used with an SQLite version earlier than 3.8.2, the results of attempting  -** to read or write the estimatedRows field are undefined (but are likely  +** used with an SQLite version earlier than 3.8.2, the results of attempting +** to read or write the estimatedRows field are undefined (but are likely  ** to included crashing the application). The estimatedRows field should  ** therefore only be used if [sqlite3_libversion_number()] returns a  ** value greater than or equal to 3008002. Similarly, the idxFlags field -** was added for [version 3.9.0] ([dateof:3.9.0]).  +** was added for [version 3.9.0] ([dateof:3.9.0]).  ** It may therefore only be used if  ** sqlite3_libversion_number() returns a value greater than or equal to  ** 3009000. @@ -6272,7 +6272,7 @@ struct sqlite3_index_info {  ** preexisting [virtual table] for the module.  **  ** ^The module name is registered on the [database connection] specified -** by the first parameter.  ^The name of the module is given by the  +** by the first parameter.  ^The name of the module is given by the  ** second parameter.  ^The third parameter is a pointer to  ** the implementation of the [virtual table module].   ^The fourth  ** parameter is an arbitrary client data pointer that is passed through @@ -6364,7 +6364,7 @@ SQLITE_API int sqlite3_declare_vtab(sqlite3*, const char *zSQL);  ** METHOD: sqlite3  **  ** ^(Virtual tables can provide alternative implementations of functions -** using the [xFindFunction] method of the [virtual table module].   +** using the [xFindFunction] method of the [virtual table module].  ** But global versions of those functions  ** must exist in order to be overloaded.)^  ** @@ -6415,7 +6415,7 @@ typedef struct sqlite3_blob sqlite3_blob;  **     SELECT zColumn FROM zDb.zTable WHERE [rowid] = iRow;  ** </pre>)^  ** -** ^(Parameter zDb is not the filename that contains the database, but  +** ^(Parameter zDb is not the filename that contains the database, but  ** rather the symbolic name of the database. For attached databases, this is  ** the name that appears after the AS keyword in the [ATTACH] statement.  ** For the main database file, the database name is "main". For TEMP @@ -6428,28 +6428,28 @@ typedef struct sqlite3_blob sqlite3_blob;  ** ^(On success, [SQLITE_OK] is returned and the new [BLOB handle] is stored  ** in *ppBlob. Otherwise an [error code] is returned and, unless the error  ** code is SQLITE_MISUSE, *ppBlob is set to NULL.)^ ^This means that, provided -** the API is not misused, it is always safe to call [sqlite3_blob_close()]  +** the API is not misused, it is always safe to call [sqlite3_blob_close()]  ** on *ppBlob after this function it returns.  **  ** This function fails with SQLITE_ERROR if any of the following are true:  ** <ul> -**   <li> ^(Database zDb does not exist)^,  -**   <li> ^(Table zTable does not exist within database zDb)^,  -**   <li> ^(Table zTable is a WITHOUT ROWID table)^,  +**   <li> ^(Database zDb does not exist)^, +**   <li> ^(Table zTable does not exist within database zDb)^, +**   <li> ^(Table zTable is a WITHOUT ROWID table)^,  **   <li> ^(Column zColumn does not exist)^,  **   <li> ^(Row iRow is not present in the table)^,  **   <li> ^(The specified column of row iRow contains a value that is not  **         a TEXT or BLOB value)^, -**   <li> ^(Column zColumn is part of an index, PRIMARY KEY or UNIQUE  +**   <li> ^(Column zColumn is part of an index, PRIMARY KEY or UNIQUE  **         constraint and the blob is being opened for read/write access)^, -**   <li> ^([foreign key constraints | Foreign key constraints] are enabled,  +**   <li> ^([foreign key constraints | Foreign key constraints] are enabled,  **         column zColumn is part of a [child key] definition and the blob is  **         being opened for read/write access)^.  ** </ul>  ** -** ^Unless it returns SQLITE_MISUSE, this function sets the  -** [database connection] error code and message accessible via  -** [sqlite3_errcode()] and [sqlite3_errmsg()] and related functions.  +** ^Unless it returns SQLITE_MISUSE, this function sets the +** [database connection] error code and message accessible via +** [sqlite3_errcode()] and [sqlite3_errmsg()] and related functions.  **  ** A BLOB referenced by sqlite3_blob_open() may be read using the  ** [sqlite3_blob_read()] interface and modified by using @@ -6475,7 +6475,7 @@ typedef struct sqlite3_blob sqlite3_blob;  ** blob.  **  ** ^The [sqlite3_bind_zeroblob()] and [sqlite3_result_zeroblob()] interfaces -** and the built-in [zeroblob] SQL function may be used to create a  +** and the built-in [zeroblob] SQL function may be used to create a  ** zero-filled blob to read or write using the incremental-blob interface.  **  ** To avoid a resource leak, every open [BLOB handle] should eventually @@ -6525,7 +6525,7 @@ SQLITE_API int sqlite3_blob_reopen(sqlite3_blob *, sqlite3_int64);  ** DESTRUCTOR: sqlite3_blob  **  ** ^This function closes an open [BLOB handle]. ^(The BLOB handle is closed -** unconditionally.  Even if this routine returns an error code, the  +** unconditionally.  Even if this routine returns an error code, the  ** handle is still closed.)^  **  ** ^If the blob handle being closed was opened for read-write access, and if @@ -6535,10 +6535,10 @@ SQLITE_API int sqlite3_blob_reopen(sqlite3_blob *, sqlite3_int64);  ** code is returned and the transaction rolled back.  **  ** Calling this function with an argument that is not a NULL pointer or an -** open blob handle results in undefined behaviour. ^Calling this routine  -** with a null pointer (such as would be returned by a failed call to  +** open blob handle results in undefined behaviour. ^Calling this routine +** with a null pointer (such as would be returned by a failed call to  ** [sqlite3_blob_open()]) is a harmless no-op. ^Otherwise, if this function -** is passed a valid open blob handle, the values returned by the  +** is passed a valid open blob handle, the values returned by the  ** sqlite3_errcode() and sqlite3_errmsg() functions are set before returning.  */  SQLITE_API int sqlite3_blob_close(sqlite3_blob *); @@ -6547,7 +6547,7 @@ SQLITE_API int sqlite3_blob_close(sqlite3_blob *);  ** CAPI3REF: Return The Size Of An Open BLOB  ** METHOD: sqlite3_blob  ** -** ^Returns the size in bytes of the BLOB accessible via the  +** ^Returns the size in bytes of the BLOB accessible via the  ** successfully opened [BLOB handle] in its only argument.  ^The  ** incremental blob I/O routines can only read or overwriting existing  ** blob content; they cannot change the size of a blob. @@ -6598,9 +6598,9 @@ SQLITE_API int sqlite3_blob_read(sqlite3_blob *, void *Z, int N, int iOffset);  **  ** ^(On success, sqlite3_blob_write() returns SQLITE_OK.  ** Otherwise, an  [error code] or an [extended error code] is returned.)^ -** ^Unless SQLITE_MISUSE is returned, this function sets the  -** [database connection] error code and message accessible via  -** [sqlite3_errcode()] and [sqlite3_errmsg()] and related functions.  +** ^Unless SQLITE_MISUSE is returned, this function sets the +** [database connection] error code and message accessible via +** [sqlite3_errcode()] and [sqlite3_errmsg()] and related functions.  **  ** ^If the [BLOB handle] passed as the first argument was not opened for  ** writing (the flags parameter to [sqlite3_blob_open()] was zero), @@ -6609,9 +6609,9 @@ SQLITE_API int sqlite3_blob_read(sqlite3_blob *, void *Z, int N, int iOffset);  ** This function may only modify the contents of the BLOB; it is  ** not possible to increase the size of a BLOB using this API.  ** ^If offset iOffset is less than N bytes from the end of the BLOB, -** [SQLITE_ERROR] is returned and no data is written. The size of the  -** BLOB (and hence the maximum value of N+iOffset) can be determined  -** using the [sqlite3_blob_bytes()] interface. ^If N or iOffset are less  +** [SQLITE_ERROR] is returned and no data is written. The size of the +** BLOB (and hence the maximum value of N+iOffset) can be determined +** using the [sqlite3_blob_bytes()] interface. ^If N or iOffset are less  ** than zero [SQLITE_ERROR] is returned and no data is written.  **  ** ^An attempt to write to an expired [BLOB handle] fails with an @@ -6763,7 +6763,7 @@ SQLITE_API int sqlite3_vfs_unregister(sqlite3_vfs*);  ** ^(Some systems (for example, Windows 95) do not support the operation  ** implemented by sqlite3_mutex_try().  On those systems, sqlite3_mutex_try()  ** will always return SQLITE_BUSY. The SQLite core only ever uses -** sqlite3_mutex_try() as an optimization so this is acceptable  +** sqlite3_mutex_try() as an optimization so this is acceptable  ** behavior.)^  **  ** ^The sqlite3_mutex_leave() routine exits a mutex that was @@ -6926,7 +6926,7 @@ SQLITE_API int sqlite3_mutex_notheld(sqlite3_mutex*);  ** CAPI3REF: Retrieve the mutex for a database connection  ** METHOD: sqlite3  ** -** ^This interface returns a pointer the [sqlite3_mutex] object that  +** ^This interface returns a pointer the [sqlite3_mutex] object that  ** serializes access to the [database connection] given in the argument  ** when the [threading mode] is Serialized.  ** ^If the [threading mode] is Single-thread or Multi-thread then this @@ -7080,7 +7080,7 @@ SQLITE_API int sqlite3_status64(  ** <dd>This parameter records the largest memory allocation request  ** handed to [sqlite3_malloc()] or [sqlite3_realloc()] (or their  ** internal equivalents).  Only the value returned in the -** *pHighwater parameter to [sqlite3_status()] is of interest.   +** *pHighwater parameter to [sqlite3_status()] is of interest.  ** The value written into the *pCurrent parameter is undefined.</dd>)^  **  ** [[SQLITE_STATUS_MALLOC_COUNT]] ^(<dt>SQLITE_STATUS_MALLOC_COUNT</dt> @@ -7089,11 +7089,11 @@ SQLITE_API int sqlite3_status64(  **  ** [[SQLITE_STATUS_PAGECACHE_USED]] ^(<dt>SQLITE_STATUS_PAGECACHE_USED</dt>  ** <dd>This parameter returns the number of pages used out of the -** [pagecache memory allocator] that was configured using  +** [pagecache memory allocator] that was configured using  ** [SQLITE_CONFIG_PAGECACHE].  The  ** value returned is in pages, not in bytes.</dd>)^  ** -** [[SQLITE_STATUS_PAGECACHE_OVERFLOW]]  +** [[SQLITE_STATUS_PAGECACHE_OVERFLOW]]  ** ^(<dt>SQLITE_STATUS_PAGECACHE_OVERFLOW</dt>  ** <dd>This parameter returns the number of bytes of page cache  ** allocation which could not be satisfied by the [SQLITE_CONFIG_PAGECACHE] @@ -7106,7 +7106,7 @@ SQLITE_API int sqlite3_status64(  ** [[SQLITE_STATUS_PAGECACHE_SIZE]] ^(<dt>SQLITE_STATUS_PAGECACHE_SIZE</dt>  ** <dd>This parameter records the largest memory allocation request  ** handed to [pagecache memory allocator].  Only the value returned in the -** *pHighwater parameter to [sqlite3_status()] is of interest.   +** *pHighwater parameter to [sqlite3_status()] is of interest.  ** The value written into the *pCurrent parameter is undefined.</dd>)^  **  ** [[SQLITE_STATUS_SCRATCH_USED]] <dt>SQLITE_STATUS_SCRATCH_USED</dt> @@ -7119,7 +7119,7 @@ SQLITE_API int sqlite3_status64(  ** <dd>No longer used.</dd>  **  ** [[SQLITE_STATUS_PARSER_STACK]] ^(<dt>SQLITE_STATUS_PARSER_STACK</dt> -** <dd>The *pHighwater parameter records the deepest parser stack.  +** <dd>The *pHighwater parameter records the deepest parser stack.  ** The *pCurrent value is undefined.  The *pHighwater value is only  ** meaningful if SQLite is compiled with [YYTRACKMAXSTACKDEPTH].</dd>)^  ** </dl> @@ -7141,12 +7141,12 @@ SQLITE_API int sqlite3_status64(  ** CAPI3REF: Database Connection Status  ** METHOD: sqlite3  ** -** ^This interface is used to retrieve runtime status information  +** ^This interface is used to retrieve runtime status information  ** about a single [database connection].  ^The first argument is the  ** database connection object to be interrogated.  ^The second argument  ** is an integer constant, taken from the set of  ** [SQLITE_DBSTATUS options], that -** determines the parameter to interrogate.  The set of  +** determines the parameter to interrogate.  The set of  ** [SQLITE_DBSTATUS options] is likely  ** to grow in future releases of SQLite.  ** @@ -7181,7 +7181,7 @@ SQLITE_API int sqlite3_db_status(sqlite3*, int op, int *pCur, int *pHiwtr, int r  ** checked out.</dd>)^  **  ** [[SQLITE_DBSTATUS_LOOKASIDE_HIT]] ^(<dt>SQLITE_DBSTATUS_LOOKASIDE_HIT</dt> -** <dd>This parameter returns the number malloc attempts that were  +** <dd>This parameter returns the number malloc attempts that were  ** satisfied using lookaside memory. Only the high-water value is meaningful;  ** the current value is always zero.)^  ** @@ -7206,7 +7206,7 @@ SQLITE_API int sqlite3_db_status(sqlite3*, int op, int *pCur, int *pHiwtr, int r  ** memory used by all pager caches associated with the database connection.)^  ** ^The highwater mark associated with SQLITE_DBSTATUS_CACHE_USED is always 0.  ** -** [[SQLITE_DBSTATUS_CACHE_USED_SHARED]]  +** [[SQLITE_DBSTATUS_CACHE_USED_SHARED]]  ** ^(<dt>SQLITE_DBSTATUS_CACHE_USED_SHARED</dt>  ** <dd>This parameter is similar to DBSTATUS_CACHE_USED, except that if a  ** pager cache is shared between two or more connections the bytes of heap @@ -7221,7 +7221,7 @@ SQLITE_API int sqlite3_db_status(sqlite3*, int op, int *pCur, int *pHiwtr, int r  ** [[SQLITE_DBSTATUS_SCHEMA_USED]] ^(<dt>SQLITE_DBSTATUS_SCHEMA_USED</dt>  ** <dd>This parameter returns the approximate number of bytes of heap  ** memory used to store the schema for all databases associated -** with the connection - main, temp, and any [ATTACH]-ed databases.)^  +** with the connection - main, temp, and any [ATTACH]-ed databases.)^  ** ^The full amount of memory used by the schemas is reported, even if the  ** schema memory is shared with other database connections due to  ** [shared cache mode] being enabled. @@ -7236,13 +7236,13 @@ SQLITE_API int sqlite3_db_status(sqlite3*, int op, int *pCur, int *pHiwtr, int r  **  ** [[SQLITE_DBSTATUS_CACHE_HIT]] ^(<dt>SQLITE_DBSTATUS_CACHE_HIT</dt>  ** <dd>This parameter returns the number of pager cache hits that have -** occurred.)^ ^The highwater mark associated with SQLITE_DBSTATUS_CACHE_HIT  +** occurred.)^ ^The highwater mark associated with SQLITE_DBSTATUS_CACHE_HIT  ** is always 0.  ** </dd>  **  ** [[SQLITE_DBSTATUS_CACHE_MISS]] ^(<dt>SQLITE_DBSTATUS_CACHE_MISS</dt>  ** <dd>This parameter returns the number of pager cache misses that have -** occurred.)^ ^The highwater mark associated with SQLITE_DBSTATUS_CACHE_MISS  +** occurred.)^ ^The highwater mark associated with SQLITE_DBSTATUS_CACHE_MISS  ** is always 0.  ** </dd>  ** @@ -7290,7 +7290,7 @@ SQLITE_API int sqlite3_db_status(sqlite3*, int op, int *pCur, int *pHiwtr, int r  ** statements.  For example, if the number of table steps greatly exceeds  ** the number of table searches or result rows, that would tend to indicate  ** that the prepared statement is using a full table scan rather than -** an index.   +** an index.  **  ** ^(This interface is used to retrieve and reset counter values from  ** a [prepared statement].  The first argument is the prepared statement @@ -7317,7 +7317,7 @@ SQLITE_API int sqlite3_stmt_status(sqlite3_stmt*, int op,int resetFlg);  ** [[SQLITE_STMTSTATUS_FULLSCAN_STEP]] <dt>SQLITE_STMTSTATUS_FULLSCAN_STEP</dt>  ** <dd>^This is the number of times that SQLite has stepped forward in  ** a table as part of a full table scan.  Large numbers for this counter -** may indicate opportunities for performance improvement through  +** may indicate opportunities for performance improvement through  ** careful use of indices.</dd>  **  ** [[SQLITE_STMTSTATUS_SORT]] <dt>SQLITE_STMTSTATUS_SORT</dt> @@ -7335,14 +7335,14 @@ SQLITE_API int sqlite3_stmt_status(sqlite3_stmt*, int op,int resetFlg);  ** [[SQLITE_STMTSTATUS_VM_STEP]] <dt>SQLITE_STMTSTATUS_VM_STEP</dt>  ** <dd>^This is the number of virtual machine operations executed  ** by the prepared statement if that number is less than or equal -** to 2147483647.  The number of virtual machine operations can be  +** to 2147483647.  The number of virtual machine operations can be  ** used as a proxy for the total work done by the prepared statement.  ** If the number of virtual machine operations exceeds 2147483647  ** then the value returned by this statement status code is undefined.  **  ** [[SQLITE_STMTSTATUS_REPREPARE]] <dt>SQLITE_STMTSTATUS_REPREPARE</dt>  ** <dd>^This is the number of times that the prepare statement has been -** automatically regenerated due to schema changes or change to  +** automatically regenerated due to schema changes or change to  ** [bound parameters] that might affect the query plan.  **  ** [[SQLITE_STMTSTATUS_RUN]] <dt>SQLITE_STMTSTATUS_RUN</dt> @@ -7402,15 +7402,15 @@ struct sqlite3_pcache_page {  ** KEYWORDS: {page cache}  **  ** ^(The [sqlite3_config]([SQLITE_CONFIG_PCACHE2], ...) interface can -** register an alternative page cache implementation by passing in an  +** register an alternative page cache implementation by passing in an  ** instance of the sqlite3_pcache_methods2 structure.)^ -** In many applications, most of the heap memory allocated by  +** In many applications, most of the heap memory allocated by  ** SQLite is used for the page cache. -** By implementing a  +** By implementing a  ** custom page cache using this API, an application can better control -** the amount of memory consumed by SQLite, the way in which  -** that memory is allocated and released, and the policies used to  -** determine exactly which parts of a database file are cached and for  +** the amount of memory consumed by SQLite, the way in which +** that memory is allocated and released, and the policies used to +** determine exactly which parts of a database file are cached and for  ** how long.  **  ** The alternative page cache mechanism is an @@ -7423,19 +7423,19 @@ struct sqlite3_pcache_page {  ** [sqlite3_config()] returns.)^  **  ** [[the xInit() page cache method]] -** ^(The xInit() method is called once for each effective  +** ^(The xInit() method is called once for each effective  ** call to [sqlite3_initialize()])^  ** (usually only once during the lifetime of the process). ^(The xInit()  ** method is passed a copy of the sqlite3_pcache_methods2.pArg value.)^ -** The intent of the xInit() method is to set up global data structures  -** required by the custom page cache implementation.  -** ^(If the xInit() method is NULL, then the  +** The intent of the xInit() method is to set up global data structures +** required by the custom page cache implementation. +** ^(If the xInit() method is NULL, then the  ** built-in default page cache is used instead of the application defined  ** page cache.)^  **  ** [[the xShutdown() page cache method]]  ** ^The xShutdown() method is called by [sqlite3_shutdown()]. -** It can be used to clean up  +** It can be used to clean up  ** any outstanding resources before process shutdown, if required.  ** ^The xShutdown() method may be NULL.  ** @@ -7454,7 +7454,7 @@ struct sqlite3_pcache_page {  ** though this is not guaranteed. ^The  ** first parameter, szPage, is the size in bytes of the pages that must  ** be allocated by the cache.  ^szPage will always a power of two.  ^The -** second parameter szExtra is a number of bytes of extra storage  +** second parameter szExtra is a number of bytes of extra storage  ** associated with each page cache entry.  ^The szExtra parameter will  ** a number less than 250.  SQLite will use the  ** extra szExtra bytes on each page to store metadata about the underlying @@ -7467,7 +7467,7 @@ struct sqlite3_pcache_page {  ** it is purely advisory.  ^On a cache where bPurgeable is false, SQLite will  ** never invoke xUnpin() except to deliberately delete a page.  ** ^In other words, calls to xUnpin() on a cache with bPurgeable set to -** false will always have the "discard" flag set to true.   +** false will always have the "discard" flag set to true.  ** ^Hence, a cache created with bPurgeable false will  ** never contain any unpinned pages.  ** @@ -7482,12 +7482,12 @@ struct sqlite3_pcache_page {  ** [[the xPagecount() page cache methods]]  ** The xPagecount() method must return the number of pages currently  ** stored in the cache, both pinned and unpinned. -**  +**  ** [[the xFetch() page cache methods]] -** The xFetch() method locates a page in the cache and returns a pointer to  +** The xFetch() method locates a page in the cache and returns a pointer to  ** an sqlite3_pcache_page object associated with that page, or a NULL pointer.  ** The pBuf element of the returned sqlite3_pcache_page object will be a -** pointer to a buffer of szPage bytes used to store the content of a  +** pointer to a buffer of szPage bytes used to store the content of a  ** single database page.  The pExtra element of sqlite3_pcache_page will be  ** a pointer to the szExtra bytes of extra storage that SQLite has requested  ** for each entry in the page cache. @@ -7526,8 +7526,8 @@ struct sqlite3_pcache_page {  ** page cache implementation. ^The page cache implementation  ** may choose to evict unpinned pages at any time.  ** -** The cache must not perform any reference counting. A single  -** call to xUnpin() unpins the page regardless of the number of prior calls  +** The cache must not perform any reference counting. A single +** call to xUnpin() unpins the page regardless of the number of prior calls  ** to xFetch().  **  ** [[the xRekey() page cache methods]] @@ -7567,7 +7567,7 @@ struct sqlite3_pcache_methods2 {    int (*xPagecount)(sqlite3_pcache*);    sqlite3_pcache_page *(*xFetch)(sqlite3_pcache*, unsigned key, int createFlag);    void (*xUnpin)(sqlite3_pcache*, sqlite3_pcache_page*, int discard); -  void (*xRekey)(sqlite3_pcache*, sqlite3_pcache_page*,  +  void (*xRekey)(sqlite3_pcache*, sqlite3_pcache_page*,        unsigned oldKey, unsigned newKey);    void (*xTruncate)(sqlite3_pcache*, unsigned iLimit);    void (*xDestroy)(sqlite3_pcache*); @@ -7612,7 +7612,7 @@ typedef struct sqlite3_backup sqlite3_backup;  **  ** The backup API copies the content of one database into another.  ** It is useful either for creating backups of databases or -** for copying in-memory databases to or from persistent files.  +** for copying in-memory databases to or from persistent files.  **  ** See Also: [Using the SQLite Online Backup API]  ** @@ -7623,36 +7623,36 @@ typedef struct sqlite3_backup sqlite3_backup;  ** ^Thus, the backup may be performed on a live source database without  ** preventing other database connections from  ** reading or writing to the source database while the backup is underway. -**  -** ^(To perform a backup operation:  +** +** ^(To perform a backup operation:  **   <ol>  **     <li><b>sqlite3_backup_init()</b> is called once to initialize the -**         backup,  -**     <li><b>sqlite3_backup_step()</b> is called one or more times to transfer  +**         backup, +**     <li><b>sqlite3_backup_step()</b> is called one or more times to transfer  **         the data between the two databases, and finally -**     <li><b>sqlite3_backup_finish()</b> is called to release all resources  -**         associated with the backup operation.  +**     <li><b>sqlite3_backup_finish()</b> is called to release all resources +**         associated with the backup operation.  **   </ol>)^  ** There should be exactly one call to sqlite3_backup_finish() for each  ** successful call to sqlite3_backup_init().  **  ** [[sqlite3_backup_init()]] <b>sqlite3_backup_init()</b>  ** -** ^The D and N arguments to sqlite3_backup_init(D,N,S,M) are the  -** [database connection] associated with the destination database  +** ^The D and N arguments to sqlite3_backup_init(D,N,S,M) are the +** [database connection] associated with the destination database  ** and the database name, respectively.  ** ^The database name is "main" for the main database, "temp" for the  ** temporary database, or the name specified after the AS keyword in  ** an [ATTACH] statement for an attached database. -** ^The S and M arguments passed to  +** ^The S and M arguments passed to  ** sqlite3_backup_init(D,N,S,M) identify the [database connection]  ** and database name of the source database, respectively.  ** ^The source and destination [database connections] (parameters S and D)  ** must be different or else sqlite3_backup_init(D,N,S,M) will fail with  ** an error.  ** -** ^A call to sqlite3_backup_init() will fail, returning NULL, if  -** there is already a read or read-write transaction open on the  +** ^A call to sqlite3_backup_init() will fail, returning NULL, if +** there is already a read or read-write transaction open on the  ** destination database.  **  ** ^If an error occurs within sqlite3_backup_init(D,N,S,M), then NULL is @@ -7664,14 +7664,14 @@ typedef struct sqlite3_backup sqlite3_backup;  ** ^A successful call to sqlite3_backup_init() returns a pointer to an  ** [sqlite3_backup] object.  ** ^The [sqlite3_backup] object may be used with the sqlite3_backup_step() and -** sqlite3_backup_finish() functions to perform the specified backup  +** sqlite3_backup_finish() functions to perform the specified backup  ** operation.  **  ** [[sqlite3_backup_step()]] <b>sqlite3_backup_step()</b>  ** -** ^Function sqlite3_backup_step(B,N) will copy up to N pages between  +** ^Function sqlite3_backup_step(B,N) will copy up to N pages between  ** the source and destination databases specified by [sqlite3_backup] object B. -** ^If N is negative, all remaining source pages are copied.  +** ^If N is negative, all remaining source pages are copied.  ** ^If sqlite3_backup_step(B,N) successfully copies N pages and there  ** are still more pages to be copied, then the function returns [SQLITE_OK].  ** ^If sqlite3_backup_step(B,N) successfully finishes copying all pages @@ -7693,8 +7693,8 @@ typedef struct sqlite3_backup sqlite3_backup;  **  ** ^If sqlite3_backup_step() cannot obtain a required file-system lock, then  ** the [sqlite3_busy_handler | busy-handler function] -** is invoked (if one is specified). ^If the  -** busy-handler returns non-zero before the lock is available, then  +** is invoked (if one is specified). ^If the +** busy-handler returns non-zero before the lock is available, then  ** [SQLITE_BUSY] is returned to the caller. ^In this case the call to  ** sqlite3_backup_step() can be retried later. ^If the source  ** [database connection] @@ -7702,15 +7702,15 @@ typedef struct sqlite3_backup sqlite3_backup;  ** is called, then [SQLITE_LOCKED] is returned immediately. ^Again, in this  ** case the call to sqlite3_backup_step() can be retried later on. ^(If  ** [SQLITE_IOERR_ACCESS | SQLITE_IOERR_XXX], [SQLITE_NOMEM], or -** [SQLITE_READONLY] is returned, then  -** there is no point in retrying the call to sqlite3_backup_step(). These  -** errors are considered fatal.)^  The application must accept  -** that the backup operation has failed and pass the backup operation handle  +** [SQLITE_READONLY] is returned, then +** there is no point in retrying the call to sqlite3_backup_step(). These +** errors are considered fatal.)^  The application must accept +** that the backup operation has failed and pass the backup operation handle  ** to the sqlite3_backup_finish() to release associated resources.  **  ** ^The first call to sqlite3_backup_step() obtains an exclusive lock -** on the destination file. ^The exclusive lock is not released until either  -** sqlite3_backup_finish() is called or the backup operation is complete  +** on the destination file. ^The exclusive lock is not released until either +** sqlite3_backup_finish() is called or the backup operation is complete  ** and sqlite3_backup_step() returns [SQLITE_DONE].  ^Every call to  ** sqlite3_backup_step() obtains a [shared lock] on the source database that  ** lasts for the duration of the sqlite3_backup_step() call. @@ -7719,18 +7719,18 @@ typedef struct sqlite3_backup sqlite3_backup;  ** through the backup process.  ^If the source database is modified by an  ** external process or via a database connection other than the one being  ** used by the backup operation, then the backup will be automatically -** restarted by the next call to sqlite3_backup_step(). ^If the source  +** restarted by the next call to sqlite3_backup_step(). ^If the source  ** database is modified by the using the same database connection as is used  ** by the backup operation, then the backup database is automatically  ** updated at the same time.  **  ** [[sqlite3_backup_finish()]] <b>sqlite3_backup_finish()</b>  ** -** When sqlite3_backup_step() has returned [SQLITE_DONE], or when the  +** When sqlite3_backup_step() has returned [SQLITE_DONE], or when the  ** application wishes to abandon the backup operation, the application  ** should destroy the [sqlite3_backup] by passing it to sqlite3_backup_finish().  ** ^The sqlite3_backup_finish() interfaces releases all -** resources associated with the [sqlite3_backup] object.  +** resources associated with the [sqlite3_backup] object.  ** ^If sqlite3_backup_step() has not yet returned [SQLITE_DONE], then any  ** active write-transaction on the destination database is rolled back.  ** The [sqlite3_backup] object is invalid @@ -7770,8 +7770,8 @@ typedef struct sqlite3_backup sqlite3_backup;  ** connections, then the source database connection may be used concurrently  ** from within other threads.  ** -** However, the application must guarantee that the destination  -** [database connection] is not passed to any other API (by any thread) after  +** However, the application must guarantee that the destination +** [database connection] is not passed to any other API (by any thread) after  ** sqlite3_backup_init() is called and before the corresponding call to  ** sqlite3_backup_finish().  SQLite does not currently check to see  ** if the application incorrectly accesses the destination [database connection] @@ -7782,11 +7782,11 @@ typedef struct sqlite3_backup sqlite3_backup;  ** If running in [shared cache mode], the application must  ** guarantee that the shared cache used by the destination database  ** is not accessed while the backup is running. In practice this means -** that the application must guarantee that the disk file being  +** that the application must guarantee that the disk file being  ** backed up to is not accessed by any connection within the process,  ** not just the specific connection that was passed to sqlite3_backup_init().  ** -** The [sqlite3_backup] object itself is partially threadsafe. Multiple  +** The [sqlite3_backup] object itself is partially threadsafe. Multiple  ** threads may safely make multiple concurrent calls to sqlite3_backup_step().  ** However, the sqlite3_backup_remaining() and sqlite3_backup_pagecount()  ** APIs are not strictly speaking threadsafe. If they are invoked at the @@ -7811,8 +7811,8 @@ SQLITE_API int sqlite3_backup_pagecount(sqlite3_backup *p);  ** ^When running in shared-cache mode, a database operation may fail with  ** an [SQLITE_LOCKED] error if the required locks on the shared-cache or  ** individual tables within the shared-cache cannot be obtained. See -** [SQLite Shared-Cache Mode] for a description of shared-cache locking.  -** ^This API may be used to register a callback that SQLite will invoke  +** [SQLite Shared-Cache Mode] for a description of shared-cache locking. +** ^This API may be used to register a callback that SQLite will invoke  ** when the connection currently holding the required lock relinquishes it.  ** ^This API is only available if the library was compiled with the  ** [SQLITE_ENABLE_UNLOCK_NOTIFY] C-preprocessor symbol defined. @@ -7820,14 +7820,14 @@ SQLITE_API int sqlite3_backup_pagecount(sqlite3_backup *p);  ** See Also: [Using the SQLite Unlock Notification Feature].  **  ** ^Shared-cache locks are released when a database connection concludes -** its current transaction, either by committing it or rolling it back.  +** its current transaction, either by committing it or rolling it back.  **  ** ^When a connection (known as the blocked connection) fails to obtain a  ** shared-cache lock and SQLITE_LOCKED is returned to the caller, the  ** identity of the database connection (the blocking connection) that -** has locked the required resource is stored internally. ^After an  +** has locked the required resource is stored internally. ^After an  ** application receives an SQLITE_LOCKED error, it may call the -** sqlite3_unlock_notify() method with the blocked connection handle as  +** sqlite3_unlock_notify() method with the blocked connection handle as  ** the first argument to register for a callback that will be invoked  ** when the blocking connections current transaction is concluded. ^The  ** callback is invoked from within the [sqlite3_step] or [sqlite3_close] @@ -7841,15 +7841,15 @@ SQLITE_API int sqlite3_backup_pagecount(sqlite3_backup *p);  **  ** ^If the blocked connection is attempting to obtain a write-lock on a  ** shared-cache table, and more than one other connection currently holds -** a read-lock on the same table, then SQLite arbitrarily selects one of  +** a read-lock on the same table, then SQLite arbitrarily selects one of  ** the other connections to use as the blocking connection.  ** -** ^(There may be at most one unlock-notify callback registered by a  +** ^(There may be at most one unlock-notify callback registered by a  ** blocked connection. If sqlite3_unlock_notify() is called when the  ** blocked connection already has a registered unlock-notify callback,  ** then the new callback replaces the old.)^ ^If sqlite3_unlock_notify() is  ** called with a NULL pointer as its second argument, then any existing -** unlock-notify callback is canceled. ^The blocked connections  +** unlock-notify callback is canceled. ^The blocked connections  ** unlock-notify callback may also be canceled by closing the blocked  ** connection using [sqlite3_close()].  ** @@ -7862,7 +7862,7 @@ SQLITE_API int sqlite3_backup_pagecount(sqlite3_backup *p);  **  ** <b>Callback Invocation Details</b>  ** -** When an unlock-notify callback is registered, the application provides a  +** When an unlock-notify callback is registered, the application provides a  ** single void* pointer that is passed to the callback when it is invoked.  ** However, the signature of the callback function allows SQLite to pass  ** it an array of void* context pointers. The first argument passed to @@ -7875,12 +7875,12 @@ SQLITE_API int sqlite3_backup_pagecount(sqlite3_backup *p);  ** same callback function, then instead of invoking the callback function  ** multiple times, it is invoked once with the set of void* context pointers  ** specified by the blocked connections bundled together into an array. -** This gives the application an opportunity to prioritize any actions  +** This gives the application an opportunity to prioritize any actions  ** related to the set of unblocked database connections.  **  ** <b>Deadlock Detection</b>  ** -** Assuming that after registering for an unlock-notify callback a  +** Assuming that after registering for an unlock-notify callback a  ** database waits for the callback to be issued before taking any further  ** action (a reasonable assumption), then using this API may cause the  ** application to deadlock. For example, if connection X is waiting for @@ -7903,7 +7903,7 @@ SQLITE_API int sqlite3_backup_pagecount(sqlite3_backup *p);  **  ** <b>The "DROP TABLE" Exception</b>  ** -** When a call to [sqlite3_step()] returns SQLITE_LOCKED, it is almost  +** When a call to [sqlite3_step()] returns SQLITE_LOCKED, it is almost  ** always appropriate to call sqlite3_unlock_notify(). There is however,  ** one exception. When executing a "DROP TABLE" or "DROP INDEX" statement,  ** SQLite checks if there are any currently executing SELECT statements @@ -7916,7 +7916,7 @@ SQLITE_API int sqlite3_backup_pagecount(sqlite3_backup *p);  ** One way around this problem is to check the extended error code returned  ** by an sqlite3_step() call. ^(If there is a blocking connection, then the  ** extended error code is set to SQLITE_LOCKED_SHAREDCACHE. Otherwise, in -** the special "DROP TABLE/INDEX" case, the extended error code is just  +** the special "DROP TABLE/INDEX" case, the extended error code is just  ** SQLITE_LOCKED.)^  */  SQLITE_API int sqlite3_unlock_notify( @@ -8007,8 +8007,8 @@ SQLITE_API void sqlite3_log(int iErrCode, const char *zFormat, ...);  ** ^The [sqlite3_wal_hook()] function is used to register a callback that  ** is invoked each time data is committed to a database in wal mode.  ** -** ^(The callback is invoked by SQLite after the commit has taken place and  -** the associated write-lock on the database released)^, so the implementation  +** ^(The callback is invoked by SQLite after the commit has taken place and +** the associated write-lock on the database released)^, so the implementation  ** may read, write or [checkpoint] the database as required.  **  ** ^The first parameter passed to the callback function when it is invoked @@ -8027,7 +8027,7 @@ SQLITE_API void sqlite3_log(int iErrCode, const char *zFormat, ...);  ** that does not correspond to any valid SQLite error code, the results  ** are undefined.  ** -** A single database handle may have at most a single write-ahead log callback  +** A single database handle may have at most a single write-ahead log callback  ** registered at one time. ^Calling [sqlite3_wal_hook()] replaces any  ** previously registered write-ahead log callback. ^Note that the  ** [sqlite3_wal_autocheckpoint()] interface and the @@ -8035,7 +8035,7 @@ SQLITE_API void sqlite3_log(int iErrCode, const char *zFormat, ...);  ** overwrite any prior [sqlite3_wal_hook()] settings.  */  SQLITE_API void *sqlite3_wal_hook( -  sqlite3*,  +  sqlite3*,    int(*)(void *,sqlite3*,const char*,int),    void*  ); @@ -8048,7 +8048,7 @@ SQLITE_API void *sqlite3_wal_hook(  ** [sqlite3_wal_hook()] that causes any database on [database connection] D  ** to automatically [checkpoint]  ** after committing a transaction if there are N or -** more frames in the [write-ahead log] file.  ^Passing zero or  +** more frames in the [write-ahead log] file.  ^Passing zero or  ** a negative value as the nFrame parameter disables automatic  ** checkpoints entirely.  ** @@ -8078,7 +8078,7 @@ SQLITE_API int sqlite3_wal_autocheckpoint(sqlite3 *db, int N);  ** ^(The sqlite3_wal_checkpoint(D,X) is equivalent to  ** [sqlite3_wal_checkpoint_v2](D,X,[SQLITE_CHECKPOINT_PASSIVE],0,0).)^  ** -** In brief, sqlite3_wal_checkpoint(D,X) causes the content in the  +** In brief, sqlite3_wal_checkpoint(D,X) causes the content in the  ** [write-ahead log] for database X on [database connection] D to be  ** transferred into the database file and for the write-ahead log to  ** be reset.  See the [checkpointing] documentation for addition @@ -8104,10 +8104,10 @@ SQLITE_API int sqlite3_wal_checkpoint(sqlite3 *db, const char *zDb);  **  ** <dl>  ** <dt>SQLITE_CHECKPOINT_PASSIVE<dd> -**   ^Checkpoint as many frames as possible without waiting for any database  -**   readers or writers to finish, then sync the database file if all frames  +**   ^Checkpoint as many frames as possible without waiting for any database +**   readers or writers to finish, then sync the database file if all frames  **   in the log were checkpointed. ^The [busy-handler callback] -**   is never invoked in the SQLITE_CHECKPOINT_PASSIVE mode.   +**   is never invoked in the SQLITE_CHECKPOINT_PASSIVE mode.  **   ^On the other hand, passive mode might leave the checkpoint unfinished  **   if there are concurrent readers or writers.  ** @@ -8121,9 +8121,9 @@ SQLITE_API int sqlite3_wal_checkpoint(sqlite3 *db, const char *zDb);  **  ** <dt>SQLITE_CHECKPOINT_RESTART<dd>  **   ^This mode works the same way as SQLITE_CHECKPOINT_FULL with the addition -**   that after checkpointing the log file it blocks (calls the  +**   that after checkpointing the log file it blocks (calls the  **   [busy-handler callback]) -**   until all readers are reading from the database file only. ^This ensures  +**   until all readers are reading from the database file only. ^This ensures  **   that the next writer will restart the log file from the beginning.  **   ^Like SQLITE_CHECKPOINT_FULL, this mode blocks new  **   database writer attempts while it is pending, but does not impede readers. @@ -8145,31 +8145,31 @@ SQLITE_API int sqlite3_wal_checkpoint(sqlite3 *db, const char *zDb);  ** truncated to zero bytes and so both *pnLog and *pnCkpt will be set to zero.  **  ** ^All calls obtain an exclusive "checkpoint" lock on the database file. ^If -** any other process is running a checkpoint operation at the same time, the  -** lock cannot be obtained and SQLITE_BUSY is returned. ^Even if there is a  +** any other process is running a checkpoint operation at the same time, the +** lock cannot be obtained and SQLITE_BUSY is returned. ^Even if there is a  ** busy-handler configured, it will not be invoked in this case.  ** -** ^The SQLITE_CHECKPOINT_FULL, RESTART and TRUNCATE modes also obtain the  +** ^The SQLITE_CHECKPOINT_FULL, RESTART and TRUNCATE modes also obtain the  ** exclusive "writer" lock on the database file. ^If the writer lock cannot be  ** obtained immediately, and a busy-handler is configured, it is invoked and  ** the writer lock retried until either the busy-handler returns 0 or the lock  ** is successfully obtained. ^The busy-handler is also invoked while waiting for  ** database readers as described above. ^If the busy-handler returns 0 before  ** the writer lock is obtained or while waiting for database readers, the -** checkpoint operation proceeds from that point in the same way as  -** SQLITE_CHECKPOINT_PASSIVE - checkpointing as many frames as possible  +** checkpoint operation proceeds from that point in the same way as +** SQLITE_CHECKPOINT_PASSIVE - checkpointing as many frames as possible  ** without blocking any further. ^SQLITE_BUSY is returned in this case.  **  ** ^If parameter zDb is NULL or points to a zero length string, then the -** specified operation is attempted on all WAL databases [attached] to  +** specified operation is attempted on all WAL databases [attached] to  ** [database connection] db.  In this case the -** values written to output parameters *pnLog and *pnCkpt are undefined. ^If  -** an SQLITE_BUSY error is encountered when processing one or more of the  -** attached WAL databases, the operation is still attempted on any remaining  -** attached databases and SQLITE_BUSY is returned at the end. ^If any other  -** error occurs while processing an attached database, processing is abandoned  -** and the error code is returned to the caller immediately. ^If no error  -** (SQLITE_BUSY or otherwise) is encountered while processing the attached  +** values written to output parameters *pnLog and *pnCkpt are undefined. ^If +** an SQLITE_BUSY error is encountered when processing one or more of the +** attached WAL databases, the operation is still attempted on any remaining +** attached databases and SQLITE_BUSY is returned at the end. ^If any other +** error occurs while processing an attached database, processing is abandoned +** and the error code is returned to the caller immediately. ^If no error +** (SQLITE_BUSY or otherwise) is encountered while processing the attached  ** databases, SQLITE_OK is returned.  **  ** ^If database zDb is the name of an attached database that is not in WAL @@ -8245,20 +8245,20 @@ SQLITE_API int sqlite3_vtab_config(sqlite3*, int op, ...);  ** If X is non-zero, then the virtual table implementation guarantees  ** that if [xUpdate] returns [SQLITE_CONSTRAINT], it will do so before  ** any modifications to internal or persistent data structures have been made. -** If the [ON CONFLICT] mode is ABORT, FAIL, IGNORE or ROLLBACK, SQLite  +** If the [ON CONFLICT] mode is ABORT, FAIL, IGNORE or ROLLBACK, SQLite  ** is able to roll back a statement or database transaction, and abandon -** or continue processing the current SQL statement as appropriate.  +** or continue processing the current SQL statement as appropriate.  ** If the ON CONFLICT mode is REPLACE and the [xUpdate] method returns  ** [SQLITE_CONSTRAINT], SQLite handles this as if the ON CONFLICT mode  ** had been ABORT.  **  ** Virtual table implementations that are required to handle OR REPLACE -** must do so within the [xUpdate] method. If a call to the  -** [sqlite3_vtab_on_conflict()] function indicates that the current ON  -** CONFLICT policy is REPLACE, the virtual table implementation should  +** must do so within the [xUpdate] method. If a call to the +** [sqlite3_vtab_on_conflict()] function indicates that the current ON +** CONFLICT policy is REPLACE, the virtual table implementation should  ** silently replace the appropriate rows within the xUpdate callback and  ** return SQLITE_OK. Or, if this is not possible, it may return -** SQLITE_CONSTRAINT, in which case SQLite falls back to OR ABORT  +** SQLITE_CONSTRAINT, in which case SQLite falls back to OR ABORT  ** constraint handling.  ** </dl>  */ @@ -8384,7 +8384,7 @@ SQLITE_API int sqlite3_stmt_scanstatus(    int idx,                  /* Index of loop to report on */    int iScanStatusOp,        /* Information desired.  SQLITE_SCANSTAT_* */    void *pOut                /* Result written here */ -);      +);  /*  ** CAPI3REF: Zero Scan-Status Counters @@ -8402,15 +8402,15 @@ SQLITE_API void sqlite3_stmt_scanstatus_reset(sqlite3_stmt*);  **  ** ^If a write-transaction is open on [database connection] D when the  ** [sqlite3_db_cacheflush(D)] interface invoked, any dirty -** pages in the pager-cache that are not currently in use are written out  +** pages in the pager-cache that are not currently in use are written out  ** to disk. A dirty page may be in use if a database cursor created by an  ** active SQL statement is reading from it, or if it is page 1 of a database  ** file (page 1 is always "in use").  ^The [sqlite3_db_cacheflush(D)]  ** interface flushes caches for all schemas - "main", "temp", and  ** any [attached] databases.  ** -** ^If this function needs to obtain extra database locks before dirty pages  -** can be flushed to disk, it does so. ^If those locks cannot be obtained  +** ^If this function needs to obtain extra database locks before dirty pages +** can be flushed to disk, it does so. ^If those locks cannot be obtained  ** immediately and there is a busy-handler callback configured, it is invoked  ** in the usual manner. ^If the required lock still cannot be obtained, then  ** the database is skipped and an attempt made to flush any dirty pages @@ -8457,16 +8457,16 @@ SQLITE_API int sqlite3_db_cacheflush(sqlite3*);  ** kind of update operation that is about to occur.  ** ^(The fourth parameter to the preupdate callback is the name of the  ** database within the database connection that is being modified.  This -** will be "main" for the main database or "temp" for TEMP tables or  +** will be "main" for the main database or "temp" for TEMP tables or  ** the name given after the AS keyword in the [ATTACH] statement for attached  ** databases.)^  ** ^The fifth parameter to the preupdate callback is the name of the  ** table that is being modified.  **  ** For an UPDATE or DELETE operation on a [rowid table], the sixth -** parameter passed to the preupdate callback is the initial [rowid] of the  +** parameter passed to the preupdate callback is the initial [rowid] of the  ** row being modified or deleted. For an INSERT operation on a rowid table, -** or any operation on a WITHOUT ROWID table, the value of the sixth  +** or any operation on a WITHOUT ROWID table, the value of the sixth  ** parameter is undefined. For an INSERT or UPDATE on a rowid table the  ** seventh parameter is the final rowid value of the row being inserted  ** or updated. The value of the seventh parameter passed to the callback @@ -8505,7 +8505,7 @@ SQLITE_API int sqlite3_db_cacheflush(sqlite3*);  **  ** ^The [sqlite3_preupdate_depth(D)] interface returns 0 if the preupdate  ** callback was invoked as a result of a direct insert, update, or delete -** operation; or 1 for inserts, updates, or deletes invoked by top-level  +** operation; or 1 for inserts, updates, or deletes invoked by top-level  ** triggers; or 2 for changes resulting from triggers called by top-level  ** triggers; and so forth.  ** @@ -8539,7 +8539,7 @@ SQLITE_API int sqlite3_preupdate_new(sqlite3 *, int, sqlite3_value **);  ** The return value is OS-dependent.  For example, on unix systems, after  ** [sqlite3_open_v2()] returns [SQLITE_CANTOPEN], this interface could be  ** called to get back the underlying "errno" that caused the problem, such -** as ENOSPC, EAUTH, EISDIR, and so forth.   +** as ENOSPC, EAUTH, EISDIR, and so forth.  */  SQLITE_API int sqlite3_system_errno(sqlite3*); @@ -8566,7 +8566,7 @@ SQLITE_API int sqlite3_system_errno(sqlite3*);  **  ** The constructor for this object is [sqlite3_snapshot_get()].  The  ** [sqlite3_snapshot_open()] method causes a fresh read transaction to refer -** to an historical snapshot (if possible).  The destructor for  +** to an historical snapshot (if possible).  The destructor for  ** sqlite3_snapshot objects is [sqlite3_snapshot_free()].  */  typedef struct sqlite3_snapshot { @@ -8583,12 +8583,12 @@ typedef struct sqlite3_snapshot {  ** [sqlite3_snapshot_get(D,S,P)] interface writes a pointer to the newly  ** created [sqlite3_snapshot] object into *P and returns SQLITE_OK.  ** If there is not already a read-transaction open on schema S when -** this function is called, one is opened automatically.  +** this function is called, one is opened automatically.  **  ** The following must be true for this function to succeed. If any of  ** the following statements are false when sqlite3_snapshot_get() is  ** called, SQLITE_ERROR is returned. The final value of *P is undefined -** in this case.  +** in this case.  **  ** <ul>  **   <li> The database handle must be in [autocommit mode]. @@ -8600,13 +8600,13 @@ typedef struct sqlite3_snapshot {  **  **   <li> One or more transactions must have been written to the current wal  **        file since it was created on disk (by any connection). This means -**        that a snapshot cannot be taken on a wal mode database with no wal  +**        that a snapshot cannot be taken on a wal mode database with no wal  **        file immediately after it is first opened. At least one transaction  **        must be written to it first.  ** </ul>  **  ** This function may also return SQLITE_NOMEM.  If it is called with the -** database handle in autocommit mode but fails for some other reason,  +** database handle in autocommit mode but fails for some other reason,  ** whether or not a read transaction is opened on schema S is undefined.  **  ** The [sqlite3_snapshot] object returned from a successful call to @@ -8646,7 +8646,7 @@ SQLITE_API SQLITE_EXPERIMENTAL int sqlite3_snapshot_get(  ** database connection D does not know that the database file for  ** schema S is in [WAL mode].  A database connection might not know  ** that the database file is in [WAL mode] if there has been no prior -** I/O on that database connection, or if the database entered [WAL mode]  +** I/O on that database connection, or if the database entered [WAL mode]  ** after the most recent I/O on the database connection.)^  ** (Hint: Run "[PRAGMA application_id]" against a newly opened  ** database connection in order to make it ready to use snapshots.) @@ -8678,17 +8678,17 @@ SQLITE_API SQLITE_EXPERIMENTAL void sqlite3_snapshot_free(sqlite3_snapshot*);  ** EXPERIMENTAL  **  ** The sqlite3_snapshot_cmp(P1, P2) interface is used to compare the ages -** of two valid snapshot handles.  +** of two valid snapshot handles.  ** -** If the two snapshot handles are not associated with the same database  -** file, the result of the comparison is undefined.  +** If the two snapshot handles are not associated with the same database +** file, the result of the comparison is undefined.  **  ** Additionally, the result of the comparison is only valid if both of the  ** snapshot handles were obtained by calling sqlite3_snapshot_get() since the  ** last time the wal file was deleted. The wal file is deleted when the  ** database is changed back to rollback mode or when the number of database -** clients drops to zero. If either snapshot handle was obtained before the  -** wal file was last deleted, the value returned by this function  +** clients drops to zero. If either snapshot handle was obtained before the +** wal file was last deleted, the value returned by this function  ** is undefined.  **  ** Otherwise, this API returns a negative value if P1 refers to an older @@ -8796,7 +8796,7 @@ struct sqlite3_rtree_geometry {  };  /* -** Register a 2nd-generation geometry callback named zScore that can be  +** Register a 2nd-generation geometry callback named zScore that can be  ** used as part of an R-Tree geometry query as follows:  **  **   SELECT ... FROM <rtree> WHERE <rtree col> MATCH $zQueryFunc(... params ...) @@ -8811,7 +8811,7 @@ SQLITE_API int sqlite3_rtree_query_callback(  /* -** A pointer to a structure of the following type is passed as the  +** A pointer to a structure of the following type is passed as the  ** argument to scored geometry callback registered using  ** sqlite3_rtree_query_callback().  ** @@ -8899,7 +8899,7 @@ typedef struct sqlite3_changeset_iter sqlite3_changeset_iter;  ** is not possible for an application to register a pre-update hook on a  ** database handle that has one or more session objects attached. Nor is  ** it possible to create a session object attached to a database handle for -** which a pre-update hook is already defined. The results of attempting  +** which a pre-update hook is already defined. The results of attempting  ** either of these things are undefined.  **  ** The session object will be used to create changesets for tables in @@ -8916,13 +8916,13 @@ SQLITE_API int sqlite3session_create(  /*  ** CAPI3REF: Delete A Session Object  ** -** Delete a session object previously allocated using  +** Delete a session object previously allocated using  ** [sqlite3session_create()]. Once a session object has been deleted, the  ** results of attempting to use pSession with any other session module  ** function are undefined.  **  ** Session objects must be deleted before the database handle to which they -** are attached is closed. Refer to the documentation for  +** are attached is closed. Refer to the documentation for  ** [sqlite3session_create()] for details.  */  SQLITE_API void sqlite3session_delete(sqlite3_session *pSession); @@ -8939,10 +8939,10 @@ SQLITE_API void sqlite3session_delete(sqlite3_session *pSession);  ** the eventual changesets.  **  ** Passing zero to this function disables the session. Passing a value -** greater than zero enables it. Passing a value less than zero is a  +** greater than zero enables it. Passing a value less than zero is a  ** no-op, and may be used to query the current state of the session.  ** -** The return value indicates the final state of the session object: 0 if  +** The return value indicates the final state of the session object: 0 if  ** the session is disabled, or 1 if it is enabled.  */  SQLITE_API int sqlite3session_enable(sqlite3_session *pSession, int bEnable); @@ -8956,7 +8956,7 @@ SQLITE_API int sqlite3session_enable(sqlite3_session *pSession, int bEnable);  ** <ul>  **   <li> The session object "indirect" flag is set when the change is  **        made, or -**   <li> The change is made by an SQL trigger or foreign key action  +**   <li> The change is made by an SQL trigger or foreign key action  **        instead of directly as a result of a users SQL statement.  ** </ul>  ** @@ -8968,10 +8968,10 @@ SQLITE_API int sqlite3session_enable(sqlite3_session *pSession, int bEnable);  ** flag.  If the second argument passed to this function is zero, then the  ** indirect flag is cleared. If it is greater than zero, the indirect flag  ** is set. Passing a value less than zero does not modify the current value -** of the indirect flag, and may be used to query the current state of the  +** of the indirect flag, and may be used to query the current state of the  ** indirect flag for the specified session object.  ** -** The return value indicates the final state of the indirect flag: 0 if  +** The return value indicates the final state of the indirect flag: 0 if  ** it is clear, or 1 if it is set.  */  SQLITE_API int sqlite3session_indirect(sqlite3_session *pSession, int bIndirect); @@ -8980,20 +8980,20 @@ SQLITE_API int sqlite3session_indirect(sqlite3_session *pSession, int bIndirect)  ** CAPI3REF: Attach A Table To A Session Object  **  ** If argument zTab is not NULL, then it is the name of a table to attach -** to the session object passed as the first argument. All subsequent changes  -** made to the table while the session object is enabled will be recorded. See  +** to the session object passed as the first argument. All subsequent changes +** made to the table while the session object is enabled will be recorded. See  ** documentation for [sqlite3session_changeset()] for further details.  **  ** Or, if argument zTab is NULL, then changes are recorded for all tables -** in the database. If additional tables are added to the database (by  -** executing "CREATE TABLE" statements) after this call is made, changes for  +** in the database. If additional tables are added to the database (by +** executing "CREATE TABLE" statements) after this call is made, changes for  ** the new tables are also recorded.  **  ** Changes can only be recorded for tables that have a PRIMARY KEY explicitly -** defined as part of their CREATE TABLE statement. It does not matter if the  +** defined as part of their CREATE TABLE statement. It does not matter if the  ** PRIMARY KEY is an "INTEGER PRIMARY KEY" (rowid alias) or not. The PRIMARY  ** KEY may consist of a single column, or may be a composite key. -**  +**  ** It is not an error if the named table does not exist in the database. Nor  ** is it an error if the named table does not have a PRIMARY KEY. However,  ** no changes will be recorded in either of these scenarios. @@ -9001,7 +9001,7 @@ SQLITE_API int sqlite3session_indirect(sqlite3_session *pSession, int bIndirect)  ** Changes are not recorded for individual rows that have NULL values stored  ** in one or more of their PRIMARY KEY columns.  ** -** SQLITE_OK is returned if the call completes without error. Or, if an error  +** SQLITE_OK is returned if the call completes without error. Or, if an error  ** occurs, an SQLite error code (e.g. SQLITE_NOMEM) is returned.  */  SQLITE_API int sqlite3session_attach( @@ -9012,10 +9012,10 @@ SQLITE_API int sqlite3session_attach(  /*  ** CAPI3REF: Set a table filter on a Session Object.  ** -** The second argument (xFilter) is the "filter callback". For changes to rows  +** The second argument (xFilter) is the "filter callback". For changes to rows  ** in tables that are not attached to the Session object, the filter is called -** to determine whether changes to the table's rows should be tracked or not.  -** If xFilter returns 0, changes is not tracked. Note that once a table is  +** to determine whether changes to the table's rows should be tracked or not. +** If xFilter returns 0, changes is not tracked. Note that once a table is  ** attached, xFilter will not be called again.  */  SQLITE_API void sqlite3session_table_filter( @@ -9030,9 +9030,9 @@ SQLITE_API void sqlite3session_table_filter(  /*  ** CAPI3REF: Generate A Changeset From A Session Object  ** -** Obtain a changeset containing changes to the tables attached to the  -** session object passed as the first argument. If successful,  -** set *ppChangeset to point to a buffer containing the changeset  +** Obtain a changeset containing changes to the tables attached to the +** session object passed as the first argument. If successful, +** set *ppChangeset to point to a buffer containing the changeset  ** and *pnChangeset to the size of the changeset in bytes before returning  ** SQLITE_OK. If an error occurs, set both *ppChangeset and *pnChangeset to  ** zero and return an SQLite error code. @@ -9047,7 +9047,7 @@ SQLITE_API void sqlite3session_table_filter(  ** modifies the values of primary key columns. If such a change is made, it  ** is represented in a changeset as a DELETE followed by an INSERT.  ** -** Changes are not recorded for rows that have NULL values stored in one or  +** Changes are not recorded for rows that have NULL values stored in one or  ** more of their PRIMARY KEY columns. If such a row is inserted or deleted,  ** no corresponding change is present in the changesets returned by this  ** function. If an existing row with one or more NULL values stored in @@ -9100,14 +9100,14 @@ SQLITE_API void sqlite3session_table_filter(  ** <ul>  **   <li> For each record generated by an insert, the database is queried  **        for a row with a matching primary key. If one is found, an INSERT -**        change is added to the changeset. If no such row is found, no change  +**        change is added to the changeset. If no such row is found, no change  **        is added to the changeset.  ** -**   <li> For each record generated by an update or delete, the database is  +**   <li> For each record generated by an update or delete, the database is  **        queried for a row with a matching primary key. If such a row is  **        found and one or more of the non-primary key fields have been -**        modified from their original values, an UPDATE change is added to  -**        the changeset. Or, if no such row is found in the table, a DELETE  +**        modified from their original values, an UPDATE change is added to +**        the changeset. Or, if no such row is found in the table, a DELETE  **        change is added to the changeset. If there is a row with a matching  **        primary key in the database, but all fields contain their original  **        values, no change is added to the changeset. @@ -9115,7 +9115,7 @@ SQLITE_API void sqlite3session_table_filter(  **  ** This means, amongst other things, that if a row is inserted and then later  ** deleted while a session object is active, neither the insert nor the delete -** will be present in the changeset. Or if a row is deleted and then later a  +** will be present in the changeset. Or if a row is deleted and then later a  ** row with the same primary key values inserted while a session object is  ** active, the resulting changeset will contain an UPDATE change instead of  ** a DELETE and an INSERT. @@ -9124,10 +9124,10 @@ SQLITE_API void sqlite3session_table_filter(  ** it does not accumulate records when rows are inserted, updated or deleted.  ** This may appear to have some counter-intuitive effects if a single row  ** is written to more than once during a session. For example, if a row -** is inserted while a session object is enabled, then later deleted while  +** is inserted while a session object is enabled, then later deleted while  ** the same session object is disabled, no INSERT record will appear in the  ** changeset, even though the delete took place while the session was disabled. -** Or, if one field of a row is updated while a session is disabled, and  +** Or, if one field of a row is updated while a session is disabled, and  ** another field of the same row is updated while the session is enabled, the  ** resulting changeset will contain an UPDATE change that updates both fields.  */ @@ -9138,7 +9138,7 @@ SQLITE_API int sqlite3session_changeset(  );  /* -** CAPI3REF: Load The Difference Between Tables Into A Session  +** CAPI3REF: Load The Difference Between Tables Into A Session  **  ** If it is not already attached to the session object passed as the first  ** argument, this function attaches table zTbl in the same manner as the @@ -9147,7 +9147,7 @@ SQLITE_API int sqlite3session_changeset(  ** an error).  **  ** Argument zFromDb must be the name of a database ("main", "temp" etc.) -** attached to the same database handle as the session object that contains  +** attached to the same database handle as the session object that contains  ** a table compatible with the table attached to the session by this function.  ** A table is considered compatible if it:  ** @@ -9163,25 +9163,25 @@ SQLITE_API int sqlite3session_changeset(  ** APIs, tables without PRIMARY KEYs are simply ignored.  **  ** This function adds a set of changes to the session object that could be -** used to update the table in database zFrom (call this the "from-table")  -** so that its content is the same as the table attached to the session  +** used to update the table in database zFrom (call this the "from-table") +** so that its content is the same as the table attached to the session  ** object (call this the "to-table"). Specifically:  **  ** <ul> -**   <li> For each row (primary key) that exists in the to-table but not in  +**   <li> For each row (primary key) that exists in the to-table but not in  **     the from-table, an INSERT record is added to the session object.  ** -**   <li> For each row (primary key) that exists in the to-table but not in  +**   <li> For each row (primary key) that exists in the to-table but not in  **     the from-table, a DELETE record is added to the session object.  ** -**   <li> For each row (primary key) that exists in both tables, but features  +**   <li> For each row (primary key) that exists in both tables, but features  **     different non-PK values in each, an UPDATE record is added to the -**     session.   +**     session.  ** </ul>  **  ** To clarify, if this function is called and then a changeset constructed -** using [sqlite3session_changeset()], then after applying that changeset to  -** database zFrom the contents of the two compatible tables would be  +** using [sqlite3session_changeset()], then after applying that changeset to +** database zFrom the contents of the two compatible tables would be  ** identical.  **  ** It an error if database zFrom does not exist or does not contain the @@ -9189,7 +9189,7 @@ SQLITE_API int sqlite3session_changeset(  **  ** If the operation successful, SQLITE_OK is returned. Otherwise, an SQLite  ** error code. In this case, if argument pzErrMsg is not NULL, *pzErrMsg -** may be set to point to a buffer containing an English language error  +** may be set to point to a buffer containing an English language error  ** message. It is the responsibility of the caller to free this buffer using  ** sqlite3_free().  */ @@ -9207,19 +9207,19 @@ SQLITE_API int sqlite3session_diff(  ** The differences between a patchset and a changeset are that:  **  ** <ul> -**   <li> DELETE records consist of the primary key fields only. The  +**   <li> DELETE records consist of the primary key fields only. The  **        original values of other fields are omitted. -**   <li> The original values of any modified fields are omitted from  +**   <li> The original values of any modified fields are omitted from  **        UPDATE records.  ** </ul>  ** -** A patchset blob may be used with up to date versions of all  -** sqlite3changeset_xxx API functions except for sqlite3changeset_invert(),  +** A patchset blob may be used with up to date versions of all +** sqlite3changeset_xxx API functions except for sqlite3changeset_invert(),  ** which returns SQLITE_CORRUPT if it is passed a patchset. Similarly,  ** attempting to use a patchset blob with old versions of the -** sqlite3changeset_xxx APIs also provokes an SQLITE_CORRUPT error.  +** sqlite3changeset_xxx APIs also provokes an SQLITE_CORRUPT error.  ** -** Because the non-primary key "old.*" fields are omitted, no  +** Because the non-primary key "old.*" fields are omitted, no  ** SQLITE_CHANGESET_DATA conflicts can be detected or reported if a patchset  ** is passed to the sqlite3changeset_apply() API. Other conflict types work  ** in the same way as for changesets. @@ -9238,29 +9238,29 @@ SQLITE_API int sqlite3session_patchset(  /*  ** CAPI3REF: Test if a changeset has recorded any changes.  ** -** Return non-zero if no changes to attached tables have been recorded by  -** the session object passed as the first argument. Otherwise, if one or  +** Return non-zero if no changes to attached tables have been recorded by +** the session object passed as the first argument. Otherwise, if one or  ** more changes have been recorded, return zero.  **  ** Even if this function returns zero, it is possible that calling  ** [sqlite3session_changeset()] on the session handle may still return a -** changeset that contains no changes. This can happen when a row in  -** an attached table is modified and then later on the original values  +** changeset that contains no changes. This can happen when a row in +** an attached table is modified and then later on the original values  ** are restored. However, if this function returns non-zero, then it is -** guaranteed that a call to sqlite3session_changeset() will return a  +** guaranteed that a call to sqlite3session_changeset() will return a  ** changeset containing zero changes.  */  SQLITE_API int sqlite3session_isempty(sqlite3_session *pSession);  /* -** CAPI3REF: Create An Iterator To Traverse A Changeset  +** CAPI3REF: Create An Iterator To Traverse A Changeset  **  ** Create an iterator used to iterate through the contents of a changeset.  ** If successful, *pp is set to point to the iterator handle and SQLITE_OK  ** is returned. Otherwise, if an error occurs, *pp is set to zero and an  ** SQLite error code is returned.  ** -** The following functions can be used to advance and query a changeset  +** The following functions can be used to advance and query a changeset  ** iterator created by this function:  **  ** <ul> @@ -9277,12 +9277,12 @@ SQLITE_API int sqlite3session_isempty(sqlite3_session *pSession);  **  ** Assuming the changeset blob was created by one of the  ** [sqlite3session_changeset()], [sqlite3changeset_concat()] or -** [sqlite3changeset_invert()] functions, all changes within the changeset  -** that apply to a single table are grouped together. This means that when  -** an application iterates through a changeset using an iterator created by  -** this function, all changes that relate to a single table are visited  -** consecutively. There is no chance that the iterator will visit a change  -** the applies to table X, then one for table Y, and then later on visit  +** [sqlite3changeset_invert()] functions, all changes within the changeset +** that apply to a single table are grouped together. This means that when +** an application iterates through a changeset using an iterator created by +** this function, all changes that relate to a single table are visited +** consecutively. There is no chance that the iterator will visit a change +** the applies to table X, then one for table Y, and then later on visit  ** another change for table X.  */  SQLITE_API int sqlite3changeset_start( @@ -9306,12 +9306,12 @@ SQLITE_API int sqlite3changeset_start(  ** point to the first change in the changeset. Each subsequent call advances  ** the iterator to point to the next change in the changeset (if any). If  ** no error occurs and the iterator points to a valid change after a call -** to sqlite3changeset_next() has advanced it, SQLITE_ROW is returned.  +** to sqlite3changeset_next() has advanced it, SQLITE_ROW is returned.  ** Otherwise, if all changes in the changeset have already been visited,  ** SQLITE_DONE is returned.  ** -** If an error occurs, an SQLite error code is returned. Possible error  -** codes include SQLITE_CORRUPT (if the changeset buffer is corrupt) or  +** If an error occurs, an SQLite error code is returned. Possible error +** codes include SQLITE_CORRUPT (if the changeset buffer is corrupt) or  ** SQLITE_NOMEM.  */  SQLITE_API int sqlite3changeset_next(sqlite3_changeset_iter *pIter); @@ -9328,14 +9328,14 @@ SQLITE_API int sqlite3changeset_next(sqlite3_changeset_iter *pIter);  ** If argument pzTab is not NULL, then *pzTab is set to point to a  ** nul-terminated utf-8 encoded string containing the name of the table  ** affected by the current change. The buffer remains valid until either -** sqlite3changeset_next() is called on the iterator or until the  -** conflict-handler function returns. If pnCol is not NULL, then *pnCol is  +** sqlite3changeset_next() is called on the iterator or until the +** conflict-handler function returns. If pnCol is not NULL, then *pnCol is  ** set to the number of columns in the table affected by the change. If  ** pbIncorrect is not NULL, then *pbIndirect is set to true (1) if the change  ** is an indirect change, or false (0) otherwise. See the documentation for  ** [sqlite3session_indirect()] for a description of direct and indirect -** changes. Finally, if pOp is not NULL, then *pOp is set to one of  -** [SQLITE_INSERT], [SQLITE_DELETE] or [SQLITE_UPDATE], depending on the  +** changes. Finally, if pOp is not NULL, then *pOp is set to one of +** [SQLITE_INSERT], [SQLITE_DELETE] or [SQLITE_UPDATE], depending on the  ** type of change that the iterator currently points to.  **  ** If no error occurs, SQLITE_OK is returned. If an error does occur, an @@ -9387,7 +9387,7 @@ SQLITE_API int sqlite3changeset_pk(  ** The pIter argument passed to this function may either be an iterator  ** passed to a conflict-handler by [sqlite3changeset_apply()], or an iterator  ** created by [sqlite3changeset_start()]. In the latter case, the most recent -** call to [sqlite3changeset_next()] must have returned SQLITE_ROW.  +** call to [sqlite3changeset_next()] must have returned SQLITE_ROW.  ** Furthermore, it may only be called if the type of change that the iterator  ** currently points to is either [SQLITE_DELETE] or [SQLITE_UPDATE]. Otherwise,  ** this function returns [SQLITE_MISUSE] and sets *ppValue to NULL. @@ -9397,9 +9397,9 @@ SQLITE_API int sqlite3changeset_pk(  ** [SQLITE_RANGE] is returned and *ppValue is set to NULL.  **  ** If successful, this function sets *ppValue to point to a protected -** sqlite3_value object containing the iVal'th value from the vector of  +** sqlite3_value object containing the iVal'th value from the vector of  ** original row values stored as part of the UPDATE or DELETE change and -** returns SQLITE_OK. The name of the function comes from the fact that this  +** returns SQLITE_OK. The name of the function comes from the fact that this  ** is similar to the "old.*" columns available to update or delete triggers.  **  ** If some other error occurs (e.g. an OOM condition), an SQLite error code @@ -9417,7 +9417,7 @@ SQLITE_API int sqlite3changeset_old(  ** The pIter argument passed to this function may either be an iterator  ** passed to a conflict-handler by [sqlite3changeset_apply()], or an iterator  ** created by [sqlite3changeset_start()]. In the latter case, the most recent -** call to [sqlite3changeset_next()] must have returned SQLITE_ROW.  +** call to [sqlite3changeset_next()] must have returned SQLITE_ROW.  ** Furthermore, it may only be called if the type of change that the iterator  ** currently points to is either [SQLITE_UPDATE] or [SQLITE_INSERT]. Otherwise,  ** this function returns [SQLITE_MISUSE] and sets *ppValue to NULL. @@ -9427,12 +9427,12 @@ SQLITE_API int sqlite3changeset_old(  ** [SQLITE_RANGE] is returned and *ppValue is set to NULL.  **  ** If successful, this function sets *ppValue to point to a protected -** sqlite3_value object containing the iVal'th value from the vector of  +** sqlite3_value object containing the iVal'th value from the vector of  ** new row values stored as part of the UPDATE or INSERT change and  ** returns SQLITE_OK. If the change is an UPDATE and does not include -** a new value for the requested column, *ppValue is set to NULL and  -** SQLITE_OK returned. The name of the function comes from the fact that  -** this is similar to the "new.*" columns available to update or delete  +** a new value for the requested column, *ppValue is set to NULL and +** SQLITE_OK returned. The name of the function comes from the fact that +** this is similar to the "new.*" columns available to update or delete  ** triggers.  **  ** If some other error occurs (e.g. an OOM condition), an SQLite error code @@ -9458,7 +9458,7 @@ SQLITE_API int sqlite3changeset_new(  ** [SQLITE_RANGE] is returned and *ppValue is set to NULL.  **  ** If successful, this function sets *ppValue to point to a protected -** sqlite3_value object containing the iVal'th value from the  +** sqlite3_value object containing the iVal'th value from the  ** "conflicting row" associated with the current conflict-handler callback  ** and returns SQLITE_OK.  ** @@ -9500,7 +9500,7 @@ SQLITE_API int sqlite3changeset_fk_conflicts(  ** call has no effect.  **  ** If an error was encountered within a call to an sqlite3changeset_xxx() -** function (for example an [SQLITE_CORRUPT] in [sqlite3changeset_next()] or an  +** function (for example an [SQLITE_CORRUPT] in [sqlite3changeset_next()] or an  ** [SQLITE_NOMEM] in [sqlite3changeset_new()]) then an error code corresponding  ** to that error is returned by this function. Otherwise, SQLITE_OK is  ** returned. This is to allow the following pattern (pseudo-code): @@ -9511,7 +9511,7 @@ SQLITE_API int sqlite3changeset_fk_conflicts(  **   }  **   rc = sqlite3changeset_finalize();  **   if( rc!=SQLITE_OK ){ -**     // An error has occurred  +**     // An error has occurred  **   }  */  SQLITE_API int sqlite3changeset_finalize(sqlite3_changeset_iter *pIter); @@ -9538,7 +9538,7 @@ SQLITE_API int sqlite3changeset_finalize(sqlite3_changeset_iter *pIter);  ** zeroed and an SQLite error code returned.  **  ** It is the responsibility of the caller to eventually call sqlite3_free() -** on the *ppOut pointer to free the buffer allocation following a successful  +** on the *ppOut pointer to free the buffer allocation following a successful  ** call to this function.  **  ** WARNING/TODO: This function currently assumes that the input is a valid @@ -9552,11 +9552,11 @@ SQLITE_API int sqlite3changeset_invert(  /*  ** CAPI3REF: Concatenate Two Changeset Objects  ** -** This function is used to concatenate two changesets, A and B, into a  +** This function is used to concatenate two changesets, A and B, into a  ** single changeset. The result is a changeset equivalent to applying -** changeset A followed by changeset B.  +** changeset A followed by changeset B.  ** -** This function combines the two input changesets using an  +** This function combines the two input changesets using an  ** sqlite3_changegroup object. Calling it produces similar results as the  ** following code fragment:  ** @@ -9598,7 +9598,7 @@ typedef struct sqlite3_changegroup sqlite3_changegroup;  **  ** If successful, this function returns SQLITE_OK and populates (*pp) with  ** a pointer to a new sqlite3_changegroup object before returning. The caller -** should eventually free the returned object using a call to  +** should eventually free the returned object using a call to  ** sqlite3changegroup_delete(). If an error occurs, an SQLite error code  ** (i.e. SQLITE_NOMEM) is returned and *pp is set to NULL.  ** @@ -9610,7 +9610,7 @@ typedef struct sqlite3_changegroup sqlite3_changegroup;  **   <li> Zero or more changesets (or patchsets) are added to the object  **        by calling sqlite3changegroup_add().  ** -**   <li> The result of combining all input changesets together is obtained  +**   <li> The result of combining all input changesets together is obtained  **        by the application via a call to sqlite3changegroup_output().  **  **   <li> The object is deleted using a call to sqlite3changegroup_delete(). @@ -9619,7 +9619,7 @@ typedef struct sqlite3_changegroup sqlite3_changegroup;  ** Any number of calls to add() and output() may be made between the calls to  ** new() and delete(), and in any order.  ** -** As well as the regular sqlite3changegroup_add() and  +** As well as the regular sqlite3changegroup_add() and  ** sqlite3changegroup_output() functions, also available are the streaming  ** versions sqlite3changegroup_add_strm() and sqlite3changegroup_output_strm().  */ @@ -9629,7 +9629,7 @@ SQLITE_API int sqlite3changegroup_new(sqlite3_changegroup **pp);  ** CAPI3REF: Add A Changeset To A Changegroup  **  ** Add all changes within the changeset (or patchset) in buffer pData (size -** nData bytes) to the changegroup.  +** nData bytes) to the changegroup.  **  ** If the buffer contains a patchset, then all prior calls to this function  ** on the same changegroup object must also have specified patchsets. Or, if @@ -9656,7 +9656,7 @@ SQLITE_API int sqlite3changegroup_new(sqlite3_changegroup **pp);  **       changeset was recorded immediately after the changesets already  **       added to the changegroup.  **   <tr><td>INSERT <td>UPDATE <td> -**       The INSERT change remains in the changegroup. The values in the  +**       The INSERT change remains in the changegroup. The values in the  **       INSERT change are modified as if the row was inserted by the  **       existing change and then updated according to the new change.  **   <tr><td>INSERT <td>DELETE <td> @@ -9667,17 +9667,17 @@ SQLITE_API int sqlite3changegroup_new(sqlite3_changegroup **pp);  **       changeset was recorded immediately after the changesets already  **       added to the changegroup.  **   <tr><td>UPDATE <td>UPDATE <td> -**       The existing UPDATE remains within the changegroup. It is amended  -**       so that the accompanying values are as if the row was updated once  +**       The existing UPDATE remains within the changegroup. It is amended +**       so that the accompanying values are as if the row was updated once  **       by the existing change and then again by the new change.  **   <tr><td>UPDATE <td>DELETE <td>  **       The existing UPDATE is replaced by the new DELETE within the  **       changegroup.  **   <tr><td>DELETE <td>INSERT <td>  **       If one or more of the column values in the row inserted by the -**       new change differ from those in the row deleted by the existing  +**       new change differ from those in the row deleted by the existing  **       change, the existing DELETE is replaced by an UPDATE within the -**       changegroup. Otherwise, if the inserted row is exactly the same  +**       changegroup. Otherwise, if the inserted row is exactly the same  **       as the deleted row, the existing DELETE is simply discarded.  **   <tr><td>DELETE <td>UPDATE <td>  **       The new change is ignored. This case does not occur if the new @@ -9721,7 +9721,7 @@ SQLITE_API int sqlite3changegroup_add(sqlite3_changegroup*, int nData, void *pDa  **  ** If an error occurs, an SQLite error code is returned and the output  ** variables (*pnData) and (*ppData) are set to 0. Otherwise, SQLITE_OK -** is returned and the output variables are set to the size of and a  +** is returned and the output variables are set to the size of and a  ** pointer to the output buffer, respectively. In this case it is the  ** responsibility of the caller to eventually free the buffer using a  ** call to sqlite3_free(). @@ -9749,21 +9749,21 @@ SQLITE_API void sqlite3changegroup_delete(sqlite3_changegroup*);  ** change in the changeset, the filter callback is invoked with  ** the table name as the second argument, and a copy of the context pointer  ** passed as the sixth argument to this function as the first. If the "filter -** callback" returns zero, then no attempt is made to apply any changes to  +** callback" returns zero, then no attempt is made to apply any changes to  ** the table. Otherwise, if the return value is non-zero or the xFilter  ** argument to this function is NULL, all changes related to the table are  ** attempted.  ** -** For each table that is not excluded by the filter callback, this function  -** tests that the target database contains a compatible table. A table is  +** For each table that is not excluded by the filter callback, this function +** tests that the target database contains a compatible table. A table is  ** considered compatible if all of the following are true:  **  ** <ul> -**   <li> The table has the same name as the name recorded in the  +**   <li> The table has the same name as the name recorded in the  **        changeset, and -**   <li> The table has at least as many columns as recorded in the  +**   <li> The table has at least as many columns as recorded in the  **        changeset, and -**   <li> The table has primary key columns in the same position as  +**   <li> The table has primary key columns in the same position as  **        recorded in the changeset.  ** </ul>  ** @@ -9772,11 +9772,11 @@ SQLITE_API void sqlite3changegroup_delete(sqlite3_changegroup*);  ** via the sqlite3_log() mechanism with the error code SQLITE_SCHEMA. At most  ** one such warning is issued for each table in the changeset.  ** -** For each change for which there is a compatible table, an attempt is made  -** to modify the table contents according to the UPDATE, INSERT or DELETE  -** change. If a change cannot be applied cleanly, the conflict handler  -** function passed as the fifth argument to sqlite3changeset_apply() may be  -** invoked. A description of exactly when the conflict handler is invoked for  +** For each change for which there is a compatible table, an attempt is made +** to modify the table contents according to the UPDATE, INSERT or DELETE +** change. If a change cannot be applied cleanly, the conflict handler +** function passed as the fifth argument to sqlite3changeset_apply() may be +** invoked. A description of exactly when the conflict handler is invoked for  ** each type of change is below.  **  ** Unlike the xFilter argument, xConflict may not be passed NULL. The results @@ -9784,23 +9784,23 @@ SQLITE_API void sqlite3changegroup_delete(sqlite3_changegroup*);  ** argument are undefined.  **  ** Each time the conflict handler function is invoked, it must return one -** of [SQLITE_CHANGESET_OMIT], [SQLITE_CHANGESET_ABORT] or  +** of [SQLITE_CHANGESET_OMIT], [SQLITE_CHANGESET_ABORT] or  ** [SQLITE_CHANGESET_REPLACE]. SQLITE_CHANGESET_REPLACE may only be returned  ** if the second argument passed to the conflict handler is either  ** SQLITE_CHANGESET_DATA or SQLITE_CHANGESET_CONFLICT. If the conflict-handler  ** returns an illegal value, any changes already made are rolled back and -** the call to sqlite3changeset_apply() returns SQLITE_MISUSE. Different  +** the call to sqlite3changeset_apply() returns SQLITE_MISUSE. Different  ** actions are taken by sqlite3changeset_apply() depending on the value  ** returned by each invocation of the conflict-handler function. Refer to -** the documentation for the three  +** the documentation for the three  ** [SQLITE_CHANGESET_OMIT|available return values] for details.  **  ** <dl>  ** <dt>DELETE Changes<dd> -**   For each DELETE change, this function checks if the target database  -**   contains a row with the same primary key value (or values) as the  -**   original row values stored in the changeset. If it does, and the values  -**   stored in all non-primary key columns also match the values stored in  +**   For each DELETE change, this function checks if the target database +**   contains a row with the same primary key value (or values) as the +**   original row values stored in the changeset. If it does, and the values +**   stored in all non-primary key columns also match the values stored in  **   the changeset the row is deleted from the target database.  **  **   If a row with matching primary key values is found, but one or more of @@ -9829,22 +9829,22 @@ SQLITE_API void sqlite3changegroup_delete(sqlite3_changegroup*);  **   database table, the trailing fields are populated with their default  **   values.  ** -**   If the attempt to insert the row fails because the database already  +**   If the attempt to insert the row fails because the database already  **   contains a row with the same primary key values, the conflict handler -**   function is invoked with the second argument set to  +**   function is invoked with the second argument set to  **   [SQLITE_CHANGESET_CONFLICT].  **  **   If the attempt to insert the row fails because of some other constraint -**   violation (e.g. NOT NULL or UNIQUE), the conflict handler function is  +**   violation (e.g. NOT NULL or UNIQUE), the conflict handler function is  **   invoked with the second argument set to [SQLITE_CHANGESET_CONSTRAINT]. -**   This includes the case where the INSERT operation is re-attempted because  -**   an earlier call to the conflict handler function returned  +**   This includes the case where the INSERT operation is re-attempted because +**   an earlier call to the conflict handler function returned  **   [SQLITE_CHANGESET_REPLACE].  **  ** <dt>UPDATE Changes<dd> -**   For each UPDATE change, this function checks if the target database  -**   contains a row with the same primary key value (or values) as the  -**   original row values stored in the changeset. If it does, and the values  +**   For each UPDATE change, this function checks if the target database +**   contains a row with the same primary key value (or values) as the +**   original row values stored in the changeset. If it does, and the values  **   stored in all modified non-primary key columns also match the values  **   stored in the changeset the row is updated within the target database.  ** @@ -9860,12 +9860,12 @@ SQLITE_API void sqlite3changegroup_delete(sqlite3_changegroup*);  **   the conflict-handler function is invoked with [SQLITE_CHANGESET_NOTFOUND]  **   passed as the second argument.  ** -**   If the UPDATE operation is attempted, but SQLite returns  -**   SQLITE_CONSTRAINT, the conflict-handler function is invoked with  +**   If the UPDATE operation is attempted, but SQLite returns +**   SQLITE_CONSTRAINT, the conflict-handler function is invoked with  **   [SQLITE_CHANGESET_CONSTRAINT] passed as the second argument. -**   This includes the case where the UPDATE operation is attempted after  +**   This includes the case where the UPDATE operation is attempted after  **   an earlier call to the conflict handler function returned -**   [SQLITE_CHANGESET_REPLACE].   +**   [SQLITE_CHANGESET_REPLACE].  ** </dl>  **  ** It is safe to execute SQL statements, including those that write to the @@ -9876,7 +9876,7 @@ SQLITE_API void sqlite3changegroup_delete(sqlite3_changegroup*);  ** All changes made by this function are enclosed in a savepoint transaction.  ** If any other error (aside from a constraint failure when attempting to  ** write to the target database) occurs, then the savepoint transaction is -** rolled back, restoring the target database to its original state, and an  +** rolled back, restoring the target database to its original state, and an  ** SQLite error code returned.  */  SQLITE_API int sqlite3changeset_apply( @@ -9895,7 +9895,7 @@ SQLITE_API int sqlite3changeset_apply(    void *pCtx                      /* First argument passed to xConflict */  ); -/*  +/*  ** CAPI3REF: Constants Passed To The Conflict Handler  **  ** Values that may be passed as the second argument to a conflict-handler. @@ -9904,32 +9904,32 @@ SQLITE_API int sqlite3changeset_apply(  ** <dt>SQLITE_CHANGESET_DATA<dd>  **   The conflict handler is invoked with CHANGESET_DATA as the second argument  **   when processing a DELETE or UPDATE change if a row with the required -**   PRIMARY KEY fields is present in the database, but one or more other  -**   (non primary-key) fields modified by the update do not contain the  +**   PRIMARY KEY fields is present in the database, but one or more other +**   (non primary-key) fields modified by the update do not contain the  **   expected "before" values. -**  +**  **   The conflicting row, in this case, is the database row with the matching  **   primary key. -**  +**  ** <dt>SQLITE_CHANGESET_NOTFOUND<dd>  **   The conflict handler is invoked with CHANGESET_NOTFOUND as the second  **   argument when processing a DELETE or UPDATE change if a row with the  **   required PRIMARY KEY fields is not present in the database. -**  +**  **   There is no conflicting row in this case. The results of invoking the  **   sqlite3changeset_conflict() API are undefined. -**  +**  ** <dt>SQLITE_CHANGESET_CONFLICT<dd>  **   CHANGESET_CONFLICT is passed as the second argument to the conflict -**   handler while processing an INSERT change if the operation would result  +**   handler while processing an INSERT change if the operation would result  **   in duplicate primary key values. -**  +**  **   The conflicting row in this case is the database row with the matching  **   primary key.  **  ** <dt>SQLITE_CHANGESET_FOREIGN_KEY<dd>  **   If foreign key handling is enabled, and applying a changeset leaves the -**   database in a state containing foreign key violations, the conflict  +**   database in a state containing foreign key violations, the conflict  **   handler is invoked with CHANGESET_FOREIGN_KEY as the second argument  **   exactly once before the changeset is committed. If the conflict handler  **   returns CHANGESET_OMIT, the changes, including those that caused the @@ -9939,12 +9939,12 @@ SQLITE_API int sqlite3changeset_apply(  **   No current or conflicting row information is provided. The only function  **   it is possible to call on the supplied sqlite3_changeset_iter handle  **   is sqlite3changeset_fk_conflicts(). -**  +**  ** <dt>SQLITE_CHANGESET_CONSTRAINT<dd> -**   If any other constraint violation occurs while applying a change (i.e.  -**   a UNIQUE, CHECK or NOT NULL constraint), the conflict handler is  +**   If any other constraint violation occurs while applying a change (i.e. +**   a UNIQUE, CHECK or NOT NULL constraint), the conflict handler is  **   invoked with CHANGESET_CONSTRAINT as the second argument. -**  +**  **   There is no conflicting row in this case. The results of invoking the  **   sqlite3changeset_conflict() API are undefined.  ** @@ -9956,7 +9956,7 @@ SQLITE_API int sqlite3changeset_apply(  #define SQLITE_CHANGESET_CONSTRAINT  4  #define SQLITE_CHANGESET_FOREIGN_KEY 5 -/*  +/*  ** CAPI3REF: Constants Returned By The Conflict Handler  **  ** A conflict handler callback must return one of the following three values. @@ -9964,13 +9964,13 @@ SQLITE_API int sqlite3changeset_apply(  ** <dl>  ** <dt>SQLITE_CHANGESET_OMIT<dd>  **   If a conflict handler returns this value no special action is taken. The -**   change that caused the conflict is not applied. The session module  +**   change that caused the conflict is not applied. The session module  **   continues to the next change in the changeset.  **  ** <dt>SQLITE_CHANGESET_REPLACE<dd>  **   This value may only be returned if the second argument to the conflict  **   handler was SQLITE_CHANGESET_DATA or SQLITE_CHANGESET_CONFLICT. If this -**   is not the case, any changes applied so far are rolled back and the  +**   is not the case, any changes applied so far are rolled back and the  **   call to sqlite3changeset_apply() returns SQLITE_MISUSE.  **  **   If CHANGESET_REPLACE is returned by an SQLITE_CHANGESET_DATA conflict @@ -9983,7 +9983,7 @@ SQLITE_API int sqlite3changeset_apply(  **   the original row is restored to the database before continuing.  **  ** <dt>SQLITE_CHANGESET_ABORT<dd> -**   If this value is returned, any changes applied so far are rolled back  +**   If this value is returned, any changes applied so far are rolled back  **   and the call to sqlite3changeset_apply() returns SQLITE_ABORT.  ** </dl>  */ @@ -9994,24 +9994,24 @@ SQLITE_API int sqlite3changeset_apply(  /*  ** CAPI3REF: Streaming Versions of API functions.  ** -** The six streaming API xxx_strm() functions serve similar purposes to the  +** The six streaming API xxx_strm() functions serve similar purposes to the  ** corresponding non-streaming API functions:  **  ** <table border=1 style="margin-left:8ex;margin-right:8ex">  **   <tr><th>Streaming function<th>Non-streaming equivalent</th> -**   <tr><td>sqlite3changeset_apply_strm<td>[sqlite3changeset_apply]  -**   <tr><td>sqlite3changeset_concat_strm<td>[sqlite3changeset_concat]  -**   <tr><td>sqlite3changeset_invert_strm<td>[sqlite3changeset_invert]  -**   <tr><td>sqlite3changeset_start_strm<td>[sqlite3changeset_start]  -**   <tr><td>sqlite3session_changeset_strm<td>[sqlite3session_changeset]  -**   <tr><td>sqlite3session_patchset_strm<td>[sqlite3session_patchset]  +**   <tr><td>sqlite3changeset_apply_strm<td>[sqlite3changeset_apply] +**   <tr><td>sqlite3changeset_concat_strm<td>[sqlite3changeset_concat] +**   <tr><td>sqlite3changeset_invert_strm<td>[sqlite3changeset_invert] +**   <tr><td>sqlite3changeset_start_strm<td>[sqlite3changeset_start] +**   <tr><td>sqlite3session_changeset_strm<td>[sqlite3session_changeset] +**   <tr><td>sqlite3session_patchset_strm<td>[sqlite3session_patchset]  ** </table>  **  ** Non-streaming functions that accept changesets (or patchsets) as input -** require that the entire changeset be stored in a single buffer in memory.  -** Similarly, those that return a changeset or patchset do so by returning  -** a pointer to a single large buffer allocated using sqlite3_malloc().  -** Normally this is convenient. However, if an application running in a  +** require that the entire changeset be stored in a single buffer in memory. +** Similarly, those that return a changeset or patchset do so by returning +** a pointer to a single large buffer allocated using sqlite3_malloc(). +** Normally this is convenient. However, if an application running in a  ** low-memory environment is required to handle very large changesets, the  ** large contiguous memory allocations required can become onerous.  ** @@ -10033,12 +10033,12 @@ SQLITE_API int sqlite3changeset_apply(  **  </pre>  **  ** Each time the xInput callback is invoked by the sessions module, the first -** argument passed is a copy of the supplied pIn context pointer. The second  -** argument, pData, points to a buffer (*pnData) bytes in size. Assuming no  -** error occurs the xInput method should copy up to (*pnData) bytes of data  -** into the buffer and set (*pnData) to the actual number of bytes copied  -** before returning SQLITE_OK. If the input is completely exhausted, (*pnData)  -** should be set to zero to indicate this. Or, if an error occurs, an SQLite  +** argument passed is a copy of the supplied pIn context pointer. The second +** argument, pData, points to a buffer (*pnData) bytes in size. Assuming no +** error occurs the xInput method should copy up to (*pnData) bytes of data +** into the buffer and set (*pnData) to the actual number of bytes copied +** before returning SQLITE_OK. If the input is completely exhausted, (*pnData) +** should be set to zero to indicate this. Or, if an error occurs, an SQLite  ** error code should be returned. In all cases, if an xInput callback returns  ** an error, all processing is abandoned and the streaming API function  ** returns a copy of the error code to the caller. @@ -10046,7 +10046,7 @@ SQLITE_API int sqlite3changeset_apply(  ** In the case of sqlite3changeset_start_strm(), the xInput callback may be  ** invoked by the sessions module at any point during the lifetime of the  ** iterator. If such an xInput callback returns an error, the iterator enters -** an error state, whereby all subsequent calls to iterator functions  +** an error state, whereby all subsequent calls to iterator functions  ** immediately fail with the same error code as returned by xInput.  **  ** Similarly, streaming API functions that return changesets (or patchsets) @@ -10076,7 +10076,7 @@ SQLITE_API int sqlite3changeset_apply(  ** is immediately abandoned and the streaming API function returns a copy  ** of the xOutput error code to the application.  ** -** The sessions module never invokes an xOutput callback with the third  +** The sessions module never invokes an xOutput callback with the third  ** parameter set to a value less than or equal to zero. Other than this,  ** no guarantees are made as to the size of the chunks of data returned.  */ @@ -10124,12 +10124,12 @@ SQLITE_API int sqlite3session_patchset_strm(    int (*xOutput)(void *pOut, const void *pData, int nData),    void *pOut  ); -SQLITE_API int sqlite3changegroup_add_strm(sqlite3_changegroup*,  +SQLITE_API int sqlite3changegroup_add_strm(sqlite3_changegroup*,      int (*xInput)(void *pIn, void *pData, int *pnData),      void *pIn  );  SQLITE_API int sqlite3changegroup_output_strm(sqlite3_changegroup*, -    int (*xOutput)(void *pOut, const void *pData, int nData),  +    int (*xOutput)(void *pOut, const void *pData, int nData),      void *pOut  ); @@ -10157,7 +10157,7 @@ SQLITE_API int sqlite3changegroup_output_strm(sqlite3_changegroup*,  **  ******************************************************************************  ** -** Interfaces to extend FTS5. Using the interfaces defined in this file,  +** Interfaces to extend FTS5. Using the interfaces defined in this file,  ** FTS5 may be extended with:  **  **     * custom tokenizers, and @@ -10201,19 +10201,19 @@ struct Fts5PhraseIter {  ** EXTENSION API FUNCTIONS  **  ** xUserData(pFts): -**   Return a copy of the context pointer the extension function was  +**   Return a copy of the context pointer the extension function was  **   registered with.  **  ** xColumnTotalSize(pFts, iCol, pnToken):  **   If parameter iCol is less than zero, set output variable *pnToken  **   to the total number of tokens in the FTS5 table. Or, if iCol is  **   non-negative but less than the number of columns in the table, return -**   the total number of tokens in column iCol, considering all rows in  +**   the total number of tokens in column iCol, considering all rows in  **   the FTS5 table.  **  **   If parameter iCol is greater than or equal to the number of columns  **   in the table, SQLITE_RANGE is returned. Or, if an error occurs (e.g. -**   an OOM condition or IO error), an appropriate SQLite error code is  +**   an OOM condition or IO error), an appropriate SQLite error code is  **   returned.  **  ** xColumnCount(pFts): @@ -10227,7 +10227,7 @@ struct Fts5PhraseIter {  **  **   If parameter iCol is greater than or equal to the number of columns  **   in the table, SQLITE_RANGE is returned. Or, if an error occurs (e.g. -**   an OOM condition or IO error), an appropriate SQLite error code is  +**   an OOM condition or IO error), an appropriate SQLite error code is  **   returned.  **  **   This function may be quite inefficient if used with an FTS5 table @@ -10254,8 +10254,8 @@ struct Fts5PhraseIter {  **   an error code (i.e. SQLITE_NOMEM) if an error occurs.  **  **   This API can be quite slow if used with an FTS5 table created with the -**   "detail=none" or "detail=column" option. If the FTS5 table is created  -**   with either "detail=none" or "detail=column" and "content=" option  +**   "detail=none" or "detail=column" option. If the FTS5 table is created +**   with either "detail=none" or "detail=column" and "content=" option  **   (i.e. if it is a contentless table), then this API always returns 0.  **  ** xInst: @@ -10270,11 +10270,11 @@ struct Fts5PhraseIter {  **   with the offsets=0 option specified. In this case *piOff is always  **   set to -1.  ** -**   Returns SQLITE_OK if successful, or an error code (i.e. SQLITE_NOMEM)  +**   Returns SQLITE_OK if successful, or an error code (i.e. SQLITE_NOMEM)  **   if an error occurs.  **  **   This API can be quite slow if used with an FTS5 table created with the -**   "detail=none" or "detail=column" option.  +**   "detail=none" or "detail=column" option.  **  ** xRowid:  **   Returns the rowid of the current row. @@ -10290,11 +10290,11 @@ struct Fts5PhraseIter {  **  **   with $p set to a phrase equivalent to the phrase iPhrase of the  **   current query is executed. Any column filter that applies to -**   phrase iPhrase of the current query is included in $p. For each  -**   row visited, the callback function passed as the fourth argument  -**   is invoked. The context and API objects passed to the callback  +**   phrase iPhrase of the current query is included in $p. For each +**   row visited, the callback function passed as the fourth argument +**   is invoked. The context and API objects passed to the callback  **   function may be used to access the properties of each matched row. -**   Invoking Api.xUserData() returns a copy of the pointer passed as  +**   Invoking Api.xUserData() returns a copy of the pointer passed as  **   the third argument to pUserData.  **  **   If the callback function returns any value other than SQLITE_OK, the @@ -10309,14 +10309,14 @@ struct Fts5PhraseIter {  **  ** xSetAuxdata(pFts5, pAux, xDelete)  ** -**   Save the pointer passed as the second argument as the extension functions  +**   Save the pointer passed as the second argument as the extension functions  **   "auxiliary data". The pointer may then be retrieved by the current or any  **   future invocation of the same fts5 extension function made as part of  **   of the same MATCH query using the xGetAuxdata() API.  **  **   Each extension function is allocated a single auxiliary data slot for -**   each FTS query (MATCH expression). If the extension function is invoked  -**   more than once for a single FTS query, then all invocations share a  +**   each FTS query (MATCH expression). If the extension function is invoked +**   more than once for a single FTS query, then all invocations share a  **   single auxiliary data context.  **  **   If there is already an auxiliary data pointer when this function is @@ -10335,7 +10335,7 @@ struct Fts5PhraseIter {  **  ** xGetAuxdata(pFts5, bClear)  ** -**   Returns the current auxiliary data pointer for the fts5 extension  +**   Returns the current auxiliary data pointer for the fts5 extension  **   function. See the xSetAuxdata() method for details.  **  **   If the bClear argument is non-zero, then the auxiliary data is cleared @@ -10355,7 +10355,7 @@ struct Fts5PhraseIter {  **   method, to iterate through all instances of a single query phrase within  **   the current row. This is the same information as is accessible via the  **   xInstCount/xInst APIs. While the xInstCount/xInst APIs are more convenient -**   to use, this API may be faster under some circumstances. To iterate  +**   to use, this API may be faster under some circumstances. To iterate  **   through instances of phrase iPhrase, use the following code:  **  **       Fts5PhraseIter iter; @@ -10373,8 +10373,8 @@ struct Fts5PhraseIter {  **   xPhraseFirstColumn() and xPhraseNextColumn() as illustrated below).  **  **   This API can be quite slow if used with an FTS5 table created with the -**   "detail=none" or "detail=column" option. If the FTS5 table is created  -**   with either "detail=none" or "detail=column" and "content=" option  +**   "detail=none" or "detail=column" option. If the FTS5 table is created +**   with either "detail=none" or "detail=column" and "content=" option  **   (i.e. if it is a contentless table), then this API always iterates  **   through an empty set (all calls to xPhraseFirst() set iCol to -1).  ** @@ -10398,16 +10398,16 @@ struct Fts5PhraseIter {  **       }  **  **   This API can be quite slow if used with an FTS5 table created with the -**   "detail=none" option. If the FTS5 table is created with either  -**   "detail=none" "content=" option (i.e. if it is a contentless table),  -**   then this API always iterates through an empty set (all calls to  +**   "detail=none" option. If the FTS5 table is created with either +**   "detail=none" "content=" option (i.e. if it is a contentless table), +**   then this API always iterates through an empty set (all calls to  **   xPhraseFirstColumn() set iCol to -1).  **  **   The information accessed using this API and its companion  **   xPhraseFirstColumn() may also be obtained using xPhraseFirst/xPhraseNext  **   (or xInst/xInstCount). The chief advantage of this API is that it is  **   significantly more efficient than those alternatives when used with -**   "detail=column" tables.   +**   "detail=column" tables.  **  ** xPhraseNextColumn()  **   See xPhraseFirstColumn above. @@ -10421,7 +10421,7 @@ struct Fts5ExtensionApi {    int (*xRowCount)(Fts5Context*, sqlite3_int64 *pnRow);    int (*xColumnTotalSize)(Fts5Context*, int iCol, sqlite3_int64 *pnToken); -  int (*xTokenize)(Fts5Context*,  +  int (*xTokenize)(Fts5Context*,      const char *pText, int nText, /* Text to tokenize */      void *pCtx,                   /* Context passed to xToken() */      int (*xToken)(void*, int, const char*, int, int, int)       /* Callback */ @@ -10450,15 +10450,15 @@ struct Fts5ExtensionApi {    void (*xPhraseNextColumn)(Fts5Context*, Fts5PhraseIter*, int *piCol);  }; -/*  +/*  ** CUSTOM AUXILIARY FUNCTIONS  *************************************************************************/  /*************************************************************************  ** CUSTOM TOKENIZERS  ** -** Applications may also register custom tokenizer types. A tokenizer  -** is registered by providing fts5 with a populated instance of the  +** Applications may also register custom tokenizer types. A tokenizer +** is registered by providing fts5 with a populated instance of the  ** following structure. All structure methods must be defined, setting  ** any member of the fts5_tokenizer struct to NULL leads to undefined  ** behaviour. The structure methods are expected to function as follows: @@ -10469,16 +10469,16 @@ struct Fts5ExtensionApi {  **  **   The first argument passed to this function is a copy of the (void*)  **   pointer provided by the application when the fts5_tokenizer object -**   was registered with FTS5 (the third argument to xCreateTokenizer()).  +**   was registered with FTS5 (the third argument to xCreateTokenizer()).  **   The second and third arguments are an array of nul-terminated strings  **   containing the tokenizer arguments, if any, specified following the  **   tokenizer name as part of the CREATE VIRTUAL TABLE statement used  **   to create the FTS5 table.  ** -**   The final argument is an output variable. If successful, (*ppOut)  +**   The final argument is an output variable. If successful, (*ppOut)  **   should be set to point to the new tokenizer handle and SQLITE_OK  **   returned. If an error occurs, some value other than SQLITE_OK should -**   be returned. In this case, fts5 assumes that the final value of *ppOut  +**   be returned. In this case, fts5 assumes that the final value of *ppOut  **   is undefined.  **  ** xDelete: @@ -10487,7 +10487,7 @@ struct Fts5ExtensionApi {  **   be invoked exactly once for each successful call to xCreate().  **  ** xTokenize: -**   This function is expected to tokenize the nText byte string indicated  +**   This function is expected to tokenize the nText byte string indicated  **   by argument pText. pText may or may not be nul-terminated. The first  **   argument passed to this function is a pointer to an Fts5Tokenizer object  **   returned by an earlier call to xCreate(). @@ -10501,8 +10501,8 @@ struct Fts5ExtensionApi {  **            determine the set of tokens to add to (or delete from) the  **            FTS index.  ** -**       <li> <b>FTS5_TOKENIZE_QUERY</b> - A MATCH query is being executed  -**            against the FTS index. The tokenizer is being called to tokenize  +**       <li> <b>FTS5_TOKENIZE_QUERY</b> - A MATCH query is being executed +**            against the FTS index. The tokenizer is being called to tokenize  **            a bareword or quoted string specified as part of the query.  **  **       <li> <b>(FTS5_TOKENIZE_QUERY | FTS5_TOKENIZE_PREFIX)</b> - Same as @@ -10510,10 +10510,10 @@ struct Fts5ExtensionApi {  **            followed by a "*" character, indicating that the last token  **            returned by the tokenizer will be treated as a token prefix.  ** -**       <li> <b>FTS5_TOKENIZE_AUX</b> - The tokenizer is being invoked to  +**       <li> <b>FTS5_TOKENIZE_AUX</b> - The tokenizer is being invoked to  **            satisfy an fts5_api.xTokenize() request made by an auxiliary  **            function. Or an fts5_api.xColumnSize() request made by the same -**            on a columnsize=0 database.   +**            on a columnsize=0 database.  **   </ul>  **  **   For each token in the input string, the supplied callback xToken() must @@ -10525,10 +10525,10 @@ struct Fts5ExtensionApi {  **   which the token is derived within the input.  **  **   The second argument passed to the xToken() callback ("tflags") should -**   normally be set to 0. The exception is if the tokenizer supports  +**   normally be set to 0. The exception is if the tokenizer supports  **   synonyms. In this case see the discussion below for details.  ** -**   FTS5 assumes the xToken() callback is invoked for each token in the  +**   FTS5 assumes the xToken() callback is invoked for each token in the  **   order that they occur within the input text.  **  **   If an xToken() callback returns any value other than SQLITE_OK, then @@ -10542,7 +10542,7 @@ struct Fts5ExtensionApi {  ** SYNONYM SUPPORT  **  **   Custom tokenizers may also support synonyms. Consider a case in which a -**   user wishes to query for a phrase such as "first place". Using the  +**   user wishes to query for a phrase such as "first place". Using the  **   built-in tokenizers, the FTS5 query 'first + place' will match instances  **   of "first place" within the document set, but not alternative forms  **   such as "1st place". In some applications, it would be better to match @@ -10551,7 +10551,7 @@ struct Fts5ExtensionApi {  **  **   There are several ways to approach this in FTS5:  ** -**   <ol><li> By mapping all synonyms to a single token. In this case, the  +**   <ol><li> By mapping all synonyms to a single token. In this case, the  **            In the above example, this means that the tokenizer returns the  **            same token for inputs "first" and "1st". Say that token is in  **            fact "first", so that when the user inserts the document "I won @@ -10561,7 +10561,7 @@ struct Fts5ExtensionApi {  **            as expected.  **  **       <li> By adding multiple synonyms for a single term to the FTS index. -**            In this case, when tokenizing query text, the tokenizer may  +**            In this case, when tokenizing query text, the tokenizer may  **            provide multiple synonyms for a single term within the document.  **            FTS5 then queries the index for each synonym individually. For  **            example, faced with the query: @@ -10570,26 +10570,26 @@ struct Fts5ExtensionApi {  **     ... MATCH 'first place'</codeblock>  **  **            the tokenizer offers both "1st" and "first" as synonyms for the -**            first token in the MATCH query and FTS5 effectively runs a query  +**            first token in the MATCH query and FTS5 effectively runs a query  **            similar to:  **  **   <codeblock>  **     ... MATCH '(first OR 1st) place'</codeblock>  **  **            except that, for the purposes of auxiliary functions, the query -**            still appears to contain just two phrases - "(first OR 1st)"  +**            still appears to contain just two phrases - "(first OR 1st)"  **            being treated as a single phrase.  **  **       <li> By adding multiple synonyms for a single term to the FTS index.  **            Using this method, when tokenizing document text, the tokenizer -**            provides multiple synonyms for each token. So that when a  +**            provides multiple synonyms for each token. So that when a  **            document such as "I won first place" is tokenized, entries are  **            added to the FTS index for "i", "won", "first", "1st" and  **            "place".  **  **            This way, even if the tokenizer does not provide synonyms  **            when tokenizing query text (it should not - to do would be -**            inefficient), it doesn't matter if the user queries for  +**            inefficient), it doesn't matter if the user queries for  **            'first + place' or '1st + place', as there are entires in the  **            FTS index corresponding to both forms of the first token.  **   </ol> @@ -10610,11 +10610,11 @@ struct Fts5ExtensionApi {  **  **   It is an error to specify the FTS5_TOKEN_COLOCATED flag the first time  **   xToken() is called. Multiple synonyms may be specified for a single token -**   by making multiple calls to xToken(FTS5_TOKEN_COLOCATED) in sequence.  +**   by making multiple calls to xToken(FTS5_TOKEN_COLOCATED) in sequence.  **   There is no limit to the number of synonyms that may be provided for a  **   single token.  ** -**   In many cases, method (1) above is the best approach. It does not add  +**   In many cases, method (1) above is the best approach. It does not add  **   extra data to the FTS index or require FTS5 to query for multiple terms,  **   so it is efficient in terms of disk space and query speed. However, it  **   does not support prefix queries very well. If, as suggested above, the @@ -10626,18 +10626,18 @@ struct Fts5ExtensionApi {  **   will not match documents that contain the token "1st" (as the tokenizer  **   will probably not map "1s" to any prefix of "first").  ** -**   For full prefix support, method (3) may be preferred. In this case,  +**   For full prefix support, method (3) may be preferred. In this case,  **   because the index contains entries for both "first" and "1st", prefix  **   queries such as 'fi*' or '1s*' will match correctly. However, because  **   extra entries are added to the FTS index, this method uses more space  **   within the database.  **  **   Method (2) offers a midpoint between (1) and (3). Using this method, -**   a query such as '1s*' will match documents that contain the literal  +**   a query such as '1s*' will match documents that contain the literal  **   token "1st", but not "first" (assuming the tokenizer is not able to  **   provide synonyms for prefixes). However, a non-prefix query like '1st'  **   will match against "1st" and "first". This method does not require -**   extra disk space, as no extra entries are added to the FTS index.  +**   extra disk space, as no extra entries are added to the FTS index.  **   On the other hand, it may require more CPU cycles to run MATCH queries,  **   as separate queries of the FTS index are required for each synonym.  ** @@ -10651,10 +10651,10 @@ typedef struct fts5_tokenizer fts5_tokenizer;  struct fts5_tokenizer {    int (*xCreate)(void*, const char **azArg, int nArg, Fts5Tokenizer **ppOut);    void (*xDelete)(Fts5Tokenizer*); -  int (*xTokenize)(Fts5Tokenizer*,  +  int (*xTokenize)(Fts5Tokenizer*,        void *pCtx,        int flags,            /* Mask of FTS5_TOKENIZE_* flags */ -      const char *pText, int nText,  +      const char *pText, int nText,        int (*xToken)(          void *pCtx,         /* Copy of 2nd argument to xTokenize() */          int tflags,         /* Mask of FTS5_TOKEN_* flags */ diff --git a/ext/sqlite3/libsqlite/sqlite3ext.h b/ext/sqlite3/libsqlite/sqlite3ext.h index d1d2c574ae..d279ab223f 100644 --- a/ext/sqlite3/libsqlite/sqlite3ext.h +++ b/ext/sqlite3/libsqlite/sqlite3ext.h @@ -12,7 +12,7 @@  ** This header file defines the SQLite interface for use by  ** shared libraries that want to be imported as extensions into  ** an SQLite instance.  Shared libraries that intend to be loaded -** as extensions by SQLite should #include this file instead of  +** as extensions by SQLite should #include this file instead of  ** sqlite3.h.  */  #ifndef SQLITE3EXT_H @@ -561,14 +561,14 @@ typedef int (*sqlite3_loadext_entry)(  #endif /* !defined(SQLITE_CORE) && !defined(SQLITE_OMIT_LOAD_EXTENSION) */  #if !defined(SQLITE_CORE) && !defined(SQLITE_OMIT_LOAD_EXTENSION) -  /* This case when the file really is being compiled as a loadable  +  /* This case when the file really is being compiled as a loadable    ** extension */  # define SQLITE_EXTENSION_INIT1     const sqlite3_api_routines *sqlite3_api=0;  # define SQLITE_EXTENSION_INIT2(v)  sqlite3_api=v;  # define SQLITE_EXTENSION_INIT3     \      extern const sqlite3_api_routines *sqlite3_api;  #else -  /* This case when the file is being statically linked into the  +  /* This case when the file is being statically linked into the    ** application */  # define SQLITE_EXTENSION_INIT1     /*no-op*/  # define SQLITE_EXTENSION_INIT2(v)  (void)v; /* unused parameter */  | 
