forked from cory/tildefriends
		
	sqlite-amalgamation-3370000.zip
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@3696 ed5197a5-7fde-0310-b194-c3ffbd925b24
This commit is contained in:
		
							
								
								
									
										894
									
								
								deps/sqlite/shell.c
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										894
									
								
								deps/sqlite/shell.c
									
									
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										14670
									
								
								deps/sqlite/sqlite3.c
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										14670
									
								
								deps/sqlite/sqlite3.c
									
									
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										167
									
								
								deps/sqlite/sqlite3.h
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										167
									
								
								deps/sqlite/sqlite3.h
									
									
									
									
										vendored
									
									
								
							| @@ -43,7 +43,30 @@ extern "C" { | |||||||
|  |  | ||||||
|  |  | ||||||
| /* | /* | ||||||
| ** Provide the ability to override linkage features of the interface. | ** Facilitate override of interface linkage and calling conventions. | ||||||
|  | ** Be aware that these macros may not be used within this particular | ||||||
|  | ** translation of the amalgamation and its associated header file. | ||||||
|  | ** | ||||||
|  | ** The SQLITE_EXTERN and SQLITE_API macros are used to instruct the | ||||||
|  | ** compiler that the target identifier should have external linkage. | ||||||
|  | ** | ||||||
|  | ** The SQLITE_CDECL macro is used to set the calling convention for | ||||||
|  | ** public functions that accept a variable number of arguments. | ||||||
|  | ** | ||||||
|  | ** The SQLITE_APICALL macro is used to set the calling convention for | ||||||
|  | ** public functions that accept a fixed number of arguments. | ||||||
|  | ** | ||||||
|  | ** The SQLITE_STDCALL macro is no longer used and is now deprecated. | ||||||
|  | ** | ||||||
|  | ** The SQLITE_CALLBACK macro is used to set the calling convention for | ||||||
|  | ** function pointers. | ||||||
|  | ** | ||||||
|  | ** The SQLITE_SYSAPI macro is used to set the calling convention for | ||||||
|  | ** functions provided by the operating system. | ||||||
|  | ** | ||||||
|  | ** Currently, the SQLITE_CDECL, SQLITE_APICALL, SQLITE_CALLBACK, and | ||||||
|  | ** SQLITE_SYSAPI macros are used only when building for environments | ||||||
|  | ** that require non-default calling conventions. | ||||||
| */ | */ | ||||||
| #ifndef SQLITE_EXTERN | #ifndef SQLITE_EXTERN | ||||||
| # define SQLITE_EXTERN extern | # define SQLITE_EXTERN extern | ||||||
| @@ -123,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.36.0" | #define SQLITE_VERSION        "3.37.0" | ||||||
| #define SQLITE_VERSION_NUMBER 3036000 | #define SQLITE_VERSION_NUMBER 3037000 | ||||||
| #define SQLITE_SOURCE_ID      "2021-06-18 18:36:39 5c9a6c06871cb9fe42814af9c039eb6da5427a6ec28f187af7ebfb62eafa66e5" | #define SQLITE_SOURCE_ID      "2021-11-27 14:13:22 bd41822c7424d393a30e92ff6cb254d25c26769889c1499a18a0b9339f5d6c8a" | ||||||
|  |  | ||||||
| /* | /* | ||||||
| ** CAPI3REF: Run-Time Library Version Numbers | ** CAPI3REF: Run-Time Library Version Numbers | ||||||
| @@ -537,6 +560,7 @@ SQLITE_API int sqlite3_exec( | |||||||
| #define SQLITE_CONSTRAINT_VTAB         (SQLITE_CONSTRAINT | (9<<8)) | #define SQLITE_CONSTRAINT_VTAB         (SQLITE_CONSTRAINT | (9<<8)) | ||||||
| #define SQLITE_CONSTRAINT_ROWID        (SQLITE_CONSTRAINT |(10<<8)) | #define SQLITE_CONSTRAINT_ROWID        (SQLITE_CONSTRAINT |(10<<8)) | ||||||
| #define SQLITE_CONSTRAINT_PINNED       (SQLITE_CONSTRAINT |(11<<8)) | #define SQLITE_CONSTRAINT_PINNED       (SQLITE_CONSTRAINT |(11<<8)) | ||||||
|  | #define SQLITE_CONSTRAINT_DATATYPE     (SQLITE_CONSTRAINT |(12<<8)) | ||||||
| #define SQLITE_NOTICE_RECOVER_WAL      (SQLITE_NOTICE | (1<<8)) | #define SQLITE_NOTICE_RECOVER_WAL      (SQLITE_NOTICE | (1<<8)) | ||||||
| #define SQLITE_NOTICE_RECOVER_ROLLBACK (SQLITE_NOTICE | (2<<8)) | #define SQLITE_NOTICE_RECOVER_ROLLBACK (SQLITE_NOTICE | (2<<8)) | ||||||
| #define SQLITE_WARNING_AUTOINDEX       (SQLITE_WARNING | (1<<8)) | #define SQLITE_WARNING_AUTOINDEX       (SQLITE_WARNING | (1<<8)) | ||||||
| @@ -550,6 +574,19 @@ SQLITE_API int sqlite3_exec( | |||||||
| ** These bit values are intended for use in the | ** These bit values are intended for use in the | ||||||
| ** 3rd parameter to the [sqlite3_open_v2()] interface and | ** 3rd parameter to the [sqlite3_open_v2()] interface and | ||||||
| ** in the 4th parameter to the [sqlite3_vfs.xOpen] method. | ** in the 4th parameter to the [sqlite3_vfs.xOpen] method. | ||||||
|  | ** | ||||||
|  | ** Only those flags marked as "Ok for sqlite3_open_v2()" may be | ||||||
|  | ** used as the third argument to the [sqlite3_open_v2()] interface. | ||||||
|  | ** The other flags have historically been ignored by sqlite3_open_v2(), | ||||||
|  | ** though future versions of SQLite might change so that an error is | ||||||
|  | ** raised if any of the disallowed bits are passed into sqlite3_open_v2(). | ||||||
|  | ** Applications should not depend on the historical behavior. | ||||||
|  | ** | ||||||
|  | ** Note in particular that passing the SQLITE_OPEN_EXCLUSIVE flag into | ||||||
|  | ** [sqlite3_open_v2()] does *not* cause the underlying database file | ||||||
|  | ** to be opened using O_EXCL.  Passing SQLITE_OPEN_EXCLUSIVE into | ||||||
|  | ** [sqlite3_open_v2()] has historically be a no-op and might become an | ||||||
|  | ** error in future versions of SQLite. | ||||||
| */ | */ | ||||||
| #define SQLITE_OPEN_READONLY         0x00000001  /* Ok for sqlite3_open_v2() */ | #define SQLITE_OPEN_READONLY         0x00000001  /* Ok for sqlite3_open_v2() */ | ||||||
| #define SQLITE_OPEN_READWRITE        0x00000002  /* Ok for sqlite3_open_v2() */ | #define SQLITE_OPEN_READWRITE        0x00000002  /* Ok for sqlite3_open_v2() */ | ||||||
| @@ -572,6 +609,7 @@ SQLITE_API int sqlite3_exec( | |||||||
| #define SQLITE_OPEN_PRIVATECACHE     0x00040000  /* Ok for sqlite3_open_v2() */ | #define SQLITE_OPEN_PRIVATECACHE     0x00040000  /* Ok for sqlite3_open_v2() */ | ||||||
| #define SQLITE_OPEN_WAL              0x00080000  /* VFS only */ | #define SQLITE_OPEN_WAL              0x00080000  /* VFS only */ | ||||||
| #define SQLITE_OPEN_NOFOLLOW         0x01000000  /* Ok for sqlite3_open_v2() */ | #define SQLITE_OPEN_NOFOLLOW         0x01000000  /* Ok for sqlite3_open_v2() */ | ||||||
|  | #define SQLITE_OPEN_EXRESCODE        0x02000000  /* Extended result codes */ | ||||||
|  |  | ||||||
| /* Reserved:                         0x00F00000 */ | /* Reserved:                         0x00F00000 */ | ||||||
| /* Legacy compatibility: */ | /* Legacy compatibility: */ | ||||||
| @@ -2464,11 +2502,14 @@ SQLITE_API void sqlite3_set_last_insert_rowid(sqlite3*,sqlite3_int64); | |||||||
| ** CAPI3REF: Count The Number Of Rows Modified | ** CAPI3REF: Count The Number Of Rows Modified | ||||||
| ** METHOD: sqlite3 | ** METHOD: sqlite3 | ||||||
| ** | ** | ||||||
| ** ^This function returns the number of rows modified, inserted or | ** ^These functions return the number of rows modified, inserted or | ||||||
| ** deleted by the most recently completed INSERT, UPDATE or DELETE | ** deleted by the most recently completed INSERT, UPDATE or DELETE | ||||||
| ** statement on the database connection specified by the only parameter. | ** statement on the database connection specified by the only parameter. | ||||||
| ** ^Executing any other type of SQL statement does not modify the value | ** The two functions are identical except for the type of the return value | ||||||
| ** returned by this function. | ** and that if the number of rows modified by the most recent INSERT, UPDATE | ||||||
|  | ** or DELETE is greater than the maximum value supported by type "int", then | ||||||
|  | ** the return value of sqlite3_changes() is undefined. ^Executing any other | ||||||
|  | ** type of SQL statement does not modify the value returned by these functions. | ||||||
| ** | ** | ||||||
| ** ^Only changes made directly by the INSERT, UPDATE or DELETE statement are | ** ^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], | ||||||
| @@ -2517,16 +2558,21 @@ SQLITE_API void sqlite3_set_last_insert_rowid(sqlite3*,sqlite3_int64); | |||||||
| ** </ul> | ** </ul> | ||||||
| */ | */ | ||||||
| SQLITE_API int sqlite3_changes(sqlite3*); | SQLITE_API int sqlite3_changes(sqlite3*); | ||||||
|  | SQLITE_API sqlite3_int64 sqlite3_changes64(sqlite3*); | ||||||
|  |  | ||||||
| /* | /* | ||||||
| ** CAPI3REF: Total Number Of Rows Modified | ** CAPI3REF: Total Number Of Rows Modified | ||||||
| ** METHOD: sqlite3 | ** METHOD: sqlite3 | ||||||
| ** | ** | ||||||
| ** ^This function returns the total number of rows inserted, modified or | ** ^These functions return the total number of rows inserted, modified or | ||||||
| ** deleted by all [INSERT], [UPDATE] or [DELETE] statements completed | ** deleted by all [INSERT], [UPDATE] or [DELETE] statements completed | ||||||
| ** since the database connection was opened, including those executed as | ** since the database connection was opened, including those executed as | ||||||
| ** part of trigger programs. ^Executing any other type of SQL statement | ** part of trigger programs. The two functions are identical except for the | ||||||
| ** does not affect the value returned by sqlite3_total_changes(). | ** type of the return value and that if the number of rows modified by the | ||||||
|  | ** connection exceeds the maximum value supported by type "int", then | ||||||
|  | ** the return value of sqlite3_total_changes() is undefined. ^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 | ** ^Changes made as part of [foreign key actions] are included in the | ||||||
| ** count, but those made as part of REPLACE constraint resolution are | ** count, but those made as part of REPLACE constraint resolution are | ||||||
| @@ -2554,6 +2600,7 @@ SQLITE_API int sqlite3_changes(sqlite3*); | |||||||
| ** </ul> | ** </ul> | ||||||
| */ | */ | ||||||
| SQLITE_API int sqlite3_total_changes(sqlite3*); | SQLITE_API int sqlite3_total_changes(sqlite3*); | ||||||
|  | SQLITE_API sqlite3_int64 sqlite3_total_changes64(sqlite3*); | ||||||
|  |  | ||||||
| /* | /* | ||||||
| ** CAPI3REF: Interrupt A Long-Running Query | ** CAPI3REF: Interrupt A Long-Running Query | ||||||
| @@ -3383,6 +3430,14 @@ SQLITE_API void sqlite3_progress_handler(sqlite3*, int, int(*)(void*), void*); | |||||||
| ** the default shared cache setting provided by | ** the default shared cache setting provided by | ||||||
| ** [sqlite3_enable_shared_cache()].)^ | ** [sqlite3_enable_shared_cache()].)^ | ||||||
| ** | ** | ||||||
|  | ** [[OPEN_EXRESCODE]] ^(<dt>[SQLITE_OPEN_EXRESCODE]</dt> | ||||||
|  | ** <dd>The database connection comes up in "extended result code mode". | ||||||
|  | ** In other words, the database behaves has if | ||||||
|  | ** [sqlite3_extended_result_codes(db,1)] where called on the database | ||||||
|  | ** connection as soon as the connection is created. In addition to setting | ||||||
|  | ** the extended result code mode, this flag also causes [sqlite3_open_v2()] | ||||||
|  | ** to return an extended result code.</dd> | ||||||
|  | ** | ||||||
| ** [[OPEN_NOFOLLOW]] ^(<dt>[SQLITE_OPEN_NOFOLLOW]</dt> | ** [[OPEN_NOFOLLOW]] ^(<dt>[SQLITE_OPEN_NOFOLLOW]</dt> | ||||||
| ** <dd>The database filename is not allowed to be a symbolic link</dd> | ** <dd>The database filename is not allowed to be a symbolic link</dd> | ||||||
| ** </dl>)^ | ** </dl>)^ | ||||||
| @@ -3390,7 +3445,15 @@ SQLITE_API void sqlite3_progress_handler(sqlite3*, int, int(*)(void*), void*); | |||||||
| ** If the 3rd parameter to sqlite3_open_v2() is not one of the | ** If the 3rd parameter to sqlite3_open_v2() is not one of the | ||||||
| ** required combinations shown above optionally combined with other | ** required combinations shown above optionally combined with other | ||||||
| ** [SQLITE_OPEN_READONLY | SQLITE_OPEN_* bits] | ** [SQLITE_OPEN_READONLY | SQLITE_OPEN_* bits] | ||||||
| ** then the behavior is undefined. | ** then the behavior is undefined.  Historic versions of SQLite | ||||||
|  | ** have silently ignored surplus bits in the flags parameter to | ||||||
|  | ** sqlite3_open_v2(), however that behavior might not be carried through | ||||||
|  | ** into future versions of SQLite and so applications should not rely | ||||||
|  | ** upon it.  Note in particular that the SQLITE_OPEN_EXCLUSIVE flag is a no-op | ||||||
|  | ** for sqlite3_open_v2().  The SQLITE_OPEN_EXCLUSIVE does *not* cause | ||||||
|  | ** the open to fail if the database already exists.  The SQLITE_OPEN_EXCLUSIVE | ||||||
|  | ** flag is intended for use by the [sqlite3_vfs|VFS interface] only, and not | ||||||
|  | ** by sqlite3_open_v2(). | ||||||
| ** | ** | ||||||
| ** ^The fourth parameter to sqlite3_open_v2() is the name of the | ** ^The fourth parameter to sqlite3_open_v2() is the name of the | ||||||
| ** [sqlite3_vfs] object that defines the operating system interface that | ** [sqlite3_vfs] object that defines the operating system interface that | ||||||
| @@ -4158,12 +4221,17 @@ SQLITE_API int sqlite3_prepare16_v3( | |||||||
| ** are managed by SQLite and are automatically freed when the prepared | ** are managed by SQLite and are automatically freed when the prepared | ||||||
| ** statement is finalized. | ** statement is finalized. | ||||||
| ** ^The string returned by sqlite3_expanded_sql(P), on the other hand, | ** ^The string returned by sqlite3_expanded_sql(P), on the other hand, | ||||||
| ** is obtained from [sqlite3_malloc()] and must be free by the application | ** is obtained from [sqlite3_malloc()] and must be freed by the application | ||||||
| ** by passing it to [sqlite3_free()]. | ** by passing it to [sqlite3_free()]. | ||||||
|  | ** | ||||||
|  | ** ^The sqlite3_normalized_sql() interface is only available if | ||||||
|  | ** the [SQLITE_ENABLE_NORMALIZE] compile-time option is defined. | ||||||
| */ | */ | ||||||
| SQLITE_API const char *sqlite3_sql(sqlite3_stmt *pStmt); | SQLITE_API const char *sqlite3_sql(sqlite3_stmt *pStmt); | ||||||
| SQLITE_API char *sqlite3_expanded_sql(sqlite3_stmt *pStmt); | SQLITE_API char *sqlite3_expanded_sql(sqlite3_stmt *pStmt); | ||||||
|  | #ifdef SQLITE_ENABLE_NORMALIZE | ||||||
| SQLITE_API const char *sqlite3_normalized_sql(sqlite3_stmt *pStmt); | SQLITE_API const char *sqlite3_normalized_sql(sqlite3_stmt *pStmt); | ||||||
|  | #endif | ||||||
|  |  | ||||||
| /* | /* | ||||||
| ** CAPI3REF: Determine If An SQL Statement Writes The Database | ** CAPI3REF: Determine If An SQL Statement Writes The Database | ||||||
| @@ -6347,6 +6415,72 @@ SQLITE_API sqlite3_stmt *sqlite3_next_stmt(sqlite3 *pDb, sqlite3_stmt *pStmt); | |||||||
| SQLITE_API void *sqlite3_commit_hook(sqlite3*, int(*)(void*), void*); | SQLITE_API void *sqlite3_commit_hook(sqlite3*, int(*)(void*), void*); | ||||||
| SQLITE_API void *sqlite3_rollback_hook(sqlite3*, void(*)(void *), void*); | SQLITE_API void *sqlite3_rollback_hook(sqlite3*, void(*)(void *), void*); | ||||||
|  |  | ||||||
|  | /* | ||||||
|  | ** CAPI3REF: Autovacuum Compaction Amount Callback | ||||||
|  | ** METHOD: sqlite3 | ||||||
|  | ** | ||||||
|  | ** ^The sqlite3_autovacuum_pages(D,C,P,X) interface registers a callback | ||||||
|  | ** function C that is invoked prior to each autovacuum of the database | ||||||
|  | ** file.  ^The callback is passed a copy of the generic data pointer (P), | ||||||
|  | ** the schema-name of the attached database that is being autovacuumed, | ||||||
|  | ** the the size of the database file in pages, the number of free pages, | ||||||
|  | ** and the number of bytes per page, respectively.  The callback should | ||||||
|  | ** return the number of free pages that should be removed by the | ||||||
|  | ** autovacuum.  ^If the callback returns zero, then no autovacuum happens. | ||||||
|  | ** ^If the value returned is greater than or equal to the number of | ||||||
|  | ** free pages, then a complete autovacuum happens. | ||||||
|  | ** | ||||||
|  | ** <p>^If there are multiple ATTACH-ed database files that are being | ||||||
|  | ** modified as part of a transaction commit, then the autovacuum pages | ||||||
|  | ** callback is invoked separately for each file. | ||||||
|  | ** | ||||||
|  | ** <p><b>The callback is not reentrant.</b> The callback function should | ||||||
|  | ** not attempt to invoke any other SQLite interface.  If it does, bad | ||||||
|  | ** things may happen, including segmentation faults and corrupt database | ||||||
|  | ** files.  The callback function should be a simple function that | ||||||
|  | ** does some arithmetic on its input parameters and returns a result. | ||||||
|  | ** | ||||||
|  | ** ^The X parameter to sqlite3_autovacuum_pages(D,C,P,X) is an optional | ||||||
|  | ** destructor for the P parameter.  ^If X is not NULL, then X(P) is | ||||||
|  | ** invoked whenever the database connection closes or when the callback | ||||||
|  | ** is overwritten by another invocation of sqlite3_autovacuum_pages(). | ||||||
|  | ** | ||||||
|  | ** <p>^There is only one autovacuum pages callback per database connection. | ||||||
|  | ** ^Each call to the sqlite3_autovacuum_pages() interface overrides all | ||||||
|  | ** previous invocations for that database connection.  ^If the callback | ||||||
|  | ** argument (C) to sqlite3_autovacuum_pages(D,C,P,X) is a NULL pointer, | ||||||
|  | ** then the autovacuum steps callback is cancelled.  The return value | ||||||
|  | ** from sqlite3_autovacuum_pages() is normally SQLITE_OK, but might | ||||||
|  | ** be some other error code if something goes wrong.  The current | ||||||
|  | ** implementation will only return SQLITE_OK or SQLITE_MISUSE, but other | ||||||
|  | ** return codes might be added in future releases. | ||||||
|  | ** | ||||||
|  | ** <p>If no autovacuum pages callback is specified (the usual case) or | ||||||
|  | ** a NULL pointer is provided for the callback, | ||||||
|  | ** then the default behavior is to vacuum all free pages.  So, in other | ||||||
|  | ** words, the default behavior is the same as if the callback function | ||||||
|  | ** were something like this: | ||||||
|  | ** | ||||||
|  | ** <blockquote><pre> | ||||||
|  | **     unsigned int demonstration_autovac_pages_callback( | ||||||
|  | **       void *pClientData, | ||||||
|  | **       const char *zSchema, | ||||||
|  | **       unsigned int nDbPage, | ||||||
|  | **       unsigned int nFreePage, | ||||||
|  | **       unsigned int nBytePerPage | ||||||
|  | **     ){ | ||||||
|  | **       return nFreePage; | ||||||
|  | **     } | ||||||
|  | ** </pre></blockquote> | ||||||
|  | */ | ||||||
|  | SQLITE_API int sqlite3_autovacuum_pages( | ||||||
|  |   sqlite3 *db, | ||||||
|  |   unsigned int(*)(void*,const char*,unsigned int,unsigned int,unsigned int), | ||||||
|  |   void*, | ||||||
|  |   void(*)(void*) | ||||||
|  | ); | ||||||
|  |  | ||||||
|  |  | ||||||
| /* | /* | ||||||
| ** CAPI3REF: Data Change Notification Callbacks | ** CAPI3REF: Data Change Notification Callbacks | ||||||
| ** METHOD: sqlite3 | ** METHOD: sqlite3 | ||||||
| @@ -9010,8 +9144,9 @@ SQLITE_API void sqlite3_log(int iErrCode, const char *zFormat, ...); | |||||||
| ** | ** | ||||||
| ** 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 | ** registered at one time. ^Calling [sqlite3_wal_hook()] replaces any | ||||||
| ** previously registered write-ahead log callback. ^Note that the | ** previously registered write-ahead log callback. ^The return value is | ||||||
| ** [sqlite3_wal_autocheckpoint()] interface and the | ** a copy of the third parameter from the previous call, if any, or 0. | ||||||
|  | ** ^Note that the [sqlite3_wal_autocheckpoint()] interface and the | ||||||
| ** [wal_autocheckpoint pragma] both invoke [sqlite3_wal_hook()] and will | ** [wal_autocheckpoint pragma] both invoke [sqlite3_wal_hook()] and will | ||||||
| ** overwrite any prior [sqlite3_wal_hook()] settings. | ** overwrite any prior [sqlite3_wal_hook()] settings. | ||||||
| */ | */ | ||||||
| @@ -9878,6 +10013,10 @@ SQLITE_API unsigned char *sqlite3_serialize( | |||||||
| ** database is currently in a read transaction or is involved in a backup | ** database is currently in a read transaction or is involved in a backup | ||||||
| ** operation. | ** operation. | ||||||
| ** | ** | ||||||
|  | ** It is not possible to deserialized into the TEMP database.  If the | ||||||
|  | ** S argument to sqlite3_deserialize(D,S,P,N,M,F) is "temp" then the | ||||||
|  | ** function returns SQLITE_ERROR. | ||||||
|  | ** | ||||||
| ** If sqlite3_deserialize(D,S,P,N,M,F) fails for any reason and if the | ** If sqlite3_deserialize(D,S,P,N,M,F) fails for any reason and if the | ||||||
| ** SQLITE_DESERIALIZE_FREEONCLOSE bit is set in argument F, then | ** SQLITE_DESERIALIZE_FREEONCLOSE bit is set in argument F, then | ||||||
| ** [sqlite3_free()] is invoked on argument P prior to returning. | ** [sqlite3_free()] is invoked on argument P prior to returning. | ||||||
|   | |||||||
							
								
								
									
										12
									
								
								deps/sqlite/sqlite3ext.h
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										12
									
								
								deps/sqlite/sqlite3ext.h
									
									
									
									
										vendored
									
									
								
							| @@ -337,6 +337,13 @@ struct sqlite3_api_routines { | |||||||
|   sqlite3_file *(*database_file_object)(const char*); |   sqlite3_file *(*database_file_object)(const char*); | ||||||
|   /* Version 3.34.0 and later */ |   /* Version 3.34.0 and later */ | ||||||
|   int (*txn_state)(sqlite3*,const char*); |   int (*txn_state)(sqlite3*,const char*); | ||||||
|  |   /* Version 3.36.1 and later */ | ||||||
|  |   sqlite3_int64 (*changes64)(sqlite3*); | ||||||
|  |   sqlite3_int64 (*total_changes64)(sqlite3*); | ||||||
|  |   /* Version 3.37.0 and later */ | ||||||
|  |   int (*autovacuum_pages)(sqlite3*, | ||||||
|  |      unsigned int(*)(void*,const char*,unsigned int,unsigned int,unsigned int), | ||||||
|  |      void*, void(*)(void*)); | ||||||
| }; | }; | ||||||
|  |  | ||||||
| /* | /* | ||||||
| @@ -643,6 +650,11 @@ typedef int (*sqlite3_loadext_entry)( | |||||||
| #define sqlite3_database_file_object   sqlite3_api->database_file_object | #define sqlite3_database_file_object   sqlite3_api->database_file_object | ||||||
| /* Version 3.34.0 and later */ | /* Version 3.34.0 and later */ | ||||||
| #define sqlite3_txn_state              sqlite3_api->txn_state | #define sqlite3_txn_state              sqlite3_api->txn_state | ||||||
|  | /* Version 3.36.1 and later */ | ||||||
|  | #define sqlite3_changes64              sqlite3_api->changes64 | ||||||
|  | #define sqlite3_total_changes64        sqlite3_api->total_changes64 | ||||||
|  | /* Version 3.37.0 and later */ | ||||||
|  | #define sqlite3_autovacuum_pages       sqlite3_api->autovacuum_pages | ||||||
| #endif /* !defined(SQLITE_CORE) && !defined(SQLITE_OMIT_LOAD_EXTENSION) */ | #endif /* !defined(SQLITE_CORE) && !defined(SQLITE_OMIT_LOAD_EXTENSION) */ | ||||||
|  |  | ||||||
| #if !defined(SQLITE_CORE) && !defined(SQLITE_OMIT_LOAD_EXTENSION) | #if !defined(SQLITE_CORE) && !defined(SQLITE_OMIT_LOAD_EXTENSION) | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user