mirror of
https://github.com/php/php-src.git
synced 2025-01-22 19:54:13 +08:00
MFH: Sync libsqlite to 3.6.2 with some VC6 patches
This commit is contained in:
parent
8b912cc49c
commit
52695ff939
File diff suppressed because it is too large
Load Diff
@ -51,6 +51,31 @@ extern "C" {
|
||||
# define SQLITE_EXTERN extern
|
||||
#endif
|
||||
|
||||
/*
|
||||
** Add the ability to mark interfaces as deprecated.
|
||||
*/
|
||||
#if (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1))
|
||||
/* GCC added the deprecated attribute in version 3.1 */
|
||||
#define SQLITE_DEPRECATED __attribute__ ((deprecated))
|
||||
#elif defined(_MSC_VER)
|
||||
#define SQLITE_DEPRECATED __declspec(deprecated)
|
||||
#else
|
||||
#define SQLITE_DEPRECATED
|
||||
#endif
|
||||
|
||||
/*
|
||||
** Add the ability to mark interfaces as experimental.
|
||||
*/
|
||||
#if (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3))
|
||||
/* I can confirm that it does not work on version 4.1.0... */
|
||||
/* First appears in GCC docs for version 4.3.0 */
|
||||
#define SQLITE_EXPERIMENTAL __attribute__ ((warning ("is experimental")))
|
||||
#elif defined(_MSC_VER)
|
||||
#define SQLITE_EXPERIMENTAL __declspec(deprecated("was declared experimental"))
|
||||
#else
|
||||
#define SQLITE_EXPERIMENTAL
|
||||
#endif
|
||||
|
||||
/*
|
||||
** Ensure these symbols were not defined by some previous header file.
|
||||
*/
|
||||
@ -91,8 +116,8 @@ extern "C" {
|
||||
** with the value (X*1000000 + Y*1000 + Z) where X, Y, and Z
|
||||
** are the major version, minor version, and release number.
|
||||
*/
|
||||
#define SQLITE_VERSION "3.6.1"
|
||||
#define SQLITE_VERSION_NUMBER 3006001
|
||||
#define SQLITE_VERSION "3.6.2"
|
||||
#define SQLITE_VERSION_NUMBER 3006002
|
||||
|
||||
/*
|
||||
** CAPI3REF: Run-Time Library Version Numbers {H10020} <S60100>
|
||||
@ -491,6 +516,7 @@ int sqlite3_exec(
|
||||
#define SQLITE_IOERR_NOMEM (SQLITE_IOERR | (12<<8))
|
||||
#define SQLITE_IOERR_ACCESS (SQLITE_IOERR | (13<<8))
|
||||
#define SQLITE_IOERR_CHECKRESERVEDLOCK (SQLITE_IOERR | (14<<8))
|
||||
#define SQLITE_IOERR_LOCK (SQLITE_IOERR | (15<<8))
|
||||
|
||||
/*
|
||||
** CAPI3REF: Flags For File Open Operations {H10230} <H11120> <H12700>
|
||||
@ -513,6 +539,7 @@ int sqlite3_exec(
|
||||
#define SQLITE_OPEN_SUBJOURNAL 0x00002000
|
||||
#define SQLITE_OPEN_MASTER_JOURNAL 0x00004000
|
||||
#define SQLITE_OPEN_NOMUTEX 0x00008000
|
||||
#define SQLITE_OPEN_FULLMUTEX 0x00010000
|
||||
|
||||
/*
|
||||
** CAPI3REF: Device Characteristics {H10240} <H11120>
|
||||
@ -966,7 +993,7 @@ int sqlite3_os_end(void);
|
||||
** If the option is unknown or SQLite is unable to set the option
|
||||
** then this routine returns a non-zero [error code].
|
||||
*/
|
||||
int sqlite3_config(int, ...);
|
||||
SQLITE_EXPERIMENTAL int sqlite3_config(int, ...);
|
||||
|
||||
/*
|
||||
** CAPI3REF: Configure database connections {H10180} <S20000>
|
||||
@ -987,7 +1014,7 @@ int sqlite3_config(int, ...);
|
||||
** New verbs are likely to be added in future releases of SQLite.
|
||||
** Additional arguments depend on the verb.
|
||||
*/
|
||||
int sqlite3_db_config(sqlite3*, int op, ...);
|
||||
SQLITE_EXPERIMENTAL int sqlite3_db_config(sqlite3*, int op, ...);
|
||||
|
||||
/*
|
||||
** CAPI3REF: Memory Allocation Routines {H10155} <S20120>
|
||||
@ -2076,6 +2103,11 @@ void sqlite3_randomness(int N, void *P);
|
||||
** previous call. Disable the authorizer by installing a NULL callback.
|
||||
** The authorizer is disabled by default.
|
||||
**
|
||||
** When [sqlite3_prepare_v2()] is used to prepare a statement, the
|
||||
** statement might be reprepared during [sqlite3_step()] due to a
|
||||
** schema change. Hence, the application should ensure that the
|
||||
** correct authorizer callback remains in place during the [sqlite3_step()].
|
||||
**
|
||||
** Note that the authorizer callback is invoked only during
|
||||
** [sqlite3_prepare()] or its variants. Authorization is not
|
||||
** performed during statement evaluation in [sqlite3_step()].
|
||||
@ -2086,11 +2118,11 @@ void sqlite3_randomness(int N, void *P);
|
||||
** authorizer callback with database connection D.
|
||||
**
|
||||
** {H12502} The authorizer callback is invoked as SQL statements are
|
||||
** being compiled.
|
||||
** being parseed and compiled.
|
||||
**
|
||||
** {H12503} If the authorizer callback returns any value other than
|
||||
** [SQLITE_IGNORE], [SQLITE_OK], or [SQLITE_DENY], then
|
||||
** the [sqlite3_prepare_v2()] or equivalent call that caused
|
||||
** the application interface call that caused
|
||||
** the authorizer callback to run shall fail with an
|
||||
** [SQLITE_ERROR] error code and an appropriate error message.
|
||||
**
|
||||
@ -2098,7 +2130,7 @@ void sqlite3_randomness(int N, void *P);
|
||||
** described is processed normally.
|
||||
**
|
||||
** {H12505} When the authorizer callback returns [SQLITE_DENY], the
|
||||
** [sqlite3_prepare_v2()] or equivalent call that caused the
|
||||
** application interface call that caused the
|
||||
** authorizer callback to run shall fail
|
||||
** with an [SQLITE_ERROR] error code and an error message
|
||||
** explaining that access is denied.
|
||||
@ -2172,21 +2204,21 @@ int sqlite3_set_authorizer(
|
||||
** INVARIANTS:
|
||||
**
|
||||
** {H12551} The second parameter to an
|
||||
** [sqlite3_set_authorizer | authorizer callback] is always an integer
|
||||
** [sqlite3_set_authorizer | authorizer callback] shall be an integer
|
||||
** [SQLITE_COPY | authorizer code] that specifies what action
|
||||
** is being authorized.
|
||||
**
|
||||
** {H12552} The 3rd and 4th parameters to the
|
||||
** [sqlite3_set_authorizer | authorization callback]
|
||||
** will be parameters or NULL depending on which
|
||||
** shall be parameters or NULL depending on which
|
||||
** [SQLITE_COPY | authorizer code] is used as the second parameter.
|
||||
**
|
||||
** {H12553} The 5th parameter to the
|
||||
** [sqlite3_set_authorizer | authorizer callback] is the name
|
||||
** [sqlite3_set_authorizer | authorizer callback] shall be the name
|
||||
** of the database (example: "main", "temp", etc.) if applicable.
|
||||
**
|
||||
** {H12554} The 6th parameter to the
|
||||
** [sqlite3_set_authorizer | authorizer callback] is the name
|
||||
** [sqlite3_set_authorizer | authorizer callback] shall be the name
|
||||
** of the inner-most trigger or view that is responsible for
|
||||
** the access attempt or NULL if this access attempt is directly from
|
||||
** top-level SQL code.
|
||||
@ -2246,16 +2278,17 @@ int sqlite3_set_authorizer(
|
||||
**
|
||||
** INVARIANTS:
|
||||
**
|
||||
** {H12281} The callback function registered by [sqlite3_trace()] is
|
||||
** {H12281} The callback function registered by [sqlite3_trace()]
|
||||
** shall be invoked
|
||||
** whenever an SQL statement first begins to execute and
|
||||
** whenever a trigger subprogram first begins to run.
|
||||
**
|
||||
** {H12282} Each call to [sqlite3_trace()] overrides the previously
|
||||
** {H12282} Each call to [sqlite3_trace()] shall override the previously
|
||||
** registered trace callback.
|
||||
**
|
||||
** {H12283} A NULL trace callback disables tracing.
|
||||
** {H12283} A NULL trace callback shall disable tracing.
|
||||
**
|
||||
** {H12284} The first argument to the trace callback is a copy of
|
||||
** {H12284} The first argument to the trace callback shall be a copy of
|
||||
** the pointer which was the 3rd argument to [sqlite3_trace()].
|
||||
**
|
||||
** {H12285} The second argument to the trace callback is a
|
||||
@ -2279,8 +2312,8 @@ int sqlite3_set_authorizer(
|
||||
** of the number of nanoseconds of wall-clock time required to
|
||||
** run the SQL statement from start to finish.
|
||||
*/
|
||||
void *sqlite3_trace(sqlite3*, void(*xTrace)(void*,const char*), void*);
|
||||
void *sqlite3_profile(sqlite3*,
|
||||
SQLITE_EXPERIMENTAL void *sqlite3_trace(sqlite3*, void(*xTrace)(void*,const char*), void*);
|
||||
SQLITE_EXPERIMENTAL void *sqlite3_profile(sqlite3*,
|
||||
void(*xProfile)(void*,const char*,sqlite3_uint64), void*);
|
||||
|
||||
/*
|
||||
@ -2449,11 +2482,11 @@ void sqlite3_progress_handler(sqlite3*, int, int(*)(void*), void*);
|
||||
** reading and writing if possible, or for reading only if the
|
||||
** file is write protected by the operating system.
|
||||
**
|
||||
** {H12713} If the G parameter to [sqlite3_open(v2(F,D,G,V)] omits the
|
||||
** {H12713} If the G parameter to [sqlite3_open_v2(F,D,G,V)] omits the
|
||||
** bit value [SQLITE_OPEN_CREATE] and the database does not
|
||||
** previously exist, an error is returned.
|
||||
**
|
||||
** {H12714} If the G parameter to [sqlite3_open(v2(F,D,G,V)] contains the
|
||||
** {H12714} If the G parameter to [sqlite3_open_v2(F,D,G,V)] contains the
|
||||
** bit value [SQLITE_OPEN_CREATE] and the database does not
|
||||
** previously exist, then an attempt is made to create and
|
||||
** initialize the database.
|
||||
@ -3947,12 +3980,12 @@ int sqlite3_create_function16(
|
||||
** the use of these functions. To help encourage people to avoid
|
||||
** using these functions, we are not going to tell you want they do.
|
||||
*/
|
||||
int sqlite3_aggregate_count(sqlite3_context*);
|
||||
int sqlite3_expired(sqlite3_stmt*);
|
||||
int sqlite3_transfer_bindings(sqlite3_stmt*, sqlite3_stmt*);
|
||||
int sqlite3_global_recover(void);
|
||||
void sqlite3_thread_cleanup(void);
|
||||
int sqlite3_memory_alarm(void(*)(void*,sqlite3_int64,int),void*,sqlite3_int64);
|
||||
SQLITE_DEPRECATED int sqlite3_aggregate_count(sqlite3_context*);
|
||||
SQLITE_DEPRECATED int sqlite3_expired(sqlite3_stmt*);
|
||||
SQLITE_DEPRECATED int sqlite3_transfer_bindings(sqlite3_stmt*, sqlite3_stmt*);
|
||||
SQLITE_DEPRECATED int sqlite3_global_recover(void);
|
||||
SQLITE_DEPRECATED void sqlite3_thread_cleanup(void);
|
||||
SQLITE_DEPRECATED int sqlite3_memory_alarm(void(*)(void*,sqlite3_int64,int),void*,sqlite3_int64);
|
||||
|
||||
/*
|
||||
** CAPI3REF: Obtaining SQL Function Parameter Values {H15100} <S20200>
|
||||
@ -5377,7 +5410,7 @@ struct sqlite3_index_info {
|
||||
** This interface is experimental and is subject to change or
|
||||
** removal in future releases of SQLite.
|
||||
*/
|
||||
int sqlite3_create_module(
|
||||
SQLITE_EXPERIMENTAL int sqlite3_create_module(
|
||||
sqlite3 *db, /* SQLite connection to register module with */
|
||||
const char *zName, /* Name of the module */
|
||||
const sqlite3_module *, /* Methods for the module */
|
||||
@ -5392,7 +5425,7 @@ int sqlite3_create_module(
|
||||
** except that it allows a destructor function to be specified. It is
|
||||
** even more experimental than the rest of the virtual tables API.
|
||||
*/
|
||||
int sqlite3_create_module_v2(
|
||||
SQLITE_EXPERIMENTAL int sqlite3_create_module_v2(
|
||||
sqlite3 *db, /* SQLite connection to register module with */
|
||||
const char *zName, /* Name of the module */
|
||||
const sqlite3_module *, /* Methods for the module */
|
||||
@ -5464,7 +5497,7 @@ struct sqlite3_vtab_cursor {
|
||||
** This interface is experimental and is subject to change or
|
||||
** removal in future releases of SQLite.
|
||||
*/
|
||||
int sqlite3_declare_vtab(sqlite3*, const char *zCreateTable);
|
||||
SQLITE_EXPERIMENTAL int sqlite3_declare_vtab(sqlite3*, const char *zCreateTable);
|
||||
|
||||
/*
|
||||
** CAPI3REF: Overload A Function For A Virtual Table {H18300} <S20400>
|
||||
@ -5485,7 +5518,7 @@ int sqlite3_declare_vtab(sqlite3*, const char *zCreateTable);
|
||||
** This API should be considered part of the virtual table interface,
|
||||
** which is experimental and subject to change.
|
||||
*/
|
||||
int sqlite3_overload_function(sqlite3*, const char *zFuncName, int nArg);
|
||||
SQLITE_EXPERIMENTAL int sqlite3_overload_function(sqlite3*, const char *zFuncName, int nArg);
|
||||
|
||||
/*
|
||||
** The interface to the virtual-table mechanism defined above (back up
|
||||
@ -6142,7 +6175,7 @@ int sqlite3_test_control(int op, ...);
|
||||
**
|
||||
** See also: [sqlite3_db_status()]
|
||||
*/
|
||||
int sqlite3_status(int op, int *pCurrent, int *pHighwater, int resetFlag);
|
||||
SQLITE_EXPERIMENTAL int sqlite3_status(int op, int *pCurrent, int *pHighwater, int resetFlag);
|
||||
|
||||
/*
|
||||
** CAPI3REF: Database Connection Status {H17201} <S60200>
|
||||
@ -6162,7 +6195,7 @@ int sqlite3_status(int op, int *pCurrent, int *pHighwater, int resetFlag);
|
||||
**
|
||||
** See also: [sqlite3_status()].
|
||||
*/
|
||||
int sqlite3_db_status(sqlite3*, int op, int *pCur, int *pHiwtr, int resetFlg);
|
||||
SQLITE_EXPERIMENTAL int sqlite3_db_status(sqlite3*, int op, int *pCur, int *pHiwtr, int resetFlg);
|
||||
|
||||
/*
|
||||
** CAPI3REF: Status Parameters {H17250} <H17200>
|
||||
|
Loading…
Reference in New Issue
Block a user