NAME
sqlite3changeset_new —
Obtain new.*
Values From A Changeset Iterator
SYNOPSIS
int
sqlite3changeset_new(
sqlite3_changeset_iter
*pIter,
int iVal,
sqlite3_value
**ppValue );
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. Furthermore, it may
only be called if the type of change that the iterator currently points to is
either SQLITE_UPDATE or SQLITE_INSERT. Otherwise, this function returns
SQLITE_MISUSE and sets *ppValue to NULL.
Argument iVal must be greater than or equal to 0, and less than the number of
columns in the table affected by the current change. Otherwise, SQLITE_RANGE
is returned and *ppValue is set to NULL.
If successful, this function sets *ppValue to point to a protected sqlite3_value
object containing the iVal'th value from the vector of new row values stored
as part of the UPDATE or INSERT change and returns SQLITE_OK. If the change is
an UPDATE and does not include a new value for the requested column, *ppValue
is set to NULL and SQLITE_OK returned. The name of the function comes from the
fact that this is similar to the "new.*" columns available to update
or delete triggers.
If some other error occurs (e.g. an OOM condition), an SQLite error code is
returned and *ppValue is set to NULL.
SEE ALSO
sqlite3changeset_apply(3),
sqlite3changeset_next(3),
sqlite3changeset_start(3),
SQLITE_CREATE_INDEX(3),
SQLITE_OK(3),
SQLITE_CREATE_INDEX(3)