ksql_role
—
set role in ksql context
library “ksql”
#include
<sys/types.h>
#include
<stdint.h>
#include
<ksql.h>
void
ksql_role
(
struct
ksql *sql,
size_t role);
The
ksql_role
function sets the current role
of
sql. The
role is the index of a role defined in
cfg->roles as passed to
ksql_alloc(3) or
ksql_alloc_child(3). The role affects all
subsequent
ksql_exec(3) and
ksql_stmt_alloc(3) calls.
The new role must be allowed by having a non-zero value in the
roles array within the current role's
struct ksqlrole object. Otherwise, the
situation is logged to
stderr
and the
program is immediately terminated.
In split-process mode,
ksql_role
()
automatically sets
KSQL_EXIT_ON_ERR
on
cfg->flags and
cfg->err to
NULL
, restoring both if/when it returns.
These guarantee that the function will never return without having properly
set the new role.
ksql_alloc(3),
ksql_alloc_child(3),
ksql_exec(3),
ksql_stmt_alloc(3)