aboutsummaryrefslogtreecommitdiff
path: root/ext/session/sqlite3session.h
diff options
context:
space:
mode:
authordan <dan@noemail.net>2018-03-14 21:06:58 +0000
committerdan <dan@noemail.net>2018-03-14 21:06:58 +0000
commitc0a499eaad8ca1497e321216c20797a46dd27aa1 (patch)
tree02fba919fb27b5b4d57f251ddcf108060c0ffa10 /ext/session/sqlite3session.h
parenta38e6c57bca300d73abaa7ee9718351b8eb18e2e (diff)
downloadsqlite-c0a499eaad8ca1497e321216c20797a46dd27aa1.tar.gz
sqlite-c0a499eaad8ca1497e321216c20797a46dd27aa1.zip
Add largely untested APIs for rebasing changesets.
FossilOrigin-Name: 39915b683b3f8d3bf872af1dede96bf2818b488a8638a1d248395023fc4bd0ef
Diffstat (limited to 'ext/session/sqlite3session.h')
-rw-r--r--ext/session/sqlite3session.h28
1 files changed, 28 insertions, 0 deletions
diff --git a/ext/session/sqlite3session.h b/ext/session/sqlite3session.h
index c6a2332b8..a7281bd4e 100644
--- a/ext/session/sqlite3session.h
+++ b/ext/session/sqlite3session.h
@@ -1216,6 +1216,27 @@ int sqlite3changeset_apply_v2(
#define SQLITE_CHANGESET_REPLACE 1
#define SQLITE_CHANGESET_ABORT 2
+typedef struct sqlite3_rebaser sqlite3_rebaser;
+
+/* Create a new rebaser object */
+int sqlite3rebaser_create(sqlite3_rebaser **ppNew);
+
+/* Call this one or more times to configure a rebaser */
+int sqlite3rebaser_configure(
+ sqlite3_rebaser*,
+ int nRebase, const void *pRebase
+);
+
+/* Rebase a changeset according to current rebaser configuration */
+int sqlite3rebaser_rebase(
+ sqlite3_rebaser*,
+ int nIn, const void *pIn,
+ int *pnOut, void **ppOut
+);
+
+/* Destroy a rebaser object */
+void sqlite3rebaser_destroy(sqlite3_rebaser *p);
+
/*
** CAPI3REF: Streaming Versions of API functions.
**
@@ -1373,6 +1394,13 @@ int sqlite3changegroup_output_strm(sqlite3_changegroup*,
int (*xOutput)(void *pOut, const void *pData, int nData),
void *pOut
);
+int sqlite3rebaser_rebase_strm(
+ sqlite3_rebaser *pRebaser,
+ int (*xInput)(void *pIn, void *pData, int *pnData),
+ void *pIn,
+ int (*xOutput)(void *pOut, const void *pData, int nData),
+ void *pOut
+);
/*