Deleted Added
full compact
sqlite3.h (346983) sqlite3.h (347347)
1/*
2** 2001-09-15
3**
4** The author disclaims copyright to this source code. In place of
5** a legal notice, here is a blessing:
6**
7** May you do good and not evil.
8** May you find forgiveness for yourself and forgive others.

--- 109 unchanged lines hidden (view full) ---

118** or SHA3-256 hash of the entire source tree. If the source code has
119** been edited in any way since it was last checked in, then the last
120** four hexadecimal digits of the hash may be modified.
121**
122** See also: [sqlite3_libversion()],
123** [sqlite3_libversion_number()], [sqlite3_sourceid()],
124** [sqlite_version()] and [sqlite_source_id()].
125*/
1/*
2** 2001-09-15
3**
4** The author disclaims copyright to this source code. In place of
5** a legal notice, here is a blessing:
6**
7** May you do good and not evil.
8** May you find forgiveness for yourself and forgive others.

--- 109 unchanged lines hidden (view full) ---

118** or SHA3-256 hash of the entire source tree. If the source code has
119** been edited in any way since it was last checked in, then the last
120** four hexadecimal digits of the hash may be modified.
121**
122** See also: [sqlite3_libversion()],
123** [sqlite3_libversion_number()], [sqlite3_sourceid()],
124** [sqlite_version()] and [sqlite_source_id()].
125*/
126#define SQLITE_VERSION "3.27.2"
127#define SQLITE_VERSION_NUMBER 3027002
128#define SQLITE_SOURCE_ID "2019-02-25 16:06:06 bd49a8271d650fa89e446b42e513b595a717b9212c91dd384aab871fc1d0f6d7"
126#define SQLITE_VERSION "3.28.0"
127#define SQLITE_VERSION_NUMBER 3028000
128#define SQLITE_SOURCE_ID "2019-04-16 19:49:53 884b4b7e502b4e991677b53971277adfaf0a04a284f8e483e2553d0f83156b50"
129
130/*
131** CAPI3REF: Run-Time Library Version Numbers
132** KEYWORDS: sqlite3_version sqlite3_sourceid
133**
134** These interfaces provide the same information as the [SQLITE_VERSION],
135** [SQLITE_VERSION_NUMBER], and [SQLITE_SOURCE_ID] C preprocessor macros
136** but are associated with the library instead of the header file. ^(Cautious

--- 47 unchanged lines hidden (view full) ---

184** [SQLITE_OMIT_COMPILEOPTION_DIAGS] option at compile time.
185**
186** See also: SQL functions [sqlite_compileoption_used()] and
187** [sqlite_compileoption_get()] and the [compile_options pragma].
188*/
189#ifndef SQLITE_OMIT_COMPILEOPTION_DIAGS
190SQLITE_API int sqlite3_compileoption_used(const char *zOptName);
191SQLITE_API const char *sqlite3_compileoption_get(int N);
129
130/*
131** CAPI3REF: Run-Time Library Version Numbers
132** KEYWORDS: sqlite3_version sqlite3_sourceid
133**
134** These interfaces provide the same information as the [SQLITE_VERSION],
135** [SQLITE_VERSION_NUMBER], and [SQLITE_SOURCE_ID] C preprocessor macros
136** but are associated with the library instead of the header file. ^(Cautious

--- 47 unchanged lines hidden (view full) ---

184** [SQLITE_OMIT_COMPILEOPTION_DIAGS] option at compile time.
185**
186** See also: SQL functions [sqlite_compileoption_used()] and
187** [sqlite_compileoption_get()] and the [compile_options pragma].
188*/
189#ifndef SQLITE_OMIT_COMPILEOPTION_DIAGS
190SQLITE_API int sqlite3_compileoption_used(const char *zOptName);
191SQLITE_API const char *sqlite3_compileoption_get(int N);
192#else
193# define sqlite3_compileoption_used(X) 0
194# define sqlite3_compileoption_get(X) ((void*)0)
192#endif
193
194/*
195** CAPI3REF: Test To See If The Library Is Threadsafe
196**
197** ^The sqlite3_threadsafe() function returns zero if and only if
198** SQLite was compiled with mutexing code omitted due to the
199** [SQLITE_THREADSAFE] compile-time option being set to 0.

--- 1881 unchanged lines hidden (view full) ---

2081** positive to enable triggers or negative to leave the setting unchanged.
2082** The second parameter is a pointer to an integer into which
2083** is written 0 or 1 to indicate whether triggers are disabled or enabled
2084** following this call. The second parameter may be a NULL pointer, in
2085** which case the trigger setting is not reported back. </dd>
2086**
2087** [[SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER]]
2088** <dt>SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER</dt>
195#endif
196
197/*
198** CAPI3REF: Test To See If The Library Is Threadsafe
199**
200** ^The sqlite3_threadsafe() function returns zero if and only if
201** SQLite was compiled with mutexing code omitted due to the
202** [SQLITE_THREADSAFE] compile-time option being set to 0.

--- 1881 unchanged lines hidden (view full) ---

2084** positive to enable triggers or negative to leave the setting unchanged.
2085** The second parameter is a pointer to an integer into which
2086** is written 0 or 1 to indicate whether triggers are disabled or enabled
2087** following this call. The second parameter may be a NULL pointer, in
2088** which case the trigger setting is not reported back. </dd>
2089**
2090** [[SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER]]
2091** <dt>SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER</dt>
2089** <dd> ^This option is used to enable or disable the two-argument
2090** version of the [fts3_tokenizer()] function which is part of the
2092**
^This option is used to enable or disable the
2093** [fts3_tokenizer()] function which is part of the
2091** [FTS3] full-text search engine extension.
2092** There should be two additional arguments.
2093** The first argument is an integer which is 0 to disable fts3_tokenizer() or
2094** positive to enable fts3_tokenizer() or negative to leave the setting
2095** unchanged.
2096** The second parameter is a pointer to an integer into which
2097** is written 0 or 1 to indicate whether fts3_tokenizer is disabled or enabled
2098** following this call. The second parameter may be a NULL pointer, in

--- 95 unchanged lines hidden (view full) ---

2194** deliberately corrupt the database file are disabled. The disabled
2195** features include but are not limited to the following:
2196** <ul>
2197** <li> The [PRAGMA writable_schema=ON] statement.
2198** <li> Writes to the [sqlite_dbpage] virtual table.
2199** <li> Direct writes to [shadow tables].
2200** </ul>
2201** </dd>
2094** [FTS3] full-text search engine extension.
2095** There should be two additional arguments.
2096** The first argument is an integer which is 0 to disable fts3_tokenizer() or
2097** positive to enable fts3_tokenizer() or negative to leave the setting
2098** unchanged.
2099** The second parameter is a pointer to an integer into which
2100** is written 0 or 1 to indicate whether fts3_tokenizer is disabled or enabled
2101** following this call. The second parameter may be a NULL pointer, in

--- 95 unchanged lines hidden (view full) ---

2197** deliberately corrupt the database file are disabled. The disabled
2198** features include but are not limited to the following:
2199** <ul>
2200** <li> The [PRAGMA writable_schema=ON] statement.
2201** <li> Writes to the [sqlite_dbpage] virtual table.
2202** <li> Direct writes to [shadow tables].
2203** </ul>
2204** </dd>
2205**
2206** [[SQLITE_DBCONFIG_WRITABLE_SCHEMA]] <dt>SQLITE_DBCONFIG_WRITABLE_SCHEMA</dt>
2207** <dd>The SQLITE_DBCONFIG_WRITABLE_SCHEMA option activates or deactivates the
2208** "writable_schema" flag. This has the same effect and is logically equivalent
2209** to setting [PRAGMA writable_schema=ON] or [PRAGMA writable_schema=OFF].
2210** The first argument to this setting is an integer which is 0 to disable
2211** the writable_schema, positive to enable writable_schema, or negative to
2212** leave the setting unchanged. The second parameter is a pointer to an
2213** integer into which is written 0 or 1 to indicate whether the writable_schema
2214** is enabled or disabled following this call.
2215** </dd>
2202** </dl>
2203*/
2204#define SQLITE_DBCONFIG_MAINDBNAME 1000 /* const char* */
2205#define SQLITE_DBCONFIG_LOOKASIDE 1001 /* void* int int */
2206#define SQLITE_DBCONFIG_ENABLE_FKEY 1002 /* int int* */
2207#define SQLITE_DBCONFIG_ENABLE_TRIGGER 1003 /* int int* */
2208#define SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER 1004 /* int int* */
2209#define SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION 1005 /* int int* */
2210#define SQLITE_DBCONFIG_NO_CKPT_ON_CLOSE 1006 /* int int* */
2211#define SQLITE_DBCONFIG_ENABLE_QPSG 1007 /* int int* */
2212#define SQLITE_DBCONFIG_TRIGGER_EQP 1008 /* int int* */
2213#define SQLITE_DBCONFIG_RESET_DATABASE 1009 /* int int* */
2214#define SQLITE_DBCONFIG_DEFENSIVE 1010 /* int int* */
2216** </dl>
2217*/
2218#define SQLITE_DBCONFIG_MAINDBNAME 1000 /* const char* */
2219#define SQLITE_DBCONFIG_LOOKASIDE 1001 /* void* int int */
2220#define SQLITE_DBCONFIG_ENABLE_FKEY 1002 /* int int* */
2221#define SQLITE_DBCONFIG_ENABLE_TRIGGER 1003 /* int int* */
2222#define SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER 1004 /* int int* */
2223#define SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION 1005 /* int int* */
2224#define SQLITE_DBCONFIG_NO_CKPT_ON_CLOSE 1006 /* int int* */
2225#define SQLITE_DBCONFIG_ENABLE_QPSG 1007 /* int int* */
2226#define SQLITE_DBCONFIG_TRIGGER_EQP 1008 /* int int* */
2227#define SQLITE_DBCONFIG_RESET_DATABASE 1009 /* int int* */
2228#define SQLITE_DBCONFIG_DEFENSIVE 1010 /* int int* */
2215#define SQLITE_DBCONFIG_MAX 1010 /* Largest DBCONFIG */
2229#define SQLITE_DBCONFIG_WRITABLE_SCHEMA 1011 /* int int* */
2230#define SQLITE_DBCONFIG_MAX 1011 /* Largest DBCONFIG */
2216
2217/*
2218** CAPI3REF: Enable Or Disable Extended Result Codes
2219** METHOD: sqlite3
2220**
2221** ^The sqlite3_extended_result_codes() routine enables or disables the
2222** [extended result codes] feature of SQLite. ^The extended result
2223** codes are disabled by default for historical compatibility.

--- 1666 unchanged lines hidden (view full) ---

3890** ^The sqlite3_stmt_readonly() interface returns true for [BEGIN] since
3891** [BEGIN] merely sets internal flags, but the [BEGIN|BEGIN IMMEDIATE] and
3892** [BEGIN|BEGIN EXCLUSIVE] commands do touch the database and so
3893** sqlite3_stmt_readonly() returns false for those commands.
3894*/
3895SQLITE_API int sqlite3_stmt_readonly(sqlite3_stmt *pStmt);
3896
3897/*
2231
2232/*
2233** CAPI3REF: Enable Or Disable Extended Result Codes
2234** METHOD: sqlite3
2235**
2236** ^The sqlite3_extended_result_codes() routine enables or disables the
2237** [extended result codes] feature of SQLite. ^The extended result
2238** codes are disabled by default for historical compatibility.

--- 1666 unchanged lines hidden (view full) ---

3905** ^The sqlite3_stmt_readonly() interface returns true for [BEGIN] since
3906** [BEGIN] merely sets internal flags, but the [BEGIN|BEGIN IMMEDIATE] and
3907** [BEGIN|BEGIN EXCLUSIVE] commands do touch the database and so
3908** sqlite3_stmt_readonly() returns false for those commands.
3909*/
3910SQLITE_API int sqlite3_stmt_readonly(sqlite3_stmt *pStmt);
3911
3912/*
3913** CAPI3REF: Query The EXPLAIN Setting For A Prepared Statement
3914** METHOD: sqlite3_stmt
3915**
3916** ^The sqlite3_stmt_isexplain(S) interface returns 1 if the
3917** prepared statement S is an EXPLAIN statement, or 2 if the
3918** statement S is an EXPLAIN QUERY PLAN.
3919** ^The sqlite3_stmt_isexplain(S) interface returns 0 if S is
3920** an ordinary statement or a NULL pointer.
3921*/
3922SQLITE_API int sqlite3_stmt_isexplain(sqlite3_stmt *pStmt);
3923
3924/*
3898** CAPI3REF: Determine If A Prepared Statement Has Been Reset
3899** METHOD: sqlite3_stmt
3900**
3901** ^The sqlite3_stmt_busy(S) interface returns true (non-zero) if the
3902** [prepared statement] S has been stepped at least once using
3903** [sqlite3_step(S)] but has neither run to completion (returned
3904** [SQLITE_DONE] from [sqlite3_step(S)]) nor
3905** been reset using [sqlite3_reset(S)]. ^The sqlite3_stmt_busy(S)

--- 122 unchanged lines hidden (view full) ---

4028** terminated. If any NUL characters occur at byte offsets less than
4029** the value of the fourth parameter then the resulting string value will
4030** contain embedded NULs. The result of expressions involving strings
4031** with embedded NULs is undefined.
4032**
4033** ^The fifth argument to the BLOB and string binding interfaces
4034** is a destructor used to dispose of the BLOB or
4035** string after SQLite has finished with it. ^The destructor is called
3925** CAPI3REF: Determine If A Prepared Statement Has Been Reset
3926** METHOD: sqlite3_stmt
3927**
3928** ^The sqlite3_stmt_busy(S) interface returns true (non-zero) if the
3929** [prepared statement] S has been stepped at least once using
3930** [sqlite3_step(S)] but has neither run to completion (returned
3931** [SQLITE_DONE] from [sqlite3_step(S)]) nor
3932** been reset using [sqlite3_reset(S)]. ^The sqlite3_stmt_busy(S)

--- 122 unchanged lines hidden (view full) ---

4055** terminated. If any NUL characters occur at byte offsets less than
4056** the value of the fourth parameter then the resulting string value will
4057** contain embedded NULs. The result of expressions involving strings
4058** with embedded NULs is undefined.
4059**
4060** ^The fifth argument to the BLOB and string binding interfaces
4061** is a destructor used to dispose of the BLOB or
4062** string after SQLite has finished with it. ^The destructor is called
4036** to dispose of the BLOB or string even if the call to bind API fails.
4063** to dispose of the BLOB or string even if the call to the bind API fails,
4064** except the destructor is not called if the third parameter is a NULL
4065** pointer or the fourth parameter is negative.
4037** ^If the fifth argument is
4038** the special value [SQLITE_STATIC], then SQLite assumes that the
4039** information is in static, unmanaged space and does not need to be freed.
4040** ^If the fifth argument has the value [SQLITE_TRANSIENT], then
4041** SQLite makes its own private copy of the data immediately, before
4042** the sqlite3_bind_*() routine returns.
4043**
4044** ^The sixth argument to sqlite3_bind_text64() must be one of

--- 900 unchanged lines hidden (view full) ---

4945** TEXT in bytes
4946** <tr><td><b>sqlite3_value_type</b><td>&rarr;<td>Default
4947** datatype of the value
4948** <tr><td><b>sqlite3_value_numeric_type&nbsp;&nbsp;</b>
4949** <td>&rarr;&nbsp;&nbsp;<td>Best numeric datatype of the value
4950** <tr><td><b>sqlite3_value_nochange&nbsp;&nbsp;</b>
4951** <td>&rarr;&nbsp;&nbsp;<td>True if the column is unchanged in an UPDATE
4952** against a virtual table.
4066** ^If the fifth argument is
4067** the special value [SQLITE_STATIC], then SQLite assumes that the
4068** information is in static, unmanaged space and does not need to be freed.
4069** ^If the fifth argument has the value [SQLITE_TRANSIENT], then
4070** SQLite makes its own private copy of the data immediately, before
4071** the sqlite3_bind_*() routine returns.
4072**
4073** ^The sixth argument to sqlite3_bind_text64() must be one of

--- 900 unchanged lines hidden (view full) ---

4974** TEXT in bytes
4975** <tr><td><b>sqlite3_value_type</b><td>&rarr;<td>Default
4976** datatype of the value
4977** <tr><td><b>sqlite3_value_numeric_type&nbsp;&nbsp;</b>
4978** <td>&rarr;&nbsp;&nbsp;<td>Best numeric datatype of the value
4979** <tr><td><b>sqlite3_value_nochange&nbsp;&nbsp;</b>
4980** <td>&rarr;&nbsp;&nbsp;<td>True if the column is unchanged in an UPDATE
4981** against a virtual table.
4982** <tr><td><b>sqlite3_value_frombind&nbsp;&nbsp;</b>
4983** <td>&rarr;&nbsp;&nbsp;<td>True if value originated from a [bound parameter]
4953** </table></blockquote>
4954**
4955** <b>Details:</b>
4956**
4957** These routines extract type, size, and content information from
4958** [protected sqlite3_value] objects. Protected sqlite3_value objects
4959** are used to pass parameter information into implementation of
4960** [application-defined SQL functions] and [virtual tables].

--- 45 unchanged lines hidden (view full) ---

5006** the value for that column returned without setting a result (probably
5007** because it queried [sqlite3_vtab_nochange()] and found that the column
5008** was unchanging). ^Within an [xUpdate] method, any value for which
5009** sqlite3_value_nochange(X) is true will in all other respects appear
5010** to be a NULL value. If sqlite3_value_nochange(X) is invoked anywhere other
5011** than within an [xUpdate] method call for an UPDATE statement, then
5012** the return value is arbitrary and meaningless.
5013**
4984** </table></blockquote>
4985**
4986** <b>Details:</b>
4987**
4988** These routines extract type, size, and content information from
4989** [protected sqlite3_value] objects. Protected sqlite3_value objects
4990** are used to pass parameter information into implementation of
4991** [application-defined SQL functions] and [virtual tables].

--- 45 unchanged lines hidden (view full) ---

5037** the value for that column returned without setting a result (probably
5038** because it queried [sqlite3_vtab_nochange()] and found that the column
5039** was unchanging). ^Within an [xUpdate] method, any value for which
5040** sqlite3_value_nochange(X) is true will in all other respects appear
5041** to be a NULL value. If sqlite3_value_nochange(X) is invoked anywhere other
5042** than within an [xUpdate] method call for an UPDATE statement, then
5043** the return value is arbitrary and meaningless.
5044**
5045** ^The sqlite3_value_frombind(X) interface returns non-zero if the
5046** value X originated from one of the [sqlite3_bind_int|sqlite3_bind()]
5047** interfaces. ^If X comes from an SQL literal value, or a table column,
5048** and expression, then sqlite3_value_frombind(X) returns zero.
5049**
5014** Please pay particular attention to the fact that the pointer returned
5015** from [sqlite3_value_blob()], [sqlite3_value_text()], or
5016** [sqlite3_value_text16()] can be invalidated by a subsequent call to
5017** [sqlite3_value_bytes()], [sqlite3_value_bytes16()], [sqlite3_value_text()],
5018** or [sqlite3_value_text16()].
5019**
5020** These routines must be called from the same thread as
5021** the SQL function that supplied the [sqlite3_value*] parameters.

--- 29 unchanged lines hidden (view full) ---

5051SQLITE_API const void *sqlite3_value_text16(sqlite3_value*);
5052SQLITE_API const void *sqlite3_value_text16le(sqlite3_value*);
5053SQLITE_API const void *sqlite3_value_text16be(sqlite3_value*);
5054SQLITE_API int sqlite3_value_bytes(sqlite3_value*);
5055SQLITE_API int sqlite3_value_bytes16(sqlite3_value*);
5056SQLITE_API int sqlite3_value_type(sqlite3_value*);
5057SQLITE_API int sqlite3_value_numeric_type(sqlite3_value*);
5058SQLITE_API int sqlite3_value_nochange(sqlite3_value*);
5050** Please pay particular attention to the fact that the pointer returned
5051** from [sqlite3_value_blob()], [sqlite3_value_text()], or
5052** [sqlite3_value_text16()] can be invalidated by a subsequent call to
5053** [sqlite3_value_bytes()], [sqlite3_value_bytes16()], [sqlite3_value_text()],
5054** or [sqlite3_value_text16()].
5055**
5056** These routines must be called from the same thread as
5057** the SQL function that supplied the [sqlite3_value*] parameters.

--- 29 unchanged lines hidden (view full) ---

5087SQLITE_API const void *sqlite3_value_text16(sqlite3_value*);
5088SQLITE_API const void *sqlite3_value_text16le(sqlite3_value*);
5089SQLITE_API const void *sqlite3_value_text16be(sqlite3_value*);
5090SQLITE_API int sqlite3_value_bytes(sqlite3_value*);
5091SQLITE_API int sqlite3_value_bytes16(sqlite3_value*);
5092SQLITE_API int sqlite3_value_type(sqlite3_value*);
5093SQLITE_API int sqlite3_value_numeric_type(sqlite3_value*);
5094SQLITE_API int sqlite3_value_nochange(sqlite3_value*);
5095SQLITE_API int sqlite3_value_frombind(sqlite3_value*);
5059
5060/*
5061** CAPI3REF: Finding The Subtype Of SQL Values
5062** METHOD: sqlite3_value
5063**
5064** The sqlite3_value_subtype(V) function returns the subtype for
5065** an [application-defined SQL function] argument V. The subtype
5066** information can be used to pass a limited amount of context from

--- 719 unchanged lines hidden (view full) ---

5786/*
5787** CAPI3REF: Return The Filename For A Database Connection
5788** METHOD: sqlite3
5789**
5790** ^The sqlite3_db_filename(D,N) interface returns a pointer to a filename
5791** associated with database N of connection D. ^The main database file
5792** has the name "main". If there is no attached database N on the database
5793** connection D, or if database N is a temporary or in-memory database, then
5096
5097/*
5098** CAPI3REF: Finding The Subtype Of SQL Values
5099** METHOD: sqlite3_value
5100**
5101** The sqlite3_value_subtype(V) function returns the subtype for
5102** an [application-defined SQL function] argument V. The subtype
5103** information can be used to pass a limited amount of context from

--- 719 unchanged lines hidden (view full) ---

5823/*
5824** CAPI3REF: Return The Filename For A Database Connection
5825** METHOD: sqlite3
5826**
5827** ^The sqlite3_db_filename(D,N) interface returns a pointer to a filename
5828** associated with database N of connection D. ^The main database file
5829** has the name "main". If there is no attached database N on the database
5830** connection D, or if database N is a temporary or in-memory database, then
5794** a NULL pointer is returned.
5831** this function will return either a NULL pointer or an empty string.
5795**
5796** ^The filename returned by this function is the output of the
5797** xFullPathname method of the [VFS]. ^In other words, the filename
5798** will be an absolute pathname, even if the filename used
5799** to open the database originally was a URI or relative pathname.
5800*/
5801SQLITE_API const char *sqlite3_db_filename(sqlite3 *db, const char *zDbName);
5802

