+ Usually, the sessions module encloses all operations performed by
+ a single call to apply_v2() or apply_v2_strm() in a SAVEPOINT. The
+ SAVEPOINT is committed if the changeset or patchset is successfully
+ applied, or rolled back if an error occurs. Specifying this flag
+ causes the sessions module to omit this savepoint. In this case, if the
+ caller has an open transaction or savepoint when apply_v2() is called,
+ it may revert the partially applied changeset by rolling it back.
+
+
SQLITE_CHANGESETAPPLY_INVERT
+ Invert the changeset before applying it. This is equivalent to inverting
+ a changeset using sqlite3changeset_invert() before applying it. It is
+ an error to specify this flag with a patchset.
+
+
SQLITE_CHANGESETAPPLY_IGNORENOOP
+ Do not invoke the conflict handler callback for any changes that
+ would not actually modify the database even if they were applied.
+ Specifically, this means that the conflict handler is not invoked
+ for:
+
+
a delete change if the row being deleted cannot be found,
+
an update change if the modified fields are already set to
+ their new values in the conflicting row, or
+
an insert change if all fields of the conflicting row match
+ the row being inserted.
+
+
+
SQLITE_CHANGESETAPPLY_FKNOACTION
+ If this flag it set, then all foreign key constraints in the target
+ database behave as if they were declared with "ON UPDATE NO ACTION ON
+ DELETE NO ACTION", even if they are actually CASCADE, RESTRICT, SET NULL
+ or SET DEFAULT.
+