NAME
sqlite3changeset_op —
Obtain The
Current Operation From A Changeset Iterator
SYNOPSIS
int
sqlite3changeset_op(
sqlite3_changeset_iter
*pIter,
const char **pzTab,
int
*pnCol,
int *pOp,
int *pbIndirect
);
DESCRIPTION
The pIter argument passed to this function may either be an iterator passed to a
conflict-handler by sqlite3changeset_apply(), or an iterator created by
sqlite3changeset_start(). In the latter case, the most recent call to
sqlite3changeset_next() must have returned SQLITE_ROW. If this is not the
case, this function returns SQLITE_MISUSE.
If argument pzTab is not NULL, then *pzTab is set to point to a nul-terminated
utf-8 encoded string containing the name of the table affected by the current
change. The buffer remains valid until either sqlite3changeset_next() is
called on the iterator or until the conflict-handler function returns. If
pnCol is not NULL, then *pnCol is set to the number of columns in the table
affected by the change. If pbIncorrect is not NULL, then *pbIndirect is set to
true (1) if the change is an indirect change, or false (0) otherwise. See the
documentation for sqlite3session_indirect() for a description of direct and
indirect changes. Finally, if pOp is not NULL, then *pOp is set to one of
SQLITE_INSERT, SQLITE_DELETE or SQLITE_UPDATE, depending on the type of change
that the iterator currently points to.
If no error occurs, SQLITE_OK is returned. If an error does occur, an SQLite
error code is returned. The values of the output variables may not be trusted
in this case.
SEE ALSO
sqlite3changeset_apply(3),
sqlite3changeset_next(3),
sqlite3changeset_start(3),
sqlite3session_indirect(3),
SQLITE_CREATE_INDEX(3),
SQLITE_OK(3),
SQLITE_CREATE_INDEX(3)