|
|
@@ -107,9 +107,9 @@ extern "C" {
|
|
|
** [sqlite3_libversion_number()], [sqlite3_sourceid()],
|
|
|
** [sqlite_version()] and [sqlite_source_id()].
|
|
|
*/
|
|
|
-#define SQLITE_VERSION "3.8.2"
|
|
|
-#define SQLITE_VERSION_NUMBER 3008002
|
|
|
-#define SQLITE_SOURCE_ID "2013-12-06 14:53:30 27392118af4c38c5203a04b8013e1afdb1cebd0d"
|
|
|
+#define SQLITE_VERSION "3.8.3"
|
|
|
+#define SQLITE_VERSION_NUMBER 3008003
|
|
|
+#define SQLITE_SOURCE_ID "2014-01-31 11:50:20 21ce9e3a53aed62fbe075b0dbed9faa00218aadc"
|
|
|
|
|
|
/*
|
|
|
** CAPI3REF: Run-Time Library Version Numbers
|
|
|
@@ -501,6 +501,7 @@ SQLITE_API int sqlite3_exec(
|
|
|
#define SQLITE_READONLY_RECOVERY (SQLITE_READONLY | (1<<8))
|
|
|
#define SQLITE_READONLY_CANTLOCK (SQLITE_READONLY | (2<<8))
|
|
|
#define SQLITE_READONLY_ROLLBACK (SQLITE_READONLY | (3<<8))
|
|
|
+#define SQLITE_READONLY_DBMOVED (SQLITE_READONLY | (4<<8))
|
|
|
#define SQLITE_ABORT_ROLLBACK (SQLITE_ABORT | (2<<8))
|
|
|
#define SQLITE_CONSTRAINT_CHECK (SQLITE_CONSTRAINT | (1<<8))
|
|
|
#define SQLITE_CONSTRAINT_COMMITHOOK (SQLITE_CONSTRAINT | (2<<8))
|
|
|
@@ -570,7 +571,8 @@ SQLITE_API int sqlite3_exec(
|
|
|
** after reboot following a crash or power loss, the only bytes in a
|
|
|
** file that were written at the application level might have changed
|
|
|
** and that adjacent bytes, even bytes within the same sector are
|
|
|
-** guaranteed to be unchanged.
|
|
|
+** guaranteed to be unchanged. The SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN
|
|
|
+** flag indicate that a file cannot be deleted when open.
|
|
|
*/
|
|
|
#define SQLITE_IOCAP_ATOMIC 0x00000001
|
|
|
#define SQLITE_IOCAP_ATOMIC512 0x00000002
|
|
|
@@ -801,15 +803,29 @@ struct sqlite3_io_methods {
|
|
|
** additional information.
|
|
|
**
|
|
|
** <li>[[SQLITE_FCNTL_SYNC_OMITTED]]
|
|
|
-** ^(The [SQLITE_FCNTL_SYNC_OMITTED] opcode is generated internally by
|
|
|
-** SQLite and sent to all VFSes in place of a call to the xSync method
|
|
|
-** when the database connection has [PRAGMA synchronous] set to OFF.)^
|
|
|
-** Some specialized VFSes need this signal in order to operate correctly
|
|
|
-** when [PRAGMA synchronous | PRAGMA synchronous=OFF] is set, but most
|
|
|
-** VFSes do not need this signal and should silently ignore this opcode.
|
|
|
-** Applications should not call [sqlite3_file_control()] with this
|
|
|
-** opcode as doing so may disrupt the operation of the specialized VFSes
|
|
|
-** that do require it.
|
|
|
+** No longer in use.
|
|
|
+**
|
|
|
+** <li>[[SQLITE_FCNTL_SYNC]]
|
|
|
+** The [SQLITE_FCNTL_SYNC] opcode is generated internally by SQLite and
|
|
|
+** sent to the VFS immediately before the xSync method is invoked on a
|
|
|
+** database file descriptor. Or, if the xSync method is not invoked
|
|
|
+** because the user has configured SQLite with
|
|
|
+** [PRAGMA synchronous | PRAGMA synchronous=OFF] it is invoked in place
|
|
|
+** 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
|
|
|
+** as part of a multi-database commit, the argument points to a nul-terminated
|
|
|
+** string containing the transactions master-journal file name. VFSes that
|
|
|
+** do not need this signal should silently ignore this opcode. Applications
|
|
|
+** should not call [sqlite3_file_control()] with this opcode as doing so may
|
|
|
+** disrupt the operation of the specialized VFSes that do require it.
|
|
|
+**
|
|
|
+** <li>[[SQLITE_FCNTL_COMMIT_PHASETWO]]
|
|
|
+** The [SQLITE_FCNTL_COMMIT_PHASETWO] opcode is generated internally by SQLite
|
|
|
+** and sent to the VFS after a transaction has been committed immediately
|
|
|
+** but before the database is unlocked. VFSes that do not need this signal
|
|
|
+** should silently ignore this opcode. Applications should not call
|
|
|
+** [sqlite3_file_control()] with this opcode as doing so may disrupt the
|
|
|
+** operation of the specialized VFSes that do require it.
|
|
|
**
|
|
|
** <li>[[SQLITE_FCNTL_WIN32_AV_RETRY]]
|
|
|
** ^The [SQLITE_FCNTL_WIN32_AV_RETRY] opcode is used to configure automatic
|
|
|
@@ -933,6 +949,12 @@ struct sqlite3_io_methods {
|
|
|
** SQLite stack may generate instances of this file control if
|
|
|
** the [SQLITE_USE_FCNTL_TRACE] compile-time option is enabled.
|
|
|
**
|
|
|
+** <li>[[SQLITE_FCNTL_HAS_MOVED]]
|
|
|
+** The [SQLITE_FCNTL_HAS_MOVED] file control interprets its argument as a
|
|
|
+** pointer to an integer and it writes a boolean into that integer depending
|
|
|
+** on whether or not the file has been renamed, moved, or deleted since it
|
|
|
+** was first opened.
|
|
|
+**
|
|
|
** </ul>
|
|
|
*/
|
|
|
#define SQLITE_FCNTL_LOCKSTATE 1
|
|
|
@@ -953,6 +975,9 @@ struct sqlite3_io_methods {
|
|
|
#define SQLITE_FCNTL_TEMPFILENAME 16
|
|
|
#define SQLITE_FCNTL_MMAP_SIZE 18
|
|
|
#define SQLITE_FCNTL_TRACE 19
|
|
|
+#define SQLITE_FCNTL_HAS_MOVED 20
|
|
|
+#define SQLITE_FCNTL_SYNC 21
|
|
|
+#define SQLITE_FCNTL_COMMIT_PHASETWO 22
|
|
|
|
|
|
/*
|
|
|
** CAPI3REF: Mutex Handle
|
|
|
@@ -2403,11 +2428,13 @@ SQLITE_API sqlite3_int64 sqlite3_memory_highwater(int resetFlag);
|
|
|
** applications to access the same PRNG for other purposes.
|
|
|
**
|
|
|
** ^A call to this routine stores N bytes of randomness into buffer P.
|
|
|
+** ^If N is less than one, then P can be a NULL pointer.
|
|
|
**
|
|
|
-** ^The first time this routine is invoked (either internally or by
|
|
|
-** the application) the PRNG is seeded using randomness obtained
|
|
|
-** from the xRandomness method of the default [sqlite3_vfs] object.
|
|
|
-** ^On all subsequent invocations, the pseudo-randomness is generated
|
|
|
+** ^If this routine has not been previously called or if the previous
|
|
|
+** call had N less than one, then the PRNG is seeded using randomness
|
|
|
+** obtained from the xRandomness method of the default [sqlite3_vfs] object.
|
|
|
+** ^If the previous call to this routine had an N of 1 or more then
|
|
|
+** the pseudo-randomness is generated
|
|
|
** internally and without recourse to the [sqlite3_vfs] xRandomness
|
|
|
** method.
|
|
|
*/
|
|
|
@@ -2567,6 +2594,7 @@ SQLITE_API int sqlite3_set_authorizer(
|
|
|
#define SQLITE_FUNCTION 31 /* NULL Function Name */
|
|
|
#define SQLITE_SAVEPOINT 32 /* Operation Savepoint Name */
|
|
|
#define SQLITE_COPY 0 /* No longer used */
|
|
|
+#define SQLITE_RECURSIVE 33 /* NULL NULL */
|
|
|
|
|
|
/*
|
|
|
** CAPI3REF: Tracing And Profiling Functions
|
|
|
@@ -3988,15 +4016,24 @@ SQLITE_API int sqlite3_reset(sqlite3_stmt *pStmt);
|
|
|
**
|
|
|
** ^The fourth parameter, eTextRep, specifies what
|
|
|
** [SQLITE_UTF8 | text encoding] this SQL function prefers for
|
|
|
-** its parameters. Every SQL function implementation must be able to work
|
|
|
-** with UTF-8, UTF-16le, or UTF-16be. But some implementations may be
|
|
|
-** more efficient with one encoding than another. ^An application may
|
|
|
-** invoke sqlite3_create_function() or sqlite3_create_function16() multiple
|
|
|
-** times with the same function but with different values of eTextRep.
|
|
|
+** its parameters. The application should set this parameter to
|
|
|
+** [SQLITE_UTF16LE] if the function implementation invokes
|
|
|
+** [sqlite3_value_text16le()] on an input, or [SQLITE_UTF16BE] if the
|
|
|
+** implementation invokes [sqlite3_value_text16be()] on an input, or
|
|
|
+** [SQLITE_UTF16] if [sqlite3_value_text16()] is used, or [SQLITE_UTF8]
|
|
|
+** otherwise. ^The same SQL function may be registered multiple times using
|
|
|
+** different preferred text encodings, with different implementations for
|
|
|
+** each encoding.
|
|
|
** ^When multiple implementations of the same function are available, SQLite
|
|
|
** will pick the one that involves the least amount of data conversion.
|
|
|
-** If there is only a single implementation which does not care what text
|
|
|
-** encoding is used, then the fourth argument should be [SQLITE_ANY].
|
|
|
+**
|
|
|
+** ^The fourth parameter may optionally be ORed with [SQLITE_DETERMINISTIC]
|
|
|
+** to signal that the function will always return the same result given
|
|
|
+** the same inputs within a single SQL statement. Most SQL functions are
|
|
|
+** deterministic. The built-in [random()] SQL function is an example of a
|
|
|
+** 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 fifth parameter is an arbitrary pointer. The implementation of the
|
|
|
** function can gain access to this pointer using [sqlite3_user_data()].)^
|
|
|
@@ -4082,9 +4119,19 @@ SQLITE_API int sqlite3_create_function_v2(
|
|
|
#define SQLITE_UTF16LE 2
|
|
|
#define SQLITE_UTF16BE 3
|
|
|
#define SQLITE_UTF16 4 /* Use native byte order */
|
|
|
-#define SQLITE_ANY 5 /* sqlite3_create_function only */
|
|
|
+#define SQLITE_ANY 5 /* Deprecated */
|
|
|
#define SQLITE_UTF16_ALIGNED 8 /* sqlite3_create_collation only */
|
|
|
|
|
|
+/*
|
|
|
+** CAPI3REF: Function Flags
|
|
|
+**
|
|
|
+** These constants may be ORed together with the
|
|
|
+** [SQLITE_UTF8 | preferred text encoding] as the fourth argument
|
|
|
+** to [sqlite3_create_function()], [sqlite3_create_function16()], or
|
|
|
+** [sqlite3_create_function_v2()].
|
|
|
+*/
|
|
|
+#define SQLITE_DETERMINISTIC 0x800
|
|
|
+
|
|
|
/*
|
|
|
** CAPI3REF: Deprecated Functions
|
|
|
** DEPRECATED
|