mirror of
https://github.com/isar/rusqlite.git
synced 2024-11-26 11:31:37 +08:00
Upgrade SQLite bundled version to 3.39.0
This commit is contained in:
parent
289a72976e
commit
efff01cd4a
5118
libsqlite3-sys/sqlite3/bindgen_bundled_version.rs
vendored
5118
libsqlite3-sys/sqlite3/bindgen_bundled_version.rs
vendored
File diff suppressed because it is too large
Load Diff
9018
libsqlite3-sys/sqlite3/sqlite3.c
vendored
9018
libsqlite3-sys/sqlite3/sqlite3.c
vendored
File diff suppressed because it is too large
Load Diff
42
libsqlite3-sys/sqlite3/sqlite3.h
vendored
42
libsqlite3-sys/sqlite3/sqlite3.h
vendored
@ -146,9 +146,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.38.3"
|
#define SQLITE_VERSION "3.39.0"
|
||||||
#define SQLITE_VERSION_NUMBER 3038003
|
#define SQLITE_VERSION_NUMBER 3039000
|
||||||
#define SQLITE_SOURCE_ID "2022-04-27 12:03:15 9547e2c38a1c6f751a77d4d796894dec4dc5d8f5d79b1cd39e1ffc50df7b3be4"
|
#define SQLITE_SOURCE_ID "2022-06-25 14:57:57 14e166f40dbfa6e055543f8301525f2ca2e96a02a57269818b9e69e162e98918"
|
||||||
|
|
||||||
/*
|
/*
|
||||||
** CAPI3REF: Run-Time Library Version Numbers
|
** CAPI3REF: Run-Time Library Version Numbers
|
||||||
@ -5593,7 +5593,8 @@ SQLITE_API unsigned int sqlite3_value_subtype(sqlite3_value*);
|
|||||||
** object D and returns a pointer to that copy. ^The [sqlite3_value] returned
|
** object D and returns a pointer to that copy. ^The [sqlite3_value] returned
|
||||||
** is a [protected sqlite3_value] object even if the input is not.
|
** is a [protected sqlite3_value] object even if the input is not.
|
||||||
** ^The sqlite3_value_dup(V) interface returns NULL if V is NULL or if a
|
** ^The sqlite3_value_dup(V) interface returns NULL if V is NULL or if a
|
||||||
** memory allocation fails.
|
** memory allocation fails. ^If V is a [pointer value], then the result
|
||||||
|
** of sqlite3_value_dup(V) is a NULL value.
|
||||||
**
|
**
|
||||||
** ^The sqlite3_value_free(V) interface frees an [sqlite3_value] object
|
** ^The sqlite3_value_free(V) interface frees an [sqlite3_value] object
|
||||||
** previously obtained from [sqlite3_value_dup()]. ^If V is a NULL pointer
|
** previously obtained from [sqlite3_value_dup()]. ^If V is a NULL pointer
|
||||||
@ -6275,6 +6276,28 @@ SQLITE_API int sqlite3_get_autocommit(sqlite3*);
|
|||||||
*/
|
*/
|
||||||
SQLITE_API sqlite3 *sqlite3_db_handle(sqlite3_stmt*);
|
SQLITE_API sqlite3 *sqlite3_db_handle(sqlite3_stmt*);
|
||||||
|
|
||||||
|
/*
|
||||||
|
** CAPI3REF: Return The Schema Name For A Database Connection
|
||||||
|
** METHOD: sqlite3
|
||||||
|
**
|
||||||
|
** ^The sqlite3_db_name(D,N) interface returns a pointer to the schema name
|
||||||
|
** for the N-th database on database connection D, or a NULL pointer of N is
|
||||||
|
** out of range. An N alue of 0 means the main database file. An N of 1 is
|
||||||
|
** the "temp" schema. Larger values of N correspond to various ATTACH-ed
|
||||||
|
** databases.
|
||||||
|
**
|
||||||
|
** Space to hold the string that is returned by sqlite3_db_name() is managed
|
||||||
|
** by SQLite itself. The string might be deallocated by any operation that
|
||||||
|
** changes the schema, including [ATTACH] or [DETACH] or calls to
|
||||||
|
** [sqlite3_serialize()] or [sqlite3_deserialize()], even operations that
|
||||||
|
** occur on a different thread. Applications that need to
|
||||||
|
** remember the string long-term should make their own copy. Applications that
|
||||||
|
** are accessing the same database connection simultaneously on multiple
|
||||||
|
** threads should mutex-protect calls to this API and should make their own
|
||||||
|
** private copy of the result prior to releasing the mutex.
|
||||||
|
*/
|
||||||
|
SQLITE_API const char *sqlite3_db_name(sqlite3 *db, int N);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
** CAPI3REF: Return The Filename For A Database Connection
|
** CAPI3REF: Return The Filename For A Database Connection
|
||||||
** METHOD: sqlite3
|
** METHOD: sqlite3
|
||||||
@ -9554,8 +9577,8 @@ SQLITE_API SQLITE_EXPERIMENTAL const char *sqlite3_vtab_collation(sqlite3_index_
|
|||||||
** of a [virtual table] implementation. The result of calling this
|
** of a [virtual table] implementation. The result of calling this
|
||||||
** interface from outside of xBestIndex() is undefined and probably harmful.
|
** interface from outside of xBestIndex() is undefined and probably harmful.
|
||||||
**
|
**
|
||||||
** ^The sqlite3_vtab_distinct() interface returns an integer that is
|
** ^The sqlite3_vtab_distinct() interface returns an integer between 0 and
|
||||||
** either 0, 1, or 2. The integer returned by sqlite3_vtab_distinct()
|
** 3. The integer returned by sqlite3_vtab_distinct()
|
||||||
** gives the virtual table additional information about how the query
|
** gives the virtual table additional information about how the query
|
||||||
** planner wants the output to be ordered. As long as the virtual table
|
** planner wants the output to be ordered. As long as the virtual table
|
||||||
** can meet the ordering requirements of the query planner, it may set
|
** can meet the ordering requirements of the query planner, it may set
|
||||||
@ -9587,6 +9610,13 @@ SQLITE_API SQLITE_EXPERIMENTAL const char *sqlite3_vtab_collation(sqlite3_index_
|
|||||||
** that have the same value for all columns identified by "aOrderBy".
|
** that have the same value for all columns identified by "aOrderBy".
|
||||||
** ^However omitting the extra rows is optional.
|
** ^However omitting the extra rows is optional.
|
||||||
** This mode is used for a DISTINCT query.
|
** This mode is used for a DISTINCT query.
|
||||||
|
** <li value="3"><p>
|
||||||
|
** ^(If the sqlite3_vtab_distinct() interface returns 3, that means
|
||||||
|
** that the query planner needs only distinct rows but it does need the
|
||||||
|
** rows to be sorted.)^ ^The virtual table implementation is free to omit
|
||||||
|
** rows that are identical in all aOrderBy columns, if it wants to, but
|
||||||
|
** it is not required to omit any rows. This mode is used for queries
|
||||||
|
** that have both DISTINCT and ORDER BY clauses.
|
||||||
** </ol>
|
** </ol>
|
||||||
**
|
**
|
||||||
** ^For the purposes of comparing virtual table output values to see if the
|
** ^For the purposes of comparing virtual table output values to see if the
|
||||||
|
12
libsqlite3-sys/sqlite3/sqlite3ext.h
vendored
12
libsqlite3-sys/sqlite3/sqlite3ext.h
vendored
@ -351,6 +351,12 @@ struct sqlite3_api_routines {
|
|||||||
int (*vtab_in)(sqlite3_index_info*,int,int);
|
int (*vtab_in)(sqlite3_index_info*,int,int);
|
||||||
int (*vtab_in_first)(sqlite3_value*,sqlite3_value**);
|
int (*vtab_in_first)(sqlite3_value*,sqlite3_value**);
|
||||||
int (*vtab_in_next)(sqlite3_value*,sqlite3_value**);
|
int (*vtab_in_next)(sqlite3_value*,sqlite3_value**);
|
||||||
|
/* Version 3.39.0 and later */
|
||||||
|
int (*deserialize)(sqlite3*,const char*,unsigned char*,
|
||||||
|
sqlite3_int64,sqlite3_int64,unsigned);
|
||||||
|
unsigned char *(*serialize)(sqlite3*,const char *,sqlite3_int64*,
|
||||||
|
unsigned int);
|
||||||
|
const char *(*db_name)(sqlite3*,int);
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -669,6 +675,12 @@ typedef int (*sqlite3_loadext_entry)(
|
|||||||
#define sqlite3_vtab_in sqlite3_api->vtab_in
|
#define sqlite3_vtab_in sqlite3_api->vtab_in
|
||||||
#define sqlite3_vtab_in_first sqlite3_api->vtab_in_first
|
#define sqlite3_vtab_in_first sqlite3_api->vtab_in_first
|
||||||
#define sqlite3_vtab_in_next sqlite3_api->vtab_in_next
|
#define sqlite3_vtab_in_next sqlite3_api->vtab_in_next
|
||||||
|
/* Version 3.39.0 and later */
|
||||||
|
#ifndef SQLITE_OMIT_DESERIALIZE
|
||||||
|
#define sqlite3_deserialize sqlite3_api->deserialize
|
||||||
|
#define sqlite3_serialize sqlite3_api->serialize
|
||||||
|
#endif
|
||||||
|
#define sqlite3_db_name sqlite3_api->db_name
|
||||||
#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)
|
||||||
|
@ -9,7 +9,7 @@ export SQLITE3_LIB_DIR="$SCRIPT_DIR/sqlite3"
|
|||||||
export SQLITE3_INCLUDE_DIR="$SQLITE3_LIB_DIR"
|
export SQLITE3_INCLUDE_DIR="$SQLITE3_LIB_DIR"
|
||||||
|
|
||||||
# Download and extract amalgamation
|
# Download and extract amalgamation
|
||||||
SQLITE=sqlite-amalgamation-3380300
|
SQLITE=sqlite-amalgamation-3390000
|
||||||
curl -O https://sqlite.org/2022/$SQLITE.zip
|
curl -O https://sqlite.org/2022/$SQLITE.zip
|
||||||
unzip -p "$SQLITE.zip" "$SQLITE/sqlite3.c" > "$SQLITE3_LIB_DIR/sqlite3.c"
|
unzip -p "$SQLITE.zip" "$SQLITE/sqlite3.c" > "$SQLITE3_LIB_DIR/sqlite3.c"
|
||||||
unzip -p "$SQLITE.zip" "$SQLITE/sqlite3.h" > "$SQLITE3_LIB_DIR/sqlite3.h"
|
unzip -p "$SQLITE.zip" "$SQLITE/sqlite3.h" > "$SQLITE3_LIB_DIR/sqlite3.h"
|
||||||
|
Loading…
Reference in New Issue
Block a user