blob: ead471e1e394577cae11d923cba6921f0ea9ae81 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
.Dd January 24, 2024
.Dt SQLITE3_FINALIZE 3
.Os
.Sh NAME
.Nm sqlite3_finalize
.Nd destroy a prepared statement object
.Sh SYNOPSIS
.In sqlite3.h
.Ft int
.Fo sqlite3_finalize
.Fa "sqlite3_stmt *pStmt"
.Fc
.Sh 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 is 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.
.Pp
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
.Fn sqlite3_reset ,
or after any call to
.Fn sqlite3_step
regardless of whether or not the statement has completed execution.
.Pp
Invoking sqlite3_finalize() on a NULL pointer is a harmless no-op.
.Pp
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.
.Sh IMPLEMENTATION NOTES
These declarations were extracted from the
interface documentation at line 5265.
.Bd -literal
SQLITE_API int sqlite3_finalize(sqlite3_stmt *pStmt);
.Ed
.Sh SEE ALSO
.Xr sqlite3_reset 3 ,
.Xr sqlite3_step 3 ,
.Xr sqlite3_stmt 3
|