Compare commits
2 Commits
sqlite-3.3
...
sqlite-3.3
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
483b7288d1 | ||
|
|
b04e151c18 |
105
sqlite3.h
105
sqlite3.h
@@ -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.32.3"
|
#define SQLITE_VERSION "3.34.0"
|
||||||
#define SQLITE_VERSION_NUMBER 3032003
|
#define SQLITE_VERSION_NUMBER 3034000
|
||||||
#define SQLITE_SOURCE_ID "2020-06-18 14:00:33 7ebdfa80be8e8e73324b8d66b3460222eb74c7e9dfd655b48d6ca7e1933cc8fd"
|
#define SQLITE_SOURCE_ID "2020-12-01 16:14:00 a26b6597e3ae272231b96f9982c3bcc17ddec2f2b6eb4df06a224b91089fed5b"
|
||||||
|
|
||||||
/*
|
/*
|
||||||
** CAPI3REF: Run-Time Library Version Numbers
|
** CAPI3REF: Run-Time Library Version Numbers
|
||||||
@@ -504,6 +504,7 @@ SQLITE_API int sqlite3_exec(
|
|||||||
#define SQLITE_IOERR_COMMIT_ATOMIC (SQLITE_IOERR | (30<<8))
|
#define SQLITE_IOERR_COMMIT_ATOMIC (SQLITE_IOERR | (30<<8))
|
||||||
#define SQLITE_IOERR_ROLLBACK_ATOMIC (SQLITE_IOERR | (31<<8))
|
#define SQLITE_IOERR_ROLLBACK_ATOMIC (SQLITE_IOERR | (31<<8))
|
||||||
#define SQLITE_IOERR_DATA (SQLITE_IOERR | (32<<8))
|
#define SQLITE_IOERR_DATA (SQLITE_IOERR | (32<<8))
|
||||||
|
#define SQLITE_IOERR_CORRUPTFS (SQLITE_IOERR | (33<<8))
|
||||||
#define SQLITE_LOCKED_SHAREDCACHE (SQLITE_LOCKED | (1<<8))
|
#define SQLITE_LOCKED_SHAREDCACHE (SQLITE_LOCKED | (1<<8))
|
||||||
#define SQLITE_LOCKED_VTAB (SQLITE_LOCKED | (2<<8))
|
#define SQLITE_LOCKED_VTAB (SQLITE_LOCKED | (2<<8))
|
||||||
#define SQLITE_BUSY_RECOVERY (SQLITE_BUSY | (1<<8))
|
#define SQLITE_BUSY_RECOVERY (SQLITE_BUSY | (1<<8))
|
||||||
@@ -564,7 +565,7 @@ SQLITE_API int sqlite3_exec(
|
|||||||
#define SQLITE_OPEN_MAIN_JOURNAL 0x00000800 /* VFS only */
|
#define SQLITE_OPEN_MAIN_JOURNAL 0x00000800 /* VFS only */
|
||||||
#define SQLITE_OPEN_TEMP_JOURNAL 0x00001000 /* VFS only */
|
#define SQLITE_OPEN_TEMP_JOURNAL 0x00001000 /* VFS only */
|
||||||
#define SQLITE_OPEN_SUBJOURNAL 0x00002000 /* VFS only */
|
#define SQLITE_OPEN_SUBJOURNAL 0x00002000 /* VFS only */
|
||||||
#define SQLITE_OPEN_MASTER_JOURNAL 0x00004000 /* VFS only */
|
#define SQLITE_OPEN_SUPER_JOURNAL 0x00004000 /* VFS only */
|
||||||
#define SQLITE_OPEN_NOMUTEX 0x00008000 /* Ok for sqlite3_open_v2() */
|
#define SQLITE_OPEN_NOMUTEX 0x00008000 /* Ok for sqlite3_open_v2() */
|
||||||
#define SQLITE_OPEN_FULLMUTEX 0x00010000 /* Ok for sqlite3_open_v2() */
|
#define SQLITE_OPEN_FULLMUTEX 0x00010000 /* Ok for sqlite3_open_v2() */
|
||||||
#define SQLITE_OPEN_SHAREDCACHE 0x00020000 /* Ok for sqlite3_open_v2() */
|
#define SQLITE_OPEN_SHAREDCACHE 0x00020000 /* Ok for sqlite3_open_v2() */
|
||||||
@@ -573,6 +574,9 @@ SQLITE_API int sqlite3_exec(
|
|||||||
#define SQLITE_OPEN_NOFOLLOW 0x01000000 /* Ok for sqlite3_open_v2() */
|
#define SQLITE_OPEN_NOFOLLOW 0x01000000 /* Ok for sqlite3_open_v2() */
|
||||||
|
|
||||||
/* Reserved: 0x00F00000 */
|
/* Reserved: 0x00F00000 */
|
||||||
|
/* Legacy compatibility: */
|
||||||
|
#define SQLITE_OPEN_MASTER_JOURNAL 0x00004000 /* VFS only */
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
** CAPI3REF: Device Characteristics
|
** CAPI3REF: Device Characteristics
|
||||||
@@ -870,7 +874,7 @@ struct sqlite3_io_methods {
|
|||||||
** of the xSync method. In most cases, the pointer argument passed with
|
** of the xSync method. In most cases, the pointer argument passed with
|
||||||
** this file-control is NULL. However, if the database file is being synced
|
** this file-control is NULL. However, if the database file is being synced
|
||||||
** as part of a multi-database commit, the argument points to a nul-terminated
|
** as part of a multi-database commit, the argument points to a nul-terminated
|
||||||
** string containing the transactions master-journal file name. VFSes that
|
** string containing the transactions super-journal file name. VFSes that
|
||||||
** do not need this signal should silently ignore this opcode. Applications
|
** do not need this signal should silently ignore this opcode. Applications
|
||||||
** should not call [sqlite3_file_control()] with this opcode as doing so may
|
** should not call [sqlite3_file_control()] with this opcode as doing so may
|
||||||
** disrupt the operation of the specialized VFSes that do require it.
|
** disrupt the operation of the specialized VFSes that do require it.
|
||||||
@@ -1267,7 +1271,7 @@ typedef struct sqlite3_api_routines sqlite3_api_routines;
|
|||||||
** <li> [SQLITE_OPEN_TEMP_JOURNAL]
|
** <li> [SQLITE_OPEN_TEMP_JOURNAL]
|
||||||
** <li> [SQLITE_OPEN_TRANSIENT_DB]
|
** <li> [SQLITE_OPEN_TRANSIENT_DB]
|
||||||
** <li> [SQLITE_OPEN_SUBJOURNAL]
|
** <li> [SQLITE_OPEN_SUBJOURNAL]
|
||||||
** <li> [SQLITE_OPEN_MASTER_JOURNAL]
|
** <li> [SQLITE_OPEN_SUPER_JOURNAL]
|
||||||
** <li> [SQLITE_OPEN_WAL]
|
** <li> [SQLITE_OPEN_WAL]
|
||||||
** </ul>)^
|
** </ul>)^
|
||||||
**
|
**
|
||||||
@@ -1645,7 +1649,7 @@ SQLITE_API int sqlite3_db_config(sqlite3*, int op, ...);
|
|||||||
** by xInit. The pAppData pointer is used as the only parameter to
|
** by xInit. The pAppData pointer is used as the only parameter to
|
||||||
** xInit and xShutdown.
|
** xInit and xShutdown.
|
||||||
**
|
**
|
||||||
** SQLite holds the [SQLITE_MUTEX_STATIC_MASTER] mutex when it invokes
|
** SQLite holds the [SQLITE_MUTEX_STATIC_MAIN] mutex when it invokes
|
||||||
** the xInit method, so the xInit method need not be threadsafe. The
|
** the xInit method, so the xInit method need not be threadsafe. The
|
||||||
** xShutdown method is only called from [sqlite3_shutdown()] so it does
|
** xShutdown method is only called from [sqlite3_shutdown()] so it does
|
||||||
** not need to be threadsafe either. For all other methods, SQLite
|
** not need to be threadsafe either. For all other methods, SQLite
|
||||||
@@ -2283,8 +2287,7 @@ struct sqlite3_mem_methods {
|
|||||||
** [[SQLITE_DBCONFIG_TRUSTED_SCHEMA]]
|
** [[SQLITE_DBCONFIG_TRUSTED_SCHEMA]]
|
||||||
** <dt>SQLITE_DBCONFIG_TRUSTED_SCHEMA</td>
|
** <dt>SQLITE_DBCONFIG_TRUSTED_SCHEMA</td>
|
||||||
** <dd>The SQLITE_DBCONFIG_TRUSTED_SCHEMA option tells SQLite to
|
** <dd>The SQLITE_DBCONFIG_TRUSTED_SCHEMA option tells SQLite to
|
||||||
** assume that database schemas (the contents of the [sqlite_master] tables)
|
** assume that database schemas are untainted by malicious content.
|
||||||
** are untainted by malicious content.
|
|
||||||
** When the SQLITE_DBCONFIG_TRUSTED_SCHEMA option is disabled, SQLite
|
** When the SQLITE_DBCONFIG_TRUSTED_SCHEMA option is disabled, SQLite
|
||||||
** takes additional defensive steps to protect the application from harm
|
** takes additional defensive steps to protect the application from harm
|
||||||
** including:
|
** including:
|
||||||
@@ -6184,6 +6187,57 @@ SQLITE_API const char *sqlite3_db_filename(sqlite3 *db, const char *zDbName);
|
|||||||
*/
|
*/
|
||||||
SQLITE_API int sqlite3_db_readonly(sqlite3 *db, const char *zDbName);
|
SQLITE_API int sqlite3_db_readonly(sqlite3 *db, const char *zDbName);
|
||||||
|
|
||||||
|
/*
|
||||||
|
** CAPI3REF: Determine the transaction state of a database
|
||||||
|
** METHOD: sqlite3
|
||||||
|
**
|
||||||
|
** ^The sqlite3_txn_state(D,S) interface returns the current
|
||||||
|
** [transaction state] of schema S in database connection D. ^If S is NULL,
|
||||||
|
** then the highest transaction state of any schema on database connection D
|
||||||
|
** is returned. Transaction states are (in order of lowest to highest):
|
||||||
|
** <ol>
|
||||||
|
** <li value="0"> SQLITE_TXN_NONE
|
||||||
|
** <li value="1"> SQLITE_TXN_READ
|
||||||
|
** <li value="2"> SQLITE_TXN_WRITE
|
||||||
|
** </ol>
|
||||||
|
** ^If the S argument to sqlite3_txn_state(D,S) is not the name of
|
||||||
|
** a valid schema, then -1 is returned.
|
||||||
|
*/
|
||||||
|
SQLITE_API int sqlite3_txn_state(sqlite3*,const char *zSchema);
|
||||||
|
|
||||||
|
/*
|
||||||
|
** CAPI3REF: Allowed return values from [sqlite3_txn_state()]
|
||||||
|
** KEYWORDS: {transaction state}
|
||||||
|
**
|
||||||
|
** These constants define the current transaction state of a database file.
|
||||||
|
** ^The [sqlite3_txn_state(D,S)] interface returns one of these
|
||||||
|
** constants in order to describe the transaction state of schema S
|
||||||
|
** in [database connection] D.
|
||||||
|
**
|
||||||
|
** <dl>
|
||||||
|
** [[SQLITE_TXN_NONE]] <dt>SQLITE_TXN_NONE</dt>
|
||||||
|
** <dd>The SQLITE_TXN_NONE state means that no transaction is currently
|
||||||
|
** pending.</dd>
|
||||||
|
**
|
||||||
|
** [[SQLITE_TXN_READ]] <dt>SQLITE_TXN_READ</dt>
|
||||||
|
** <dd>The SQLITE_TXN_READ state means that the database is currently
|
||||||
|
** in a read transaction. Content has been read from the database file
|
||||||
|
** but nothing in the database file has changed. The transaction state
|
||||||
|
** will advanced to SQLITE_TXN_WRITE if any changes occur and there are
|
||||||
|
** no other conflicting concurrent write transactions. The transaction
|
||||||
|
** state will revert to SQLITE_TXN_NONE following a [ROLLBACK] or
|
||||||
|
** [COMMIT].</dd>
|
||||||
|
**
|
||||||
|
** [[SQLITE_TXN_WRITE]] <dt>SQLITE_TXN_WRITE</dt>
|
||||||
|
** <dd>The SQLITE_TXN_WRITE state means that the database is currently
|
||||||
|
** in a write transaction. Content has been written to the database file
|
||||||
|
** but has not yet committed. The transaction state will change to
|
||||||
|
** to SQLITE_TXN_NONE at the next [ROLLBACK] or [COMMIT].</dd>
|
||||||
|
*/
|
||||||
|
#define SQLITE_TXN_NONE 0
|
||||||
|
#define SQLITE_TXN_READ 1
|
||||||
|
#define SQLITE_TXN_WRITE 2
|
||||||
|
|
||||||
/*
|
/*
|
||||||
** CAPI3REF: Find the next prepared statement
|
** CAPI3REF: Find the next prepared statement
|
||||||
** METHOD: sqlite3
|
** METHOD: sqlite3
|
||||||
@@ -6274,7 +6328,7 @@ SQLITE_API void *sqlite3_rollback_hook(sqlite3*, void(*)(void *), void*);
|
|||||||
** ^In the case of an update, this is the [rowid] after the update takes place.
|
** ^In the case of an update, this is the [rowid] after the update takes place.
|
||||||
**
|
**
|
||||||
** ^(The update hook is not invoked when internal system tables are
|
** ^(The update hook is not invoked when internal system tables are
|
||||||
** modified (i.e. sqlite_master and sqlite_sequence).)^
|
** modified (i.e. sqlite_sequence).)^
|
||||||
** ^The update hook is not invoked when [WITHOUT ROWID] tables are modified.
|
** ^The update hook is not invoked when [WITHOUT ROWID] tables are modified.
|
||||||
**
|
**
|
||||||
** ^In the current implementation, the update hook
|
** ^In the current implementation, the update hook
|
||||||
@@ -7376,7 +7430,7 @@ SQLITE_API int sqlite3_vfs_unregister(sqlite3_vfs*);
|
|||||||
** <ul>
|
** <ul>
|
||||||
** <li> SQLITE_MUTEX_FAST
|
** <li> SQLITE_MUTEX_FAST
|
||||||
** <li> SQLITE_MUTEX_RECURSIVE
|
** <li> SQLITE_MUTEX_RECURSIVE
|
||||||
** <li> SQLITE_MUTEX_STATIC_MASTER
|
** <li> SQLITE_MUTEX_STATIC_MAIN
|
||||||
** <li> SQLITE_MUTEX_STATIC_MEM
|
** <li> SQLITE_MUTEX_STATIC_MEM
|
||||||
** <li> SQLITE_MUTEX_STATIC_OPEN
|
** <li> SQLITE_MUTEX_STATIC_OPEN
|
||||||
** <li> SQLITE_MUTEX_STATIC_PRNG
|
** <li> SQLITE_MUTEX_STATIC_PRNG
|
||||||
@@ -7578,7 +7632,7 @@ SQLITE_API int sqlite3_mutex_notheld(sqlite3_mutex*);
|
|||||||
*/
|
*/
|
||||||
#define SQLITE_MUTEX_FAST 0
|
#define SQLITE_MUTEX_FAST 0
|
||||||
#define SQLITE_MUTEX_RECURSIVE 1
|
#define SQLITE_MUTEX_RECURSIVE 1
|
||||||
#define SQLITE_MUTEX_STATIC_MASTER 2
|
#define SQLITE_MUTEX_STATIC_MAIN 2
|
||||||
#define SQLITE_MUTEX_STATIC_MEM 3 /* sqlite3_malloc() */
|
#define SQLITE_MUTEX_STATIC_MEM 3 /* sqlite3_malloc() */
|
||||||
#define SQLITE_MUTEX_STATIC_MEM2 4 /* NOT USED */
|
#define SQLITE_MUTEX_STATIC_MEM2 4 /* NOT USED */
|
||||||
#define SQLITE_MUTEX_STATIC_OPEN 4 /* sqlite3BtreeOpen() */
|
#define SQLITE_MUTEX_STATIC_OPEN 4 /* sqlite3BtreeOpen() */
|
||||||
@@ -7593,6 +7647,10 @@ SQLITE_API int sqlite3_mutex_notheld(sqlite3_mutex*);
|
|||||||
#define SQLITE_MUTEX_STATIC_VFS2 12 /* For use by extension VFS */
|
#define SQLITE_MUTEX_STATIC_VFS2 12 /* For use by extension VFS */
|
||||||
#define SQLITE_MUTEX_STATIC_VFS3 13 /* For use by application VFS */
|
#define SQLITE_MUTEX_STATIC_VFS3 13 /* For use by application VFS */
|
||||||
|
|
||||||
|
/* Legacy compatibility: */
|
||||||
|
#define SQLITE_MUTEX_STATIC_MASTER 2
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
** CAPI3REF: Retrieve the mutex for a database connection
|
** CAPI3REF: Retrieve the mutex for a database connection
|
||||||
** METHOD: sqlite3
|
** METHOD: sqlite3
|
||||||
@@ -7706,7 +7764,8 @@ SQLITE_API int sqlite3_test_control(int op, ...);
|
|||||||
#define SQLITE_TESTCTRL_RESULT_INTREAL 27
|
#define SQLITE_TESTCTRL_RESULT_INTREAL 27
|
||||||
#define SQLITE_TESTCTRL_PRNG_SEED 28
|
#define SQLITE_TESTCTRL_PRNG_SEED 28
|
||||||
#define SQLITE_TESTCTRL_EXTRA_SCHEMA_CHECKS 29
|
#define SQLITE_TESTCTRL_EXTRA_SCHEMA_CHECKS 29
|
||||||
#define SQLITE_TESTCTRL_LAST 29 /* Largest TESTCTRL */
|
#define SQLITE_TESTCTRL_SEEK_COUNT 30
|
||||||
|
#define SQLITE_TESTCTRL_LAST 30 /* Largest TESTCTRL */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
** CAPI3REF: SQL Keyword Checking
|
** CAPI3REF: SQL Keyword Checking
|
||||||
@@ -9186,10 +9245,11 @@ SQLITE_API int sqlite3_vtab_on_conflict(sqlite3 *);
|
|||||||
** CAPI3REF: Determine If Virtual Table Column Access Is For UPDATE
|
** CAPI3REF: Determine If Virtual Table Column Access Is For UPDATE
|
||||||
**
|
**
|
||||||
** If the sqlite3_vtab_nochange(X) routine is called within the [xColumn]
|
** 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
|
** method of a [virtual table], then it might return true if the
|
||||||
** column is being fetched as part of an UPDATE operation during which 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
|
** column value will not change. The virtual table implementation can use
|
||||||
** a return value that is less expensive to compute and that the corresponding
|
** this hint as permission to substitute a return value that is less
|
||||||
|
** expensive to compute and that the corresponding
|
||||||
** [xUpdate] method understands as a "no-change" value.
|
** [xUpdate] method understands as a "no-change" value.
|
||||||
**
|
**
|
||||||
** If the [xColumn] method calls sqlite3_vtab_nochange() and finds that
|
** If the [xColumn] method calls sqlite3_vtab_nochange() and finds that
|
||||||
@@ -9198,6 +9258,12 @@ SQLITE_API int sqlite3_vtab_on_conflict(sqlite3 *);
|
|||||||
** any of the [sqlite3_result_int|sqlite3_result_xxxxx() interfaces].
|
** any of the [sqlite3_result_int|sqlite3_result_xxxxx() interfaces].
|
||||||
** In that case, [sqlite3_value_nochange(X)] will return true for the
|
** In that case, [sqlite3_value_nochange(X)] will return true for the
|
||||||
** same column in the [xUpdate] method.
|
** same column in the [xUpdate] method.
|
||||||
|
**
|
||||||
|
** The sqlite3_vtab_nochange() routine is an optimization. Virtual table
|
||||||
|
** implementations should continue to give a correct answer even if the
|
||||||
|
** sqlite3_vtab_nochange() interface were to always return false. In the
|
||||||
|
** current implementation, the sqlite3_vtab_nochange() interface does always
|
||||||
|
** returns false for the enhanced [UPDATE FROM] statement.
|
||||||
*/
|
*/
|
||||||
SQLITE_API int sqlite3_vtab_nochange(sqlite3_context*);
|
SQLITE_API int sqlite3_vtab_nochange(sqlite3_context*);
|
||||||
|
|
||||||
@@ -9339,6 +9405,7 @@ SQLITE_API void sqlite3_stmt_scanstatus_reset(sqlite3_stmt*);
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
** CAPI3REF: Flush caches to disk mid-transaction
|
** CAPI3REF: Flush caches to disk mid-transaction
|
||||||
|
** METHOD: sqlite3
|
||||||
**
|
**
|
||||||
** ^If a write-transaction is open on [database connection] D when the
|
** ^If a write-transaction is open on [database connection] D when the
|
||||||
** [sqlite3_db_cacheflush(D)] interface invoked, any dirty
|
** [sqlite3_db_cacheflush(D)] interface invoked, any dirty
|
||||||
@@ -9371,6 +9438,7 @@ SQLITE_API int sqlite3_db_cacheflush(sqlite3*);
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
** CAPI3REF: The pre-update hook.
|
** CAPI3REF: The pre-update hook.
|
||||||
|
** METHOD: sqlite3
|
||||||
**
|
**
|
||||||
** ^These interfaces are only available if SQLite is compiled using the
|
** ^These interfaces are only available if SQLite is compiled using the
|
||||||
** [SQLITE_ENABLE_PREUPDATE_HOOK] compile-time option.
|
** [SQLITE_ENABLE_PREUPDATE_HOOK] compile-time option.
|
||||||
@@ -9388,7 +9456,7 @@ SQLITE_API int sqlite3_db_cacheflush(sqlite3*);
|
|||||||
**
|
**
|
||||||
** ^The preupdate hook only fires for changes to real database tables; the
|
** ^The preupdate hook only fires for changes to real database tables; the
|
||||||
** preupdate hook is not invoked for changes to [virtual tables] or to
|
** preupdate hook is not invoked for changes to [virtual tables] or to
|
||||||
** system tables like sqlite_master or sqlite_stat1.
|
** system tables like sqlite_sequence or sqlite_stat1.
|
||||||
**
|
**
|
||||||
** ^The second parameter to the preupdate callback is a pointer to
|
** ^The second parameter to the preupdate callback is a pointer to
|
||||||
** the [database connection] that registered the preupdate hook.
|
** the [database connection] that registered the preupdate hook.
|
||||||
@@ -9411,7 +9479,7 @@ SQLITE_API int sqlite3_db_cacheflush(sqlite3*);
|
|||||||
** seventh parameter is the final rowid value of the row being inserted
|
** seventh parameter is the final rowid value of the row being inserted
|
||||||
** or updated. The value of the seventh parameter passed to the callback
|
** or updated. The value of the seventh parameter passed to the callback
|
||||||
** function is not defined for operations on WITHOUT ROWID tables, or for
|
** function is not defined for operations on WITHOUT ROWID tables, or for
|
||||||
** INSERT operations on rowid tables.
|
** DELETE operations on rowid tables.
|
||||||
**
|
**
|
||||||
** The [sqlite3_preupdate_old()], [sqlite3_preupdate_new()],
|
** The [sqlite3_preupdate_old()], [sqlite3_preupdate_new()],
|
||||||
** [sqlite3_preupdate_count()], and [sqlite3_preupdate_depth()] interfaces
|
** [sqlite3_preupdate_count()], and [sqlite3_preupdate_depth()] interfaces
|
||||||
@@ -9473,6 +9541,7 @@ SQLITE_API int sqlite3_preupdate_new(sqlite3 *, int, sqlite3_value **);
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
** CAPI3REF: Low-level system error code
|
** CAPI3REF: Low-level system error code
|
||||||
|
** METHOD: sqlite3
|
||||||
**
|
**
|
||||||
** ^Attempt to return the underlying operating system error code or error
|
** ^Attempt to return the underlying operating system error code or error
|
||||||
** number that caused the most recent I/O error or failure to open a file.
|
** number that caused the most recent I/O error or failure to open a file.
|
||||||
|
|||||||
@@ -335,6 +335,8 @@ struct sqlite3_api_routines {
|
|||||||
int,const char**);
|
int,const char**);
|
||||||
void (*free_filename)(char*);
|
void (*free_filename)(char*);
|
||||||
sqlite3_file *(*database_file_object)(const char*);
|
sqlite3_file *(*database_file_object)(const char*);
|
||||||
|
/* Version 3.34.0 and later */
|
||||||
|
int (*txn_state)(sqlite3*,const char*);
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -639,6 +641,8 @@ typedef int (*sqlite3_loadext_entry)(
|
|||||||
#define sqlite3_create_filename sqlite3_api->create_filename
|
#define sqlite3_create_filename sqlite3_api->create_filename
|
||||||
#define sqlite3_free_filename sqlite3_api->free_filename
|
#define sqlite3_free_filename sqlite3_api->free_filename
|
||||||
#define sqlite3_database_file_object sqlite3_api->database_file_object
|
#define sqlite3_database_file_object sqlite3_api->database_file_object
|
||||||
|
/* Version 3.34.0 and later */
|
||||||
|
#define sqlite3_txn_state sqlite3_api->txn_state
|
||||||
#endif /* !defined(SQLITE_CORE) && !defined(SQLITE_OMIT_LOAD_EXTENSION) */
|
#endif /* !defined(SQLITE_CORE) && !defined(SQLITE_OMIT_LOAD_EXTENSION) */
|
||||||
|
|
||||||
#if !defined(SQLITE_CORE) && !defined(SQLITE_OMIT_LOAD_EXTENSION)
|
#if !defined(SQLITE_CORE) && !defined(SQLITE_OMIT_LOAD_EXTENSION)
|
||||||
|
|||||||
Reference in New Issue
Block a user