Merge pull request #492 from gwenn/3.27.2

Upgrade bundled version to SQLite 3.27.2
This commit is contained in:
gwenn 2019-03-10 14:08:46 +01:00 committed by GitHub
commit a12d1769ed
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 5362 additions and 4030 deletions

View File

@ -70,7 +70,7 @@ regex = "1.0"
[dependencies.libsqlite3-sys]
path = "libsqlite3-sys"
version = "0.12"
version = "0.13"
[[test]]
name = "config_log"

View File

@ -1,6 +1,6 @@
[package]
name = "libsqlite3-sys"
version = "0.12.0"
version = "0.13.0"
authors = ["John Gallagher <jgallagher@bignerdranch.com>"]
edition = "2018"
repository = "https://github.com/jgallagher/rusqlite"
@ -28,7 +28,7 @@ preupdate_hook = []
session = ["preupdate_hook"]
[build-dependencies]
bindgen = { version = "0.47", optional = true }
bindgen = { version = "0.48", optional = true }
pkg-config = { version = "0.3", optional = true }
cc = { version = "1.0", optional = true }

View File

@ -1,10 +1,10 @@
/* automatically generated by rust-bindgen */
pub const __GNUC_VA_LIST: i32 = 1;
pub const SQLITE_VERSION: &'static [u8; 7usize] = b"3.26.0\0";
pub const SQLITE_VERSION_NUMBER: i32 = 3026000;
pub const SQLITE_VERSION: &'static [u8; 7usize] = b"3.27.2\0";
pub const SQLITE_VERSION_NUMBER: i32 = 3027002;
pub const SQLITE_SOURCE_ID: &'static [u8; 85usize] =
b"2018-12-01 12:34:55 bf8c1b2b7a5960c282e543b9c293686dccff272512d08865f4600fb58238b4f9\0";
b"2019-02-25 16:06:06 bd49a8271d650fa89e446b42e513b595a717b9212c91dd384aab871fc1d0f6d7\0";
pub const SQLITE_OK: i32 = 0;
pub const SQLITE_ERROR: i32 = 1;
pub const SQLITE_INTERNAL: i32 = 2;
@ -180,6 +180,7 @@ pub const SQLITE_FCNTL_COMMIT_ATOMIC_WRITE: i32 = 32;
pub const SQLITE_FCNTL_ROLLBACK_ATOMIC_WRITE: i32 = 33;
pub const SQLITE_FCNTL_LOCK_TIMEOUT: i32 = 34;
pub const SQLITE_FCNTL_DATA_VERSION: i32 = 35;
pub const SQLITE_FCNTL_SIZE_LIMIT: i32 = 36;
pub const SQLITE_GET_LOCKPROXYFILE: i32 = 2;
pub const SQLITE_SET_LOCKPROXYFILE: i32 = 3;
pub const SQLITE_LAST_ERRNO: i32 = 4;
@ -218,6 +219,7 @@ pub const SQLITE_CONFIG_PMASZ: i32 = 25;
pub const SQLITE_CONFIG_STMTJRNL_SPILL: i32 = 26;
pub const SQLITE_CONFIG_SMALL_MALLOC: i32 = 27;
pub const SQLITE_CONFIG_SORTERREF_SIZE: i32 = 28;
pub const SQLITE_CONFIG_MEMDB_MAXSIZE: i32 = 29;
pub const SQLITE_DBCONFIG_MAINDBNAME: i32 = 1000;
pub const SQLITE_DBCONFIG_LOOKASIDE: i32 = 1001;
pub const SQLITE_DBCONFIG_ENABLE_FKEY: i32 = 1002;
@ -284,6 +286,7 @@ pub const SQLITE_LIMIT_TRIGGER_DEPTH: i32 = 10;
pub const SQLITE_LIMIT_WORKER_THREADS: i32 = 11;
pub const SQLITE_PREPARE_PERSISTENT: i32 = 1;
pub const SQLITE_PREPARE_NORMALIZE: i32 = 2;
pub const SQLITE_PREPARE_NO_VTAB: i32 = 4;
pub const SQLITE_INTEGER: i32 = 1;
pub const SQLITE_FLOAT: i32 = 2;
pub const SQLITE_BLOB: i32 = 4;
@ -470,9 +473,9 @@ extern "C" {
callback: ::std::option::Option<
unsafe extern "C" fn(
arg1: *mut ::std::os::raw::c_void,
arg2: ::std::os::raw::c_int,
arg3: *mut *mut ::std::os::raw::c_char,
arg4: *mut *mut ::std::os::raw::c_char,
sql: ::std::os::raw::c_int,
callback: *mut *mut ::std::os::raw::c_char,
arg2: *mut *mut ::std::os::raw::c_char,
) -> ::std::os::raw::c_int,
>,
arg2: *mut ::std::os::raw::c_void,
@ -1450,11 +1453,11 @@ extern "C" {
xAuth: ::std::option::Option<
unsafe extern "C" fn(
arg1: *mut ::std::os::raw::c_void,
arg2: ::std::os::raw::c_int,
xAuth: ::std::os::raw::c_int,
pUserData: *const ::std::os::raw::c_char,
arg2: *const ::std::os::raw::c_char,
arg3: *const ::std::os::raw::c_char,
arg4: *const ::std::os::raw::c_char,
arg5: *const ::std::os::raw::c_char,
arg6: *const ::std::os::raw::c_char,
) -> ::std::os::raw::c_int,
>,
pUserData: *mut ::std::os::raw::c_void,
@ -1466,7 +1469,7 @@ extern "C" {
xTrace: ::std::option::Option<
unsafe extern "C" fn(
arg1: *mut ::std::os::raw::c_void,
arg2: *const ::std::os::raw::c_char,
xTrace: *const ::std::os::raw::c_char,
),
>,
arg2: *mut ::std::os::raw::c_void,
@ -1478,8 +1481,8 @@ extern "C" {
xProfile: ::std::option::Option<
unsafe extern "C" fn(
arg1: *mut ::std::os::raw::c_void,
arg2: *const ::std::os::raw::c_char,
arg3: sqlite3_uint64,
xProfile: *const ::std::os::raw::c_char,
arg2: sqlite3_uint64,
),
>,
arg2: *mut ::std::os::raw::c_void,
@ -1492,9 +1495,9 @@ extern "C" {
xCallback: ::std::option::Option<
unsafe extern "C" fn(
arg1: ::std::os::raw::c_uint,
arg2: *mut ::std::os::raw::c_void,
arg3: *mut ::std::os::raw::c_void,
arg4: *mut ::std::os::raw::c_void,
uMask: *mut ::std::os::raw::c_void,
xCallback: *mut ::std::os::raw::c_void,
pCtx: *mut ::std::os::raw::c_void,
) -> ::std::os::raw::c_int,
>,
pCtx: *mut ::std::os::raw::c_void,
@ -1920,19 +1923,19 @@ extern "C" {
pApp: *mut ::std::os::raw::c_void,
xFunc: ::std::option::Option<
unsafe extern "C" fn(
arg1: *mut sqlite3_context,
arg2: ::std::os::raw::c_int,
arg3: *mut *mut sqlite3_value,
db: *mut sqlite3_context,
zFunctionName: ::std::os::raw::c_int,
nArg: *mut *mut sqlite3_value,
),
>,
xStep: ::std::option::Option<
unsafe extern "C" fn(
arg1: *mut sqlite3_context,
arg2: ::std::os::raw::c_int,
arg3: *mut *mut sqlite3_value,
db: *mut sqlite3_context,
zFunctionName: ::std::os::raw::c_int,
nArg: *mut *mut sqlite3_value,
),
>,
xFinal: ::std::option::Option<unsafe extern "C" fn(arg1: *mut sqlite3_context)>,
xFinal: ::std::option::Option<unsafe extern "C" fn(db: *mut sqlite3_context)>,
) -> ::std::os::raw::c_int;
}
extern "C" {
@ -1944,19 +1947,19 @@ extern "C" {
pApp: *mut ::std::os::raw::c_void,
xFunc: ::std::option::Option<
unsafe extern "C" fn(
arg1: *mut sqlite3_context,
arg2: ::std::os::raw::c_int,
arg3: *mut *mut sqlite3_value,
db: *mut sqlite3_context,
zFunctionName: ::std::os::raw::c_int,
nArg: *mut *mut sqlite3_value,
),
>,
xStep: ::std::option::Option<
unsafe extern "C" fn(
arg1: *mut sqlite3_context,
arg2: ::std::os::raw::c_int,
arg3: *mut *mut sqlite3_value,
db: *mut sqlite3_context,
zFunctionName: ::std::os::raw::c_int,
nArg: *mut *mut sqlite3_value,
),
>,
xFinal: ::std::option::Option<unsafe extern "C" fn(arg1: *mut sqlite3_context)>,
xFinal: ::std::option::Option<unsafe extern "C" fn(db: *mut sqlite3_context)>,
) -> ::std::os::raw::c_int;
}
extern "C" {
@ -1968,20 +1971,20 @@ extern "C" {
pApp: *mut ::std::os::raw::c_void,
xFunc: ::std::option::Option<
unsafe extern "C" fn(
arg1: *mut sqlite3_context,
arg2: ::std::os::raw::c_int,
arg3: *mut *mut sqlite3_value,
db: *mut sqlite3_context,
zFunctionName: ::std::os::raw::c_int,
nArg: *mut *mut sqlite3_value,
),
>,
xStep: ::std::option::Option<
unsafe extern "C" fn(
arg1: *mut sqlite3_context,
arg2: ::std::os::raw::c_int,
arg3: *mut *mut sqlite3_value,
db: *mut sqlite3_context,
zFunctionName: ::std::os::raw::c_int,
nArg: *mut *mut sqlite3_value,
),
>,
xFinal: ::std::option::Option<unsafe extern "C" fn(arg1: *mut sqlite3_context)>,
xDestroy: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
xFinal: ::std::option::Option<unsafe extern "C" fn(db: *mut sqlite3_context)>,
xDestroy: ::std::option::Option<unsafe extern "C" fn(db: *mut ::std::os::raw::c_void)>,
) -> ::std::os::raw::c_int;
}
extern "C" {
@ -1993,21 +1996,21 @@ extern "C" {
pApp: *mut ::std::os::raw::c_void,
xStep: ::std::option::Option<
unsafe extern "C" fn(
arg1: *mut sqlite3_context,
arg2: ::std::os::raw::c_int,
arg3: *mut *mut sqlite3_value,
db: *mut sqlite3_context,
zFunctionName: ::std::os::raw::c_int,
nArg: *mut *mut sqlite3_value,
),
>,
xFinal: ::std::option::Option<unsafe extern "C" fn(arg1: *mut sqlite3_context)>,
xValue: ::std::option::Option<unsafe extern "C" fn(arg1: *mut sqlite3_context)>,
xFinal: ::std::option::Option<unsafe extern "C" fn(db: *mut sqlite3_context)>,
xValue: ::std::option::Option<unsafe extern "C" fn(db: *mut sqlite3_context)>,
xInverse: ::std::option::Option<
unsafe extern "C" fn(
arg1: *mut sqlite3_context,
arg2: ::std::os::raw::c_int,
arg3: *mut *mut sqlite3_value,
db: *mut sqlite3_context,
zFunctionName: ::std::os::raw::c_int,
nArg: *mut *mut sqlite3_value,
),
>,
xDestroy: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
xDestroy: ::std::option::Option<unsafe extern "C" fn(db: *mut ::std::os::raw::c_void)>,
) -> ::std::os::raw::c_int;
}
extern "C" {
@ -2247,10 +2250,10 @@ extern "C" {
xCompare: ::std::option::Option<
unsafe extern "C" fn(
arg1: *mut ::std::os::raw::c_void,
arg2: ::std::os::raw::c_int,
arg3: *const ::std::os::raw::c_void,
arg4: ::std::os::raw::c_int,
arg5: *const ::std::os::raw::c_void,
zName: ::std::os::raw::c_int,
eTextRep: *const ::std::os::raw::c_void,
pArg: ::std::os::raw::c_int,
xCompare: *const ::std::os::raw::c_void,
) -> ::std::os::raw::c_int,
>,
) -> ::std::os::raw::c_int;
@ -2264,10 +2267,10 @@ extern "C" {
xCompare: ::std::option::Option<
unsafe extern "C" fn(
arg1: *mut ::std::os::raw::c_void,
arg2: ::std::os::raw::c_int,
arg3: *const ::std::os::raw::c_void,
arg4: ::std::os::raw::c_int,
arg5: *const ::std::os::raw::c_void,
zName: ::std::os::raw::c_int,
eTextRep: *const ::std::os::raw::c_void,
pArg: ::std::os::raw::c_int,
xCompare: *const ::std::os::raw::c_void,
) -> ::std::os::raw::c_int,
>,
xDestroy: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
@ -2282,10 +2285,10 @@ extern "C" {
xCompare: ::std::option::Option<
unsafe extern "C" fn(
arg1: *mut ::std::os::raw::c_void,
arg2: ::std::os::raw::c_int,
arg3: *const ::std::os::raw::c_void,
arg4: ::std::os::raw::c_int,
arg5: *const ::std::os::raw::c_void,
zName: ::std::os::raw::c_int,
eTextRep: *const ::std::os::raw::c_void,
pArg: ::std::os::raw::c_int,
xCompare: *const ::std::os::raw::c_void,
) -> ::std::os::raw::c_int,
>,
) -> ::std::os::raw::c_int;
@ -2298,8 +2301,8 @@ extern "C" {
unsafe extern "C" fn(
arg1: *mut ::std::os::raw::c_void,
arg2: *mut sqlite3,
eTextRep: ::std::os::raw::c_int,
arg3: *const ::std::os::raw::c_char,
arg3: ::std::os::raw::c_int,
arg4: *const ::std::os::raw::c_char,
),
>,
) -> ::std::os::raw::c_int;
@ -2312,8 +2315,8 @@ extern "C" {
unsafe extern "C" fn(
arg1: *mut ::std::os::raw::c_void,
arg2: *mut sqlite3,
eTextRep: ::std::os::raw::c_int,
arg3: *const ::std::os::raw::c_void,
arg3: ::std::os::raw::c_int,
arg4: *const ::std::os::raw::c_void,
),
>,
) -> ::std::os::raw::c_int;
@ -3208,7 +3211,7 @@ extern "C" {
zName: *const ::std::os::raw::c_char,
p: *const sqlite3_module,
pClientData: *mut ::std::os::raw::c_void,
xDestroy: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
xDestroy: ::std::option::Option<unsafe extern "C" fn(db: *mut ::std::os::raw::c_void)>,
) -> ::std::os::raw::c_int;
}
#[repr(C)]
@ -4089,8 +4092,8 @@ extern "C" {
pBlocked: *mut sqlite3,
xNotify: ::std::option::Option<
unsafe extern "C" fn(
apArg: *mut *mut ::std::os::raw::c_void,
nArg: ::std::os::raw::c_int,
pBlocked: *mut *mut ::std::os::raw::c_void,
xNotify: ::std::os::raw::c_int,
),
>,
pNotifyArg: *mut ::std::os::raw::c_void,
@ -4282,10 +4285,10 @@ extern "C" {
zGeom: *const ::std::os::raw::c_char,
xGeom: ::std::option::Option<
unsafe extern "C" fn(
arg1: *mut sqlite3_rtree_geometry,
arg2: ::std::os::raw::c_int,
arg3: *mut sqlite3_rtree_dbl,
arg4: *mut ::std::os::raw::c_int,
db: *mut sqlite3_rtree_geometry,
zGeom: ::std::os::raw::c_int,
xGeom: *mut sqlite3_rtree_dbl,
pContext: *mut ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
pContext: *mut ::std::os::raw::c_void,
@ -4368,10 +4371,10 @@ extern "C" {
db: *mut sqlite3,
zQueryFunc: *const ::std::os::raw::c_char,
xQueryFunc: ::std::option::Option<
unsafe extern "C" fn(arg1: *mut sqlite3_rtree_query_info) -> ::std::os::raw::c_int,
unsafe extern "C" fn(db: *mut sqlite3_rtree_query_info) -> ::std::os::raw::c_int,
>,
pContext: *mut ::std::os::raw::c_void,
xDestructor: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
xDestructor: ::std::option::Option<unsafe extern "C" fn(db: *mut ::std::os::raw::c_void)>,
) -> ::std::os::raw::c_int;
}
#[repr(C)]

File diff suppressed because it is too large Load Diff

View File

@ -123,9 +123,9 @@ extern "C" {
** [sqlite3_libversion_number()], [sqlite3_sourceid()],
** [sqlite_version()] and [sqlite_source_id()].
*/
#define SQLITE_VERSION "3.26.0"
#define SQLITE_VERSION_NUMBER 3026000
#define SQLITE_SOURCE_ID "2018-12-01 12:34:55 bf8c1b2b7a5960c282e543b9c293686dccff272512d08865f4600fb58238b4f9"
#define SQLITE_VERSION "3.27.2"
#define SQLITE_VERSION_NUMBER 3027002
#define SQLITE_SOURCE_ID "2019-02-25 16:06:06 bd49a8271d650fa89e446b42e513b595a717b9212c91dd384aab871fc1d0f6d7"
/*
** CAPI3REF: Run-Time Library Version Numbers
@ -823,6 +823,15 @@ struct sqlite3_io_methods {
** file space based on this hint in order to help writes to the database
** file run faster.
**
** <li>[[SQLITE_FCNTL_SIZE_LIMIT]]
** The [SQLITE_FCNTL_SIZE_LIMIT] opcode is used by in-memory VFS that
** implements [sqlite3_deserialize()] to set an upper bound on the size
** of the in-memory database. The argument is a pointer to a [sqlite3_int64].
** If the integer pointed to is negative, then it is filled in with the
** current limit. Otherwise the limit is set to the larger of the value
** of the integer pointed to and the current database size. The integer
** pointed to is set to the new limit.
**
** <li>[[SQLITE_FCNTL_CHUNK_SIZE]]
** The [SQLITE_FCNTL_CHUNK_SIZE] opcode is used to request that the VFS
** extends and truncates the database file in chunks of a size specified
@ -1131,6 +1140,7 @@ struct sqlite3_io_methods {
#define SQLITE_FCNTL_ROLLBACK_ATOMIC_WRITE 33
#define SQLITE_FCNTL_LOCK_TIMEOUT 34
#define SQLITE_FCNTL_DATA_VERSION 35
#define SQLITE_FCNTL_SIZE_LIMIT 36
/* deprecated names */
#define SQLITE_GET_LOCKPROXYFILE SQLITE_FCNTL_GET_LOCKPROXYFILE
@ -1972,6 +1982,17 @@ struct sqlite3_mem_methods {
** negative value for this option restores the default behaviour.
** This option is only available if SQLite is compiled with the
** [SQLITE_ENABLE_SORTER_REFERENCES] compile-time option.
**
** [[SQLITE_CONFIG_MEMDB_MAXSIZE]]
** <dt>SQLITE_CONFIG_MEMDB_MAXSIZE
** <dd>The SQLITE_CONFIG_MEMDB_MAXSIZE option accepts a single parameter
** [sqlite3_int64] parameter which is the default maximum size for an in-memory
** database created using [sqlite3_deserialize()]. This default maximum
** size can be adjusted up or down for individual databases using the
** [SQLITE_FCNTL_SIZE_LIMIT] [sqlite3_file_control|file-control]. If this
** configuration setting is never used, then the default maximum is determined
** by the [SQLITE_MEMDB_DEFAULT_MAXSIZE] compile-time option. If that
** compile-time option is not set, then the default maximum is 1073741824.
** </dl>
*/
#define SQLITE_CONFIG_SINGLETHREAD 1 /* nil */
@ -2002,6 +2023,7 @@ struct sqlite3_mem_methods {
#define SQLITE_CONFIG_STMTJRNL_SPILL 26 /* int nByte */
#define SQLITE_CONFIG_SMALL_MALLOC 27 /* boolean */
#define SQLITE_CONFIG_SORTERREF_SIZE 28 /* int nByte */
#define SQLITE_CONFIG_MEMDB_MAXSIZE 29 /* sqlite3_int64 */
/*
** CAPI3REF: Database Connection Configuration Options
@ -2347,7 +2369,7 @@ SQLITE_API int sqlite3_changes(sqlite3*);
** not. ^Changes to a view that are intercepted by INSTEAD OF triggers
** are not counted.
**
** This the [sqlite3_total_changes(D)] interface only reports the number
** The [sqlite3_total_changes(D)] interface only reports the number
** of rows that changed due to SQL statement run against database
** connection D. Any changes by other database connections are ignored.
** To detect changes against a database file from other database
@ -2991,9 +3013,9 @@ SQLITE_API int sqlite3_set_authorizer(
** time is in units of nanoseconds, however the current implementation
** is only capable of millisecond resolution so the six least significant
** digits in the time are meaningless. Future versions of SQLite
** might provide greater resolution on the profiler callback. The
** sqlite3_profile() function is considered experimental and is
** subject to change in future versions of SQLite.
** might provide greater resolution on the profiler callback. Invoking
** either [sqlite3_trace()] or [sqlite3_trace_v2()] will cancel the
** profile callback.
*/
SQLITE_API SQLITE_DEPRECATED void *sqlite3_trace(sqlite3*,
void(*xTrace)(void*,const char*), void*);
@ -3407,6 +3429,8 @@ SQLITE_API int sqlite3_open_v2(
** is not a database file pathname pointer that SQLite passed into the xOpen
** VFS method, then the behavior of this routine is undefined and probably
** undesirable.
**
** See the [URI filename] documentation for additional information.
*/
SQLITE_API const char *sqlite3_uri_parameter(const char *zFilename, const char *zParam);
SQLITE_API int sqlite3_uri_boolean(const char *zFile, const char *zParam, int bDefault);
@ -3629,18 +3653,23 @@ SQLITE_API int sqlite3_limit(sqlite3*, int id, int newVal);
** deplete the limited store of lookaside memory. Future versions of
** SQLite may act on this hint differently.
**
** [[SQLITE_PREPARE_NORMALIZE]] ^(<dt>SQLITE_PREPARE_NORMALIZE</dt>
** <dd>The SQLITE_PREPARE_NORMALIZE flag indicates that a normalized
** representation of the SQL statement should be calculated and then
** associated with the prepared statement, which can be obtained via
** the [sqlite3_normalized_sql()] interface.)^ The semantics used to
** normalize a SQL statement are unspecified and subject to change.
** At a minimum, literal values will be replaced with suitable
** placeholders.
** [[SQLITE_PREPARE_NORMALIZE]] <dt>SQLITE_PREPARE_NORMALIZE</dt>
** <dd>The SQLITE_PREPARE_NORMALIZE flag is a no-op. This flag used
** to be required for any prepared statement that wanted to use the
** [sqlite3_normalized_sql()] interface. However, the
** [sqlite3_normalized_sql()] interface is now available to all
** prepared statements, regardless of whether or not they use this
** flag.
**
** [[SQLITE_PREPARE_NO_VTAB]] <dt>SQLITE_PREPARE_NO_VTAB</dt>
** <dd>The SQLITE_PREPARE_NO_VTAB flag causes the SQL compiler
** to return an error (error code SQLITE_ERROR) if the statement uses
** any virtual tables.
** </dl>
*/
#define SQLITE_PREPARE_PERSISTENT 0x01
#define SQLITE_PREPARE_NORMALIZE 0x02
#define SQLITE_PREPARE_NO_VTAB 0x04
/*
** CAPI3REF: Compiling An SQL Statement
@ -9996,7 +10025,7 @@ SQLITE_API int sqlite3changeset_next(sqlite3_changeset_iter *pIter);
** sqlite3changeset_next() is called on the iterator or until the
** conflict-handler function returns. If pnCol is not NULL, then *pnCol is
** set to the number of columns in the table affected by the change. If
** pbIncorrect is not NULL, then *pbIndirect is set to true (1) if the change
** pbIndirect is not NULL, then *pbIndirect is set to true (1) if the change
** is an indirect change, or false (0) otherwise. See the documentation for
** [sqlite3session_indirect()] for a description of direct and indirect
** changes. Finally, if pOp is not NULL, then *pOp is set to one of
@ -11230,12 +11259,8 @@ struct Fts5PhraseIter {
**
** Usually, output parameter *piPhrase is set to the phrase number, *piCol
** to the column in which it occurs and *piOff the token offset of the
** first token of the phrase. The exception is if the table was created
** with the offsets=0 option specified. In this case *piOff is always
** set to -1.
**
** Returns SQLITE_OK if successful, or an error code (i.e. SQLITE_NOMEM)
** if an error occurs.
** first token of the phrase. Returns SQLITE_OK if successful, or an error
** code (i.e. SQLITE_NOMEM) if an error occurs.
**
** This API can be quite slow if used with an FTS5 table created with the
** "detail=none" or "detail=column" option.
@ -11524,11 +11549,11 @@ struct Fts5ExtensionApi {
** the tokenizer substitutes "first" for "1st" and the query works
** as expected.
**
** <li> By adding multiple synonyms for a single term to the FTS index.
** In this case, when tokenizing query text, the tokenizer may
** provide multiple synonyms for a single term within the document.
** FTS5 then queries the index for each synonym individually. For
** example, faced with the query:
** <li> By querying the index for all synonyms of each query term
** separately. In this case, when tokenizing query text, the
** tokenizer may provide multiple synonyms for a single term
** within the document. FTS5 then queries the index for each
** synonym individually. For example, faced with the query:
**
** <codeblock>
** ... MATCH 'first place'</codeblock>
@ -11552,7 +11577,7 @@ struct Fts5ExtensionApi {
** "place".
**
** This way, even if the tokenizer does not provide synonyms
** when tokenizing query text (it should not - to do would be
** when tokenizing query text (it should not - to do so would be
** inefficient), it doesn't matter if the user queries for
** 'first + place' or '1st + place', as there are entries in the
** FTS index corresponding to both forms of the first token.

View File

@ -4,8 +4,8 @@ cd $SCRIPT_DIR
export SQLITE3_LIB_DIR=$SCRIPT_DIR/sqlite3
# Download and extract amalgamation
SQLITE=sqlite-amalgamation-3260000
curl -O http://sqlite.org/2018/$SQLITE.zip
SQLITE=sqlite-amalgamation-3270200
curl -O http://sqlite.org/2019/$SQLITE.zip
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/sqlite3ext.h > $SQLITE3_LIB_DIR/sqlite3ext.h
@ -16,9 +16,9 @@ rm -f $SQLITE3_LIB_DIR/bindgen_bundled_version.rs
export SQLITE3_INCLUDE_DIR=$SQLITE3_LIB_DIR
cargo update
# Just to make sure there is only one bindgen.rs file in target dir
find $SCRIPT_DIR/target -type f -name bindgen.rs -exec rm {} \;
find $SCRIPT_DIR/../target -type f -name bindgen.rs -exec rm {} \;
cargo build --features "buildtime_bindgen" --no-default-features
find $SCRIPT_DIR/target -type f -name bindgen.rs -exec cp {} $SQLITE3_LIB_DIR/bindgen_bundled_version.rs \;
find $SCRIPT_DIR/../target -type f -name bindgen.rs -exec cp {} $SQLITE3_LIB_DIR/bindgen_bundled_version.rs \;
# Sanity check
cd $SCRIPT_DIR/..
cargo update