--- 5084 unchanged lines hidden (view full) ---

10887/*
10888** CAPI3REF: Rebase a changeset
10889** EXPERIMENTAL
10890**
10891** Argument pIn must point to a buffer containing a changeset nIn bytes
10892** in size. This function allocates and populates a buffer with a copy
10893** of the changeset rebased rebased according to the configuration of the
10894** rebaser object passed as the first argument. If successful, (*ppOut)
5832**
5833** ^The filename returned by this function is the output of the
5834** xFullPathname method of the [VFS]. ^In other words, the filename
5835** will be an absolute pathname, even if the filename used
5836** to open the database originally was a URI or relative pathname.
5837*/
5838SQLITE_API const char *sqlite3_db_filename(sqlite3 *db, const char *zDbName);
5839

--- 5084 unchanged lines hidden (view full) ---

10924/*
10925** CAPI3REF: Rebase a changeset
10926** EXPERIMENTAL
10927**
10928** Argument pIn must point to a buffer containing a changeset nIn bytes
10929** in size. This function allocates and populates a buffer with a copy
10930** of the changeset rebased rebased according to the configuration of the
10931** rebaser object passed as the first argument. If successful, (*ppOut)
10895** is set to point to the new buffer containing the rebased changset and
10932** is set to point to the new buffer containing the rebased changeset and
10896** (*pnOut) to its size in bytes and SQLITE_OK returned. It is the
10897** responsibility of the caller to eventually free the new buffer using
10898** sqlite3_free(). Otherwise, if an error occurs, (*ppOut) and (*pnOut)
10899** are set to zero and an SQLite error code returned.
10900*/
10901SQLITE_API int sqlite3rebaser_rebase(
10902 sqlite3_rebaser*,
10903 int nIn, const void *pIn,

--- 392 unchanged lines hidden (view full) ---

11296** the callback, an SQLite error code is returned.
11297**
11298**
11299** xSetAuxdata(pFts5, pAux, xDelete)
11300**
11301** Save the pointer passed as the second argument as the extension functions
11302** "auxiliary data". The pointer may then be retrieved by the current or any
11303** future invocation of the same fts5 extension function made as part of
10933** (*pnOut) to its size in bytes and SQLITE_OK returned. It is the
10934** responsibility of the caller to eventually free the new buffer using
10935** sqlite3_free(). Otherwise, if an error occurs, (*ppOut) and (*pnOut)
10936** are set to zero and an SQLite error code returned.
10937*/
10938SQLITE_API int sqlite3rebaser_rebase(
10939 sqlite3_rebaser*,
10940 int nIn, const void *pIn,

--- 392 unchanged lines hidden (view full) ---

11333** the callback, an SQLite error code is returned.
11334**
11335**
11336** xSetAuxdata(pFts5, pAux, xDelete)
11337**
11338** Save the pointer passed as the second argument as the extension functions
11339** "auxiliary data". The pointer may then be retrieved by the current or any
11340** future invocation of the same fts5 extension function made as part of
11304** of the same MATCH query using the xGetAuxdata() API.
11341** the same MATCH query using the xGetAuxdata() API.
11305**
11306** Each extension function is allocated a single auxiliary data slot for
11307** each FTS query (MATCH expression). If the extension function is invoked
11308** more than once for a single FTS query, then all invocations share a
11309** single auxiliary data context.
11310**
11311** If there is already an auxiliary data pointer when this function is
11312** invoked, then it is replaced by the new pointer. If an xDelete callback
11313** was specified along with the original pointer, it is invoked at this
11314** point.
11315**
11316** The xDelete callback, if one is specified, is also invoked on the
11317** auxiliary data pointer after the FTS5 query has finished.
11318**
11342**
11343** Each extension function is allocated a single auxiliary data slot for
11344** each FTS query (MATCH expression). If the extension function is invoked
11345** more than once for a single FTS query, then all invocations share a
11346** single auxiliary data context.
11347**
11348** If there is already an auxiliary data pointer when this function is
11349** invoked, then it is replaced by the new pointer. If an xDelete callback
11350** was specified along with the original pointer, it is invoked at this
11351** point.
11352**
11353** The xDelete callback, if one is specified, is also invoked on the
11354** auxiliary data pointer after the FTS5 query has finished.
11355**
11319** If an error (e.g. an OOM condition) occurs within this function, an
11356** If an error (e.g. an OOM condition) occurs within this function,
11320** the auxiliary data is set to NULL and an error code returned. If the
11321** xDelete parameter was not NULL, it is invoked on the auxiliary data
11322** pointer before returning.
11323**
11324**
11325** xGetAuxdata(pFts5, bClear)
11326**
11327** Returns the current auxiliary data pointer for the fts5 extension

--- 389 unchanged lines hidden ---
11357** the auxiliary data is set to NULL and an error code returned. If the
11358** xDelete parameter was not NULL, it is invoked on the auxiliary data
11359** pointer before returning.
11360**
11361**
11362** xGetAuxdata(pFts5, bClear)
11363**
11364** Returns the current auxiliary data pointer for the fts5 extension

--- 389 unchanged lines hidden ---