|
|
@@ -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
|
|
|
# define SQLITE_EXTERN extern
|
|
|
@@ -123,9 +146,9 @@ extern "C" {
|
|
|
** [sqlite3_libversion_number()], [sqlite3_sourceid()],
|
|
|
** [sqlite_version()] and [sqlite_source_id()].
|
|
|
*/
|
|
|
-#define SQLITE_VERSION "3.36.0"
|
|
|
-#define SQLITE_VERSION_NUMBER 3036000
|
|
|
-#define SQLITE_SOURCE_ID "2021-06-16 19:23:24 7bd55eee1ac63cf6d5699ce85bc5a29bf51afdf7a80bce44937fa833947aalt1"
|
|
|
+#define SQLITE_VERSION "3.37.0"
|
|
|
+#define SQLITE_VERSION_NUMBER 3037000
|
|
|
+#define SQLITE_SOURCE_ID "2021-10-03 22:03:59 be211a9c59234ef202e772fcaae18be43c44e1e00674f137cad2d903e00balt1"
|
|
|
|
|
|
/*
|
|
|
** CAPI3REF: Run-Time Library Version Numbers
|
|
|
@@ -516,6 +539,7 @@ SQLITE_API int sqlite3_exec(
|
|
|
#define SQLITE_CANTOPEN_CONVPATH (SQLITE_CANTOPEN | (4<<8))
|
|
|
#define SQLITE_CANTOPEN_DIRTYWAL (SQLITE_CANTOPEN | (5<<8)) /* Not Used */
|
|
|
#define SQLITE_CANTOPEN_SYMLINK (SQLITE_CANTOPEN | (6<<8))
|
|
|
+#define SQLITE_CANTOPEN_EXISTS (SQLITE_CANTOPEN | (7<<8))
|
|
|
#define SQLITE_CORRUPT_VTAB (SQLITE_CORRUPT | (1<<8))
|
|
|
#define SQLITE_CORRUPT_SEQUENCE (SQLITE_CORRUPT | (2<<8))
|
|
|
#define SQLITE_CORRUPT_INDEX (SQLITE_CORRUPT | (3<<8))
|
|
|
@@ -537,6 +561,7 @@ SQLITE_API int sqlite3_exec(
|
|
|
#define SQLITE_CONSTRAINT_VTAB (SQLITE_CONSTRAINT | (9<<8))
|
|
|
#define SQLITE_CONSTRAINT_ROWID (SQLITE_CONSTRAINT |(10<<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_ROLLBACK (SQLITE_NOTICE | (2<<8))
|
|
|
#define SQLITE_WARNING_AUTOINDEX (SQLITE_WARNING | (1<<8))
|
|
|
@@ -2466,11 +2491,14 @@ SQLITE_API void sqlite3_set_last_insert_rowid(sqlite3*,sqlite3_int64);
|
|
|
** CAPI3REF: Count The Number Of Rows Modified
|
|
|
** 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
|
|
|
** statement on the database connection specified by the only parameter.
|
|
|
-** ^Executing any other type of SQL statement does not modify the value
|
|
|
-** returned by this function.
|
|
|
+** The two functions are identical except for the type of the return value
|
|
|
+** 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
|
|
|
** considered - auxiliary changes caused by [CREATE TRIGGER | triggers],
|
|
|
@@ -2519,16 +2547,21 @@ SQLITE_API void sqlite3_set_last_insert_rowid(sqlite3*,sqlite3_int64);
|
|
|
** </ul>
|
|
|
*/
|
|
|
SQLITE_API int sqlite3_changes(sqlite3*);
|
|
|
+SQLITE_API sqlite3_int64 sqlite3_changes64(sqlite3*);
|
|
|
|
|
|
/*
|
|
|
** CAPI3REF: Total Number Of Rows Modified
|
|
|
** 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
|
|
|
** 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().
|
|
|
+** part of trigger programs. The two functions are identical except for the
|
|
|
+** 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
|
|
|
** count, but those made as part of REPLACE constraint resolution are
|
|
|
@@ -2556,6 +2589,7 @@ SQLITE_API int sqlite3_changes(sqlite3*);
|
|
|
** </ul>
|
|
|
*/
|
|
|
SQLITE_API int sqlite3_total_changes(sqlite3*);
|
|
|
+SQLITE_API sqlite3_int64 sqlite3_total_changes64(sqlite3*);
|
|
|
|
|
|
/*
|
|
|
** CAPI3REF: Interrupt A Long-Running Query
|
|
|
@@ -3404,6 +3438,12 @@ SQLITE_API void sqlite3_progress_handler(sqlite3*, int, int(*)(void*), void*);
|
|
|
**
|
|
|
** [[OPEN_NOFOLLOW]] ^(<dt>[SQLITE_OPEN_NOFOLLOW]</dt>
|
|
|
** <dd>The database filename is not allowed to be a symbolic link</dd>
|
|
|
+**
|
|
|
+** [[OPEN_EXCLUSIVE]] ^(<dt>[SQLITE_OPEN_EXCLUSIVE]</dt>
|
|
|
+** <dd>This flag causes the open to fail if the database file already
|
|
|
+** exists. The open will only be success if this flag is used in combination
|
|
|
+** with the SQLITE_OPEN_CREATE and SQLITE_OPEN_READWRITE flags and if
|
|
|
+** the file does not previously exist.</dd>
|
|
|
** </dl>)^
|
|
|
**
|
|
|
** If the 3rd parameter to sqlite3_open_v2() is not one of the
|
|
|
@@ -4179,12 +4219,17 @@ SQLITE_API int sqlite3_prepare16_v3(
|
|
|
** are managed by SQLite and are automatically freed when the prepared
|
|
|
** statement is finalized.
|
|
|
** ^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()].
|
|
|
+**
|
|
|
+** ^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 char *sqlite3_expanded_sql(sqlite3_stmt *pStmt);
|
|
|
+#ifdef SQLITE_ENABLE_NORMALIZE
|
|
|
SQLITE_API const char *sqlite3_normalized_sql(sqlite3_stmt *pStmt);
|
|
|
+#endif
|
|
|
|
|
|
/*
|
|
|
** CAPI3REF: Determine If An SQL Statement Writes The Database
|
|
|
@@ -9077,8 +9122,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
|
|
|
** 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
|
|
|
+** previously registered write-ahead log callback. ^The return value is
|
|
|
+** 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
|
|
|
** overwrite any prior [sqlite3_wal_hook()] settings.
|
|
|
*/
|
|
|
@@ -9945,6 +9991,10 @@ SQLITE_API unsigned char *sqlite3_serialize(
|
|
|
** database is currently in a read transaction or is involved in a backup
|
|
|
** 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
|
|
|
** SQLITE_DESERIALIZE_FREEONCLOSE bit is set in argument F, then
|
|
|
** [sqlite3_free()] is invoked on argument P prior to returning.
|