72 lines
2.3 KiB
Groff
72 lines
2.3 KiB
Groff
.Dd March 11, 2017
|
|
.Dt SQLITE3_ERRCODE 3
|
|
.Os
|
|
.Sh NAME
|
|
.Nm sqlite3_errcode ,
|
|
.Nm sqlite3_extended_errcode ,
|
|
.Nm sqlite3_errmsg ,
|
|
.Nm sqlite3_errmsg16 ,
|
|
.Nm sqlite3_errstr
|
|
.Nd Error Codes And Messages
|
|
.Sh SYNOPSIS
|
|
.Ft int
|
|
.Fo sqlite3_errcode
|
|
.Fa "sqlite3 *db"
|
|
.Fc
|
|
.Ft int
|
|
.Fo sqlite3_extended_errcode
|
|
.Fa "sqlite3 *db"
|
|
.Fc
|
|
.Ft const char *
|
|
.Fo sqlite3_errmsg
|
|
.Fa "sqlite3*"
|
|
.Fc
|
|
.Ft const void *
|
|
.Fo sqlite3_errmsg16
|
|
.Fa "sqlite3*"
|
|
.Fc
|
|
.Ft const char *
|
|
.Fo sqlite3_errstr
|
|
.Fa "int"
|
|
.Fc
|
|
.Sh DESCRIPTION
|
|
If the most recent sqlite3_* API call associated with database connection
|
|
D failed, then the sqlite3_errcode(D) interface returns the numeric
|
|
result code or extended result code
|
|
for that API call.
|
|
If the most recent API call was successful, then the return value from
|
|
sqlite3_errcode() is undefined.
|
|
The sqlite3_extended_errcode() interface is the same except that it
|
|
always returns the extended result code even when
|
|
extended result codes are disabled.
|
|
.Pp
|
|
The sqlite3_errmsg() and sqlite3_errmsg16() return English-language
|
|
text that describes the error, as either UTF-8 or UTF-16 respectively.
|
|
Memory to hold the error message string is managed internally.
|
|
The application does not need to worry about freeing the result.
|
|
However, the error string might be overwritten or deallocated by subsequent
|
|
calls to other SQLite interface functions.
|
|
.Pp
|
|
The sqlite3_errstr() interface returns the English-language text that
|
|
describes the result code, as UTF-8.
|
|
Memory to hold the error message string is managed internally and must
|
|
not be freed by the application .
|
|
.Pp
|
|
When the serialized threading mode is in use, it might
|
|
be the case that a second error occurs on a separate thread in between
|
|
the time of the first error and the call to these interfaces.
|
|
When that happens, the second error will be reported since these interfaces
|
|
always report the most recent result.
|
|
To avoid this, each thread can obtain exclusive use of the database connection
|
|
D by invoking sqlite3_mutex_enter(sqlite3_db_mutex(D))
|
|
before beginning to use D and invoking sqlite3_mutex_leave(sqlite3_db_mutex(D))
|
|
after all calls to the interfaces listed here are completed.
|
|
.Pp
|
|
If an interface fails with SQLITE_MISUSE, that means the interface
|
|
was invoked incorrectly by the application.
|
|
In that case, the error code and message may or may not be set.
|
|
.Sh SEE ALSO
|
|
.Xr sqlite3 3 ,
|
|
.Xr sqlite3_db_mutex 3 ,
|
|
.Xr sqlite3_mutex_alloc 3
|