KSQL_ROLE(3)

NAME
ksql_role - set role in ksql context

LIBRARY
ksql

SYNOPSIS
#include <sys/types.h>
#include <stdint.h>
#include <ksql.h>
void
ksql_role(struct ksql *sql, size_t role);

DESCRIPTION
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.

SEE ALSO
ksql_alloc(3), ksql_alloc_child(3), ksql_exec(3), ksql_stmt_alloc(3)