Home | History | Annotate | Line # | Download | only in man
      1 .Dd April 29, 2026
      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 .In sqlite3.h
     11 .Fd #define SQLITE_CHANGESET_OMIT
     12 .Fd #define SQLITE_CHANGESET_REPLACE
     13 .Fd #define SQLITE_CHANGESET_ABORT
     14 .Sh DESCRIPTION
     15 A conflict handler callback must return one of the following three
     16 values.
     17 .Bl -tag -width Ds
     18 .It SQLITE_CHANGESET_OMIT
     19 If a conflict handler returns this value no special action is taken.
     20 The change that caused the conflict is not applied.
     21 The session module continues to the next change in the changeset.
     22 .It SQLITE_CHANGESET_REPLACE
     23 This value may only be returned if the second argument to the conflict
     24 handler was SQLITE_CHANGESET_DATA or SQLITE_CHANGESET_CONFLICT.
     25 If this is not the case, any changes applied so far are rolled back
     26 and the call to sqlite3changeset_apply() returns SQLITE_MISUSE.
     27 .Pp
     28 If CHANGESET_REPLACE is returned by an SQLITE_CHANGESET_DATA conflict
     29 handler, then the conflicting row is either updated or deleted, depending
     30 on the type of change.
     31 .Pp
     32 If CHANGESET_REPLACE is returned by an SQLITE_CHANGESET_CONFLICT conflict
     33 handler, then the conflicting row is removed from the database and
     34 a second attempt to apply the change is made.
     35 If this second attempt fails, the original row is restored to the database
     36 before continuing.
     37 .It SQLITE_CHANGESET_ABORT
     38 If this value is returned, any changes applied so far are rolled back
     39 and the call to sqlite3changeset_apply() returns SQLITE_ABORT.
     40 .El
     41 .Pp
     42 .Sh IMPLEMENTATION NOTES
     43 These declarations were extracted from the
     44 interface documentation at line 12924.
     45 .Bd -literal
     46 #define SQLITE_CHANGESET_OMIT       0
     47 #define SQLITE_CHANGESET_REPLACE    1
     48 #define SQLITE_CHANGESET_ABORT      2
     49 .Ed
     50