xref: /netbsd-src/external/public-domain/sqlite/man/sqlite3changeset_conflict.3 (revision b9988867a8ad969c45a52aa7628bc932ec98d46b)
1.Dd January 24, 2024
2.Dt SQLITE3CHANGESET_CONFLICT 3
3.Os
4.Sh NAME
5.Nm sqlite3changeset_conflict
6.Nd obtain conflicting row values from a changeset iterator
7.Sh SYNOPSIS
8.In sqlite3.h
9.Ft int
10.Fo sqlite3changeset_conflict
11.Fa "sqlite3_changeset_iter *pIter"
12.Fa "int iVal"
13.Fa "sqlite3_value **ppValue"
14.Fc
15.Sh DESCRIPTION
16This function should only be used with iterator objects passed to a
17conflict-handler callback by
18.Fn sqlite3changeset_apply
19with either SQLITE_CHANGESET_DATA or SQLITE_CHANGESET_CONFLICT.
20If this function is called on any other iterator, SQLITE_MISUSE
21is returned and *ppValue is set to NULL.
22.Pp
23Argument iVal must be greater than or equal to 0, and less than the
24number of columns in the table affected by the current change.
25Otherwise, SQLITE_RANGE is returned and *ppValue is set
26to NULL.
27.Pp
28If successful, this function sets *ppValue to point to a protected
29sqlite3_value object containing the iVal'th value from the "conflicting
30row" associated with the current conflict-handler callback and returns
31SQLITE_OK.
32.Pp
33If some other error occurs (e.g. an OOM condition), an SQLite error
34code is returned and *ppValue is set to NULL.
35.Sh IMPLEMENTATION NOTES
36These declarations were extracted from the
37interface documentation at line 11664.
38.Bd -literal
39SQLITE_API int sqlite3changeset_conflict(
40  sqlite3_changeset_iter *pIter,  /* Changeset iterator */
41  int iVal,                       /* Column number */
42  sqlite3_value **ppValue         /* OUT: Value from conflicting row */
43);
44.Ed
45.Sh SEE ALSO
46.Xr sqlite3changeset_apply 3 ,
47.Xr SQLITE_CHANGESET_DATA 3 ,
48.Xr SQLITE_OK 3
49