ksql_stmt_cstep,
ksql_stmt_step —
get the next row of results from a statement
library “ksql”
#include
<sys/types.h>
#include
<stdint.h>
#include
<ksql.h>
enum ksqlc
ksql_stmt_step(
struct
ksqlstmt *stmt);
enum ksqlc
ksql_stmt_cstep(
struct
ksqlstmt *stmt);
The
ksql_stmt_step() and
ksql_stmt_cstep() functions query the next
row of results from a statement prepared with
ksql_stmt_alloc(3). The two functions differ in
that
ksql_stmt_step() fails when a
constraint is violated, while
ksql_stmt_cstep() returns
KSQL_CONSTRAINT instead.
These functions handle a locked database (specifically,
SQLITE_BUSY,
SQLITE_LOCKED, or
SQLITE_PROTOCOL) by sleeping for a random
interval, then trying again infinitely.
These functions return several error conditions:
KSQL_NOTOPEN if the database connection has
not been opened;
KSQL_DB on database
errors, including constraint violations with
ksql_stmt_step(); and
KSQL_MEM on memory allocation failure.
It also returns the following non-error conditions:
KSQL_ROW if a row is available for
examining,
KSQL_DONE if no more rows are
available, or
KSQL_CONSTRAINT if
ksql_stmt_cstep() was used and a constraint
was violated,
sqlite3_step(3)