Updated: 2022/Sep/29

Please read Privacy Policy. It's for your privacy.


SQLITE3CHANGESET_INVERT(3)                            Library Functions Manual

NAME
     sqlite3changeset_invert - invert a changeset

SYNOPSIS
     #include <sqlite3.h>

     int
     sqlite3changeset_invert(int nIn, const void *pIn, int *pnOut,
         void **ppOut);

DESCRIPTION
     This function is used to "invert" a changeset object.  Applying an
     inverted changeset to a database reverses the effects of applying the
     uninverted changeset.  Specifically:

        Each DELETE change is changed to an INSERT, and

        Each INSERT change is changed to a DELETE, and

        For each UPDATE change, the old.* and new.* values are exchanged.

     This function does not change the order in which changes appear within
     the changeset.  It merely reverses the sense of each individual change.

     If successful, a pointer to a buffer containing the inverted changeset is
     stored in *ppOut, the size of the same buffer is stored in *pnOut, and
     SQLITE_OK is returned.  If an error occurs, both *pnOut and *ppOut are
     zeroed and an SQLite error code returned.

     It is the responsibility of the caller to eventually call sqlite3_free()
     on the *ppOut pointer to free the buffer allocation following a
     successful call to this function.

     WARNING/TODO: This function currently assumes that the input is a valid
     changeset.  If it is not, the results are undefined.

IMPLEMENTATION NOTES
     These declarations were extracted from the interface documentation at
     line 11612.

     SQLITE_API int sqlite3changeset_invert(
       int nIn, const void *pIn,       /* Input changeset */
       int *pnOut, void **ppOut        /* OUT: Inverse of input */
     );

NetBSD 10.99                    August 24, 2023                   NetBSD 10.99