void sqlite3_set_auxdata( sqlite3_context* ctx, int pidx, void* data, mem_callback ); void mem_callback( void* ptr );
ctx
An SQL function context, provided by the SQLite library.
pidx
The parameter index.
data
The auxiliary data value.
mem_callback
A function pointer to a memory deallocation
function. This function frees the memory buffer
used to hold the value. If the buffer was
allocated with sqlite3_malloc()
, a reference to
sqlite3_free()
can be passed directly.
The flags SQLITE_STATIC
and SQLITE_TRANSIENT
(which
are used by sqlite3_bind_xxx()
and sqlite3_
result_
xxx()
) are not available
in this context.
This function allows an SQL function implementation to attach auxiliary data to specific SQL function parameters. In situations where an SQL statement calls the same function repeatedly with the same parameter values, the auxiliary data will be preserved across calls. This allows a function implementation to cache high-cost value, such as a compiled regular expression.
For more details on how to use auxiliary data, see http://www.sqlite.org/c3ref/get_auxdata.html.