sqlite3_stmt_busy
—
Determine If A Prepared Statement Has Been Reset
int
sqlite3_stmt_busy
(sqlite3_stmt*);
The sqlite3_stmt_busy(S) interface returns true (non-zero) if the prepared
statement S has been stepped at least once using sqlite3_step(S) but has
neither run to completion (returned SQLITE_DONE from sqlite3_step(S)) nor been
reset using sqlite3_reset(S). The sqlite3_stmt_busy(S) interface returns false
if S is a NULL pointer. If S is not a NULL pointer and is not a pointer to a
valid prepared statement object, then the behavior is undefined and probably
undesirable.
This interface can be used in combination sqlite3_next_stmt() to
locate all prepared statements associated with a database connection that
are in need of being reset. This can be used, for example, in diagnostic
routines to search for prepared statements that are holding a transaction
open.