|
|
@@ -123,9 +123,9 @@ extern "C" {
|
|
|
** [sqlite3_libversion_number()], [sqlite3_sourceid()],
|
|
|
** [sqlite_version()] and [sqlite_source_id()].
|
|
|
*/
|
|
|
-#define SQLITE_VERSION "3.35.0"
|
|
|
-#define SQLITE_VERSION_NUMBER 3035000
|
|
|
-#define SQLITE_SOURCE_ID "2021-01-22 21:23:12 7b2a7c7314d2239992dc1d707280f3b75ba75bb074ba1e77b55cad01ca7falt1"
|
|
|
+#define SQLITE_VERSION "3.36.0"
|
|
|
+#define SQLITE_VERSION_NUMBER 3036000
|
|
|
+#define SQLITE_SOURCE_ID "2021-04-03 23:30:33 35ff7cbf547d41109b7cd4217a5439b3b4a1a4c310309c572c88f596fbc1alt1"
|
|
|
|
|
|
/*
|
|
|
** CAPI3REF: Run-Time Library Version Numbers
|
|
|
@@ -1130,6 +1130,19 @@ struct sqlite3_io_methods {
|
|
|
** file to the database file, but before the *-shm file is updated to
|
|
|
** record the fact that the pages have been checkpointed.
|
|
|
** </ul>
|
|
|
+**
|
|
|
+** <li>[[SQLITE_FCNTL_EXTERNAL_READER]]
|
|
|
+** The EXPERIMENTAL [SQLITE_FCNTL_EXTERNAL_READER] opcode is used to detect
|
|
|
+** whether or not there is a database client in another process with a wal-mode
|
|
|
+** transaction open on the database or not. It is only available on unix.The
|
|
|
+** (void*) argument passed with this file-control should be a pointer to a
|
|
|
+** value of type (int). The integer value is set to 1 if the database is a wal
|
|
|
+** mode database and there exists at least one client in another process that
|
|
|
+** currently has an SQL transaction open on the database. It is set to 0 if
|
|
|
+** the database is not a wal-mode db, or if there is no such connection in any
|
|
|
+** other process. This opcode cannot be used to detect transactions opened
|
|
|
+** by clients within the current process, only within other processes.
|
|
|
+** </ul>
|
|
|
*/
|
|
|
#define SQLITE_FCNTL_LOCKSTATE 1
|
|
|
#define SQLITE_FCNTL_GET_LOCKPROXYFILE 2
|
|
|
@@ -1170,6 +1183,8 @@ struct sqlite3_io_methods {
|
|
|
#define SQLITE_FCNTL_RESERVE_BYTES 38
|
|
|
#define SQLITE_FCNTL_CKPT_START 39
|
|
|
|
|
|
+#define SQLITE_FCNTL_EXTERNAL_READER 40
|
|
|
+
|
|
|
/* deprecated names */
|
|
|
#define SQLITE_GET_LOCKPROXYFILE SQLITE_FCNTL_GET_LOCKPROXYFILE
|
|
|
#define SQLITE_SET_LOCKPROXYFILE SQLITE_FCNTL_SET_LOCKPROXYFILE
|
|
|
@@ -2117,7 +2132,13 @@ struct sqlite3_mem_methods {
|
|
|
** The second parameter is a pointer to an integer into which
|
|
|
** is written 0 or 1 to indicate whether triggers are disabled or enabled
|
|
|
** following this call. The second parameter may be a NULL pointer, in
|
|
|
-** which case the trigger setting is not reported back. </dd>
|
|
|
+** which case the trigger setting is not reported back.
|
|
|
+**
|
|
|
+** <p>Originally this option disabled all triggers. ^(However, since
|
|
|
+** SQLite version 3.35.0, TEMP triggers are still allowed even if
|
|
|
+** this option is off. So, in other words, this option now only disables
|
|
|
+** triggers in the main database schema or in the schemas of ATTACH-ed
|
|
|
+** databases.)^ </dd>
|
|
|
**
|
|
|
** [[SQLITE_DBCONFIG_ENABLE_VIEW]]
|
|
|
** <dt>SQLITE_DBCONFIG_ENABLE_VIEW</dt>
|
|
|
@@ -2128,7 +2149,13 @@ struct sqlite3_mem_methods {
|
|
|
** 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>
|
|
|
+** which case the view setting is not reported back.
|
|
|
+**
|
|
|
+** <p>Originally this option disabled all views. ^(However, since
|
|
|
+** SQLite version 3.35.0, TEMP views are still allowed even if
|
|
|
+** this option is off. So, in other words, this option now only disables
|
|
|
+** views in the main database schema or in the schemas of ATTACH-ed
|
|
|
+** databases.)^ </dd>
|
|
|
**
|
|
|
** [[SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER]]
|
|
|
** <dt>SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER</dt>
|
|
|
@@ -10617,18 +10644,23 @@ SQLITE_API int sqlite3changeset_next(sqlite3_changeset_iter *pIter);
|
|
|
** call to [sqlite3changeset_next()] must have returned [SQLITE_ROW]. If this
|
|
|
** is not the case, this function returns [SQLITE_MISUSE].
|
|
|
**
|
|
|
-** If argument pzTab is not NULL, then *pzTab is set to point to a
|
|
|
-** nul-terminated utf-8 encoded string containing the name of the table
|
|
|
-** affected by the current change. The buffer remains valid until either
|
|
|
-** sqlite3changeset_next() is called on the iterator or until the
|
|
|
-** conflict-handler function returns. If pnCol is not NULL, then *pnCol is
|
|
|
-** set to the number of columns in the table affected by the change. If
|
|
|
-** pbIndirect is not NULL, then *pbIndirect is set to true (1) if the change
|
|
|
+** Arguments pOp, pnCol and pzTab may not be NULL. Upon return, three
|
|
|
+** outputs are set through these pointers:
|
|
|
+**
|
|
|
+** *pOp is set to one of [SQLITE_INSERT], [SQLITE_DELETE] or [SQLITE_UPDATE],
|
|
|
+** depending on the type of change that the iterator currently points to;
|
|
|
+**
|
|
|
+** *pnCol is set to the number of columns in the table affected by the change; and
|
|
|
+**
|
|
|
+** *pzTab is set to point to a nul-terminated utf-8 encoded string containing
|
|
|
+** the name of the table affected by the current change. The buffer remains
|
|
|
+** valid until either sqlite3changeset_next() is called on the iterator
|
|
|
+** or until the conflict-handler function returns.
|
|
|
+**
|
|
|
+** If pbIndirect is not NULL, then *pbIndirect is set to true (1) if the change
|
|
|
** is an indirect change, or false (0) otherwise. See the documentation for
|
|
|
** [sqlite3session_indirect()] for a description of direct and indirect
|
|
|
-** changes. Finally, if pOp is not NULL, then *pOp is set to one of
|
|
|
-** [SQLITE_INSERT], [SQLITE_DELETE] or [SQLITE_UPDATE], depending on the
|
|
|
-** type of change that the iterator currently points to.
|
|
|
+** changes.
|
|
|
**
|
|
|
** If no error occurs, SQLITE_OK is returned. If an error does occur, an
|
|
|
** SQLite error code is returned. The values of the output variables may not
|