зеркало из https://github.com/mozilla/gecko-dev.git
Bug 618315 - Upgrade to SQLite 3.7.4 [rs=mconnor, a=sdwilsh]
This changeset contains the changes to SQLite code.
This commit is contained in:
Родитель
0323fd23ed
Коммит
b8d7a5f421
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
|
@ -107,9 +107,9 @@ extern "C" {
|
|||
** [sqlite3_libversion_number()], [sqlite3_sourceid()],
|
||||
** [sqlite_version()] and [sqlite_source_id()].
|
||||
*/
|
||||
#define SQLITE_VERSION "3.7.3"
|
||||
#define SQLITE_VERSION_NUMBER 3007003
|
||||
#define SQLITE_SOURCE_ID "2010-10-08 02:34:02 2677848087c9c090efb17c1893e77d6136a9111d"
|
||||
#define SQLITE_VERSION "3.7.4"
|
||||
#define SQLITE_VERSION_NUMBER 3007004
|
||||
#define SQLITE_SOURCE_ID "2010-12-07 20:14:09 a586a4deeb25330037a49df295b36aaf624d0f45"
|
||||
|
||||
/*
|
||||
** CAPI3REF: Run-Time Library Version Numbers
|
||||
|
@ -542,6 +542,18 @@ SQLITE_API int sqlite3_exec(
|
|||
** equal SQLITE_SYNC_NORMAL, that means to use normal fsync() semantics.
|
||||
** If the lower four bits equal SQLITE_SYNC_FULL, that means
|
||||
** to use Mac OS X style fullsync instead of fsync().
|
||||
**
|
||||
** Do not confuse the SQLITE_SYNC_NORMAL and SQLITE_SYNC_FULL flags
|
||||
** with the [PRAGMA synchronous]=NORMAL and [PRAGMA synchronous]=FULL
|
||||
** settings. The [synchronous pragma] determines when calls to the
|
||||
** xSync VFS method occur and applies uniformly across all platforms.
|
||||
** The SQLITE_SYNC_NORMAL and SQLITE_SYNC_FULL flags determine how
|
||||
** energetic or rigorous or forceful the sync operations are and
|
||||
** only make a difference on Mac OSX for the default SQLite code.
|
||||
** (Third-party VFS implementations might also make the distinction
|
||||
** between SQLITE_SYNC_NORMAL and SQLITE_SYNC_FULL, but among the
|
||||
** operating systems natively supported by SQLite, only Mac OSX
|
||||
** cares about the difference.)
|
||||
*/
|
||||
#define SQLITE_SYNC_NORMAL 0x00002
|
||||
#define SQLITE_SYNC_FULL 0x00003
|
||||
|
@ -710,6 +722,8 @@ struct sqlite3_io_methods {
|
|||
#define SQLITE_LAST_ERRNO 4
|
||||
#define SQLITE_FCNTL_SIZE_HINT 5
|
||||
#define SQLITE_FCNTL_CHUNK_SIZE 6
|
||||
#define SQLITE_FCNTL_FILE_POINTER 7
|
||||
|
||||
|
||||
/*
|
||||
** CAPI3REF: Mutex Handle
|
||||
|
@ -2633,6 +2647,20 @@ SQLITE_API int sqlite3_prepare16_v2(
|
|||
*/
|
||||
SQLITE_API const char *sqlite3_sql(sqlite3_stmt *pStmt);
|
||||
|
||||
/*
|
||||
** CAPI3REF: Determine If An SQL Statement Writes The Database
|
||||
**
|
||||
** ^The sqlite3_stmt_readonly(X) interface returns true (non-zero) if
|
||||
** the [prepared statement] X is [SELECT] statement and false (zero) if
|
||||
** X is an [INSERT], [UPDATE], [DELETE], CREATE, DROP, [ANALYZE],
|
||||
** [ALTER], or [REINDEX] statement.
|
||||
** If X is a NULL pointer or any other kind of statement, including but
|
||||
** not limited to [ATTACH], [DETACH], [COMMIT], [ROLLBACK], [RELEASE],
|
||||
** [SAVEPOINT], [PRAGMA], or [VACUUM] the result of sqlite3_stmt_readonly(X) is
|
||||
** undefined.
|
||||
*/
|
||||
SQLITE_API int sqlite3_stmt_readonly(sqlite3_stmt *pStmt);
|
||||
|
||||
/*
|
||||
** CAPI3REF: Dynamically Typed Value Object
|
||||
** KEYWORDS: {protected sqlite3_value} {unprotected sqlite3_value}
|
||||
|
@ -2732,7 +2760,10 @@ typedef struct sqlite3_context sqlite3_context;
|
|||
**
|
||||
** ^The fifth argument to sqlite3_bind_blob(), sqlite3_bind_text(), and
|
||||
** sqlite3_bind_text16() is a destructor used to dispose of the BLOB or
|
||||
** string after SQLite has finished with it. ^If the fifth argument is
|
||||
** string after SQLite has finished with it. ^The destructor is called
|
||||
** to dispose of the BLOB or string even if the call to sqlite3_bind_blob(),
|
||||
** sqlite3_bind_text(), or sqlite3_bind_text16() fails.
|
||||
** ^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.
|
||||
** ^If the fifth argument has the value [SQLITE_TRANSIENT], then
|
||||
|
@ -3372,12 +3403,15 @@ SQLITE_API int sqlite3_reset(sqlite3_stmt *pStmt);
|
|||
** SQL function or aggregate, pass NULL poiners for all three function
|
||||
** callbacks.
|
||||
**
|
||||
** ^If the tenth parameter to sqlite3_create_function_v2() is not NULL,
|
||||
** then it is invoked when the function is deleted, either by being
|
||||
** overloaded or when the database connection closes.
|
||||
** ^When the destructure callback of the tenth parameter is invoked, it
|
||||
** is passed a single argument which is a copy of the pointer which was
|
||||
** the fifth parameter to sqlite3_create_function_v2().
|
||||
** ^(If the tenth parameter to sqlite3_create_function_v2() is not NULL,
|
||||
** then it is destructor for the application data pointer.
|
||||
** The destructor is invoked when the function is deleted, either by being
|
||||
** overloaded or when the database connection closes.)^
|
||||
** ^The destructor is also invoked if the call to
|
||||
** sqlite3_create_function_v2() fails.
|
||||
** ^When the destructor callback of the tenth parameter is invoked, it
|
||||
** is passed a single argument which is a copy of the application data
|
||||
** pointer which was the fifth parameter to sqlite3_create_function_v2().
|
||||
**
|
||||
** ^It is permitted to register multiple implementations of the same
|
||||
** functions with the same name but with either differing numbers of
|
||||
|
@ -3841,6 +3875,15 @@ SQLITE_API void sqlite3_result_zeroblob(sqlite3_context*, int n);
|
|||
** calls to the collation creation functions or when the
|
||||
** [database connection] is closed using [sqlite3_close()].
|
||||
**
|
||||
** ^The xDestroy callback is <u>not</u> called if the
|
||||
** sqlite3_create_collation_v2() function fails. Applications that invoke
|
||||
** sqlite3_create_collation_v2() with a non-NULL xDestroy argument should
|
||||
** check the return code and dispose of the application data pointer
|
||||
** themselves rather than expecting SQLite to deal with it for them.
|
||||
** This is different from every other SQLite interface. The inconsistency
|
||||
** is unfortunate but cannot be changed without breaking backwards
|
||||
** compatibility.
|
||||
**
|
||||
** See also: [sqlite3_collation_needed()] and [sqlite3_collation_needed16()].
|
||||
*/
|
||||
SQLITE_API int sqlite3_create_collation(
|
||||
|
@ -4595,7 +4638,9 @@ struct sqlite3_index_info {
|
|||
** ^The sqlite3_create_module_v2() interface has a fifth parameter which
|
||||
** is a pointer to a destructor for the pClientData. ^SQLite will
|
||||
** invoke the destructor function (if it is not NULL) when SQLite
|
||||
** no longer needs the pClientData pointer. ^The sqlite3_create_module()
|
||||
** no longer needs the pClientData pointer. ^The destructor will also
|
||||
** be invoked if the call to sqlite3_create_module_v2() fails.
|
||||
** ^The sqlite3_create_module()
|
||||
** interface is equivalent to sqlite3_create_module_v2() with a NULL
|
||||
** destructor.
|
||||
*/
|
||||
|
@ -4778,6 +4823,30 @@ SQLITE_API int sqlite3_blob_open(
|
|||
sqlite3_blob **ppBlob
|
||||
);
|
||||
|
||||
/*
|
||||
** CAPI3REF: Move a BLOB Handle to a New Row
|
||||
**
|
||||
** ^This function is used to move an existing blob handle so that it points
|
||||
** to a different row of the same database table. ^The new row is identified
|
||||
** by the rowid value passed as the second argument. Only the row can be
|
||||
** changed. ^The database, table and column on which the blob handle is open
|
||||
** remain the same. Moving an existing blob handle to a new row can be
|
||||
** faster than closing the existing handle and opening a new one.
|
||||
**
|
||||
** ^(The new row must meet the same criteria as for [sqlite3_blob_open()] -
|
||||
** it must exist and there must be either a blob or text value stored in
|
||||
** the nominated column.)^ ^If the new row is not present in the table, or if
|
||||
** it does not contain a blob or text value, or if another error occurs, an
|
||||
** SQLite error code is returned and the blob handle is considered aborted.
|
||||
** ^All subsequent calls to [sqlite3_blob_read()], [sqlite3_blob_write()] or
|
||||
** [sqlite3_blob_reopen()] on an aborted blob handle immediately return
|
||||
** SQLITE_ABORT. ^Calling [sqlite3_blob_bytes()] on an aborted blob handle
|
||||
** always returns zero.
|
||||
**
|
||||
** ^This function sets the database handle error code and message.
|
||||
*/
|
||||
SQLITE_API SQLITE_EXPERIMENTAL int sqlite3_blob_reopen(sqlite3_blob *, sqlite3_int64);
|
||||
|
||||
/*
|
||||
** CAPI3REF: Close A BLOB Handle
|
||||
**
|
||||
|
@ -5185,7 +5254,7 @@ SQLITE_API sqlite3_mutex *sqlite3_db_mutex(sqlite3*);
|
|||
** ^The [sqlite3_file_control()] interface makes a direct call to the
|
||||
** xFileControl method for the [sqlite3_io_methods] object associated
|
||||
** with a particular database identified by the second argument. ^The
|
||||
** name of the database "main" for the main database or "temp" for the
|
||||
** name of the database is "main" for the main database or "temp" for the
|
||||
** TEMP database, or the name that appears after the AS keyword for
|
||||
** databases that are added using the [ATTACH] SQL command.
|
||||
** ^A NULL pointer can be used in place of "main" to refer to the
|
||||
|
@ -5195,6 +5264,12 @@ SQLITE_API sqlite3_mutex *sqlite3_db_mutex(sqlite3*);
|
|||
** the xFileControl method. ^The return value of the xFileControl
|
||||
** method becomes the return value of this routine.
|
||||
**
|
||||
** ^The SQLITE_FCNTL_FILE_POINTER value for the op parameter causes
|
||||
** a pointer to the underlying [sqlite3_file] object to be written into
|
||||
** the space pointed to by the 4th parameter. ^The SQLITE_FCNTL_FILE_POINTER
|
||||
** case is a short-circuit path which does not actually invoke the
|
||||
** underlying sqlite3_io_methods.xFileControl method.
|
||||
**
|
||||
** ^If the second parameter (zDbName) does not match the name of any
|
||||
** open database file, then SQLITE_ERROR is returned. ^This error
|
||||
** code is not remembered and will not be recalled by [sqlite3_errcode()]
|
||||
|
|
Загрузка…
Ссылка в новой задаче