|
|
@@ -125,7 +125,7 @@ extern "C" {
|
|
|
*/
|
|
|
#define SQLITE_VERSION "3.34.0"
|
|
|
#define SQLITE_VERSION_NUMBER 3034000
|
|
|
-#define SQLITE_SOURCE_ID "2020-10-07 11:24:45 54b54f02c66c5aeaa3504c52a04614e2fb4d7260da8367840d5ea5a71cdcalt1"
|
|
|
+#define SQLITE_SOURCE_ID "2020-11-20 14:16:41 07f53899a929cce93f17c0332819610c9517c7e54e00092af20efd746cf8alt1"
|
|
|
|
|
|
/*
|
|
|
** CAPI3REF: Run-Time Library Version Numbers
|
|
|
@@ -504,6 +504,7 @@ SQLITE_API int sqlite3_exec(
|
|
|
#define SQLITE_IOERR_COMMIT_ATOMIC (SQLITE_IOERR | (30<<8))
|
|
|
#define SQLITE_IOERR_ROLLBACK_ATOMIC (SQLITE_IOERR | (31<<8))
|
|
|
#define SQLITE_IOERR_DATA (SQLITE_IOERR | (32<<8))
|
|
|
+#define SQLITE_IOERR_CORRUPTFS (SQLITE_IOERR | (33<<8))
|
|
|
#define SQLITE_LOCKED_SHAREDCACHE (SQLITE_LOCKED | (1<<8))
|
|
|
#define SQLITE_LOCKED_VTAB (SQLITE_LOCKED | (2<<8))
|
|
|
#define SQLITE_BUSY_RECOVERY (SQLITE_BUSY | (1<<8))
|
|
|
@@ -9311,10 +9312,11 @@ SQLITE_API int sqlite3_vtab_on_conflict(sqlite3 *);
|
|
|
** CAPI3REF: Determine If Virtual Table Column Access Is For UPDATE
|
|
|
**
|
|
|
** If the sqlite3_vtab_nochange(X) routine is called within the [xColumn]
|
|
|
-** method of a [virtual table], then it returns true if and only if the
|
|
|
+** method of a [virtual table], then it might return true if the
|
|
|
** column is being fetched as part of an UPDATE operation during which the
|
|
|
-** column value will not change. Applications might use this to substitute
|
|
|
-** a return value that is less expensive to compute and that the corresponding
|
|
|
+** column value will not change. The virtual table implementation can use
|
|
|
+** this hint as permission to substitute a return value that is less
|
|
|
+** expensive to compute and that the corresponding
|
|
|
** [xUpdate] method understands as a "no-change" value.
|
|
|
**
|
|
|
** If the [xColumn] method calls sqlite3_vtab_nochange() and finds that
|
|
|
@@ -9323,6 +9325,12 @@ SQLITE_API int sqlite3_vtab_on_conflict(sqlite3 *);
|
|
|
** any of the [sqlite3_result_int|sqlite3_result_xxxxx() interfaces].
|
|
|
** In that case, [sqlite3_value_nochange(X)] will return true for the
|
|
|
** same column in the [xUpdate] method.
|
|
|
+**
|
|
|
+** The sqlite3_vtab_nochange() routine is an optimization. Virtual table
|
|
|
+** implementations should continue to give a correct answer even if the
|
|
|
+** sqlite3_vtab_nochange() interface were to always return false. In the
|
|
|
+** current implementation, the sqlite3_vtab_nochange() interface does always
|
|
|
+** returns false for the enhanced [UPDATE FROM] statement.
|
|
|
*/
|
|
|
SQLITE_API int sqlite3_vtab_nochange(sqlite3_context*);
|
|
|
|