|
void sqlite3_result_blob(sqlite3_context*, const void*, int, void(*)(void*)); void sqlite3_result_double(sqlite3_context*, double); void sqlite3_result_error(sqlite3_context*, const char*, int); void sqlite3_result_error16(sqlite3_context*, const void*, int); void sqlite3_result_error_toobig(sqlite3_context*); void sqlite3_result_error_nomem(sqlite3_context*); void sqlite3_result_int(sqlite3_context*, int); void sqlite3_result_int64(sqlite3_context*, sqlite3_int64); void sqlite3_result_null(sqlite3_context*); void sqlite3_result_text(sqlite3_context*, const char*, int, void(*)(void*)); void sqlite3_result_text16(sqlite3_context*, const void*, int, void(*)(void*)); void sqlite3_result_text16le(sqlite3_context*, const void*, int,void(*)(void*)); void sqlite3_result_text16be(sqlite3_context*, const void*, int,void(*)(void*)); void sqlite3_result_value(sqlite3_context*, sqlite3_value*); void sqlite3_result_zeroblob(sqlite3_context*, int n);
These routines are used by the xFunc or xFinal callbacks that implement SQL functions and aggregates. See sqlite3_create_function() and sqlite3_create_function16() for additional information.
These functions work very much like the sqlite3_bind_* family of functions used to bind values to host parameters in prepared statements. Refer to the sqlite3_bind_* documentation for additional information.
The sqlite3_result_error() and sqlite3_result_error16() functions cause the implemented SQL function to throw an exception. The parameter to sqlite3_result_error() or sqlite3_result_error16() is the text of an error message.
The sqlite3_result_toobig() cause the function implementation to throw and error indicating that a string or BLOB is to long to represent.
These routines must be called from within the same thread as the SQL function associated with the sqlite3_context pointer.
See also lists of Objects, Constants, and Functions.