| SQLITE3CHANGESET_NEW(3) | Library Functions Manual | SQLITE3CHANGESET_NEW(3) |
sqlite3changeset_new —
obtain new.* values from a changeset iterator
#include
<sqlite3.h>
int
sqlite3changeset_new(sqlite3_changeset_iter
*pIter, int iVal, sqlite3_value
**ppValue);
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.
These declarations were extracted from the interface documentation at line 11630.
SQLITE_API int sqlite3changeset_new( sqlite3_changeset_iter *pIter, /* Changeset iterator */ int iVal, /* Column number */ sqlite3_value **ppValue /* OUT: New value (or NULL pointer) */ );
sqlite3changeset_apply(3), sqlite3changeset_next(3), sqlite3changeset_start(3), SQLITE_CREATE_INDEX(3), SQLITE_OK(3)
| January 24, 2024 | NetBSD 11.0 |