update: sqlite 3.49.0.
All checks were successful
Build Tilde Friends / Build-All (push) Successful in 28m28s

This commit is contained in:
Cory McWilliams 2025-02-10 22:05:02 -05:00
parent f16127a238
commit cc18b41e76
4 changed files with 2373 additions and 1860 deletions

View File

@ -20,7 +20,7 @@ VERSION_CODE := 33
VERSION_NUMBER := 0.0.28-wip VERSION_NUMBER := 0.0.28-wip
VERSION_NAME := This program kills fascists. VERSION_NAME := This program kills fascists.
SQLITE_URL := https://www.sqlite.org/2025/sqlite-amalgamation-3480000.zip SQLITE_URL := https://www.sqlite.org/2025/sqlite-amalgamation-3490000.zip
BUNDLETOOL_URL := https://github.com/google/bundletool/releases/download/1.17.0/bundletool-all-1.17.0.jar BUNDLETOOL_URL := https://github.com/google/bundletool/releases/download/1.17.0/bundletool-all-1.17.0.jar
APPIMAGETOOL_URL := https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage APPIMAGETOOL_URL := https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage
APPIMAGETOOL_MD5 := e989fadfc4d685fd3d6aeeb9b525d74d out/appimagetool APPIMAGETOOL_MD5 := e989fadfc4d685fd3d6aeeb9b525d74d out/appimagetool

24
deps/sqlite/shell.c vendored
View File

