Пользовательская SQL-функция
#include <qdb/qdb.h>struct qdb_function {char *name;int encoding;int narg;void *arg;void (*func)( struct sqlite3_context *, int, struct Mem ** );void (*step)( struct sqlite3_context *, int, struct Mem ** );void (*final)( struct sqlite3_context * );};
Структура хранит сведения о пользовательской SQL-функции и включает следующие поля:
SQLITE_ERROR
. -1
, функция или агрегат могут принимать любое количество аргументов. Максимальное количество аргументов новой функции SQL равно 127
. Если значение третьего аргумента превышает 127
, возникает ошибка SQLITE_ERROR
. NULL
. В агрегирующей функции необходимо реализовывать вызовы step и final, а аргументу func присваивать значение NULL
. Если набор обратных вызовов некорректен (например, одновременно заданы вызовы func и final или step, но без final), возвращается ошибка SQLITE_ERROR
. ЗОСРВ «Нейтрино»
Предыдущий раздел: перейти