Уничтожение объекта подготовленного оператора
int sqlite3_finalize(sqlite3_stmt *pStmt);
Функция sqlite3_finalize() используется для удаления подготовленного оператора. Если последнее выполнение оператора не вызвало ошибок или если оператор никогда не выполнялся, то sqlite3_finalize() возвращает SQLITE_OK. Если последнее выполнение оператора S завершилось ошибкой, то sqlite3_finalize(S) возвращает соответствующий код ошибки или расширенный код ошибки.
Функцию sqlite3_finalize(S) можно вызвать в любой момент жизненного цикла подготовленного оператора S: до его выполнения, после одного или нескольких вызовов sqlite3_reset(), или после любого вызова sqlite3_step(), независимо от того, завершилось ли выполнение оператора.
Вызов sqlite3_finalize() с указателем NULL является безопасной операцией без действия.
Приложение должно завершать работу каждого подготовленного оператора, чтобы избежать утечки ресурсов. Серьезной ошибкой приложения является попытка использования подготовленного оператора после его завершения. Любое использование подготовленного оператора после его завершения может привести к неопределённому и нежелательному поведению, такому как segfaults и повреждению кучи.
См. также списки объектов, констант и функций.
SQLite is in the Public Domain.
https://sqlite.org/c3ref/finalize.html