I would appreciate any donations. Wishlist or send e-mail type donations to maekawa AT daemon-systems.org.

Thank you.

SQLITE3_ERRCODE(3)         Library Functions Manual         SQLITE3_ERRCODE(3)

     sqlite3_errcode, sqlite3_extended_errcode, sqlite3_errmsg,
     sqlite3_errmsg16, sqlite3_errstr - Error Codes And Messages

     sqlite3_errcode(sqlite3 *db);

     sqlite3_extended_errcode(sqlite3 *db);

     const char *

     const void *

     const char *

     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.

     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.

     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  .

     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.

     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.

     sqlite3(3), sqlite3_db_mutex(3), sqlite3_mutex_alloc(3)

NetBSD 8.0                      March 11, 2017                      NetBSD 8.0