Копирование и освобождение значений SQL
sqlite3_value *sqlite3_value_dup(const sqlite3_value*); void sqlite3_value_free(sqlite3_value*);
Интерфейс sqlite3_value_dup(V) создает копию объекта sqlite3_value D и возвращает указатель на эту копию. Возвращаемый sqlite3_value — это защищённый объект sqlite3_value, даже если входной объект им не является. Интерфейс sqlite3_value_dup(V) возвращает NULL, если V равно NULL или при неудачном выделении памяти. Если V является указателем на значение, то результат sqlite3_value_dup(V) — значение NULL.
Интерфейс sqlite3_value_free(V) освобождает объект sqlite3_value, ранее полученный из sqlite3_value_dup(). Если V является нулевым указателем, то sqlite3_value_free(V) — это безопасная операция без действия.
См. также списки Объектов, Констант и Функций.
SQLite is in the Public Domain.
https://sqlite.org/c3ref/value_dup.html