drh
88c6a2e7bc
Return an error if a patchset is passed to sqlite3rebaser_configure().
...
And avoid a buffer overread in the session module when an UPDATE change
is rebased against a baseline that records fewer columns than the UPDATE.
FossilOrigin-Name: 37c90c8fc2d694dabc7c8e7fd49ae2ab46f91f9b88fd7c829b72225881598495
2026-07-06 13:41:48 +00:00
drh
e151b6e4a1
Fix both a buffer overread and overwrite in the sessions rebase module.
...
FossilOrigin-Name: 12d0d2363a3082f68153393ed1aa91264ee987bc9187e7afd131d503f66e4faa
2026-06-26 15:17:08 +00:00
dan
31a9e5c5d9
Update the session module so that it can apply changesets containing two or more UPDATE changes that form a dependency loop - so that no single UPDATE can be applied independently without violating a constraint.
...
FossilOrigin-Name: 919d393a3bc483bf58be1f8d6c2ef70f570d63cc9ad8d8df6a6562fb270ea7e5
2026-06-02 18:23:55 +00:00
drh
d38b6c0a19
Fix a potential 1-byte overread in sqlite3changeset_invert() when
...
processing a corrupt buffer.
FossilOrigin-Name: 69554ec4e8354e8573071bc423e2dbd0059058388481be3e76fcb7c0fc1ff467
2026-05-26 15:09:07 +00:00
drh
600eb440c2
Fix a 32-bit integer overflow in sqlite3changegroup_change_blob() that
...
could lead to a buffer overwrite.
FossilOrigin-Name: f2a8ae2251561f2255c2974914293647cf304c6db79de9da957755fccaf8a8b6
2026-05-26 14:23:36 +00:00
drh
c4a831733f
Fix a bug causing the session module to dereference a NULL pointer when applying a corrupt changeset.
...
FossilOrigin-Name: c813d9b777bedd58005b53d38fa3c235ca56bd57b76424cf9238c01a977a4b3d
2026-05-20 15:29:37 +00:00
drh
18bdf31933
Avoid returning an SQLITE_SCHEMA error from within sqlite3session_diff() if the schema has been recently modified.
...
FossilOrigin-Name: 15fb7ffe4be49d5242c47bef1b3cad5c923cd7f500896058db4dd257bc7b3924
2026-05-20 11:56:17 +00:00
drh
2ba7864bc4
Fix a single-byte OOB read that could occur in the session module when concatenating patchsets.
...
FossilOrigin-Name: 5150cf9a89aebfd7121b4742c8b359116f16d890e83b64105bb192d3d0f68971
2026-04-25 15:04:21 +00:00
dan
8113b83c01
Handle a special case of a corrupt changeset in sqlite3changegroup_add().
...
FossilOrigin-Name: dceee93ab38a623a6c94658583ad6e012e141d5a4eaa91b074de06e175cb4175
2026-04-15 17:13:42 +00:00
dan
535b1f2875
Fix some buffer overreads that might occur in the session module when handling corrupt changesets.
...
FossilOrigin-Name: 8fcf92e15d87487703afc1129f3a89a8d4d72cb30d30a1a9151a5596473069bd
2026-04-09 05:33:19 +00:00
drh
217c590688
Fix Tcl9 compatibility issues in test_session.c.
...
FossilOrigin-Name: 1387b5819085146cafb0e8740410faaa48bfb5aefc78ff763aaa8e85744d48b3
2026-04-03 11:48:00 +00:00
dan
62f3150204
Fix a potential 4-byte overread in the sessions module when processing a corrupt changeset.
...
FossilOrigin-Name: c1c7e024c34da8eb0258ce552f3f81921280ccf0f1fea59374f381c0c7b43b74
2026-04-01 17:43:22 +00:00
dan
6e6598c8ff
Fix a problem in the sessions module allowing a NULL pointer to be passed to memcpy().
...
FossilOrigin-Name: 91ead3c62dd7b1db3fdfd318e3c35a42fb33e8fa2e347b682eecbff2f4e8677b
2026-04-01 16:11:47 +00:00
drh
d6226a9c27
Add appropriate headers to ext/session/sqlite3session.h so that the
...
documentation generator will pick up the API documentation for the
new one-at-a-time changegroup APIs.
FossilOrigin-Name: da514f10b7804fd0affaf0fd4b8089012288ba99c165ef4ab78ab28edd331211
2026-03-31 18:49:23 +00:00
dan
5e4fb95edf
Update this branch with changes from trunk.
...
FossilOrigin-Name: 716e62e3d1d6ff96f6e4906175818439103e9534e89bec4a86776265a04954b9
2026-03-31 10:52:00 +00:00
dan
71848d362d
Update session module test code to correctly use Tcl_Size instead of int.
...
FossilOrigin-Name: 619060c2267a889089bf5328ba83640806688164a096df8582a5cf91b173741d
2026-02-02 11:42:19 +00:00
dan
6f8f9fbe25
Fix trivial buffer overreads in the sessions module that could occur when parsing changeset blobs.
...
FossilOrigin-Name: 661878a62870023f7f54e8c591a0823dc457cb89780ab40c1891fb3d5e8f095f
2026-01-27 14:00:59 +00:00
dan
abdfd3312a
Update sessions module so that it takes the db mutex before, instead of just after, opening a savepoint when generating a changeset.
...
FossilOrigin-Name: 41bbd13d737d2b7879d906b6fa76df42c6ee142f1a7acdafd26da0063bc90baf
2026-01-14 17:52:27 +00:00
dan
c1975b6a6f
Improve some of the documentation comments for the new code on this branch.
...
FossilOrigin-Name: f352485db45a1280f91ec76f661b6dd50bb1d564b74bdff474c92e928860a47d
2026-01-14 17:02:22 +00:00
dan
de88171c4c
Merge latest trunk changes into this branch.
...
FossilOrigin-Name: fae9f376b74ae688dbdb5c0838a38427258d3d14c29c5346a3549e56db79961a
2026-01-14 16:01:28 +00:00
dan
613cf76c2f
Add tests for edge cases in the new code on this branch.
...
FossilOrigin-Name: cd115f0f4437bf254058e40d70ba4e82e87227d2752695aa18f8431c3abc5c0b
2026-01-14 15:27:26 +00:00
dan
c289cf57a7
Allow the APIs on this branch to be used to create patchsets as well as changesets.
...
FossilOrigin-Name: 8699fe5b24c8aeb5e552aa7f4995f2b50dd33d1febd23ec1c07c8fc72497da72
2026-01-13 19:59:47 +00:00
dan
4b12a38ffb
Fix an OOB read in the sessions module that could occur while processing a corrupt changeset.
...
FossilOrigin-Name: 3c46295487f089a891f566cae43b67ce97794bb60645d5806285600e05eff456
2026-01-12 20:16:04 +00:00
dan
9f78d22870
Fix an infinite loop in the sessions module that could occur when processing a corrupt changeset blob.
...
FossilOrigin-Name: d98653bdbc9781970f1c5d66f69c81c93ad14549223ceae02e74c1b99ab05377
2026-01-12 19:13:09 +00:00
dan
817c509365
Add an API to the sessions module to add changes one at a time to an sqlite3_changegroup object.
...
FossilOrigin-Name: 27150a8c22dc5331efa9e97637eae3741682bc14ae993f0b7672ccc63c37f1f9
2026-01-12 16:39:27 +00:00
dan
9804ed7021
Avoid attempting to delete a file that is still open in sessionnoop2.test.
...
FossilOrigin-Name: 56f6d6c538fd4e0da8a7c4e4c4d1bd0b8cd83ffd126ae24daaf30fdf808e1a78
2025-10-06 17:52:52 +00:00
drh
b8a62d9da7
Add an assert() to fix a harmless compiler warning in the session extension.
...
FossilOrigin-Name: d77b8ad96c695594668cd7019c7f607fe5efa5474dde0ece8b621051cf88a0b5
2025-09-24 20:09:48 +00:00
dan
2c4008fe26
Add sqlite3_set_errmsg(). Use this in sqlite3changeset_apply() to return any error code and error message via the SQLite handle.
...
FossilOrigin-Name: e34eda113c8819df46c139ccf749b686c8bfdd399f59345c6d6be3736bdf97cb
2025-09-12 17:13:59 +00:00
dan
d968525382
Add experimental API sqlite3_set_errmsg(). Use this in sqlite3changeset_apply() to return any error code and error message via the SQLite handle.
...
FossilOrigin-Name: 4d5b60a1e57448f03af2a657fe7cdabb04ebaf9688d5cc700dd8f9892a5cba15
2025-09-12 15:02:47 +00:00
dan
d61dbf7072
Change the order of some paragraphs within documentation comments in sqlite3session.h.
...
FossilOrigin-Name: f0102d7b25d854b5a937eb7de5e25f52c2ecf904234857c96bd1995f5dde0b66
2025-09-10 16:57:57 +00:00
dan
c30e1a10ef
Fix a problem with SQLITE_CHANGESET_CONFLICT conflicts caused by DELETE triggers within a call to sqlite3changset_apply_v2() with SQLITE_CHANGESETAPPLY_IGNORENOOP specified.
...
FossilOrigin-Name: 138e2aab43ac07aaf8c5389105ff6d3e107ff2d35badcb48233664fcb9661471
2025-08-20 11:21:35 +00:00
dan
697d29ea49
Fix a problem causing an SQLITE_CHANGESET_DATA conflict of a DELETE operation to be incorrectly ignored if the SQLITE_CHANGESETAPPLY_IGNORENOOP is specified.
...
FossilOrigin-Name: 78b543f85ac6643f3b69bf1250c6362f00e030f93f460ef7d04902682ef64ee9
2025-08-19 21:35:23 +00:00
dan
08f8111bd8
Add new sessions function sqlite3changeset_apply_v3() and its streaming equivalent. This allows changesets to be filtered on a per-change basis, not just per-table.
...
FossilOrigin-Name: 10ebd7a119ef1985755ef143a941fbaed1b5ca1c8a71e011c8bbc70e383fd337
2025-07-14 14:51:43 +00:00
dan
96e16194b8
Fix a problem with using streaming iterators with sqlite3changegroup_add_change().
...
FossilOrigin-Name: 3dbde727146d28c316df47c7b5116be7f2476a0a0c893207c2a4ca3ab285cb5e
2025-05-22 18:04:48 +00:00
drh
cecf833325
Add the --enablefk option to the "changeset apply" command of the
...
changeset program.
FossilOrigin-Name: e98d46d436f8d251ae0da5ee85fd856aca3b57cd48d1be31fa6ca88fe72cad00
2025-05-15 18:50:19 +00:00
drh
c638017280
Enhance the "changeset" utility program with new command-line options for
...
the "changeset apply" command.
FossilOrigin-Name: 428daca4f1b3e1a33b7e2f5acf114fa6136d46555e9947e2e88ea107bfec5e4f
2025-05-15 17:33:32 +00:00
stephan
0a0777d845
Session extension doc typo fix reported in [forum:75e9408acb|forum post 75e9408acb].
...
FossilOrigin-Name: b96cfff52b4f364388f168198e999ae2407c4afbc7b020f8bb350ab103ffb55c
2025-05-12 19:12:50 +00:00
dan
c4e7cf68ce
Update to comments in sqlite3session.h.
...
FossilOrigin-Name: ea9acb5573f4d71a314e4467d30477a1d01c8db648985750a42b3c047f404c9c
2025-04-19 20:08:04 +00:00
dan
0aa95099f5
Fix a memory leak in sqlite3session_diff().
...
FossilOrigin-Name: a6cbc5db1c4973ea236874bd9c24cd86dc48fbc7a10e424896c0407c7c32ce6a
2025-04-10 20:52:47 +00:00
dan
7b1afecf53
Fix a comment in sessionD.test.
...
FossilOrigin-Name: 3516354ee57b683c134de206f5321f064f9cb627aa12ba6fde98e59a9093c50c
2025-04-10 17:25:57 +00:00
dan
da00cc101c
Improve the error messages returned by sqlite3session_diff().
...
FossilOrigin-Name: a3217cdb75fd305705856f6504f8816c2b6b0a10907725cb74d025a5c4e369b8
2025-04-10 16:48:04 +00:00
dan
de93449908
Have sqlite3session_diff() automatically attach tables to session objects, as it has always been documented to do.
...
FossilOrigin-Name: 99827144f112303e27a829c990b1858d227bd7369095100a435c367637985fad
2025-04-08 17:18:01 +00:00
dan
6864f78fdf
Have sqlite3session_diff() automatically attach tables to session objects, as it has always been documented to do.
...
FossilOrigin-Name: ec1641858ec48d96f5a2ddce4575ebd40a18932d69831fdb4eafc9acf508f216
2025-04-08 15:58:19 +00:00
stephan
5ee946f907
Add an explicit db close to fix a file-is-opened failure in session1.test in cygwin.
...
FossilOrigin-Name: c6e4e1cf2b70d2e603ea3faabd9cb5fbd9f5497672574283ace8c62984dfbb97
2025-03-27 18:42:51 +00:00
stephan
22d502e33a
Merge trunk into cygwin-fixes branch. Add .fossil-settings/binary-glob to squelch warnings about *.db files on Cygwin.
...
FossilOrigin-Name: a8328b921c5504eceacade417e16e713999eff63978caf3418fd79501590b1cb
2025-03-26 00:02:15 +00:00
dan
e6e453def6
Test that the sqlite3changeset_apply() function is properly appling indirect changes.
...
FossilOrigin-Name: 1dadea3a79c3edd110b0b32b07287744300958fed31f2da11901a42b16f86669
2025-03-24 19:58:13 +00:00
dan
1b906dd920
Add test cases to session1.test.
...
FossilOrigin-Name: dda9d7cf319e74de7703bda1eb77e3e7aa7459d6fa1508cc1d62cdfc7985c368
2025-03-24 11:13:18 +00:00
stephan
339f9a33b4
Correct part of [505d9e49f7] and [7126a51ed8] to get sessioninvert tests working on cygwin.
...
FossilOrigin-Name: 83c34decbe336c76062e6b1bfe4c2e8f786841a4b6efa001747e786e872c8c71
2025-03-19 15:21:21 +00:00
stephan
18b250e9c9
Correct part of [04075517] which changed the implicit return value of a test function.
...
FossilOrigin-Name: 505d9e49f7af619eda9e46e7ed19c4446c64628233528e1ab3f70264e1640ace
2025-03-19 14:57:32 +00:00
stephan
f715576a6c
Add some explicit db close calls to work around a process-reaping timing problem on cygwin builds.
...
FossilOrigin-Name: 7126a51ed8a1b90b7f4cf3f1c13f7a1d560ff7a3ae73897ce8d9194df40356ed
2025-03-19 14:52:39 +00:00