SQLITE3_FINALIZE(3)

NAME
sqlite3_finalize - destroy a prepared statement object

SYNOPSIS
#include <sqlite3.h>
int
sqlite3_finalize(sqlite3_stmt *pStmt);

DESCRIPTION
The sqlite3_finalize() function is called to delete a prepared statement. If the most recent evaluation of the statement encountered no errors or if the statement has never been evaluated, then sqlite3_finalize() returns SQLITE_OK. If the most recent evaluation of statement S failed, then sqlite3_finalize(S) returns the appropriate error code or extended error code.

The sqlite3_finalize(S) routine can be called at any point during the life cycle of prepared statement S: before statement S is ever evaluated, after one or more calls to sqlite3_reset(), or after any call to sqlite3_step() regardless of whether or not the statement has completed execution.

Invoking sqlite3_finalize() on a NULL pointer is a harmless no-op.

The application must finalize every prepared statement in order to avoid resource leaks. It is a grievous error for the application to try to use a prepared statement after it has been finalized. Any use of a prepared statement after it has been finalized can result in undefined and undesirable behavior such as segfaults and heap corruption.

IMPLEMENTATION NOTES
These declarations were extracted from the interface documentation at line 5590.

    SQLITE_API int sqlite3_finalize(sqlite3_stmt *pStmt);

SEE ALSO
sqlite3_reset(3), sqlite3_step(3), sqlite3_stmt(3)