Small. Fast. Reliable.
Choose any three.

## Session Module C Interface

## Flags for sqlite3changeset_apply_v2

>     #define SQLITE_CHANGESETAPPLY_NOSAVEPOINT   0x0001
>     #define SQLITE_CHANGESETAPPLY_INVERT        0x0002

The following flags may passed via the 9th parameter to sqlite3changeset_apply_v2 and sqlite3changeset_apply_v2_strm:

SQLITE_CHANGESETAPPLY_NOSAVEPOINT
  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.

  See also lists of Objects, Constants, and Functions.