|
@@ -125,7 +125,7 @@ extern "C" {
|
|
|
*/
|
|
*/
|
|
|
#define SQLITE_VERSION "3.22.0"
|
|
#define SQLITE_VERSION "3.22.0"
|
|
|
#define SQLITE_VERSION_NUMBER 3022000
|
|
#define SQLITE_VERSION_NUMBER 3022000
|
|
|
-#define SQLITE_SOURCE_ID "2017-12-13 23:47:55 3765aaf712998af5ffb6bc680a0c1419f2b5deb47ecbc1835ba5879127c4alt1"
|
|
|
|
|
|
|
+#define SQLITE_SOURCE_ID "2018-01-11 18:15:40 a5d09dfaa337fa51d6e702c6aefe58824ab1e7d221c6e79166e2c6f9c7abalt1"
|
|
|
|
|
|
|
|
/*
|
|
/*
|
|
|
** CAPI3REF: Run-Time Library Version Numbers
|
|
** CAPI3REF: Run-Time Library Version Numbers
|
|
@@ -2062,7 +2062,6 @@ struct sqlite3_mem_methods {
|
|
|
** 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>
|
|
|
-**
|
|
|
|
|
** <dt>SQLITE_DBCONFIG_ENABLE_QPSG</dt>
|
|
** <dt>SQLITE_DBCONFIG_ENABLE_QPSG</dt>
|
|
|
** <dd>^(The SQLITE_DBCONFIG_ENABLE_QPSG option activates or deactivates
|
|
** <dd>^(The SQLITE_DBCONFIG_ENABLE_QPSG option activates or deactivates
|
|
|
** the [query planner stability guarantee] (QPSG). When the QPSG is active,
|
|
** the [query planner stability guarantee] (QPSG). When the QPSG is active,
|
|
@@ -2073,7 +2072,16 @@ struct sqlite3_mem_methods {
|
|
|
** the QPSG active, SQLite will always use the same query plan in the field as
|
|
** the QPSG active, SQLite will always use the same query plan in the field as
|
|
|
** was used during testing in the lab.
|
|
** was used during testing in the lab.
|
|
|
** </dd>
|
|
** </dd>
|
|
|
-**
|
|
|
|
|
|
|
+** <dt>SQLITE_DBCONFIG_TRIGGER_EQP</dt>
|
|
|
|
|
+** <dd> By default, the output of EXPLAIN QUERY PLAN commands does not
|
|
|
|
|
+** include output for any operations performed by trigger programs. This
|
|
|
|
|
+** option is used to set or clear (the default) a flag that governs this
|
|
|
|
|
+** behavior. The first parameter passed to this operation is an integer -
|
|
|
|
|
+** non-zero to enable output for trigger programs, or zero to disable it.
|
|
|
|
|
+** The second parameter is a pointer to an integer into which is written
|
|
|
|
|
+** 0 or 1 to indicate whether output-for-triggers has been disabled - 0 if
|
|
|
|
|
+** it is not disabled, 1 if it is.
|
|
|
|
|
+** </dd>
|
|
|
** </dl>
|
|
** </dl>
|
|
|
*/
|
|
*/
|
|
|
#define SQLITE_DBCONFIG_MAINDBNAME 1000 /* const char* */
|
|
#define SQLITE_DBCONFIG_MAINDBNAME 1000 /* const char* */
|
|
@@ -2084,7 +2092,8 @@ struct sqlite3_mem_methods {
|
|
|
#define SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION 1005 /* int int* */
|
|
#define SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION 1005 /* int int* */
|
|
|
#define SQLITE_DBCONFIG_NO_CKPT_ON_CLOSE 1006 /* int int* */
|
|
#define SQLITE_DBCONFIG_NO_CKPT_ON_CLOSE 1006 /* int int* */
|
|
|
#define SQLITE_DBCONFIG_ENABLE_QPSG 1007 /* int int* */
|
|
#define SQLITE_DBCONFIG_ENABLE_QPSG 1007 /* int int* */
|
|
|
-
|
|
|
|
|
|
|
+#define SQLITE_DBCONFIG_TRIGGER_EQP 1008 /* int int* */
|
|
|
|
|
+#define SQLITE_DBCONFIG_MAX 1008 /* Largest DBCONFIG */
|
|
|
|
|
|
|
|
/*
|
|
/*
|
|
|
** CAPI3REF: Enable Or Disable Extended Result Codes
|
|
** CAPI3REF: Enable Or Disable Extended Result Codes
|
|
@@ -6982,9 +6991,9 @@ SQLITE_API sqlite3_mutex *sqlite3_db_mutex(sqlite3*);
|
|
|
** the xFileControl method. ^The return value of the xFileControl
|
|
** the xFileControl method. ^The return value of the xFileControl
|
|
|
** method becomes the return value of this routine.
|
|
** method becomes the return value of this routine.
|
|
|
**
|
|
**
|
|
|
-** ^The SQLITE_FCNTL_FILE_POINTER value for the op parameter causes
|
|
|
|
|
|
|
+** ^The [SQLITE_FCNTL_FILE_POINTER] value for the op parameter causes
|
|
|
** a pointer to the underlying [sqlite3_file] object to be written into
|
|
** a pointer to the underlying [sqlite3_file] object to be written into
|
|
|
-** the space pointed to by the 4th parameter. ^The SQLITE_FCNTL_FILE_POINTER
|
|
|
|
|
|
|
+** the space pointed to by the 4th parameter. ^The [SQLITE_FCNTL_FILE_POINTER]
|
|
|
** case is a short-circuit path which does not actually invoke the
|
|
** case is a short-circuit path which does not actually invoke the
|
|
|
** underlying sqlite3_io_methods.xFileControl method.
|
|
** underlying sqlite3_io_methods.xFileControl method.
|
|
|
**
|
|
**
|
|
@@ -6996,7 +7005,7 @@ SQLITE_API sqlite3_mutex *sqlite3_db_mutex(sqlite3*);
|
|
|
** an incorrect zDbName and an SQLITE_ERROR return from the underlying
|
|
** an incorrect zDbName and an SQLITE_ERROR return from the underlying
|
|
|
** xFileControl method.
|
|
** xFileControl method.
|
|
|
**
|
|
**
|
|
|
-** See also: [SQLITE_FCNTL_LOCKSTATE]
|
|
|
|
|
|
|
+** See also: [file control opcodes]
|
|
|
*/
|
|
*/
|
|
|
SQLITE_API int sqlite3_file_control(sqlite3*, const char *zDbName, int op, void*);
|
|
SQLITE_API int sqlite3_file_control(sqlite3*, const char *zDbName, int op, void*);
|
|
|
|
|
|
|
@@ -7053,7 +7062,8 @@ SQLITE_API int sqlite3_test_control(int op, ...);
|
|
|
#define SQLITE_TESTCTRL_ISINIT 23
|
|
#define SQLITE_TESTCTRL_ISINIT 23
|
|
|
#define SQLITE_TESTCTRL_SORTER_MMAP 24
|
|
#define SQLITE_TESTCTRL_SORTER_MMAP 24
|
|
|
#define SQLITE_TESTCTRL_IMPOSTER 25
|
|
#define SQLITE_TESTCTRL_IMPOSTER 25
|
|
|
-#define SQLITE_TESTCTRL_LAST 25
|
|
|
|
|
|
|
+#define SQLITE_TESTCTRL_PARSER_COVERAGE 26
|
|
|
|
|
+#define SQLITE_TESTCTRL_LAST 26 /* Largest TESTCTRL */
|
|
|
|
|
|
|
|
/*
|
|
/*
|
|
|
** CAPI3REF: SQLite Runtime Status
|
|
** CAPI3REF: SQLite Runtime Status
|
|
@@ -8307,6 +8317,33 @@ SQLITE_API int sqlite3_vtab_config(sqlite3*, int op, ...);
|
|
|
*/
|
|
*/
|
|
|
SQLITE_API int sqlite3_vtab_on_conflict(sqlite3 *);
|
|
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
|
|
|
|
|
+** 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 lighter-weight value to return that the corresponding [xUpdate] method
|
|
|
|
|
+** understands as a "no-change" value.
|
|
|
|
|
+*/
|
|
|
|
|
+SQLITE_API int sqlite3_vtab_nochange(sqlite3_context*);
|
|
|
|
|
+
|
|
|
|
|
+/*
|
|
|
|
|
+** CAPI3REF: Determine The Collation For a Virtual Table Constraint
|
|
|
|
|
+**
|
|
|
|
|
+** This function may only be called from within a call to the [xBestIndex]
|
|
|
|
|
+** method of a [virtual table].
|
|
|
|
|
+**
|
|
|
|
|
+** The first argument must be the sqlite3_index_info object that is the
|
|
|
|
|
+** first parameter to the xBestIndex() method. The second argument must be
|
|
|
|
|
+** an index into the aConstraint[] array belonging to the sqlite3_index_info
|
|
|
|
|
+** structure passed to xBestIndex. This function returns a pointer to a buffer
|
|
|
|
|
+** containing the name of the collation sequence for the corresponding
|
|
|
|
|
+** constraint.
|
|
|
|
|
+*/
|
|
|
|
|
+SQLITE_API SQLITE_EXPERIMENTAL const char *sqlite3_vtab_collation(sqlite3_index_info*,int);
|
|
|
|
|
+
|
|
|
/*
|
|
/*
|
|
|
** CAPI3REF: Conflict resolution modes
|
|
** CAPI3REF: Conflict resolution modes
|
|
|
** KEYWORDS: {conflict resolution mode}
|
|
** KEYWORDS: {conflict resolution mode}
|