}
/*
-** SQL functions: fossildelta_create(X,Y)
+** SQL functions: delta_create(X,Y)
**
** Return a delta for carrying X into Y.
*/
}
/*
-** SQL functions: fossildelta_apply(X,D)
+** SQL functions: delta_apply(X,D)
**
** Return the result of applying delta D to input X.
*/
/*
-** SQL functions: fossildelta_output_size(D)
+** SQL functions: delta_output_size(D)
**
** Return the size of the output that results from applying delta D.
*/
}
}
-/* The deltaparse(DELTA) table-valued function parses the DELTA in
-** its input and returns a table that describes that delta.
+/*****************************************************************************
+** Table-valued SQL function: delta_parse(DELTA)
+**
+** Schema:
+**
+** CREATE TABLE delta_parse(
+** op TEXT,
+** a1 INT,
+** a2 ANY,
+** delta HIDDEN BLOB
+** );
+**
+** Given an input DELTA, this function parses the delta and returns
+** rows for each entry in the delta. The op column has one of the
+** values SIZE, COPY, INSERT, CHECKSUM, ERROR.
+**
+** Assuming no errors, the first row has op='SIZE'. a1 is the size of
+** the output in bytes and a2 is NULL.
+**
+** After the initial SIZE row, there are zero or more 'COPY' and/or 'INSERT'
+** rows. A COPY row means content is copied from the source into the
+** output. Column a1 is the number of bytes to copy and a2 is the offset
+** into source from which to begin copying. An INSERT row means to
+** insert text into the output stream. Column a1 is the number of bytes
+** to insert and column is a BLOB that contains the text to be inserted.
+**
+** The last row of a well-formed delta will have an op value of 'CHECKSUM'.
+** The a1 column will be the value of the checksum and a2 will be NULL.
+**
+** If the input delta is not well-formed, then a row with an op value
+** of 'ERROR' is returned. The a1 value of the ERROR row is the offset
+** into the delta where the error was encountered and a2 is NULL.
*/
typedef struct deltaparsevtab_vtab deltaparsevtab_vtab;
typedef struct deltaparsevtab_cursor deltaparsevtab_cursor;
-C Fix\sa\stypo\sin\sthe\sdocumentation\sfor\ssqlite3_total_changes().
-D 2019-02-25T14:16:19.183
+C Update\scomments\son\sthe\sfossildelta\sextension.\s\sNo\schanges\sto\scode.
+D 2019-02-25T14:52:43.832
F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
F Makefile.in 178d8eb6840771149cee40b322d1b3be30d330198c522c903c1b66fb5a1bfca4
F ext/misc/eval.c 4b4757592d00fd32e44c7a067e6a0e4839c81a4d57abc4131ee7806d1be3104e
F ext/misc/explain.c d5c12962d79913ef774b297006872af1fccda388f61a11d37758f9179a09551f
F ext/misc/fileio.c 592d6531d8413d81b25f5a47a45d7e310e455d33e03a64c6ae85724c6524a5d5
-F ext/misc/fossildelta.c 31b64084789228ac0d1113e5e39dc79c2ae16dd131d5c988ad9550ae1b9bc4b4
+F ext/misc/fossildelta.c 3cc9a9b2f39889b43cd176c19f286bc7dd652f4c202c202d008481252d820316
F ext/misc/fuzzer.c 9e79c337faffdd4c5fe4485467537438359b43e0858a40038d4300b894ff553f
F ext/misc/ieee754.c f190d0cc5182529acb15babd177781be1ac1718c
F ext/misc/json1.c 8af4672f43634257dbcfdb4515b4070325463d67c6968b4be1bd414de28d4d58
F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
-P 84162af521f29df8a186163fbdef9856e1aa8aba78e74d7df0ba2cc83bb86240
-R a2b016f8e876d7afed026960b97cfb9a
+P 8474c1560e0c3a28c6a7ed360202a8e7caae3c8259f60bbfa6d2948ab7876f51
+R b6b94692df1ff68d1775b0307c4b76d3
U drh
-Z 55e24971867c6a920f00e5ee1b3ee79b
+Z 398771f938c8db2543123478ba7fdec9