|
@@ -123,9 +123,9 @@ extern "C" {
|
|
|
** [sqlite3_libversion_number()], [sqlite3_sourceid()],
|
|
** [sqlite3_libversion_number()], [sqlite3_sourceid()],
|
|
|
** [sqlite_version()] and [sqlite_source_id()].
|
|
** [sqlite_version()] and [sqlite_source_id()].
|
|
|
*/
|
|
*/
|
|
|
-#define SQLITE_VERSION "3.22.0"
|
|
|
|
|
-#define SQLITE_VERSION_NUMBER 3022000
|
|
|
|
|
-#define SQLITE_SOURCE_ID "2018-01-17 01:40:57 3e04999dabb87715de46255b1a9b08d5dfa70d140e0a09a37ea2842d71c7alt1"
|
|
|
|
|
|
|
+#define SQLITE_VERSION "3.23.0"
|
|
|
|
|
+#define SQLITE_VERSION_NUMBER 3023000
|
|
|
|
|
+#define SQLITE_SOURCE_ID "2018-02-08 01:00:11 ad5d3bdc739a0997786f94fb5789b726b9f53ff883226093924338fe5000alt1"
|
|
|
|
|
|
|
|
/*
|
|
/*
|
|
|
** CAPI3REF: Run-Time Library Version Numbers
|
|
** CAPI3REF: Run-Time Library Version Numbers
|
|
@@ -2968,8 +2968,8 @@ SQLITE_API SQLITE_DEPRECATED void *sqlite3_profile(sqlite3*,
|
|
|
** KEYWORDS: SQLITE_TRACE
|
|
** KEYWORDS: SQLITE_TRACE
|
|
|
**
|
|
**
|
|
|
** These constants identify classes of events that can be monitored
|
|
** These constants identify classes of events that can be monitored
|
|
|
-** using the [sqlite3_trace_v2()] tracing logic. The third argument
|
|
|
|
|
-** to [sqlite3_trace_v2()] is an OR-ed combination of one or more of
|
|
|
|
|
|
|
+** using the [sqlite3_trace_v2()] tracing logic. The M argument
|
|
|
|
|
+** to [sqlite3_trace_v2(D,M,X,P)] is an OR-ed combination of one or more of
|
|
|
** the following constants. ^The first argument to the trace callback
|
|
** the following constants. ^The first argument to the trace callback
|
|
|
** is one of the following constants.
|
|
** is one of the following constants.
|
|
|
**
|
|
**
|
|
@@ -3678,13 +3678,13 @@ SQLITE_API int sqlite3_limit(sqlite3*, int id, int newVal);
|
|
|
** or [GLOB] operator or if the parameter is compared to an indexed column
|
|
** 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_STAT3] compile-time option is enabled.
|
|
|
** </li>
|
|
** </li>
|
|
|
|
|
+** </ol>
|
|
|
**
|
|
**
|
|
|
** <p>^sqlite3_prepare_v3() differs from sqlite3_prepare_v2() only in having
|
|
** <p>^sqlite3_prepare_v3() differs from sqlite3_prepare_v2() only in having
|
|
|
** the extra prepFlags parameter, which is a bit array consisting of zero or
|
|
** the extra prepFlags parameter, which is a bit array consisting of zero or
|
|
|
** more of the [SQLITE_PREPARE_PERSISTENT|SQLITE_PREPARE_*] flags. ^The
|
|
** more of the [SQLITE_PREPARE_PERSISTENT|SQLITE_PREPARE_*] flags. ^The
|
|
|
** sqlite3_prepare_v2() interface works exactly the same as
|
|
** sqlite3_prepare_v2() interface works exactly the same as
|
|
|
** sqlite3_prepare_v3() with a zero prepFlags parameter.
|
|
** sqlite3_prepare_v3() with a zero prepFlags parameter.
|
|
|
-** </ol>
|
|
|
|
|
*/
|
|
*/
|
|
|
SQLITE_API int sqlite3_prepare(
|
|
SQLITE_API int sqlite3_prepare(
|
|
|
sqlite3 *db, /* Database handle */
|
|
sqlite3 *db, /* Database handle */
|
|
@@ -9094,6 +9094,35 @@ SQLITE_API int sqlite3session_indirect(sqlite3_session *pSession, int bIndirect)
|
|
|
**
|
|
**
|
|
|
** SQLITE_OK is returned if the call completes without error. Or, if an error
|
|
** SQLITE_OK is returned if the call completes without error. Or, if an error
|
|
|
** occurs, an SQLite error code (e.g. SQLITE_NOMEM) is returned.
|
|
** occurs, an SQLite error code (e.g. SQLITE_NOMEM) is returned.
|
|
|
|
|
+**
|
|
|
|
|
+** <h3>Special sqlite_stat1 Handling</h3>
|
|
|
|
|
+**
|
|
|
|
|
+** As of SQLite version 3.22.0, the "sqlite_stat1" table is an exception to
|
|
|
|
|
+** some of the rules above. In SQLite, the schema of sqlite_stat1 is:
|
|
|
|
|
+** <pre>
|
|
|
|
|
+** CREATE TABLE sqlite_stat1(tbl,idx,stat)
|
|
|
|
|
+** </pre>
|
|
|
|
|
+**
|
|
|
|
|
+** Even though sqlite_stat1 does not have a PRIMARY KEY, changes are
|
|
|
|
|
+** recorded for it as if the PRIMARY KEY is (tbl,idx). Additionally, changes
|
|
|
|
|
+** are recorded for rows for which (idx IS NULL) is true. However, for such
|
|
|
|
|
+** rows a zero-length blob (SQL value X'') is stored in the changeset or
|
|
|
|
|
+** patchset instead of a NULL value. This allows such changesets to be
|
|
|
|
|
+** manipulated by legacy implementations of sqlite3changeset_invert(),
|
|
|
|
|
+** concat() and similar.
|
|
|
|
|
+**
|
|
|
|
|
+** The sqlite3changeset_apply() function automatically converts the
|
|
|
|
|
+** zero-length blob back to a NULL value when updating the sqlite_stat1
|
|
|
|
|
+** table. However, if the application calls sqlite3changeset_new(),
|
|
|
|
|
+** sqlite3changeset_old() or sqlite3changeset_conflict on a changeset
|
|
|
|
|
+** iterator directly (including on a changeset iterator passed to a
|
|
|
|
|
+** conflict-handler callback) then the X'' value is returned. The application
|
|
|
|
|
+** must translate X'' to NULL itself if required.
|
|
|
|
|
+**
|
|
|
|
|
+** Legacy (older than 3.22.0) versions of the sessions module cannot capture
|
|
|
|
|
+** changes made to the sqlite_stat1 table. Legacy versions of the
|
|
|
|
|
+** sqlite3changeset_apply() function silently ignore any modifications to the
|
|
|
|
|
+** sqlite_stat1 table that are part of a changeset or patchset.
|
|
|
*/
|
|
*/
|
|
|
SQLITE_API int sqlite3session_attach(
|
|
SQLITE_API int sqlite3session_attach(
|
|
|
sqlite3_session *pSession, /* Session object */
|
|
sqlite3_session *pSession, /* Session object */
|