sqlite3_result_*

void sqlite3_result_blob(
    sqlite3_context*, const void*, int n, 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_int(
    sqlite3_context*, int);

void sqlite3_result_int64(
    sqlite3_context*, long long int);

void sqlite3_result_null(
    sqlite3_context*);

void sqlite3_result_text(
    sqlite3_context*, const char*, int n, void(*)(void*));

void sqlite3_result_text16(
    sqlite3_context*, const void*, int n, void(*)(void*));

void sqlite3_result_text16be(
    sqlite3_context*, const void*, int n, void(*)(void*));

void sqlite3_result_text16le(
    sqlite3_context*, const void*, int n, void(*)(void*));

void sqlite3_result_value(
    sqlite3_context*, sqlite3_value*);

These SQLite API functions provide user-defined functions with a mechanism to set their return value. For instance, the sqlite3_result_value() function makes an exact copy of its second argument.

When calling any of these SQLite result functions, your user-defined function should pass, as the first argument, the sqlite3_context pointer passed to it by QDB.