dan
f8248c42f9
Have sqlite3changegroup_output_strm() call its output function more regularly.
...
FossilOrigin-Name: 8467c31aa0bf24e597f680748460a99f425c49f5ab741c3574c339aa56857146
2018-09-28 20:46:41 +00:00
dan
fe55da387a
Add a "flags" parameter to experimental API sqlite3changeset_apply_v2(). Also
...
add the SQLITE_CHANGESETAPPLY_NOSAVEPOINT flag.
FossilOrigin-Name: 3d29631fa7270b18f51de8cfe1285959e42ad9a673d5d2d5c016126f5f1b31a8
2018-04-09 11:43:58 +00:00
dan
3e259bcd96
Fix a problem in the sessions module causing sqlite3session_apply_strm() to
...
allocate enough memory for the entire input buffer - which defeats the point
of a streaming interface.
FossilOrigin-Name: 7594e60935b0b5dcf764476dccdf9b403303818a0419a30bc2c16d58e44f6d04
2018-04-06 16:22:25 +00:00
mistachkin
2c42c34df5
Fix harmless compiler warning seen with MSVC.
...
FossilOrigin-Name: e9508ab1f86ac70a3ca5622ce44141bc05186b199bf32fb8739aef36b95aa05c
2018-03-24 20:06:52 +00:00
dan
3f2cebb6b4
Fix minor problems with passing NULL pointers to memcmp() and memcpy() found by -fsanitize=undefined.
...
FossilOrigin-Name: 0b06ce6d8e7cff5cd5d467a94522dfef5593d7c26663ce03c2c2b663a2641551
2018-03-23 16:31:34 +00:00
dan
8cb83bee0f
Remove some unused code from sqlite3rebaser_rebase().
...
FossilOrigin-Name: 07cc955eab0e993a75be82d58e17ca53c8abbcaf851983d235049599c19e582f
2018-03-22 20:11:14 +00:00
dan
f231e18c6b
Fix another problem with rebasing updates against multiple remote changes.
...
FossilOrigin-Name: c8e7b5a061a3f2fbd9072530177b80f917b39ab5d7cd6acb0a221ab33e78a5cd
2018-03-22 19:52:22 +00:00
dan
3fa5463c03
Add tests to ensure that patchsets are handled correctly by the session rebase
...
APIs.
FossilOrigin-Name: 0e45baaec01947f6cbf47d5d5922a4cabe7d27181c04c0a08259c952fd023947
2018-03-22 14:07:36 +00:00
dan
b880a7b1f0
Remove some unused code from the sessions module.
...
FossilOrigin-Name: a09518ab63a1ef1b7f56b9f9b16269fd83920469d4c4e179b1f68b35df4e0c4b
2018-03-22 11:15:59 +00:00
dan
95ccb6dc8e
Fix some documentation and other issues with the code on this branch.
...
FossilOrigin-Name: a9ec68627a4533ca6aa7cc1b73f864db615a80e86eda9e33660f22d269a1ba1e
2018-03-21 19:46:36 +00:00
dan
24a0c4534a
Fix rebasing of UPDATE changes against a set of remote changesets that feature
...
both OMIT and REPLACE conflict resolution on different fields of the same row.
FossilOrigin-Name: d8bc3fdb6ba165ca8d7cab857ede8e7e6e2fac24ad59580c5e1db1a4942d295c
2018-03-21 17:29:53 +00:00
dan
bd45374cc8
Add further tests and documentation for the sessions rebase feature.
...
FossilOrigin-Name: 7475a363ebb272ae23c0796fe7587714a156dc6a3a4a57ed948ed6f69d3c1218
2018-03-20 20:27:03 +00:00
dan
f01d3a7ef7
Fix a problem with handling rebasing UPDATE changes for REPLACE conflict
...
resolution.
FossilOrigin-Name: f7bf71f1d47044e3cbc74018294b8af5ad52c2bb84954e99bbd4e9b8c36fc077
2018-03-16 18:02:47 +00:00
dan
f1b40e8305
Add simple tests for the sessions module rebase API.
...
FossilOrigin-Name: cf0d1abb44cf170d747e9c11f49ec03a29f00ab4821c613ca1e05b883a568211
2018-03-15 19:25:40 +00:00
dan
c0a499eaad
Add largely untested APIs for rebasing changesets.
...
FossilOrigin-Name: 39915b683b3f8d3bf872af1dede96bf2818b488a8638a1d248395023fc4bd0ef
2018-03-14 21:06:58 +00:00
dan
a38e6c57bc
Add sqlite3_changeset_apply_v2() and apply_v2_strm() to the sessions module.
...
FossilOrigin-Name: 445bfe977d9f3a891e08ef33237862ed047fe83e134ef3ed8b47ee0f5abd8cd6
2018-03-13 20:31:23 +00:00
dan
6344edda80
Fix another crash in the sessions module triggered by malformed input.
...
FossilOrigin-Name: 7e70c9b86af557e86152748ddf1da467e62817b35df1da0d7d3b67941b198897
2018-03-05 21:17:20 +00:00
dan
e341ec699f
Fix further crashes in sqlite3changeset_apply() caused by corrupt changeset
...
blobs.
FossilOrigin-Name: 2c01c72e357296d761493aac47329f15d87afcada2b39606fc018af0e0011bb5
2018-03-01 15:20:33 +00:00
dan
dd8a4af8e7
Fix some crashes in the sqlite3changeset_apply() function that could be caused
...
by corrupt changeset blobs.
FossilOrigin-Name: 745a9a7fef0f28a57ea3f44899058993f6ecdedda52c81a09a4a9ce09c9004d6
2018-03-01 12:05:51 +00:00
mistachkin
fa3d785580
Simplify one of the compiler warning fixes from the previous check-in.
...
FossilOrigin-Name: 012d7d49c571207087bbe24af05d639627b96df526bfcb2098a3e975b74d865d
2018-01-23 00:17:27 +00:00
mistachkin
b71aa0955b
Fix harmless compiler warnings seen with MSVC.
...
FossilOrigin-Name: 76a11a80e94d1e9c9645e6e348948f3fd508266d4569c85d80a3879862d0a819
2018-01-23 00:05:18 +00:00
dan
d1cccf19b5
Fix sessions module conflict handling for the sqlite_stat1 table.
...
FossilOrigin-Name: f05ee74e05c401eb075a1ba65179662a08a5c3d5b55fc81f2acc841e841dd055
2018-01-18 16:42:11 +00:00
dan
1611e5a301
Simplify the sessions preupdate-hook logic for transforming NULL to X'' for
...
column sqlite_stat1.idx.
FossilOrigin-Name: 089d7cecaaa47db58320b216a111a5e56123d022008be6c81bc0746148bbdb58
2018-01-18 15:06:23 +00:00
dan
3739f29807
Fix a problem in the sessions module with logging sqlite_stat1 rows for which
...
(idx IS NULL) is true.
FossilOrigin-Name: 25bf734be1b3883fccf12ac4d93d50289aa307fb60a52e0e32df12f7ee4edc7a
2018-01-17 20:57:20 +00:00
dan
61c758b53a
Fix a problem causing the sessions module to occasionally lose track of rows
...
with composite primary keys when there are two rows with the same text value
in the leftmost column of the PK.
FossilOrigin-Name: 09aed13678374bf22087cd808808b711dc703b7c18bc8aaf704850611e17f5cd
2018-01-17 17:38:18 +00:00
dan
5871318407
Fix error handling in sqlite3session_diff() when it is invoked for table
...
"sqlite_stat1".
FossilOrigin-Name: 874285e477dd9bd164e25ddb08b6b80daaa8cfd111b4180ecce59b1ce26f77a5
2018-01-12 19:20:15 +00:00
drh
3f975373ce
Fix obsolete comments. No changes to code.
...
FossilOrigin-Name: ec39c99bea024ffce9b87bbf3d80087ff772f43f7fb7e238754c364f7db2a17b
2018-01-12 18:03:38 +00:00
dan
614efe2b4b
Experimental change to include changes made to the sqlite_stat1 table in
...
changesets generated by the sessions module. sqlite_stat1 entries in such
changesets are ignored by legacy clients.
FossilOrigin-Name: bd46c4429693545eb16db85692fc591ac529796aa746f5f21df1ce4380619320
2018-01-12 16:44:29 +00:00
dan
07d0f15e93
Fix incompatibilities between the "sqldiff --changeset" command and the
...
sessions module. Specifically, allow sessions to process changesets containing
tables with zero operations on them and have sqldiff output the expected
output for tables with multi-column primary keys.
FossilOrigin-Name: 0bb23c48064cc64134697469f3f4d2d3610b9e6c7a0dc54a3c47a00bd6c2a860
2017-05-22 18:09:00 +00:00
dan
ff677b20fc
Allow sqlite3session_apply() to apply changesets to tables that have been
...
extended using ALTER TABLE ADD COLUMN.
FossilOrigin-Name: b20ff81ff9c8af500ea96e0ba9d34524220a89f1
2017-02-04 17:33:30 +00:00
dan
895decf6b5
Avoid passing NULL pointers to memcmp() or memcpy(), even when the
...
"number-of-bytes" argument is passed 0.
FossilOrigin-Name: 56ff72ab44288296efc99a608f7edc4346366a50
2016-12-30 14:15:56 +00:00
drh
48cd59a57d
Avoid left-shifts of signed integers.
...
FossilOrigin-Name: 0715ce164333e27671efbec8796f238df98cc287
2016-05-03 00:04:55 +00:00
dan
14faa061fd
Fix an almost entirely harmless buffer overread in the sessions module.
...
FossilOrigin-Name: 89b0ee3351381f7bc666cb206f77a56f2e0d4a0e
2016-04-29 10:13:22 +00:00
mistachkin
02d436b1f6
A couple more compiler warning fixes.
...
FossilOrigin-Name: 929fa4c31e7c5b8c6cbb1412478ea91b15ad5529
2016-04-12 20:26:51 +00:00
mistachkin
74f598b677
Fix harmless compiler warnings in the 'session' module.
...
FossilOrigin-Name: a18a6ce2271865d04cd75a8a5baa63798b7393db
2016-04-12 19:20:22 +00:00
dan
5f5663dc23
Add further tests for the code on this branch. Fix a problem in OOM handling.
...
FossilOrigin-Name: 195f3340ee4d870420e4f58d44300bab5436b920
2016-03-31 10:50:26 +00:00
drh
c8be643733
Enhanced comments describing the sessions file format. No changes to code.
...
FossilOrigin-Name: 84dc41e2df1092e9724a535b670343181a9cd0dd
2016-03-31 02:44:56 +00:00
drh
7e0765a9ec
Fix the return code in sessionRetryConstraints().
...
FossilOrigin-Name: ea917c14b940f95b20b91dae77567dc25a651ef6
2016-03-31 00:45:58 +00:00
dan
d915152677
Have the sqlite3session_apply() function and its streaming equivalent retry any operations that failed with SQLITE_CONSTRAINT after all other operations on the same table have been attempted. New code is largely untested.
...
FossilOrigin-Name: 1085911afb51744f32fe9db183b50e8e88bdd73e
2016-03-30 21:19:00 +00:00
drh
50d348b1e1
Harden sqlite3session_delete() against trying to delete a session that
...
is not currently on the session list.
FossilOrigin-Name: 6c2d34df76fb7823f307c11a1135ab30674421a9
2016-02-13 14:45:56 +00:00
dan
6c39e6a800
Changes to the sesssions module ensure that tables appear within changesets and patchsets in the same order that they were attached to the sessions object.
...
FossilOrigin-Name: 7695890230dc1e0c6db9b7aa509db2039c7f7239
2015-10-01 16:35:57 +00:00
dan
5898ad6954
Add the sqlite3changegroup_xxx() APIs to the sessions module. For combining multiple changesets or patchsets.
...
FossilOrigin-Name: 0c1a901cd60e557fc676b97625243163dfe9be9d
2015-06-11 17:26:10 +00:00
dan
6dc29e60c8
Modify the sessions module to ignore all operations on tables with no primary keys as documented.
...
FossilOrigin-Name: bdaf9575cd9ebb33dc5da4062a84bca79e7b0fec
2015-06-02 09:19:22 +00:00
drh
dbbd816059
Merge the Makefile.msc fix and the compiler warning fix from trunk. Also
...
fix another compiler warning in sqlite3session_diff().
FossilOrigin-Name: 7530e1bf557083ef91447a02f05b019dbe60fa70
2015-05-19 23:04:26 +00:00
drh
adf3bf5811
Merge recent trunk changes, include the R-Tree enhancement that allows
...
8-byte BLOB arguments to geometry functions, and the fix for the TEXT affinity
problem that could cause corrupt indexes.
FossilOrigin-Name: 0a0de8b72ca24f287f9c84766a14e12ea4564b59
2015-05-19 22:42:23 +00:00
dan
b9db909952
Modify the sqlite3session_diff() API so that tables with no PRIMARY KEYs are ignored. This matches the other sessions APIs. Also change sqlite3session_diff() so that it returns SQLITE_SCHEMA, instead of SQLITE_ERROR, if the tables being compared do not have compatible schemas.
...
FossilOrigin-Name: aada0ad08e3baa10d14d1f3393183110289e068e
2015-04-23 17:22:49 +00:00
dan
4cc923e3e3
Fix the error message returned by sqlite3session_diff() for tables with no PRIMARY KEY.
...
FossilOrigin-Name: 4d34a3d40da210bebb2a2e6dff094f9a39c92798
2015-04-23 15:03:14 +00:00
dan
dd009f839c
Fix a performance problem in sqlite3session_diff().
...
FossilOrigin-Name: ea400eca314d81761fe5c0e329b906c045f0dfe4
2015-04-23 14:40:17 +00:00
dan
10dc553c13
Hold the database mutex for the duration of sqlite3session_diff().
...
FossilOrigin-Name: 6f33050115562833c43da3c99dd37aeb0bf966b6
2015-04-17 11:31:08 +00:00
drh
92f283c0d4
Fix a stray backslash character in a printf format string in
...
sessionDiffFindModified()
FossilOrigin-Name: abb192a1d79388d4717f459b91e34f9c035935f2
2015-04-16 13:52:03 +00:00