mirror of https://github.com/mattn/go-sqlite3.git
Update amalgamation code
This commit is contained in:
parent
595e13285d
commit
d8e192b752
9208
sqlite3-binding.c
9208
sqlite3-binding.c
File diff suppressed because it is too large
Load Diff
|
@ -147,9 +147,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.5"
|
#define SQLITE_VERSION "3.39.2"
|
||||||
#define SQLITE_VERSION_NUMBER 3038005
|
#define SQLITE_VERSION_NUMBER 3039002
|
||||||
#define SQLITE_SOURCE_ID "2022-05-06 15:25:27 78d9c993d404cdfaa7fdd2973fa1052e3da9f66215cff9c5540ebe55c407d9fe"
|
#define SQLITE_SOURCE_ID "2022-07-21 15:24:47 698edb77537b67c41adc68f9b892db56bcf9a55e00371a61420f3ddd668e6603"
|
||||||
|
|
||||||
/*
|
/*
|
||||||
** CAPI3REF: Run-Time Library Version Numbers
|
** CAPI3REF: Run-Time Library Version Numbers
|
||||||
|
@ -5594,7 +5594,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
|
||||||
|
@ -6276,6 +6277,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 value 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
|
||||||
|
@ -9555,8 +9578,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
|
||||||
|
@ -9588,6 +9611,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
sqlite3ext.h
12
sqlite3ext.h
|
@ -356,6 +356,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);
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -674,6 +680,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)
|
||||||
|
|
Loading…
Reference in New Issue