NAME
SQLITE_CHANGESET_DATA,
SQLITE_CHANGESET_NOTFOUND,
SQLITE_CHANGESET_CONFLICT,
SQLITE_CHANGESET_CONSTRAINT,
SQLITE_CHANGESET_FOREIGN_KEY —
Constants Passed To The Conflict Handler
SYNOPSIS
#define SQLITE_CHANGESET_DATA
#define SQLITE_CHANGESET_NOTFOUND
#define SQLITE_CHANGESET_CONFLICT
#define SQLITE_CHANGESET_CONSTRAINT
#define SQLITE_CHANGESET_FOREIGN_KEY
DESCRIPTION
Values that may be passed as the second argument to a conflict-handler.
-
-
- SQLITE_CHANGESET_DATAThe
conflict handler is invoked with CHANGESET_DATA
- as the second argument when processing a DELETE or UPDATE
change if a row with the required PRIMARY KEY fields is present in the
database, but one or more other (non primary-key) fields modified by the
update do not contain the expected "before" values.
The conflicting row, in this case, is the database row with the matching
primary key.
-
-
- SQLITE_CHANGESET_NOTFOUNDThe
conflict handler is invoked with CHANGESET_NOTFOUND
- as the second argument when processing a DELETE or UPDATE
change if a row with the required PRIMARY KEY fields is not present in the
database.
There is no conflicting row in this case. The results of invoking the
sqlite3changeset_conflict() API are undefined.
-
-
- SQLITE_CHANGESET_CONFLICTCHANGESET_CONFLICT
is passed as the second
- argument to the conflict handler while processing an INSERT
change if the operation would result in duplicate primary key values.
The conflicting row in this case is the database row with the matching
primary key.
-
-
- SQLITE_CHANGESET_FOREIGN_KEYIf
foreign key handling is enabled, and
- applying a changeset leaves the database in a state
containing foreign key violations, the conflict handler is invoked with
CHANGESET_FOREIGN_KEY as the second argument exactly once before the
changeset is committed. If the conflict handler returns CHANGESET_OMIT,
the changes, including those that caused the foreign key constraint
violation, are committed. Or, if it returns CHANGESET_ABORT, the changeset
is rolled back.
No current or conflicting row information is provided. The only function it
is possible to call on the supplied sqlite3_changeset_iter handle is
sqlite3changeset_fk_conflicts().
-
-
- SQLITE_CHANGESET_CONSTRAINTIf
any other constraint violation occurs
- while applying a change (i.e. a UNIQUE, CHECK or NOT NULL
constraint), the conflict handler is invoked with CHANGESET_CONSTRAINT as
the second argument.
There is no conflicting row in this case. The results of invoking the
sqlite3changeset_conflict() API are undefined.