|
|
@@ -125,7 +125,7 @@ extern "C" {
|
|
|
*/
|
|
|
#define SQLITE_VERSION "3.30.0"
|
|
|
#define SQLITE_VERSION_NUMBER 3030000
|
|
|
-#define SQLITE_SOURCE_ID "2019-08-06 21:16:28 17b3d2218c02a4005d4c96471c452105b54abb25901ae62990b01f0c9551alt1"
|
|
|
+#define SQLITE_SOURCE_ID "2019-08-22 00:53:16 81b9f0f55042777b37de78069f7089041a9ee21dd0a0c86b879053fb46e1alt1"
|
|
|
|
|
|
/*
|
|
|
** CAPI3REF: Run-Time Library Version Numbers
|
|
|
@@ -2095,6 +2095,17 @@ struct sqlite3_mem_methods {
|
|
|
** following this call. The second parameter may be a NULL pointer, in
|
|
|
** which case the trigger setting is not reported back. </dd>
|
|
|
**
|
|
|
+** [[SQLITE_DBCONFIG_ENABLE_VIEW]]
|
|
|
+** <dt>SQLITE_DBCONFIG_ENABLE_VIEW</dt>
|
|
|
+** <dd> ^This option is used to enable or disable [CREATE VIEW | views].
|
|
|
+** There should be two additional arguments.
|
|
|
+** The first argument is an integer which is 0 to disable views,
|
|
|
+** positive to enable views or negative to leave the setting unchanged.
|
|
|
+** The second parameter is a pointer to an integer into which
|
|
|
+** is written 0 or 1 to indicate whether views are disabled or enabled
|
|
|
+** following this call. The second parameter may be a NULL pointer, in
|
|
|
+** which case the view setting is not reported back. </dd>
|
|
|
+**
|
|
|
** [[SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER]]
|
|
|
** <dt>SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER</dt>
|
|
|
** <dd> ^This option is used to enable or disable the
|
|
|
@@ -2267,7 +2278,8 @@ struct sqlite3_mem_methods {
|
|
|
#define SQLITE_DBCONFIG_LEGACY_ALTER_TABLE 1012 /* int int* */
|
|
|
#define SQLITE_DBCONFIG_DQS_DML 1013 /* int int* */
|
|
|
#define SQLITE_DBCONFIG_DQS_DDL 1014 /* int int* */
|
|
|
-#define SQLITE_DBCONFIG_MAX 1014 /* Largest DBCONFIG */
|
|
|
+#define SQLITE_DBCONFIG_ENABLE_VIEW 1015 /* int int* */
|
|
|
+#define SQLITE_DBCONFIG_MAX 1015 /* Largest DBCONFIG */
|
|
|
|
|
|
/*
|
|
|
** CAPI3REF: Enable Or Disable Extended Result Codes
|
|
|
@@ -3835,7 +3847,7 @@ SQLITE_API int sqlite3_limit(sqlite3*, int id, int newVal);
|
|
|
** ^The specific value of WHERE-clause [parameter] might influence the
|
|
|
** choice of query plan if the parameter is the left-hand side of a [LIKE]
|
|
|
** or [GLOB] operator or if the parameter is compared to an indexed column
|
|
|
-** and the [SQLITE_ENABLE_STAT3] compile-time option is enabled.
|
|
|
+** and the [SQLITE_ENABLE_STAT4] compile-time option is enabled.
|
|
|
** </li>
|
|
|
** </ol>
|
|
|
**
|
|
|
@@ -4869,6 +4881,9 @@ SQLITE_API int sqlite3_reset(sqlite3_stmt *pStmt);
|
|
|
** function that is not deterministic. The SQLite query planner is able to
|
|
|
** perform additional optimizations on deterministic functions, so use
|
|
|
** of the [SQLITE_DETERMINISTIC] flag is recommended where possible.
|
|
|
+** ^The fourth parameter may also optionally include the [SQLITE_DIRECTONLY]
|
|
|
+** flag, which if present prevents the function from being invoked from
|
|
|
+** within VIEWs or TRIGGERs.
|
|
|
**
|
|
|
** ^(The fifth parameter is an arbitrary pointer. The implementation of the
|
|
|
** function can gain access to this pointer using [sqlite3_user_data()].)^
|
|
|
@@ -4986,8 +5001,16 @@ SQLITE_API int sqlite3_create_window_function(
|
|
|
** [SQLITE_UTF8 | preferred text encoding] as the fourth argument
|
|
|
** to [sqlite3_create_function()], [sqlite3_create_function16()], or
|
|
|
** [sqlite3_create_function_v2()].
|
|
|
+**
|
|
|
+** The SQLITE_DETERMINISTIC flag means that the new function will always
|
|
|
+** maps the same inputs into the same output. The abs() function is
|
|
|
+** deterministic, for example, but randomblob() is not.
|
|
|
+**
|
|
|
+** The SQLITE_DIRECTONLY flag means that the function may only be invoked
|
|
|
+** from top-level SQL, and cannot be used in VIEWs or TRIGGERs.
|
|
|
*/
|
|
|
-#define SQLITE_DETERMINISTIC 0x800
|
|
|
+#define SQLITE_DETERMINISTIC 0x000000800
|
|
|
+#define SQLITE_DIRECTONLY 0x000080000
|
|
|
|
|
|
/*
|
|
|
** CAPI3REF: Deprecated Functions
|
|
|
@@ -6634,6 +6657,12 @@ struct sqlite3_index_info {
|
|
|
** ^The sqlite3_create_module()
|
|
|
** interface is equivalent to sqlite3_create_module_v2() with a NULL
|
|
|
** destructor.
|
|
|
+**
|
|
|
+** ^If the third parameter (the pointer to the sqlite3_module object) is
|
|
|
+** NULL then no new module is create and any existing modules with the
|
|
|
+** same name are dropped.
|
|
|
+**
|
|
|
+** See also: [sqlite3_drop_modules()]
|
|
|
*/
|
|
|
SQLITE_API int sqlite3_create_module(
|
|
|
sqlite3 *db, /* SQLite connection to register module with */
|
|
|
@@ -6649,6 +6678,23 @@ SQLITE_API int sqlite3_create_module_v2(
|
|
|
void(*xDestroy)(void*) /* Module destructor function */
|
|
|
);
|
|
|
|
|
|
+/*
|
|
|
+** CAPI3REF: Remove Unnecessary Virtual Table Implementations
|
|
|
+** METHOD: sqlite3
|
|
|
+**
|
|
|
+** ^The sqlite3_drop_modules(D,L) interface removes all virtual
|
|
|
+** table modules from database connection D except those named on list L.
|
|
|
+** The L parameter must be either NULL or a pointer to an array of pointers
|
|
|
+** to strings where the array is terminated by a single NULL pointer.
|
|
|
+** ^If the L parameter is NULL, then all virtual table modules are removed.
|
|
|
+**
|
|
|
+** See also: [sqlite3_create_module()]
|
|
|
+*/
|
|
|
+SQLITE_API int sqlite3_drop_modules(
|
|
|
+ sqlite3 *db, /* Remove modules from this connection */
|
|
|
+ const char **azKeep /* Except, do not remove the ones named here */
|
|
|
+);
|
|
|
+
|
|
|
/*
|
|
|
** CAPI3REF: Virtual Table Instance Object
|
|
|
** KEYWORDS: sqlite3_vtab
|
|
|
@@ -7381,7 +7427,8 @@ SQLITE_API int sqlite3_test_control(int op, ...);
|
|
|
#define SQLITE_TESTCTRL_PARSER_COVERAGE 26
|
|
|
#define SQLITE_TESTCTRL_RESULT_INTREAL 27
|
|
|
#define SQLITE_TESTCTRL_PRNG_SEED 28
|
|
|
-#define SQLITE_TESTCTRL_LAST 28 /* Largest TESTCTRL */
|
|
|
+#define SQLITE_TESTCTRL_EXTRA_SCHEMA_CHECKS 29
|
|
|
+#define SQLITE_TESTCTRL_LAST 29 /* Largest TESTCTRL */
|
|
|
|
|
|
/*
|
|
|
** CAPI3REF: SQL Keyword Checking
|