NAME
SQLITE_CHANGESET_OMIT,
SQLITE_CHANGESET_REPLACE,
SQLITE_CHANGESET_ABORT —
Constants
Returned By The Conflict Handler
SYNOPSIS
#define SQLITE_CHANGESET_OMIT
#define SQLITE_CHANGESET_REPLACE
#define SQLITE_CHANGESET_ABORT
DESCRIPTION
A conflict handler callback must return one of the following three values.
-
-
- SQLITE_CHANGESET_OMITIf a
conflict handler returns this value no special
- action is taken. The change that caused the conflict is not
applied. The session module continues to the next change in the
changeset.
-
-
- SQLITE_CHANGESET_REPLACEThis
value may only be returned if the second
- argument to the conflict handler was SQLITE_CHANGESET_DATA
or SQLITE_CHANGESET_CONFLICT. If this is not the case, any changes applied
so far are rolled back and the call to sqlite3changeset_apply() returns
SQLITE_MISUSE.
If CHANGESET_REPLACE is returned by an SQLITE_CHANGESET_DATA conflict
handler, then the conflicting row is either updated or deleted, depending
on the type of change.
If CHANGESET_REPLACE is returned by an SQLITE_CHANGESET_CONFLICT conflict
handler, then the conflicting row is removed from the database and a
second attempt to apply the change is made. If this second attempt fails,
the original row is restored to the database before continuing.
-
-
- SQLITE_CHANGESET_ABORTIf this
value is returned, any changes applied
- so far are rolled back and the call to
sqlite3changeset_apply() returns SQLITE_ABORT.