@ -357,6 +357,11 @@ void sqlite3_fsetmode(FILE *stream, int mode);
** use O_U8TEXT when writing to the Windows console (or anything ** use O_U8TEXT when writing to the Windows console (or anything
** else for which _isatty() returns true) and to use O_BINARY or O_TEXT ** else for which _isatty() returns true) and to use O_BINARY or O_TEXT
** for all other output channels. ** for all other output channels.
**
** The SQLITE_USE_W32_FOR_CONSOLE_IO macro is also available. If
** defined, it forces the use of Win32 APIs for all console I/O, both
** input and output. This is necessary for some non-Microsoft run-times
** that implement stdio differently from Microsoft/Visual-Studio.
*/ */
#if defined(SQLITE_U8TEXT_ONLY) #if defined(SQLITE_U8TEXT_ONLY)
# define UseWtextForOutput(fd) 1 # define UseWtextForOutput(fd) 1
@ -459,10 +464,10 @@ char *sqlite3_fgets(char *buf, int sz, FILE *in){
*/ */
wchar_t *b1 = sqlite3_malloc( sz*sizeof(wchar_t) ); wchar_t *b1 = sqlite3_malloc( sz*sizeof(wchar_t) );
if( b1==0 ) return 0; if( b1==0 ) return 0;
#ifndef SQLITE_USE_STDIO_FOR_CONSOLE #ifdef SQLITE_USE_W32_FOR_CONSOLE_IO
DWORD nRead = 0; DWORD nRead = 0;
if( IsConsole(in) if( IsConsole(in)
&& ReadConsoleW(GetStdHandle(STD_INPUT_HANDLE), b1, sz, &nRead, 0) && ReadConsoleW(GetStdHandle(STD_INPUT_HANDLE), b1, sz-1, &nRead, 0)
){ ){
b1[nRead] = 0; b1[nRead] = 0;
}else }else
@ -537,7 +542,7 @@ int sqlite3_fputs(const char *z, FILE *out){
sz = MultiByteToWideChar(CP_UTF8, 0, z, sz, b1, sz); sz = MultiByteToWideChar(CP_UTF8, 0, z, sz, b1, sz);
b1[sz] = 0; b1[sz] = 0;
#ifndef SQLITE_STDIO_FOR_CONSOLE #ifdef SQLITE_USE_W32_FOR_CONSOLE_IO
DWORD nWr = 0; DWORD nWr = 0;
if( IsConsole(out) if( IsConsole(out)
&& WriteConsoleW(GetStdHandle(STD_OUTPUT_HANDLE),b1,sz,&nWr,0) && WriteConsoleW(GetStdHandle(STD_OUTPUT_HANDLE),b1,sz,&nWr,0)
@ -547,8 +552,9 @@ int sqlite3_fputs(const char *z, FILE *out){
}else }else
#endif #endif
{ {
/* For non-console I/O, or if SQLITE_USE_STDIO_FOR_CONSOLE is defined /* As long as SQLITE_USE_W32_FOR_CONSOLE_IO is not defined, or for
** then write using the standard library. */ ** non-console I/O even if that macro is defined, write using the
** standard library. */
_setmode(_fileno(out), _O_U8TEXT); _setmode(_fileno(out), _O_U8TEXT);
if( UseBinaryWText(out) ){ if( UseBinaryWText(out) ){
piecemealOutput(b1, sz, out); piecemealOutput(b1, sz, out);
@ -5314,7 +5320,7 @@ static u8* fromBase64( char *pIn, int ncIn, u8 *pOut ){
deliberate_fall_through; /* FALLTHRU */ deliberate_fall_through; /* FALLTHRU */
case 1: case 1:
pOut[0] = (qv>>16) & 0xff; pOut[0] = (qv>>16) & 0xff;
deliberate_fall_through; /* FALLTHRU */ break;
} }
pOut += nbo; pOut += nbo;
} }
@ -17199,7 +17205,7 @@ static void vfstraceDlClose(sqlite3_vfs *pVfs, void *pHandle){
vfstrace_info *pInfo = (vfstrace_info*)pVfs->pAppData; vfstrace_info *pInfo = (vfstrace_info*)pVfs->pAppData;
sqlite3_vfs *pRoot = pInfo->pRootVfs; sqlite3_vfs *pRoot = pInfo->pRootVfs;
vfstraceOnOff(pInfo, VTR_DLCLOSE); vfstraceOnOff(pInfo, VTR_DLCLOSE);
vfstrace_printf(pInfo, "%s.xDlOpen()\n", pInfo->zVfsName); vfstrace_printf(pInfo, "%s.xDlClose()\n", pInfo->zVfsName);
pRoot->xDlClose(pRoot, pHandle); pRoot->xDlClose(pRoot, pHandle);
} }
@ -28885,6 +28891,9 @@ static int do_meta_command(char *zLine, ShellState *p){
const char *zName; const char *zName;
int op; int op;
} aDbConfig[] = { } aDbConfig[] = {
{ "attach_create", SQLITE_DBCONFIG_ENABLE_ATTACH_CREATE },
{ "attach_write", SQLITE_DBCONFIG_ENABLE_ATTACH_WRITE },
{ "comments", SQLITE_DBCONFIG_ENABLE_COMMENTS },
{ "defensive", SQLITE_DBCONFIG_DEFENSIVE }, { "defensive", SQLITE_DBCONFIG_DEFENSIVE },
{ "dqs_ddl", SQLITE_DBCONFIG_DQS_DDL }, { "dqs_ddl", SQLITE_DBCONFIG_DQS_DDL },
{ "dqs_dml", SQLITE_DBCONFIG_DQS_DML }, { "dqs_dml", SQLITE_DBCONFIG_DQS_DML },
@ -31635,6 +31644,7 @@ static int do_meta_command(char *zLine, ShellState *p){
{ 0x04000000, 1, "NullUnusedCols" }, { 0x04000000, 1, "NullUnusedCols" },
{ 0x08000000, 1, "OnePass" }, { 0x08000000, 1, "OnePass" },
{ 0x10000000, 1, "OrderBySubq" }, { 0x10000000, 1, "OrderBySubq" },
{ 0x20000000, 1, "StarQuery" },
{ 0xffffffff, 0, "All" }, { 0xffffffff, 0, "All" },
}; };
unsigned int curOpt; unsigned int curOpt;

3960
deps/sqlite/sqlite3.c vendored

File diff suppressed because it is too large Load Diff

153
deps/sqlite/sqlite3.h vendored
View File

@ -146,9 +146,9 @@ extern "C" {
** [sqlite3_libversion_number()], [sqlite3_sourceid()], ** [sqlite3_libversion_number()], [sqlite3_sourceid()],
** [sqlite_version()] and [sqlite_source_id()]. ** [sqlite_version()] and [sqlite_source_id()].
*/ */
#define SQLITE_VERSION "3.48.0" #define SQLITE_VERSION "3.49.0"
#define SQLITE_VERSION_NUMBER 3048000 #define SQLITE_VERSION_NUMBER 3049000
#define SQLITE_SOURCE_ID "2025-01-14 11:05:00 d2fe6b05f38d9d7cd78c5d252e99ac59f1aea071d669830c1ffe4e8966e84010" #define SQLITE_SOURCE_ID "2025-02-06 11:55:18 4a7dd425dc2a0e5082a9049c9b4a9d4f199a71583d014c24b4cfe276c5a77cde"
/* /*
** CAPI3REF: Run-Time Library Version Numbers ** CAPI3REF: Run-Time Library Version Numbers
@ -2211,7 +2211,15 @@ struct sqlite3_mem_methods {
** CAPI3REF: Database Connection Configuration Options ** CAPI3REF: Database Connection Configuration Options
** **
** These constants are the available integer configuration options that ** These constants are the available integer configuration options that
** can be passed as the second argument to the [sqlite3_db_config()] interface. ** can be passed as the second parameter to the [sqlite3_db_config()] interface.
**
** The [sqlite3_db_config()] interface is a var-args functions. It takes a
** variable number of parameters, though always at least two. The number of
** parameters passed into sqlite3_db_config() depends on which of these
** constants is given as the second parameter. This documentation page
** refers to parameters beyond the second as "arguments". Thus, when this
** page says "the N-th argument" it means "the N-th parameter past the
** configuration option" or "the (N+2)-th parameter to sqlite3_db_config()".
** **
** New configuration options may be added in future releases of SQLite. ** New configuration options may be added in future releases of SQLite.
** Existing configuration options might be discontinued. Applications ** Existing configuration options might be discontinued. Applications
@ -2223,8 +2231,14 @@ struct sqlite3_mem_methods {
** <dl> ** <dl>
** [[SQLITE_DBCONFIG_LOOKASIDE]] ** [[SQLITE_DBCONFIG_LOOKASIDE]]
** <dt>SQLITE_DBCONFIG_LOOKASIDE</dt> ** <dt>SQLITE_DBCONFIG_LOOKASIDE</dt>
** <dd> ^This option takes three additional arguments that determine the ** <dd> The SQLITE_DBCONFIG_LOOKASIDE option is used to adjust the
** [lookaside memory allocator] configuration for the [database connection]. ** configuration of the lookaside memory allocator within a database
** connection.
** The arguments to the SQLITE_DBCONFIG_LOOKASIDE option are <i>not</i>
** in the [DBCONFIG arguments|usual format].
** The SQLITE_DBCONFIG_LOOKASIDE option takes three arguments, not two,
** so that a call to [sqlite3_db_config()] that uses SQLITE_DBCONFIG_LOOKASIDE
** should have a total of five parameters.
** ^The first argument (the third parameter to [sqlite3_db_config()] is a ** ^The first argument (the third parameter to [sqlite3_db_config()] is a
** pointer to a memory buffer to use for lookaside memory. ** pointer to a memory buffer to use for lookaside memory.
** ^The first argument after the SQLITE_DBCONFIG_LOOKASIDE verb ** ^The first argument after the SQLITE_DBCONFIG_LOOKASIDE verb
@ -2247,7 +2261,8 @@ struct sqlite3_mem_methods {
** [[SQLITE_DBCONFIG_ENABLE_FKEY]] ** [[SQLITE_DBCONFIG_ENABLE_FKEY]]
** <dt>SQLITE_DBCONFIG_ENABLE_FKEY</dt> ** <dt>SQLITE_DBCONFIG_ENABLE_FKEY</dt>
** <dd> ^This option is used to enable or disable the enforcement of ** <dd> ^This option is used to enable or disable the enforcement of
** [foreign key constraints]. There should be two additional arguments. ** [foreign key constraints]. This is the same setting that is
** enabled or disabled by the [PRAGMA foreign_keys] statement.
** The first argument is an integer which is 0 to disable FK enforcement, ** The first argument is an integer which is 0 to disable FK enforcement,
** positive to enable FK enforcement or negative to leave FK enforcement ** positive to enable FK enforcement or negative to leave FK enforcement
** unchanged. The second parameter is a pointer to an integer into which ** unchanged. The second parameter is a pointer to an integer into which
@ -2269,13 +2284,13 @@ struct sqlite3_mem_methods {
** <p>Originally this option disabled all triggers. ^(However, since ** <p>Originally this option disabled all triggers. ^(However, since
** SQLite version 3.35.0, TEMP triggers are still allowed even if ** SQLite version 3.35.0, TEMP triggers are still allowed even if
** this option is off. So, in other words, this option now only disables ** this option is off. So, in other words, this option now only disables
** triggers in the main database schema or in the schemas of ATTACH-ed ** triggers in the main database schema or in the schemas of [ATTACH]-ed
** databases.)^ </dd> ** databases.)^ </dd>
** **
** [[SQLITE_DBCONFIG_ENABLE_VIEW]] ** [[SQLITE_DBCONFIG_ENABLE_VIEW]]
** <dt>SQLITE_DBCONFIG_ENABLE_VIEW</dt> ** <dt>SQLITE_DBCONFIG_ENABLE_VIEW</dt>
** <dd> ^This option is used to enable or disable [CREATE VIEW | views]. ** <dd> ^This option is used to enable or disable [CREATE VIEW | views].
** There should be two additional arguments. ** There must be two additional arguments.
** The first argument is an integer which is 0 to disable views, ** The first argument is an integer which is 0 to disable views,
** positive to enable views or negative to leave the setting unchanged. ** positive to enable views or negative to leave the setting unchanged.
** The second parameter is a pointer to an integer into which ** The second parameter is a pointer to an integer into which
@ -2294,7 +2309,7 @@ struct sqlite3_mem_methods {
** <dd> ^This option is used to enable or disable the ** <dd> ^This option is used to enable or disable the
** [fts3_tokenizer()] function which is part of the ** [fts3_tokenizer()] function which is part of the
** [FTS3] full-text search engine extension. ** [FTS3] full-text search engine extension.
** There should be two additional arguments. ** There must be two additional arguments.
** The first argument is an integer which is 0 to disable fts3_tokenizer() or ** The first argument is an integer which is 0 to disable fts3_tokenizer() or
** positive to enable fts3_tokenizer() or negative to leave the setting ** positive to enable fts3_tokenizer() or negative to leave the setting
** unchanged. ** unchanged.
@ -2309,7 +2324,7 @@ struct sqlite3_mem_methods {
** interface independently of the [load_extension()] SQL function. ** interface independently of the [load_extension()] SQL function.
** The [sqlite3_enable_load_extension()] API enables or disables both the ** The [sqlite3_enable_load_extension()] API enables or disables both the
** C-API [sqlite3_load_extension()] and the SQL function [load_extension()]. ** C-API [sqlite3_load_extension()] and the SQL function [load_extension()].
** There should be two additional arguments. ** There must be two additional arguments.
** When the first argument to this interface is 1, then only the C-API is ** When the first argument to this interface is 1, then only the C-API is
** enabled and the SQL function remains disabled. If the first argument to ** enabled and the SQL function remains disabled. If the first argument to
** this interface is 0, then both the C-API and the SQL function are disabled. ** this interface is 0, then both the C-API and the SQL function are disabled.
@ -2323,23 +2338,30 @@ struct sqlite3_mem_methods {
** **
** [[SQLITE_DBCONFIG_MAINDBNAME]] <dt>SQLITE_DBCONFIG_MAINDBNAME</dt> ** [[SQLITE_DBCONFIG_MAINDBNAME]] <dt>SQLITE_DBCONFIG_MAINDBNAME</dt>
** <dd> ^This option is used to change the name of the "main" database ** <dd> ^This option is used to change the name of the "main" database
** schema. ^The sole argument is a pointer to a constant UTF8 string ** schema. This option does not follow the
** which will become the new schema name in place of "main". ^SQLite ** [DBCONFIG arguments|usual SQLITE_DBCONFIG argument format].
** does not make a copy of the new main schema name string, so the application ** This option takes exactly one additional argument so that the
** must ensure that the argument passed into this DBCONFIG option is unchanged ** [sqlite3_db_config()] call has a total of three parameters. The
** until after the database connection closes. ** extra argument must be a pointer to a constant UTF8 string which
** will become the new schema name in place of "main". ^SQLite does
** not make a copy of the new main schema name string, so the application
** must ensure that the argument passed into SQLITE_DBCONFIG MAINDBNAME
** is unchanged until after the database connection closes.
** </dd> ** </dd>
** **
** [[SQLITE_DBCONFIG_NO_CKPT_ON_CLOSE]] ** [[SQLITE_DBCONFIG_NO_CKPT_ON_CLOSE]]
** <dt>SQLITE_DBCONFIG_NO_CKPT_ON_CLOSE</dt> ** <dt>SQLITE_DBCONFIG_NO_CKPT_ON_CLOSE</dt>
** <dd> Usually, when a database in wal mode is closed or detached from a ** <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 ** database handle, SQLite checks if if there are other connections to the
** connections at all to the database. If so, it performs a checkpoint ** same database, and if there are no other database connection (if the
** operation before closing the connection. This option may be used to ** connection being closed is the last open connection to the database),
** override this behavior. The first parameter passed to this operation ** then SQLite performs a [checkpoint] before closing the connection and
** is an integer - positive to disable checkpoints-on-close, or zero (the ** deletes the WAL file. The SQLITE_DBCONFIG_NO_CKPT_ON_CLOSE option can
** default) to enable them, and negative to leave the setting unchanged. ** be used to override that behavior. The first argument passed to this
** The second parameter is a pointer to an integer ** operation (the third parameter to [sqlite3_db_config()]) is an integer
** which is positive to disable checkpoints-on-close, or zero (the default)
** to enable them, and negative to leave the setting unchanged.
** The second argument (the fourth parameter) is a pointer to an integer
** into which is written 0 or 1 to indicate whether checkpoints-on-close ** into which is written 0 or 1 to indicate whether checkpoints-on-close
** have been disabled - 0 if they are not disabled, 1 if they are. ** have been disabled - 0 if they are not disabled, 1 if they are.
** </dd> ** </dd>
@ -2500,7 +2522,7 @@ struct sqlite3_mem_methods {
** statistics. For statistics to be collected, the flag must be set on ** statistics. For statistics to be collected, the flag must be set on
** the database handle both when the SQL statement is prepared and when it ** the database handle both when the SQL statement is prepared and when it
** is stepped. The flag is set (collection of statistics is enabled) ** is stepped. The flag is set (collection of statistics is enabled)
** by default. This option takes two arguments: an integer and a pointer to ** by default. <p>This option takes two arguments: an integer and a pointer to
** an integer.. The first argument is 1, 0, or -1 to enable, disable, or ** an integer.. The first argument is 1, 0, or -1 to enable, disable, or
** leave unchanged the statement scanstatus option. If the second argument ** leave unchanged the statement scanstatus option. If the second argument
** is not NULL, then the value of the statement scanstatus setting after ** is not NULL, then the value of the statement scanstatus setting after
@ -2514,7 +2536,7 @@ struct sqlite3_mem_methods {
** in which tables and indexes are scanned so that the scans start at the end ** in which tables and indexes are scanned so that the scans start at the end
** and work toward the beginning rather than starting at the beginning and ** and work toward the beginning rather than starting at the beginning and
** working toward the end. Setting SQLITE_DBCONFIG_REVERSE_SCANORDER is the ** working toward the end. Setting SQLITE_DBCONFIG_REVERSE_SCANORDER is the
** same as setting [PRAGMA reverse_unordered_selects]. This option takes ** same as setting [PRAGMA reverse_unordered_selects]. <p>This option takes
** two arguments which are an integer and a pointer to an integer. The first ** two arguments which are an integer and a pointer to an integer. The first
** argument is 1, 0, or -1 to enable, disable, or leave unchanged the ** argument is 1, 0, or -1 to enable, disable, or leave unchanged the
** reverse scan order flag, respectively. If the second argument is not NULL, ** reverse scan order flag, respectively. If the second argument is not NULL,
@ -2523,7 +2545,76 @@ struct sqlite3_mem_methods {
** first argument. ** first argument.
** </dd> ** </dd>
** **
** [[SQLITE_DBCONFIG_ENABLE_ATTACH_CREATE]]
** <dt>SQLITE_DBCONFIG_ENABLE_ATTACH_CREATE</dt>
** <dd>The SQLITE_DBCONFIG_ENABLE_ATTACH_CREATE option enables or disables
** the ability of the [ATTACH DATABASE] SQL command to create a new database
** file if the database filed named in the ATTACH command does not already
** exist. This ability of ATTACH to create a new database is enabled by
** default. Applications can disable or reenable the ability for ATTACH to
** create new database files using this DBCONFIG option.<p>
** This option takes two arguments which are an integer and a pointer
** to an integer. The first argument is 1, 0, or -1 to enable, disable, or
** leave unchanged the attach-create flag, respectively. If the second
** argument is not NULL, then 0 or 1 is written into the integer that the
** second argument points to depending on if the attach-create flag is set
** after processing the first argument.
** </dd>
**
** [[SQLITE_DBCONFIG_ENABLE_ATTACH_WRITE]]
** <dt>SQLITE_DBCONFIG_ENABLE_ATTACH_WRITE</dt>
** <dd>The SQLITE_DBCONFIG_ENABLE_ATTACH_WRITE option enables or disables the
** ability of the [ATTACH DATABASE] SQL command to open a database for writing.
** This capability is enabled by default. Applications can disable or
** reenable this capability using the current DBCONFIG option. If the
** the this capability is disabled, the [ATTACH] command will still work,
** but the database will be opened read-only. If this option is disabled,
** then the ability to create a new database using [ATTACH] is also disabled,
** regardless of the value of the [SQLITE_DBCONFIG_ENABLE_ATTACH_CREATE]
** option.<p>
** This option takes two arguments which are an integer and a pointer
** to an integer. The first argument is 1, 0, or -1 to enable, disable, or
** leave unchanged the ability to ATTACH another database for writing,
** respectively. If the second argument is not NULL, then 0 or 1 is written
** into the integer to which the second argument points, depending on whether
** the ability to ATTACH a read/write database is enabled or disabled
** after processing the first argument.
** </dd>
**
** [[SQLITE_DBCONFIG_ENABLE_COMMENTS]]
** <dt>SQLITE_DBCONFIG_ENABLE_COMMENTS</dt>
** <dd>The SQLITE_DBCONFIG_ENABLE_COMMENTS option enables or disables the
** ability to include comments in SQL text. Comments are enabled by default.
** An application can disable or reenable comments in SQL text using this
** DBCONFIG option.<p>
** This option takes two arguments which are an integer and a pointer
** to an integer. The first argument is 1, 0, or -1 to enable, disable, or
** leave unchanged the ability to use comments in SQL text,
** respectively. If the second argument is not NULL, then 0 or 1 is written
** into the integer that the second argument points to depending on if
** comments are allowed in SQL text after processing the first argument.
** </dd>
**
** </dl> ** </dl>
**
** [[DBCONFIG arguments]] <h3>Arguments To SQLITE_DBCONFIG Options</h3>
**
** <p>Most of the SQLITE_DBCONFIG options take two arguments, so that the
** overall call to [sqlite3_db_config()] has a total of four parameters.
** The first argument (the third parameter to sqlite3_db_config()) is a integer.
** The second argument is a pointer to an integer. If the first argument is 1,
** then the option becomes enabled. If the first integer argument is 0, then the
** option is disabled. If the first argument is -1, then the option setting
** is unchanged. The second argument, the pointer to an integer, may be NULL.
** If the second argument is not NULL, then a value of 0 or 1 is written into
** the integer to which the second argument points, depending on whether the
** setting is disabled or enabled after applying any changes specified by
** the first argument.
**
** <p>While most SQLITE_DBCONFIG options use the argument format
** described in the previous paragraph, the [SQLITE_DBCONFIG_MAINDBNAME]
** and [SQLITE_DBCONFIG_LOOKASIDE] options are different. See the
** documentation of those exceptional options for details.
*/ */
#define SQLITE_DBCONFIG_MAINDBNAME 1000 /* const char* */ #define SQLITE_DBCONFIG_MAINDBNAME 1000 /* const char* */
#define SQLITE_DBCONFIG_LOOKASIDE 1001 /* void* int int */ #define SQLITE_DBCONFIG_LOOKASIDE 1001 /* void* int int */
@ -2545,7 +2636,10 @@ struct sqlite3_mem_methods {
#define SQLITE_DBCONFIG_TRUSTED_SCHEMA 1017 /* int int* */ #define SQLITE_DBCONFIG_TRUSTED_SCHEMA 1017 /* int int* */
#define SQLITE_DBCONFIG_STMT_SCANSTATUS 1018 /* int int* */ #define SQLITE_DBCONFIG_STMT_SCANSTATUS 1018 /* int int* */
#define SQLITE_DBCONFIG_REVERSE_SCANORDER 1019 /* int int* */ #define SQLITE_DBCONFIG_REVERSE_SCANORDER 1019 /* int int* */
#define SQLITE_DBCONFIG_MAX 1019 /* Largest DBCONFIG */ #define SQLITE_DBCONFIG_ENABLE_ATTACH_CREATE 1020 /* int int* */
#define SQLITE_DBCONFIG_ENABLE_ATTACH_WRITE 1021 /* int int* */
#define SQLITE_DBCONFIG_ENABLE_COMMENTS 1022 /* int int* */
#define SQLITE_DBCONFIG_MAX 1022 /* Largest DBCONFIG */
/* /*
** CAPI3REF: Enable Or Disable Extended Result Codes ** CAPI3REF: Enable Or Disable Extended Result Codes
@ -10748,8 +10842,9 @@ SQLITE_API SQLITE_EXPERIMENTAL int sqlite3_snapshot_recover(sqlite3 *db, const c
/* /*
** CAPI3REF: Serialize a database ** CAPI3REF: Serialize a database
** **
** The sqlite3_serialize(D,S,P,F) interface returns a pointer to memory ** The sqlite3_serialize(D,S,P,F) interface returns a pointer to
** that is a serialization of the S database on [database connection] D. ** memory that is a serialization of the S database on
** [database connection] D. If S is a NULL pointer, the main database is used.
** If P is not a NULL pointer, then the size of the database in bytes ** If P is not a NULL pointer, then the size of the database in bytes
** is written into *P. ** is written into *P.
** **