mirror of
				https://github.com/isar/rusqlite.git
				synced 2025-10-31 05:48:56 +08:00 
			
		
		
		
	Bump bundled SQLite version to 3.42.0
This commit is contained in:
		| @@ -1,4 +1,4 @@ | |||||||
| /* automatically generated by rust-bindgen 0.64.0 */ | /* automatically generated by rust-bindgen 0.65.1 */ | ||||||
|  |  | ||||||
| extern "C" { | extern "C" { | ||||||
|     pub fn sqlite3_auto_extension( |     pub fn sqlite3_auto_extension( | ||||||
| @@ -11,7 +11,6 @@ extern "C" { | |||||||
|         >, |         >, | ||||||
|     ) -> ::std::os::raw::c_int; |     ) -> ::std::os::raw::c_int; | ||||||
| } | } | ||||||
|  |  | ||||||
| extern "C" { | extern "C" { | ||||||
|     pub fn sqlite3_cancel_auto_extension( |     pub fn sqlite3_cancel_auto_extension( | ||||||
|         xEntryPoint: ::std::option::Option< |         xEntryPoint: ::std::option::Option< | ||||||
| @@ -24,10 +23,10 @@ extern "C" { | |||||||
|     ) -> ::std::os::raw::c_int; |     ) -> ::std::os::raw::c_int; | ||||||
| } | } | ||||||
|  |  | ||||||
| pub const SQLITE_VERSION: &[u8; 7usize] = b"3.41.2\0"; | pub const SQLITE_VERSION: &[u8; 7usize] = b"3.42.0\0"; | ||||||
| pub const SQLITE_VERSION_NUMBER: i32 = 3041002; | pub const SQLITE_VERSION_NUMBER: i32 = 3042000; | ||||||
| pub const SQLITE_SOURCE_ID: &[u8; 85usize] = | pub const SQLITE_SOURCE_ID: &[u8; 85usize] = | ||||||
|     b"2023-03-22 11:56:21 0d1fc92f94cb6b76bffe3ec34d69cffde2924203304e8ffc4155597af0c191da\0"; |     b"2023-05-16 12:36:15 831d0fb2836b71c9bc51067c49fee4b8f18047814f2ff22d817d25195cf350b0\0"; | ||||||
| pub const SQLITE_OK: i32 = 0; | pub const SQLITE_OK: i32 = 0; | ||||||
| pub const SQLITE_ERROR: i32 = 1; | pub const SQLITE_ERROR: i32 = 1; | ||||||
| pub const SQLITE_INTERNAL: i32 = 2; | pub const SQLITE_INTERNAL: i32 = 2; | ||||||
| @@ -279,7 +278,9 @@ pub const SQLITE_DBCONFIG_DQS_DDL: i32 = 1014; | |||||||
| pub const SQLITE_DBCONFIG_ENABLE_VIEW: i32 = 1015; | pub const SQLITE_DBCONFIG_ENABLE_VIEW: i32 = 1015; | ||||||
| pub const SQLITE_DBCONFIG_LEGACY_FILE_FORMAT: i32 = 1016; | pub const SQLITE_DBCONFIG_LEGACY_FILE_FORMAT: i32 = 1016; | ||||||
| pub const SQLITE_DBCONFIG_TRUSTED_SCHEMA: i32 = 1017; | pub const SQLITE_DBCONFIG_TRUSTED_SCHEMA: i32 = 1017; | ||||||
| pub const SQLITE_DBCONFIG_MAX: i32 = 1017; | pub const SQLITE_DBCONFIG_STMT_SCANSTATUS: i32 = 1018; | ||||||
|  | pub const SQLITE_DBCONFIG_REVERSE_SCANORDER: i32 = 1019; | ||||||
|  | pub const SQLITE_DBCONFIG_MAX: i32 = 1019; | ||||||
| pub const SQLITE_DENY: i32 = 1; | pub const SQLITE_DENY: i32 = 1; | ||||||
| pub const SQLITE_IGNORE: i32 = 2; | pub const SQLITE_IGNORE: i32 = 2; | ||||||
| pub const SQLITE_CREATE_INDEX: i32 = 1; | pub const SQLITE_CREATE_INDEX: i32 = 1; | ||||||
| @@ -464,6 +465,7 @@ pub const SQLITE_CHECKPOINT_TRUNCATE: i32 = 3; | |||||||
| pub const SQLITE_VTAB_CONSTRAINT_SUPPORT: i32 = 1; | pub const SQLITE_VTAB_CONSTRAINT_SUPPORT: i32 = 1; | ||||||
| pub const SQLITE_VTAB_INNOCUOUS: i32 = 2; | pub const SQLITE_VTAB_INNOCUOUS: i32 = 2; | ||||||
| pub const SQLITE_VTAB_DIRECTONLY: i32 = 3; | pub const SQLITE_VTAB_DIRECTONLY: i32 = 3; | ||||||
|  | pub const SQLITE_VTAB_USES_ALL_SCHEMAS: i32 = 4; | ||||||
| pub const SQLITE_ROLLBACK: i32 = 1; | pub const SQLITE_ROLLBACK: i32 = 1; | ||||||
| pub const SQLITE_FAIL: i32 = 3; | pub const SQLITE_FAIL: i32 = 3; | ||||||
| pub const SQLITE_REPLACE: i32 = 5; | pub const SQLITE_REPLACE: i32 = 5; | ||||||
| @@ -485,9 +487,11 @@ pub const PARTLY_WITHIN: i32 = 1; | |||||||
| pub const FULLY_WITHIN: i32 = 2; | pub const FULLY_WITHIN: i32 = 2; | ||||||
| pub const __SQLITESESSION_H_: i32 = 1; | pub const __SQLITESESSION_H_: i32 = 1; | ||||||
| pub const SQLITE_SESSION_OBJCONFIG_SIZE: i32 = 1; | pub const SQLITE_SESSION_OBJCONFIG_SIZE: i32 = 1; | ||||||
|  | pub const SQLITE_SESSION_OBJCONFIG_ROWID: i32 = 2; | ||||||
| pub const SQLITE_CHANGESETSTART_INVERT: i32 = 2; | pub const SQLITE_CHANGESETSTART_INVERT: i32 = 2; | ||||||
| pub const SQLITE_CHANGESETAPPLY_NOSAVEPOINT: i32 = 1; | pub const SQLITE_CHANGESETAPPLY_NOSAVEPOINT: i32 = 1; | ||||||
| pub const SQLITE_CHANGESETAPPLY_INVERT: i32 = 2; | pub const SQLITE_CHANGESETAPPLY_INVERT: i32 = 2; | ||||||
|  | pub const SQLITE_CHANGESETAPPLY_IGNORENOOP: i32 = 4; | ||||||
| pub const SQLITE_CHANGESET_DATA: i32 = 1; | pub const SQLITE_CHANGESET_DATA: i32 = 1; | ||||||
| pub const SQLITE_CHANGESET_NOTFOUND: i32 = 2; | pub const SQLITE_CHANGESET_NOTFOUND: i32 = 2; | ||||||
| pub const SQLITE_CHANGESET_CONFLICT: i32 = 3; | pub const SQLITE_CHANGESET_CONFLICT: i32 = 3; | ||||||
|   | |||||||
							
								
								
									
										6963
									
								
								libsqlite3-sys/sqlite3/sqlite3.c
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										6963
									
								
								libsqlite3-sys/sqlite3/sqlite3.c
									
									
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										202
									
								
								libsqlite3-sys/sqlite3/sqlite3.h
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										202
									
								
								libsqlite3-sys/sqlite3/sqlite3.h
									
									
									
									
										vendored
									
									
								
							| @@ -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.41.2" | #define SQLITE_VERSION        "3.42.0" | ||||||
| #define SQLITE_VERSION_NUMBER 3041002 | #define SQLITE_VERSION_NUMBER 3042000 | ||||||
| #define SQLITE_SOURCE_ID      "2023-03-22 11:56:21 0d1fc92f94cb6b76bffe3ec34d69cffde2924203304e8ffc4155597af0c191da" | #define SQLITE_SOURCE_ID      "2023-05-16 12:36:15 831d0fb2836b71c9bc51067c49fee4b8f18047814f2ff22d817d25195cf350b0" | ||||||
|  |  | ||||||
| /* | /* | ||||||
| ** CAPI3REF: Run-Time Library Version Numbers | ** CAPI3REF: Run-Time Library Version Numbers | ||||||
| @@ -1655,20 +1655,23 @@ SQLITE_API int sqlite3_os_end(void); | |||||||
| ** must ensure that no other SQLite interfaces are invoked by other | ** must ensure that no other SQLite interfaces are invoked by other | ||||||
| ** threads while sqlite3_config() is running.</b> | ** threads while sqlite3_config() is running.</b> | ||||||
| ** | ** | ||||||
| ** The sqlite3_config() interface |  | ||||||
| ** may only be invoked prior to library initialization using |  | ||||||
| ** [sqlite3_initialize()] or after shutdown by [sqlite3_shutdown()]. |  | ||||||
| ** ^If sqlite3_config() is called after [sqlite3_initialize()] and before |  | ||||||
| ** [sqlite3_shutdown()] then it will return SQLITE_MISUSE. |  | ||||||
| ** Note, however, that ^sqlite3_config() can be called as part of the |  | ||||||
| ** implementation of an application-defined [sqlite3_os_init()]. |  | ||||||
| ** |  | ||||||
| ** The first argument to sqlite3_config() is an integer | ** The first argument to sqlite3_config() is an integer | ||||||
| ** [configuration option] that determines | ** [configuration option] that determines | ||||||
| ** what property of SQLite is to be configured.  Subsequent arguments | ** what property of SQLite is to be configured.  Subsequent arguments | ||||||
| ** vary depending on the [configuration option] | ** vary depending on the [configuration option] | ||||||
| ** in the first argument. | ** in the first argument. | ||||||
| ** | ** | ||||||
|  | ** For most configuration options, the sqlite3_config() interface | ||||||
|  | ** may only be invoked prior to library initialization using | ||||||
|  | ** [sqlite3_initialize()] or after shutdown by [sqlite3_shutdown()]. | ||||||
|  | ** The exceptional configuration options that may be invoked at any time | ||||||
|  | ** are called "anytime configuration options". | ||||||
|  | ** ^If sqlite3_config() is called after [sqlite3_initialize()] and before | ||||||
|  | ** [sqlite3_shutdown()] with a first argument that is not an anytime | ||||||
|  | ** configuration option, then the sqlite3_config() call will return SQLITE_MISUSE. | ||||||
|  | ** Note, however, that ^sqlite3_config() can be called as part of the | ||||||
|  | ** implementation of an application-defined [sqlite3_os_init()]. | ||||||
|  | ** | ||||||
| ** ^When a configuration option is set, sqlite3_config() returns [SQLITE_OK]. | ** ^When a configuration option is set, sqlite3_config() returns [SQLITE_OK]. | ||||||
| ** ^If the option is unknown or SQLite is unable to set the option | ** ^If the option is unknown or SQLite is unable to set the option | ||||||
| ** then this routine returns a non-zero [error code]. | ** then this routine returns a non-zero [error code]. | ||||||
| @@ -1776,6 +1779,23 @@ struct sqlite3_mem_methods { | |||||||
| ** These constants are the available integer configuration options that | ** These constants are the available integer configuration options that | ||||||
| ** can be passed as the first argument to the [sqlite3_config()] interface. | ** can be passed as the first argument to the [sqlite3_config()] interface. | ||||||
| ** | ** | ||||||
|  | ** Most of the configuration options for sqlite3_config() | ||||||
|  | ** will only work if invoked prior to [sqlite3_initialize()] or after | ||||||
|  | ** [sqlite3_shutdown()].  The few exceptions to this rule are called | ||||||
|  | ** "anytime configuration options". | ||||||
|  | ** ^Calling [sqlite3_config()] with a first argument that is not an | ||||||
|  | ** anytime configuration option in between calls to [sqlite3_initialize()] and | ||||||
|  | ** [sqlite3_shutdown()] is a no-op that returns SQLITE_MISUSE. | ||||||
|  | ** | ||||||
|  | ** The set of anytime configuration options can change (by insertions | ||||||
|  | ** and/or deletions) from one release of SQLite to the next. | ||||||
|  | ** As of SQLite version 3.42.0, the complete set of anytime configuration | ||||||
|  | ** options is: | ||||||
|  | ** <ul> | ||||||
|  | ** <li> SQLITE_CONFIG_LOG | ||||||
|  | ** <li> SQLITE_CONFIG_PCACHE_HDRSZ | ||||||
|  | ** </ul> | ||||||
|  | ** | ||||||
| ** 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 | ||||||
| ** should check the return code from [sqlite3_config()] to make sure that | ** should check the return code from [sqlite3_config()] to make sure that | ||||||
| @@ -2122,28 +2142,28 @@ struct sqlite3_mem_methods { | |||||||
| ** compile-time option is not set, then the default maximum is 1073741824. | ** compile-time option is not set, then the default maximum is 1073741824. | ||||||
| ** </dl> | ** </dl> | ||||||
| */ | */ | ||||||
| #define SQLITE_CONFIG_SINGLETHREAD  1  /* nil */ | #define SQLITE_CONFIG_SINGLETHREAD         1  /* nil */ | ||||||
| #define SQLITE_CONFIG_MULTITHREAD   2  /* nil */ | #define SQLITE_CONFIG_MULTITHREAD          2  /* nil */ | ||||||
| #define SQLITE_CONFIG_SERIALIZED    3  /* nil */ | #define SQLITE_CONFIG_SERIALIZED           3  /* nil */ | ||||||
| #define SQLITE_CONFIG_MALLOC        4  /* sqlite3_mem_methods* */ | #define SQLITE_CONFIG_MALLOC               4  /* sqlite3_mem_methods* */ | ||||||
| #define SQLITE_CONFIG_GETMALLOC     5  /* sqlite3_mem_methods* */ | #define SQLITE_CONFIG_GETMALLOC            5  /* sqlite3_mem_methods* */ | ||||||
| #define SQLITE_CONFIG_SCRATCH       6  /* No longer used */ | #define SQLITE_CONFIG_SCRATCH              6  /* No longer used */ | ||||||
| #define SQLITE_CONFIG_PAGECACHE     7  /* void*, int sz, int N */ | #define SQLITE_CONFIG_PAGECACHE            7  /* void*, int sz, int N */ | ||||||
| #define SQLITE_CONFIG_HEAP          8  /* void*, int nByte, int min */ | #define SQLITE_CONFIG_HEAP                 8  /* void*, int nByte, int min */ | ||||||
| #define SQLITE_CONFIG_MEMSTATUS     9  /* boolean */ | #define SQLITE_CONFIG_MEMSTATUS            9  /* boolean */ | ||||||
| #define SQLITE_CONFIG_MUTEX        10  /* sqlite3_mutex_methods* */ | #define SQLITE_CONFIG_MUTEX               10  /* sqlite3_mutex_methods* */ | ||||||
| #define SQLITE_CONFIG_GETMUTEX     11  /* 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_LOOKASIDE           13  /* int int */ | ||||||
| #define SQLITE_CONFIG_PCACHE       14  /* no-op */ | #define SQLITE_CONFIG_PCACHE              14  /* no-op */ | ||||||
| #define SQLITE_CONFIG_GETPCACHE    15  /* no-op */ | #define SQLITE_CONFIG_GETPCACHE           15  /* no-op */ | ||||||
| #define SQLITE_CONFIG_LOG          16  /* xFunc, void* */ | #define SQLITE_CONFIG_LOG                 16  /* xFunc, void* */ | ||||||
| #define SQLITE_CONFIG_URI          17  /* int */ | #define SQLITE_CONFIG_URI                 17  /* int */ | ||||||
| #define SQLITE_CONFIG_PCACHE2      18  /* sqlite3_pcache_methods2* */ | #define SQLITE_CONFIG_PCACHE2             18  /* sqlite3_pcache_methods2* */ | ||||||
| #define SQLITE_CONFIG_GETPCACHE2   19  /* sqlite3_pcache_methods2* */ | #define SQLITE_CONFIG_GETPCACHE2          19  /* sqlite3_pcache_methods2* */ | ||||||
| #define SQLITE_CONFIG_COVERING_INDEX_SCAN 20  /* int */ | #define SQLITE_CONFIG_COVERING_INDEX_SCAN 20  /* int */ | ||||||
| #define SQLITE_CONFIG_SQLLOG       21  /* xSqllog, void* */ | #define SQLITE_CONFIG_SQLLOG              21  /* xSqllog, void* */ | ||||||
| #define SQLITE_CONFIG_MMAP_SIZE    22  /* sqlite3_int64, sqlite3_int64 */ | #define SQLITE_CONFIG_MMAP_SIZE           22  /* sqlite3_int64, sqlite3_int64 */ | ||||||
| #define SQLITE_CONFIG_WIN32_HEAPSIZE      23  /* int nByte */ | #define SQLITE_CONFIG_WIN32_HEAPSIZE      23  /* int nByte */ | ||||||
| #define SQLITE_CONFIG_PCACHE_HDRSZ        24  /* int *psz */ | #define SQLITE_CONFIG_PCACHE_HDRSZ        24  /* int *psz */ | ||||||
| #define SQLITE_CONFIG_PMASZ               25  /* unsigned int szPma */ | #define SQLITE_CONFIG_PMASZ               25  /* unsigned int szPma */ | ||||||
| @@ -2378,7 +2398,7 @@ struct sqlite3_mem_methods { | |||||||
| ** </dd> | ** </dd> | ||||||
| ** | ** | ||||||
| ** [[SQLITE_DBCONFIG_DQS_DML]] | ** [[SQLITE_DBCONFIG_DQS_DML]] | ||||||
| ** <dt>SQLITE_DBCONFIG_DQS_DML</td> | ** <dt>SQLITE_DBCONFIG_DQS_DML</dt> | ||||||
| ** <dd>The SQLITE_DBCONFIG_DQS_DML option activates or deactivates | ** <dd>The SQLITE_DBCONFIG_DQS_DML option activates or deactivates | ||||||
| ** the legacy [double-quoted string literal] misfeature for DML statements | ** the legacy [double-quoted string literal] misfeature for DML statements | ||||||
| ** only, that is DELETE, INSERT, SELECT, and UPDATE statements. The | ** only, that is DELETE, INSERT, SELECT, and UPDATE statements. The | ||||||
| @@ -2387,7 +2407,7 @@ struct sqlite3_mem_methods { | |||||||
| ** </dd> | ** </dd> | ||||||
| ** | ** | ||||||
| ** [[SQLITE_DBCONFIG_DQS_DDL]] | ** [[SQLITE_DBCONFIG_DQS_DDL]] | ||||||
| ** <dt>SQLITE_DBCONFIG_DQS_DDL</td> | ** <dt>SQLITE_DBCONFIG_DQS_DDL</dt> | ||||||
| ** <dd>The SQLITE_DBCONFIG_DQS option activates or deactivates | ** <dd>The SQLITE_DBCONFIG_DQS option activates or deactivates | ||||||
| ** the legacy [double-quoted string literal] misfeature for DDL statements, | ** the legacy [double-quoted string literal] misfeature for DDL statements, | ||||||
| ** such as CREATE TABLE and CREATE INDEX. The | ** such as CREATE TABLE and CREATE INDEX. The | ||||||
| @@ -2396,7 +2416,7 @@ struct sqlite3_mem_methods { | |||||||
| ** </dd> | ** </dd> | ||||||
| ** | ** | ||||||
| ** [[SQLITE_DBCONFIG_TRUSTED_SCHEMA]] | ** [[SQLITE_DBCONFIG_TRUSTED_SCHEMA]] | ||||||
| ** <dt>SQLITE_DBCONFIG_TRUSTED_SCHEMA</td> | ** <dt>SQLITE_DBCONFIG_TRUSTED_SCHEMA</dt> | ||||||
| ** <dd>The SQLITE_DBCONFIG_TRUSTED_SCHEMA option tells SQLite to | ** <dd>The SQLITE_DBCONFIG_TRUSTED_SCHEMA option tells SQLite to | ||||||
| ** assume that database schemas are untainted by malicious content. | ** assume that database schemas are untainted by malicious content. | ||||||
| ** When the SQLITE_DBCONFIG_TRUSTED_SCHEMA option is disabled, SQLite | ** When the SQLITE_DBCONFIG_TRUSTED_SCHEMA option is disabled, SQLite | ||||||
| @@ -2416,7 +2436,7 @@ struct sqlite3_mem_methods { | |||||||
| ** </dd> | ** </dd> | ||||||
| ** | ** | ||||||
| ** [[SQLITE_DBCONFIG_LEGACY_FILE_FORMAT]] | ** [[SQLITE_DBCONFIG_LEGACY_FILE_FORMAT]] | ||||||
| ** <dt>SQLITE_DBCONFIG_LEGACY_FILE_FORMAT</td> | ** <dt>SQLITE_DBCONFIG_LEGACY_FILE_FORMAT</dt> | ||||||
| ** <dd>The SQLITE_DBCONFIG_LEGACY_FILE_FORMAT option activates or deactivates | ** <dd>The SQLITE_DBCONFIG_LEGACY_FILE_FORMAT option activates or deactivates | ||||||
| ** the legacy file format flag.  When activated, this flag causes all newly | ** the legacy file format flag.  When activated, this flag causes all newly | ||||||
| ** created database file to have a schema format version number (the 4-byte | ** created database file to have a schema format version number (the 4-byte | ||||||
| @@ -2425,7 +2445,7 @@ struct sqlite3_mem_methods { | |||||||
| ** any SQLite version back to 3.0.0 ([dateof:3.0.0]).  Without this setting, | ** any SQLite version back to 3.0.0 ([dateof:3.0.0]).  Without this setting, | ||||||
| ** newly created databases are generally not understandable by SQLite versions | ** newly created databases are generally not understandable by SQLite versions | ||||||
| ** prior to 3.3.0 ([dateof:3.3.0]).  As these words are written, there | ** prior to 3.3.0 ([dateof:3.3.0]).  As these words are written, there | ||||||
| ** is now scarcely any need to generated database files that are compatible | ** is now scarcely any need to generate database files that are compatible | ||||||
| ** all the way back to version 3.0.0, and so this setting is of little | ** all the way back to version 3.0.0, and so this setting is of little | ||||||
| ** practical use, but is provided so that SQLite can continue to claim the | ** practical use, but is provided so that SQLite can continue to claim the | ||||||
| ** ability to generate new database files that are compatible with  version | ** ability to generate new database files that are compatible with  version | ||||||
| @@ -2436,6 +2456,38 @@ struct sqlite3_mem_methods { | |||||||
| ** not considered a bug since SQLite versions 3.3.0 and earlier do not support | ** not considered a bug since SQLite versions 3.3.0 and earlier do not support | ||||||
| ** either generated columns or decending indexes. | ** either generated columns or decending indexes. | ||||||
| ** </dd> | ** </dd> | ||||||
|  | ** | ||||||
|  | ** [[SQLITE_DBCONFIG_STMT_SCANSTATUS]] | ||||||
|  | ** <dt>SQLITE_DBCONFIG_STMT_SCANSTATUS</dt> | ||||||
|  | ** <dd>The SQLITE_DBCONFIG_STMT_SCANSTATUS option is only useful in | ||||||
|  | ** SQLITE_ENABLE_STMT_SCANSTATUS builds. In this case, it sets or clears | ||||||
|  | ** a flag that enables collection of the sqlite3_stmt_scanstatus_v2() | ||||||
|  | ** 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 | ||||||
|  | ** is stepped. The flag is set (collection of statistics is enabled) | ||||||
|  | ** by default.  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 | ||||||
|  | ** leave unchanged the statement scanstatus option.  If the second argument | ||||||
|  | ** is not NULL, then the value of the statement scanstatus setting after | ||||||
|  | ** processing the first argument is written into the integer that the second | ||||||
|  | ** argument points to. | ||||||
|  | ** </dd> | ||||||
|  | ** | ||||||
|  | ** [[SQLITE_DBCONFIG_REVERSE_SCANORDER]] | ||||||
|  | ** <dt>SQLITE_DBCONFIG_REVERSE_SCANORDER</dt> | ||||||
|  | ** <dd>The SQLITE_DBCONFIG_REVERSE_SCANORDER option changes the default order | ||||||
|  | ** 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 | ||||||
|  | ** working toward the end. Setting SQLITE_DBCONFIG_REVERSE_SCANORDER is the | ||||||
|  | ** same as setting [PRAGMA reverse_unordered_selects].  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 | ||||||
|  | ** reverse scan order 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 reverse scan order flag is set after processing the | ||||||
|  | ** first argument. | ||||||
|  | ** </dd> | ||||||
|  | ** | ||||||
| ** </dl> | ** </dl> | ||||||
| */ | */ | ||||||
| #define SQLITE_DBCONFIG_MAINDBNAME            1000 /* const char* */ | #define SQLITE_DBCONFIG_MAINDBNAME            1000 /* const char* */ | ||||||
| @@ -2456,7 +2508,9 @@ struct sqlite3_mem_methods { | |||||||
| #define SQLITE_DBCONFIG_ENABLE_VIEW           1015 /* int int* */ | #define SQLITE_DBCONFIG_ENABLE_VIEW           1015 /* int int* */ | ||||||
| #define SQLITE_DBCONFIG_LEGACY_FILE_FORMAT    1016 /* int int* */ | #define SQLITE_DBCONFIG_LEGACY_FILE_FORMAT    1016 /* int int* */ | ||||||
| #define SQLITE_DBCONFIG_TRUSTED_SCHEMA        1017 /* int int* */ | #define SQLITE_DBCONFIG_TRUSTED_SCHEMA        1017 /* int int* */ | ||||||
| #define SQLITE_DBCONFIG_MAX                   1017 /* Largest DBCONFIG */ | #define SQLITE_DBCONFIG_STMT_SCANSTATUS       1018 /* int int* */ | ||||||
|  | #define SQLITE_DBCONFIG_REVERSE_SCANORDER     1019 /* int int* */ | ||||||
|  | #define SQLITE_DBCONFIG_MAX                   1019 /* Largest DBCONFIG */ | ||||||
|  |  | ||||||
| /* | /* | ||||||
| ** CAPI3REF: Enable Or Disable Extended Result Codes | ** CAPI3REF: Enable Or Disable Extended Result Codes | ||||||
| @@ -6201,6 +6255,13 @@ SQLITE_API void sqlite3_activate_cerod( | |||||||
| ** of the default VFS is not implemented correctly, or not implemented at | ** of the default VFS is not implemented correctly, or not implemented at | ||||||
| ** all, then the behavior of sqlite3_sleep() may deviate from the description | ** all, then the behavior of sqlite3_sleep() may deviate from the description | ||||||
| ** in the previous paragraphs. | ** in the previous paragraphs. | ||||||
|  | ** | ||||||
|  | ** If a negative argument is passed to sqlite3_sleep() the results vary by | ||||||
|  | ** VFS and operating system.  Some system treat a negative argument as an | ||||||
|  | ** instruction to sleep forever.  Others understand it to mean do not sleep | ||||||
|  | ** at all. ^In SQLite version 3.42.0 and later, a negative | ||||||
|  | ** argument passed into sqlite3_sleep() is changed to zero before it is relayed | ||||||
|  | ** down into the xSleep method of the VFS. | ||||||
| */ | */ | ||||||
| SQLITE_API int sqlite3_sleep(int); | SQLITE_API int sqlite3_sleep(int); | ||||||
|  |  | ||||||
| @@ -7828,9 +7889,9 @@ SQLITE_API int sqlite3_vfs_unregister(sqlite3_vfs*); | |||||||
| ** is undefined if the mutex is not currently entered by the | ** is undefined if the mutex is not currently entered by the | ||||||
| ** calling thread or is not currently allocated. | ** calling thread or is not currently allocated. | ||||||
| ** | ** | ||||||
| ** ^If the argument to sqlite3_mutex_enter(), sqlite3_mutex_try(), or | ** ^If the argument to sqlite3_mutex_enter(), sqlite3_mutex_try(), | ||||||
| ** sqlite3_mutex_leave() is a NULL pointer, then all three routines | ** sqlite3_mutex_leave(), or sqlite3_mutex_free() is a NULL pointer, | ||||||
| ** behave as no-ops. | ** then any of the four routines behaves as a no-op. | ||||||
| ** | ** | ||||||
| ** See also: [sqlite3_mutex_held()] and [sqlite3_mutex_notheld()]. | ** See also: [sqlite3_mutex_held()] and [sqlite3_mutex_notheld()]. | ||||||
| */ | */ | ||||||
| @@ -9564,18 +9625,28 @@ SQLITE_API int sqlite3_vtab_config(sqlite3*, int op, ...); | |||||||
| ** [[SQLITE_VTAB_INNOCUOUS]]<dt>SQLITE_VTAB_INNOCUOUS</dt> | ** [[SQLITE_VTAB_INNOCUOUS]]<dt>SQLITE_VTAB_INNOCUOUS</dt> | ||||||
| ** <dd>Calls of the form | ** <dd>Calls of the form | ||||||
| ** [sqlite3_vtab_config](db,SQLITE_VTAB_INNOCUOUS) from within the | ** [sqlite3_vtab_config](db,SQLITE_VTAB_INNOCUOUS) from within the | ||||||
| ** the [xConnect] or [xCreate] methods of a [virtual table] implmentation | ** the [xConnect] or [xCreate] methods of a [virtual table] implementation | ||||||
| ** identify that virtual table as being safe to use from within triggers | ** identify that virtual table as being safe to use from within triggers | ||||||
| ** and views.  Conceptually, the SQLITE_VTAB_INNOCUOUS tag means that the | ** and views.  Conceptually, the SQLITE_VTAB_INNOCUOUS tag means that the | ||||||
| ** virtual table can do no serious harm even if it is controlled by a | ** virtual table can do no serious harm even if it is controlled by a | ||||||
| ** malicious hacker.  Developers should avoid setting the SQLITE_VTAB_INNOCUOUS | ** malicious hacker.  Developers should avoid setting the SQLITE_VTAB_INNOCUOUS | ||||||
| ** flag unless absolutely necessary. | ** flag unless absolutely necessary. | ||||||
| ** </dd> | ** </dd> | ||||||
|  | ** | ||||||
|  | ** [[SQLITE_VTAB_USES_ALL_SCHEMAS]]<dt>SQLITE_VTAB_USES_ALL_SCHEMAS</dt> | ||||||
|  | ** <dd>Calls of the form | ||||||
|  | ** [sqlite3_vtab_config](db,SQLITE_VTAB_USES_ALL_SCHEMA) from within the | ||||||
|  | ** the [xConnect] or [xCreate] methods of a [virtual table] implementation | ||||||
|  | ** instruct the query planner to begin at least a read transaction on | ||||||
|  | ** all schemas ("main", "temp", and any ATTACH-ed databases) whenever the | ||||||
|  | ** virtual table is used. | ||||||
|  | ** </dd> | ||||||
| ** </dl> | ** </dl> | ||||||
| */ | */ | ||||||
| #define SQLITE_VTAB_CONSTRAINT_SUPPORT 1 | #define SQLITE_VTAB_CONSTRAINT_SUPPORT 1 | ||||||
| #define SQLITE_VTAB_INNOCUOUS          2 | #define SQLITE_VTAB_INNOCUOUS          2 | ||||||
| #define SQLITE_VTAB_DIRECTONLY         3 | #define SQLITE_VTAB_DIRECTONLY         3 | ||||||
|  | #define SQLITE_VTAB_USES_ALL_SCHEMAS   4 | ||||||
|  |  | ||||||
| /* | /* | ||||||
| ** CAPI3REF: Determine The Virtual Table Conflict Policy | ** CAPI3REF: Determine The Virtual Table Conflict Policy | ||||||
| @@ -10750,16 +10821,20 @@ SQLITE_API int sqlite3session_create( | |||||||
| SQLITE_API void sqlite3session_delete(sqlite3_session *pSession); | SQLITE_API void sqlite3session_delete(sqlite3_session *pSession); | ||||||
|  |  | ||||||
| /* | /* | ||||||
| ** CAPIREF: Conigure a Session Object | ** CAPI3REF: Configure a Session Object | ||||||
| ** METHOD: sqlite3_session | ** METHOD: sqlite3_session | ||||||
| ** | ** | ||||||
| ** This method is used to configure a session object after it has been | ** This method is used to configure a session object after it has been | ||||||
| ** created. At present the only valid value for the second parameter is | ** created. At present the only valid values for the second parameter are | ||||||
| ** [SQLITE_SESSION_OBJCONFIG_SIZE]. | ** [SQLITE_SESSION_OBJCONFIG_SIZE] and [SQLITE_SESSION_OBJCONFIG_ROWID]. | ||||||
| ** | ** | ||||||
| ** Arguments for sqlite3session_object_config() | */ | ||||||
|  | SQLITE_API int sqlite3session_object_config(sqlite3_session*, int op, void *pArg); | ||||||
|  |  | ||||||
|  | /* | ||||||
|  | ** CAPI3REF: Options for sqlite3session_object_config | ||||||
| ** | ** | ||||||
| ** The following values may passed as the the 4th parameter to | ** The following values may passed as the the 2nd parameter to | ||||||
| ** sqlite3session_object_config(). | ** sqlite3session_object_config(). | ||||||
| ** | ** | ||||||
| ** <dt>SQLITE_SESSION_OBJCONFIG_SIZE <dd> | ** <dt>SQLITE_SESSION_OBJCONFIG_SIZE <dd> | ||||||
| @@ -10775,12 +10850,21 @@ SQLITE_API void sqlite3session_delete(sqlite3_session *pSession); | |||||||
| ** | ** | ||||||
| **   It is an error (SQLITE_MISUSE) to attempt to modify this setting after | **   It is an error (SQLITE_MISUSE) to attempt to modify this setting after | ||||||
| **   the first table has been attached to the session object. | **   the first table has been attached to the session object. | ||||||
|  | ** | ||||||
|  | ** <dt>SQLITE_SESSION_OBJCONFIG_ROWID <dd> | ||||||
|  | **   This option is used to set, clear or query the flag that enables | ||||||
|  | **   collection of data for tables with no explicit PRIMARY KEY. | ||||||
|  | ** | ||||||
|  | **   Normally, tables with no explicit PRIMARY KEY are simply ignored | ||||||
|  | **   by the sessions module. However, if this flag is set, it behaves | ||||||
|  | **   as if such tables have a column "_rowid_ INTEGER PRIMARY KEY" inserted | ||||||
|  | **   as their leftmost columns. | ||||||
|  | ** | ||||||
|  | **   It is an error (SQLITE_MISUSE) to attempt to modify this setting after | ||||||
|  | **   the first table has been attached to the session object. | ||||||
| */ | */ | ||||||
| SQLITE_API int sqlite3session_object_config(sqlite3_session*, int op, void *pArg); | #define SQLITE_SESSION_OBJCONFIG_SIZE  1 | ||||||
|  | #define SQLITE_SESSION_OBJCONFIG_ROWID 2 | ||||||
| /* |  | ||||||
| */ |  | ||||||
| #define SQLITE_SESSION_OBJCONFIG_SIZE 1 |  | ||||||
|  |  | ||||||
| /* | /* | ||||||
| ** CAPI3REF: Enable Or Disable A Session Object | ** CAPI3REF: Enable Or Disable A Session Object | ||||||
| @@ -11913,9 +11997,23 @@ SQLITE_API int sqlite3changeset_apply_v2( | |||||||
| **   Invert the changeset before applying it. This is equivalent to inverting | **   Invert the changeset before applying it. This is equivalent to inverting | ||||||
| **   a changeset using sqlite3changeset_invert() before applying it. It is | **   a changeset using sqlite3changeset_invert() before applying it. It is | ||||||
| **   an error to specify this flag with a patchset. | **   an error to specify this flag with a patchset. | ||||||
|  | ** | ||||||
|  | ** <dt>SQLITE_CHANGESETAPPLY_IGNORENOOP <dd> | ||||||
|  | **   Do not invoke the conflict handler callback for any changes that | ||||||
|  | **   would not actually modify the database even if they were applied. | ||||||
|  | **   Specifically, this means that the conflict handler is not invoked | ||||||
|  | **   for: | ||||||
|  | **    <ul> | ||||||
|  | **    <li>a delete change if the row being deleted cannot be found, | ||||||
|  | **    <li>an update change if the modified fields are already set to | ||||||
|  | **        their new values in the conflicting row, or | ||||||
|  | **    <li>an insert change if all fields of the conflicting row match | ||||||
|  | **        the row being inserted. | ||||||
|  | **    </ul> | ||||||
| */ | */ | ||||||
| #define SQLITE_CHANGESETAPPLY_NOSAVEPOINT   0x0001 | #define SQLITE_CHANGESETAPPLY_NOSAVEPOINT   0x0001 | ||||||
| #define SQLITE_CHANGESETAPPLY_INVERT        0x0002 | #define SQLITE_CHANGESETAPPLY_INVERT        0x0002 | ||||||
|  | #define SQLITE_CHANGESETAPPLY_IGNORENOOP    0x0004 | ||||||
|  |  | ||||||
| /* | /* | ||||||
| ** CAPI3REF: Constants Passed To The Conflict Handler | ** CAPI3REF: Constants Passed To The Conflict Handler | ||||||
|   | |||||||
| @@ -9,7 +9,7 @@ export SQLITE3_LIB_DIR="$SCRIPT_DIR/sqlite3" | |||||||
| export SQLITE3_INCLUDE_DIR="$SQLITE3_LIB_DIR" | export SQLITE3_INCLUDE_DIR="$SQLITE3_LIB_DIR" | ||||||
|  |  | ||||||
| # Download and extract amalgamation | # Download and extract amalgamation | ||||||
| SQLITE=sqlite-amalgamation-3410200 | SQLITE=sqlite-amalgamation-3420000 | ||||||
| curl -O https://sqlite.org/2023/$SQLITE.zip | curl -O https://sqlite.org/2023/$SQLITE.zip | ||||||
| unzip -p "$SQLITE.zip" "$SQLITE/sqlite3.c" > "$SQLITE3_LIB_DIR/sqlite3.c" | unzip -p "$SQLITE.zip" "$SQLITE/sqlite3.c" > "$SQLITE3_LIB_DIR/sqlite3.c" | ||||||
| unzip -p "$SQLITE.zip" "$SQLITE/sqlite3.h" > "$SQLITE3_LIB_DIR/sqlite3.h" | unzip -p "$SQLITE.zip" "$SQLITE/sqlite3.h" > "$SQLITE3_LIB_DIR/sqlite3.h" | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user