Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Update comments on the fossildelta extension. No changes to code. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA3-256: |
9da4fb59b28686630d63a79988b45872 |
User & Date: | drh 2019-02-25 14:52:43.832 |
Context
2019-02-25
| ||
18:43 | Enhance the command-line shell to accept bound parameters, using the TEMP table named "$Parameters" to look up the values for bound parameters. (check-in: 7c941ce5bc user: drh tags: trunk) | |
18:07 | Merge latest trunk changes into this branch. (check-in: 5c1cf30859 user: dan tags: reuse-schema) | |
14:52 | Update comments on the fossildelta extension. No changes to code. (check-in: 9da4fb59b2 user: drh tags: trunk) | |
14:16 | Fix a typo in the documentation for sqlite3_total_changes(). (check-in: 8474c1560e user: drh tags: trunk) | |
Changes
Changes to ext/misc/fossildelta.c.
︙ | ︙ | |||
596 597 598 599 600 601 602 | } } /* ERROR: unterminated delta */ return -1; } /* | | | 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 | } } /* ERROR: unterminated delta */ return -1; } /* ** SQL functions: delta_create(X,Y) ** ** Return a delta for carrying X into Y. */ static void deltaCreateFunc( sqlite3_context *context, int argc, sqlite3_value **argv |
︙ | ︙ | |||
631 632 633 634 635 636 637 | }else{ sqlite3_result_blob(context, aOut, nOut, sqlite3_free); } } } /* | | | 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 | }else{ sqlite3_result_blob(context, aOut, nOut, sqlite3_free); } } } /* ** SQL functions: delta_apply(X,D) ** ** Return the result of applying delta D to input X. */ static void deltaApplyFunc( sqlite3_context *context, int argc, sqlite3_value **argv |
︙ | ︙ | |||
674 675 676 677 678 679 680 | sqlite3_result_blob(context, aOut, nOut, sqlite3_free); } } } /* | | | 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 | sqlite3_result_blob(context, aOut, nOut, sqlite3_free); } } } /* ** SQL functions: delta_output_size(D) ** ** Return the size of the output that results from applying delta D. */ static void deltaOutputSizeFunc( sqlite3_context *context, int argc, sqlite3_value **argv |
︙ | ︙ | |||
700 701 702 703 704 705 706 | sqlite3_result_error(context, "corrupt fossil delta", -1); return; }else{ sqlite3_result_int(context, nOut); } } | > > > > > > > > > > > > | | > > > > > > > > > > > > > > > > > > | 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 | sqlite3_result_error(context, "corrupt fossil delta", -1); return; }else{ sqlite3_result_int(context, nOut); } } /***************************************************************************** ** 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; struct deltaparsevtab_vtab { sqlite3_vtab base; /* Base class - must be first */ /* No additional information needed */ }; |
︙ | ︙ |