1.Dd December 19, 2018 2.Dt SQLITE_CHANGESET_OMIT 3 3.Os 4.Sh NAME 5.Nm SQLITE_CHANGESET_OMIT , 6.Nm SQLITE_CHANGESET_REPLACE , 7.Nm SQLITE_CHANGESET_ABORT 8.Nd Constants Returned By The Conflict Handler 9.Sh SYNOPSIS 10.Fd #define SQLITE_CHANGESET_OMIT 11.Fd #define SQLITE_CHANGESET_REPLACE 12.Fd #define SQLITE_CHANGESET_ABORT 13.Sh DESCRIPTION 14A conflict handler callback must return one of the following three 15values. 16.Bl -tag -width Ds 17.It SQLITE_CHANGESET_OMITIf a conflict handler returns this value no special 18action is taken. 19The change that caused the conflict is not applied. 20The session module continues to the next change in the changeset. 21.It SQLITE_CHANGESET_REPLACEThis value may only be returned if the second 22argument to the conflict handler was SQLITE_CHANGESET_DATA or SQLITE_CHANGESET_CONFLICT. 23If this is not the case, any changes applied so far are rolled back 24and the call to sqlite3changeset_apply() returns SQLITE_MISUSE. 25.Pp 26If CHANGESET_REPLACE is returned by an SQLITE_CHANGESET_DATA conflict 27handler, then the conflicting row is either updated or deleted, depending 28on the type of change. 29.Pp 30If CHANGESET_REPLACE is returned by an SQLITE_CHANGESET_CONFLICT conflict 31handler, then the conflicting row is removed from the database and 32a second attempt to apply the change is made. 33If this second attempt fails, the original row is restored to the database 34before continuing. 35.It SQLITE_CHANGESET_ABORTIf this value is returned, any changes applied 36so far are rolled back and the call to sqlite3changeset_apply() returns 37SQLITE_ABORT. 38.El 39.Pp 40