1
0
Fork 0
mirror of https://github.com/DBD-SQLite/DBD-SQLite synced 2025-06-07 22:28:47 -04:00

DBD::SQLite : updated SQLite to 3.6.20

This commit is contained in:
Darren Duncan 2009-11-04 20:13:25 +00:00
parent b4df6fa916
commit 2ad6bd941d
3 changed files with 1290 additions and 1046 deletions

View file

@ -13,6 +13,7 @@ Changes for Perl extension DBD-SQLite
to ensure that they will work when you issue "PRAGMA to ensure that they will work when you issue "PRAGMA
foreign_keys = ON". (ISHIGAKI) foreign_keys = ON". (ISHIGAKI)
- Updated to SQLite 3.6.20 (DUNCAND)
- Resolved #50935: there remained old "unicode" attribute usage - Resolved #50935: there remained old "unicode" attribute usage
in the pod, spotted by ASHLEY. (ISHIGAKI) in the pod, spotted by ASHLEY. (ISHIGAKI)

2288
sqlite3.c

File diff suppressed because it is too large Load diff

View file

@ -119,9 +119,9 @@ extern "C" {
** **
** Requirements: [H10011] [H10014] ** Requirements: [H10011] [H10014]
*/ */
#define SQLITE_VERSION "3.6.19" #define SQLITE_VERSION "3.6.20"
#define SQLITE_VERSION_NUMBER 3006019 #define SQLITE_VERSION_NUMBER 3006020
#define SQLITE_SOURCE_ID "2009-10-14 11:33:55 c1d499afc50d54b376945b4efb65c56c787a073d" #define SQLITE_SOURCE_ID "2009-11-04 13:30:02 eb7a544fe49d1626bacecfe53ddc03fe082e3243"
/* /*
** CAPI3REF: Run-Time Library Version Numbers {H10020} <S60100> ** CAPI3REF: Run-Time Library Version Numbers {H10020} <S60100>
@ -245,19 +245,9 @@ typedef sqlite_uint64 sqlite3_uint64;
** **
** This routine is the destructor for the [sqlite3] object. ** This routine is the destructor for the [sqlite3] object.
** **
** Applications should [sqlite3_finalize | finalize] all [prepared statements] ** Applications must [sqlite3_finalize | finalize] all [prepared statements]
** and [sqlite3_blob_close | close] all [BLOB handles] associated with ** and [sqlite3_blob_close | close] all [BLOB handles] associated with
** the [sqlite3] object prior to attempting to close the object. ** the [sqlite3] object prior to attempting to close the object.
** The [sqlite3_next_stmt()] interface can be used to locate all
** [prepared statements] associated with a [database connection] if desired.
** Typical code might look like this:
**
** <blockquote><pre>
** sqlite3_stmt *pStmt;
** while( (pStmt = sqlite3_next_stmt(db, 0))!=0 ){
** &nbsp; sqlite3_finalize(pStmt);
** }
** </pre></blockquote>
** **
** If [sqlite3_close()] is invoked while a transaction is open, ** If [sqlite3_close()] is invoked while a transaction is open,
** the transaction is automatically rolled back. ** the transaction is automatically rolled back.
@ -835,6 +825,9 @@ struct sqlite3_vfs {
** The sqlite3_initialize() routine initializes the ** The sqlite3_initialize() routine initializes the
** SQLite library. The sqlite3_shutdown() routine ** SQLite library. The sqlite3_shutdown() routine
** deallocates any resources that were allocated by sqlite3_initialize(). ** deallocates any resources that were allocated by sqlite3_initialize().
** This routines are designed to aid in process initialization and
** shutdown on embedded systems. Workstation applications using
** SQLite normally do not need to invoke either of these routines.
** **
** A call to sqlite3_initialize() is an "effective" call if it is ** A call to sqlite3_initialize() is an "effective" call if it is
** the first time sqlite3_initialize() is invoked during the lifetime of ** the first time sqlite3_initialize() is invoked during the lifetime of
@ -846,11 +839,17 @@ struct sqlite3_vfs {
** A call to sqlite3_shutdown() is an "effective" call if it is the first ** A call to sqlite3_shutdown() is an "effective" call if it is the first
** call to sqlite3_shutdown() since the last sqlite3_initialize(). Only ** call to sqlite3_shutdown() since the last sqlite3_initialize(). Only
** an effective call to sqlite3_shutdown() does any deinitialization. ** an effective call to sqlite3_shutdown() does any deinitialization.
** All other calls to sqlite3_shutdown() are harmless no-ops. ** All other valid calls to sqlite3_shutdown() are harmless no-ops.
** **
** Among other things, sqlite3_initialize() shall invoke ** The sqlite3_initialize() interface is threadsafe, but sqlite3_shutdown()
** is not. The sqlite3_shutdown() interface must only be called from a
** single thread. All open [database connections] must be closed and all
** other SQLite resources must be deallocated prior to invoking
** sqlite3_shutdown().
**
** Among other things, sqlite3_initialize() will invoke
** sqlite3_os_init(). Similarly, sqlite3_shutdown() ** sqlite3_os_init(). Similarly, sqlite3_shutdown()
** shall invoke sqlite3_os_end(). ** will invoke sqlite3_os_end().
** **
** The sqlite3_initialize() routine returns [SQLITE_OK] on success. ** The sqlite3_initialize() routine returns [SQLITE_OK] on success.
** If for some reason, sqlite3_initialize() is unable to initialize ** If for some reason, sqlite3_initialize() is unable to initialize
@ -2290,7 +2289,7 @@ SQLITE_API int sqlite3_limit(sqlite3*, int id, int newVal);
/* /*
** CAPI3REF: Run-Time Limit Categories {H12790} <H12760> ** CAPI3REF: Run-Time Limit Categories {H12790} <H12760>
** KEYWORDS: {limit category} {limit categories} ** KEYWORDS: {limit category} {*limit categories}
** **
** These constants define various performance limits ** These constants define various performance limits
** that can be lowered at run-time using [sqlite3_limit()]. ** that can be lowered at run-time using [sqlite3_limit()].
@ -2396,7 +2395,7 @@ SQLITE_API int sqlite3_limit(sqlite3*, int id, int newVal);
** In the "v2" interfaces, the prepared statement ** In the "v2" interfaces, the prepared statement
** that is returned (the [sqlite3_stmt] object) contains a copy of the ** that is returned (the [sqlite3_stmt] object) contains a copy of the
** original SQL text. This causes the [sqlite3_step()] interface to ** original SQL text. This causes the [sqlite3_step()] interface to
** behave a differently in two ways: ** behave a differently in three ways:
** **
** <ol> ** <ol>
** <li> ** <li>
@ -2418,6 +2417,14 @@ SQLITE_API int sqlite3_limit(sqlite3*, int id, int newVal);
** to find the underlying cause of the problem. With the "v2" prepare ** to find the underlying cause of the problem. With the "v2" prepare
** interfaces, the underlying reason for the error is returned immediately. ** interfaces, the underlying reason for the error is returned immediately.
** </li> ** </li>
**
** <li>
** ^If the value of a [parameter | host parameter] in the WHERE clause might
** change the query plan for a statement, then the statement may be
** automatically recompiled (as if there had been a schema change) on the first
** [sqlite3_step()] call following any change to the
** [sqlite3_bind_text | bindings] of the [parameter].
** </li>
** </ol> ** </ol>
** **
** Requirements: ** Requirements:
@ -2950,6 +2957,8 @@ SQLITE_API int sqlite3_data_count(sqlite3_stmt *pStmt);
** that was returned from [sqlite3_prepare_v2()] or one of its variants) ** that was returned from [sqlite3_prepare_v2()] or one of its variants)
** and the second argument is the index of the column for which information ** and the second argument is the index of the column for which information
** should be returned. The leftmost column of the result set has the index 0. ** should be returned. The leftmost column of the result set has the index 0.
** The number of columns in the result can be determined using
** [sqlite3_column_count()].
** **
** If the SQL statement does not currently point to a valid row, or if the ** If the SQL statement does not currently point to a valid row, or if the
** column index is out of range, the result is undefined. ** column index is out of range, the result is undefined.