|
|
|
@ -123,9 +123,9 @@ extern "C" {
|
|
|
|
|
** [sqlite3_libversion_number()], [sqlite3_sourceid()], |
|
|
|
|
** [sqlite_version()] and [sqlite_source_id()]. |
|
|
|
|
*/ |
|
|
|
|
#define SQLITE_VERSION "3.27.2" |
|
|
|
|
#define SQLITE_VERSION_NUMBER 3027002 |
|
|
|
|
#define SQLITE_SOURCE_ID "2019-02-25 16:06:06 bd49a8271d650fa89e446b42e513b595a717b9212c91dd384aab871fc1d0f6d7" |
|
|
|
|
#define SQLITE_VERSION "3.29.0" |
|
|
|
|
#define SQLITE_VERSION_NUMBER 3029000 |
|
|
|
|
#define SQLITE_SOURCE_ID "2019-07-10 17:32:03 fc82b73eaac8b36950e527f12c4b5dc1e147e6f4ad2217ae43ad82882a88bfa6" |
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
** CAPI3REF: Run-Time Library Version Numbers |
|
|
|
@ -189,6 +189,9 @@ SQLITE_API int sqlite3_libversion_number(void);
|
|
|
|
|
#ifndef SQLITE_OMIT_COMPILEOPTION_DIAGS |
|
|
|
|
SQLITE_API int sqlite3_compileoption_used(const char *zOptName); |
|
|
|
|
SQLITE_API const char *sqlite3_compileoption_get(int N); |
|
|
|
|
#else |
|
|
|
|
# define sqlite3_compileoption_used(X) 0 |
|
|
|
|
# define sqlite3_compileoption_get(X) ((void*)0) |
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
@ -1293,8 +1296,14 @@ typedef struct sqlite3_api_routines sqlite3_api_routines;
|
|
|
|
|
** ^The flags argument to xAccess() may be [SQLITE_ACCESS_EXISTS] |
|
|
|
|
** to test for the existence of a file, or [SQLITE_ACCESS_READWRITE] to |
|
|
|
|
** test whether a file is readable and writable, or [SQLITE_ACCESS_READ] |
|
|
|
|
** to test whether a file is at least readable. The file can be a |
|
|
|
|
** directory. |
|
|
|
|
** to test whether a file is at least readable. The SQLITE_ACCESS_READ |
|
|
|
|
** flag is never actually used and is not implemented in the built-in |
|
|
|
|
** VFSes of SQLite. The file is named by the second argument and can be a |
|
|
|
|
** directory. The xAccess method returns [SQLITE_OK] on success or some |
|
|
|
|
** non-zero error code if there is an I/O error or if the name of |
|
|
|
|
** the file given in the second argument is illegal. If SQLITE_OK |
|
|
|
|
** is returned, then non-zero or zero is written into *pResOut to indicate |
|
|
|
|
** whether or not the file is accessible.
|
|
|
|
|
** |
|
|
|
|
** ^SQLite will always allocate at least mxPathname+1 bytes for the |
|
|
|
|
** output buffer xFullPathname. The exact size of the output buffer |
|
|
|
@ -2086,8 +2095,8 @@ struct sqlite3_mem_methods {
|
|
|
|
|
** |
|
|
|
|
** [[SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER]] |
|
|
|
|
** <dt>SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER</dt> |
|
|
|
|
** <dd> ^This option is used to enable or disable the two-argument |
|
|
|
|
** version of the [fts3_tokenizer()] function which is part of the |
|
|
|
|
** <dd> ^This option is used to enable or disable the |
|
|
|
|
** [fts3_tokenizer()] function which is part of the |
|
|
|
|
** [FTS3] full-text search engine extension. |
|
|
|
|
** There should be two additional arguments. |
|
|
|
|
** The first argument is an integer which is 0 to disable fts3_tokenizer() or |
|
|
|
@ -2195,10 +2204,50 @@ struct sqlite3_mem_methods {
|
|
|
|
|
** features include but are not limited to the following: |
|
|
|
|
** <ul> |
|
|
|
|
** <li> The [PRAGMA writable_schema=ON] statement. |
|
|
|
|
** <li> The [PRAGMA journal_mode=OFF] statement. |
|
|
|
|
** <li> Writes to the [sqlite_dbpage] virtual table. |
|
|
|
|
** <li> Direct writes to [shadow tables]. |
|
|
|
|
** </ul> |
|
|
|
|
** </dd> |
|
|
|
|
** |
|
|
|
|
** [[SQLITE_DBCONFIG_WRITABLE_SCHEMA]] <dt>SQLITE_DBCONFIG_WRITABLE_SCHEMA</dt> |
|
|
|
|
** <dd>The SQLITE_DBCONFIG_WRITABLE_SCHEMA option activates or deactivates the |
|
|
|
|
** "writable_schema" flag. This has the same effect and is logically equivalent |
|
|
|
|
** to setting [PRAGMA writable_schema=ON] or [PRAGMA writable_schema=OFF]. |
|
|
|
|
** The first argument to this setting is an integer which is 0 to disable
|
|
|
|
|
** the writable_schema, positive to enable writable_schema, 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 the writable_schema |
|
|
|
|
** is enabled or disabled following this call. |
|
|
|
|
** </dd> |
|
|
|
|
** |
|
|
|
|
** [[SQLITE_DBCONFIG_LEGACY_ALTER_TABLE]] |
|
|
|
|
** <dt>SQLITE_DBCONFIG_LEGACY_ALTER_TABLE</dt> |
|
|
|
|
** <dd>The SQLITE_DBCONFIG_LEGACY_ALTER_TABLE option activates or deactivates |
|
|
|
|
** the legacy behavior of the [ALTER TABLE RENAME] command such it |
|
|
|
|
** behaves as it did prior to [version 3.24.0] (2018-06-04). See the |
|
|
|
|
** "Compatibility Notice" on the [ALTER TABLE RENAME documentation] for |
|
|
|
|
** additional information. This feature can also be turned on and off |
|
|
|
|
** using the [PRAGMA legacy_alter_table] statement. |
|
|
|
|
** </dd> |
|
|
|
|
** |
|
|
|
|
** [[SQLITE_DBCONFIG_DQS_DML]] |
|
|
|
|
** <dt>SQLITE_DBCONFIG_DQS_DML</td> |
|
|
|
|
** <dd>The SQLITE_DBCONFIG_DQS_DML option activates or deactivates |
|
|
|
|
** the legacy [double-quoted string literal] misfeature for DML statement |
|
|
|
|
** only, that is DELETE, INSERT, SELECT, and UPDATE statements. The |
|
|
|
|
** default value of this setting is determined by the [-DSQLITE_DQS] |
|
|
|
|
** compile-time option. |
|
|
|
|
** </dd> |
|
|
|
|
** |
|
|
|
|
** [[SQLITE_DBCONFIG_DQS_DDL]] |
|
|
|
|
** <dt>SQLITE_DBCONFIG_DQS_DDL</td> |
|
|
|
|
** <dd>The SQLITE_DBCONFIG_DQS option activates or deactivates |
|
|
|
|
** the legacy [double-quoted string literal] misfeature for DDL statements, |
|
|
|
|
** such as CREATE TABLE and CREATE INDEX. The |
|
|
|
|
** default value of this setting is determined by the [-DSQLITE_DQS] |
|
|
|
|
** compile-time option. |
|
|
|
|
** </dd> |
|
|
|
|
** </dl> |
|
|
|
|
*/ |
|
|
|
|
#define SQLITE_DBCONFIG_MAINDBNAME 1000 /* const char* */ |
|
|
|
@ -2212,7 +2261,11 @@ struct sqlite3_mem_methods {
|
|
|
|
|
#define SQLITE_DBCONFIG_TRIGGER_EQP 1008 /* int int* */ |
|
|
|
|
#define SQLITE_DBCONFIG_RESET_DATABASE 1009 /* int int* */ |
|
|
|
|
#define SQLITE_DBCONFIG_DEFENSIVE 1010 /* int int* */ |
|
|
|
|
#define SQLITE_DBCONFIG_MAX 1010 /* Largest DBCONFIG */ |
|
|
|
|
#define SQLITE_DBCONFIG_WRITABLE_SCHEMA 1011 /* int int* */ |
|
|
|
|
#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 */ |
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
** CAPI3REF: Enable Or Disable Extended Result Codes |
|
|
|
@ -3894,6 +3947,18 @@ SQLITE_API const char *sqlite3_normalized_sql(sqlite3_stmt *pStmt);
|
|
|
|
|
*/ |
|
|
|
|
SQLITE_API int sqlite3_stmt_readonly(sqlite3_stmt *pStmt); |
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
** CAPI3REF: Query The EXPLAIN Setting For A Prepared Statement |
|
|
|
|
** METHOD: sqlite3_stmt |
|
|
|
|
** |
|
|
|
|
** ^The sqlite3_stmt_isexplain(S) interface returns 1 if the |
|
|
|
|
** prepared statement S is an EXPLAIN statement, or 2 if the |
|
|
|
|
** statement S is an EXPLAIN QUERY PLAN. |
|
|
|
|
** ^The sqlite3_stmt_isexplain(S) interface returns 0 if S is |
|
|
|
|
** an ordinary statement or a NULL pointer. |
|
|
|
|
*/ |
|
|
|
|
SQLITE_API int sqlite3_stmt_isexplain(sqlite3_stmt *pStmt); |
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
** CAPI3REF: Determine If A Prepared Statement Has Been Reset |
|
|
|
|
** METHOD: sqlite3_stmt |
|
|
|
@ -4033,7 +4098,9 @@ typedef struct sqlite3_context sqlite3_context;
|
|
|
|
|
** ^The fifth argument to the BLOB and string binding interfaces |
|
|
|
|
** is a destructor used to dispose of the BLOB or |
|
|
|
|
** string after SQLite has finished with it. ^The destructor is called |
|
|
|
|
** to dispose of the BLOB or string even if the call to bind API fails. |
|
|
|
|
** to dispose of the BLOB or string even if the call to the bind API fails, |
|
|
|
|
** except the destructor is not called if the third parameter is a NULL |
|
|
|
|
** pointer or the fourth parameter is negative. |
|
|
|
|
** ^If the fifth argument is |
|
|
|
|
** the special value [SQLITE_STATIC], then SQLite assumes that the |
|
|
|
|
** information is in static, unmanaged space and does not need to be freed. |
|
|
|
@ -4950,6 +5017,8 @@ SQLITE_API SQLITE_DEPRECATED int sqlite3_memory_alarm(void(*)(void*,sqlite3_int6
|
|
|
|
|
** <tr><td><b>sqlite3_value_nochange </b> |
|
|
|
|
** <td>→ <td>True if the column is unchanged in an UPDATE |
|
|
|
|
** against a virtual table. |
|
|
|
|
** <tr><td><b>sqlite3_value_frombind </b> |
|
|
|
|
** <td>→ <td>True if value originated from a [bound parameter] |
|
|
|
|
** </table></blockquote> |
|
|
|
|
** |
|
|
|
|
** <b>Details:</b> |
|
|
|
@ -5011,6 +5080,11 @@ SQLITE_API SQLITE_DEPRECATED int sqlite3_memory_alarm(void(*)(void*,sqlite3_int6
|
|
|
|
|
** than within an [xUpdate] method call for an UPDATE statement, then |
|
|
|
|
** the return value is arbitrary and meaningless. |
|
|
|
|
** |
|
|
|
|
** ^The sqlite3_value_frombind(X) interface returns non-zero if the |
|
|
|
|
** value X originated from one of the [sqlite3_bind_int|sqlite3_bind()] |
|
|
|
|
** interfaces. ^If X comes from an SQL literal value, or a table column, |
|
|
|
|
** and expression, then sqlite3_value_frombind(X) returns zero. |
|
|
|
|
** |
|
|
|
|
** Please pay particular attention to the fact that the pointer returned |
|
|
|
|
** from [sqlite3_value_blob()], [sqlite3_value_text()], or |
|
|
|
|
** [sqlite3_value_text16()] can be invalidated by a subsequent call to |
|
|
|
@ -5056,6 +5130,7 @@ SQLITE_API int sqlite3_value_bytes16(sqlite3_value*);
|
|
|
|
|
SQLITE_API int sqlite3_value_type(sqlite3_value*); |
|
|
|
|
SQLITE_API int sqlite3_value_numeric_type(sqlite3_value*); |
|
|
|
|
SQLITE_API int sqlite3_value_nochange(sqlite3_value*); |
|
|
|
|
SQLITE_API int sqlite3_value_frombind(sqlite3_value*); |
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
** CAPI3REF: Finding The Subtype Of SQL Values |
|
|
|
@ -5791,7 +5866,7 @@ SQLITE_API sqlite3 *sqlite3_db_handle(sqlite3_stmt*);
|
|
|
|
|
** associated with database N of connection D. ^The main database file |
|
|
|
|
** has the name "main". If there is no attached database N on the database |
|
|
|
|
** connection D, or if database N is a temporary or in-memory database, then |
|
|
|
|
** a NULL pointer is returned. |
|
|
|
|
** this function will return either a NULL pointer or an empty string. |
|
|
|
|
** |
|
|
|
|
** ^The filename returned by this function is the output of the |
|
|
|
|
** xFullPathname method of the [VFS]. ^In other words, the filename |
|
|
|
@ -7282,7 +7357,8 @@ SQLITE_API int sqlite3_test_control(int op, ...);
|
|
|
|
|
#define SQLITE_TESTCTRL_SORTER_MMAP 24 |
|
|
|
|
#define SQLITE_TESTCTRL_IMPOSTER 25 |
|
|
|
|
#define SQLITE_TESTCTRL_PARSER_COVERAGE 26 |
|
|
|
|
#define SQLITE_TESTCTRL_LAST 26 /* Largest TESTCTRL */ |
|
|
|
|
#define SQLITE_TESTCTRL_RESULT_INTREAL 27 |
|
|
|
|
#define SQLITE_TESTCTRL_LAST 27 /* Largest TESTCTRL */ |
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
** CAPI3REF: SQL Keyword Checking |
|
|
|
@ -10892,7 +10968,7 @@ SQLITE_API int sqlite3rebaser_configure(
|
|
|
|
|
** in size. This function allocates and populates a buffer with a copy |
|
|
|
|
** of the changeset rebased rebased according to the configuration of the |
|
|
|
|
** rebaser object passed as the first argument. If successful, (*ppOut) |
|
|
|
|
** is set to point to the new buffer containing the rebased changset and
|
|
|
|
|
** is set to point to the new buffer containing the rebased changeset and
|
|
|
|
|
** (*pnOut) to its size in bytes and SQLITE_OK returned. It is the |
|
|
|
|
** responsibility of the caller to eventually free the new buffer using |
|
|
|
|
** sqlite3_free(). Otherwise, if an error occurs, (*ppOut) and (*pnOut) |
|
|
|
@ -11301,7 +11377,7 @@ struct Fts5PhraseIter {
|
|
|
|
|
** Save the pointer passed as the second argument as the extension functions
|
|
|
|
|
** "auxiliary data". The pointer may then be retrieved by the current or any |
|
|
|
|
** future invocation of the same fts5 extension function made as part of |
|
|
|
|
** of the same MATCH query using the xGetAuxdata() API. |
|
|
|
|
** the same MATCH query using the xGetAuxdata() API. |
|
|
|
|
** |
|
|
|
|
** Each extension function is allocated a single auxiliary data slot for |
|
|
|
|
** each FTS query (MATCH expression). If the extension function is invoked
|
|
|
|
@ -11316,7 +11392,7 @@ struct Fts5PhraseIter {
|
|
|
|
|
** The xDelete callback, if one is specified, is also invoked on the |
|
|
|
|
** auxiliary data pointer after the FTS5 query has finished. |
|
|
|
|
** |
|
|
|
|
** If an error (e.g. an OOM condition) occurs within this function, an |
|
|
|
|
** If an error (e.g. an OOM condition) occurs within this function, |
|
|
|
|
** the auxiliary data is set to NULL and an error code returned. If the |
|
|
|
|
** xDelete parameter was not NULL, it is invoked on the auxiliary data |
|
|
|
|
** pointer before returning. |
|
|
|
|