ksql_close
—
close a ksql database connection
library “ksql”
#include
<sys/types.h>
#include
<stdint.h>
#include
<ksql.h>
enum ksqlc
ksql_close
(
struct
ksql *sql);
The
ksql_close
function closes a database
connection opened with
ksql_open(3). If the
connection was not opened, is already closed, or
sql is
NULL
, this function is a no-op.
This function will begin by calling
sqlite3_finalize(3) on all active statements (it
is an error to have any open connections), then it will roll back any open
transactions (also triggering an error) if found, then it will close out the
database itself with
sqlite3_close(3). In the
event of statements still being open, all statements are finalised and the
database closed prior to calling the error handler. If
KSQL_FAIL_ON_EXIT
was specified on
sql, the
exit(2)
will only be invoked after all resources have been closed and freed.
This returns
KSQL_STMT
if there were open
statements,
KSQL_TRANS
if there was an open
transaction (if there were both open statements and a transaction, this is
returned),
KSQL_DB
if there were
database-level errors (this overrides whether there were open transactions
and/or a transaction), or
KSQL_OK
on
success.
sqlite3_close(3),
sqlite3_exec(3),
sqlite3_finalize(3)